@@ -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+
313342ENDINTERFACE .
0 commit comments