Skip to content

Commit d0e8bad

Browse files
committed
Update types
- Add sap-package - Add abap-language-version - Rename version -> version-manifest
1 parent 168f32e commit d0e8bad

File tree

1 file changed

+47
-18
lines changed

1 file changed

+47
-18
lines changed

src/#apmg#if_types.intf.abap

Lines changed: 47 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,18 @@ INTERFACE /apmg/if_types PUBLIC.
1818
CONSTANTS c_version TYPE string VALUE '1.0.0' ##NO_TEXT.
1919

2020
TYPES:
21+
"! SAP Package (always upper case)
22+
ty_devclass TYPE devclass,
23+
"! Name of package in registry (always lower case)
24+
ty_name TYPE string,
25+
"! Semantic version of package
26+
ty_version TYPE string,
27+
"! Package specification (version, range, tag name, git url, or tarball URL)
28+
ty_spec TYPE string ##NEEDED,
2129
"! Email
22-
ty_email TYPE string,
30+
ty_email TYPE string,
2331
"! URI
24-
ty_uri TYPE string,
32+
ty_uri TYPE string,
2533
"! Person
2634
BEGIN OF ty_person,
2735
name TYPE string,
@@ -87,19 +95,20 @@ INTERFACE /apmg/if_types PUBLIC.
8795
signatures TYPE STANDARD TABLE OF ty_signature WITH KEY keyid,
8896
END OF ty_dist,
8997
"! SAP Package
90-
BEGIN OF ty_devclass,
91-
default TYPE devclass,
92-
abap_language_version TYPE uccheck,
93-
END OF ty_devclass.
98+
BEGIN OF ty_sap_package,
99+
default TYPE ty_devclass,
100+
software_component TYPE dlvunit,
101+
abap_language_version TYPE string,
102+
END OF ty_sap_package.
94103

95104
" *** PACKAGE.ABAP.JSON ***
96105

97106
TYPES:
98107
"! Schema for package.abap.json
99108
"! Everything but "icon" and "devclass" is also in regular npm package.json
100109
BEGIN OF ty_package_json,
101-
name TYPE string,
102-
version TYPE string,
110+
name TYPE ty_name,
111+
version TYPE ty_version,
103112
description TYPE string,
104113
type TYPE string,
105114
keywords TYPE string_table,
@@ -125,7 +134,7 @@ INTERFACE /apmg/if_types PUBLIC.
125134
db TYPE string_table,
126135
private TYPE abap_bool,
127136
readme TYPE string,
128-
devclass TYPE ty_devclass,
137+
sap_package TYPE ty_sap_package,
129138
END OF ty_package_json.
130139

131140
" *** MANIFEST ***
@@ -148,8 +157,8 @@ INTERFACE /apmg/if_types PUBLIC.
148157
"!
149158
"! fetched with "accept: application/vnd.npm.install-v1+json" in the HTTP headers
150159
BEGIN OF ty_manifest_abbreviated ##NEEDED,
151-
name TYPE string,
152-
version TYPE string,
160+
name TYPE ty_name,
161+
version TYPE ty_version,
153162
dependencies TYPE ty_dependencies,
154163
dev_dependencies TYPE ty_dependencies,
155164
optional_dependencies TYPE ty_dependencies,
@@ -167,11 +176,11 @@ INTERFACE /apmg/if_types PUBLIC.
167176

168177
TYPES:
169178
"! Version Manifest
170-
BEGIN OF ty_version,
171-
key TYPE string,
172-
version TYPE ty_manifest,
173-
END OF ty_version,
174-
ty_versions TYPE STANDARD TABLE OF ty_version WITH KEY key.
179+
BEGIN OF ty_version_manifest,
180+
key TYPE string,
181+
manifest TYPE ty_manifest,
182+
END OF ty_version_manifest,
183+
ty_version_manifests TYPE STANDARD TABLE OF ty_version_manifest WITH KEY key.
175184

176185
TYPES:
177186
"! Tarball Attachment
@@ -185,15 +194,24 @@ INTERFACE /apmg/if_types PUBLIC.
185194
END OF ty_attachment,
186195
ty_attachments TYPE STANDARD TABLE OF ty_attachment WITH KEY key.
187196

197+
TYPES:
198+
"! List of Objects for Global Directory (GTADIR)
199+
BEGIN OF ty_tadir_object,
200+
pgmid TYPE tadir-pgmid,
201+
object TYPE tadir-object,
202+
obj_name TYPE tadir-obj_name,
203+
END OF ty_tadir_object,
204+
ty_tadir_objects TYPE SORTED TABLE OF ty_tadir_object WITH UNIQUE KEY pgmid object obj_name.
205+
188206
TYPES:
189207
"! Full packument (as fetched from registry)
190208
"! Some fields are hoisted from latest version to root
191209
BEGIN OF ty_packument ##NEEDED,
192-
name TYPE string,
210+
name TYPE ty_name,
193211
description TYPE string,
194212
dist_tags TYPE ty_dist_tags,
195213
time TYPE ty_times,
196-
versions TYPE ty_versions,
214+
versions TYPE ty_version_manifests,
197215
maintainers TYPE ty_persons,
198216
readme TYPE string,
199217
users TYPE ty_users,
@@ -207,6 +225,7 @@ INTERFACE /apmg/if_types PUBLIC.
207225
_id TYPE string,
208226
_rev TYPE string,
209227
_attachments TYPE ty_attachments,
228+
_objects TYPE ty_tadir_objects,
210229
access TYPE string,
211230
END OF ty_packument.
212231

@@ -310,4 +329,14 @@ INTERFACE /apmg/if_types PUBLIC.
310329
sybase TYPE string VALUE 'sybase',
311330
END OF c_db.
312331

332+
CONSTANTS:
333+
"! ABAP Language Version (same as zif_abapgit_dot_abapgit)
334+
BEGIN OF c_abap_language_version,
335+
standard TYPE string VALUE 'standard',
336+
key_user TYPE string VALUE 'keyUser',
337+
cloud_development TYPE string VALUE 'cloudDevelopment',
338+
ignore TYPE string VALUE 'ignore',
339+
undefined TYPE string VALUE 'undefined', " any
340+
END OF c_abap_language_version.
341+
313342
ENDINTERFACE.

0 commit comments

Comments
 (0)