@api-client/core 0.18.39 → 0.18.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42065,10 +42065,10 @@
42065
42065
  "@id": "#191"
42066
42066
  },
42067
42067
  {
42068
- "@id": "#194"
42068
+ "@id": "#197"
42069
42069
  },
42070
42070
  {
42071
- "@id": "#197"
42071
+ "@id": "#194"
42072
42072
  },
42073
42073
  {
42074
42074
  "@id": "#200"
@@ -42813,13 +42813,13 @@
42813
42813
  "@id": "#210"
42814
42814
  },
42815
42815
  {
42816
- "@id": "#219"
42816
+ "@id": "#216"
42817
42817
  },
42818
42818
  {
42819
42819
  "@id": "#213"
42820
42820
  },
42821
42821
  {
42822
- "@id": "#216"
42822
+ "@id": "#219"
42823
42823
  }
42824
42824
  ],
42825
42825
  "doc:root": false,
@@ -43457,7 +43457,7 @@
43457
43457
  "doc:ExternalDomainElement",
43458
43458
  "doc:DomainElement"
43459
43459
  ],
43460
- "doc:raw": "addressType: 'REGISTERED-OFFICE-ADDRESS'\nstreetName: 'UITBREIDINGSTRAAT'\nhouseNumber: '84'\nhouseNumberAddition: '/1'\npostalCode: '2600'\ncity: 'BERCHEM (ANTWERPEN)'\ncountry: 'Belgium'\ncountryCode: 'BE'\nfullFormatedAddress: \"UITBREIDINGSTRAAT 84 /1, 2600 BERCHEM (ANTWERPEN), BELIUM\"\n",
43460
+ "doc:raw": "code: '5'\ndescription: 'Limited company'\n",
43461
43461
  "core:mediaType": "application/yaml",
43462
43462
  "sourcemaps:sources": [
43463
43463
  {
@@ -43478,7 +43478,7 @@
43478
43478
  "doc:ExternalDomainElement",
43479
43479
  "doc:DomainElement"
43480
43480
  ],
43481
- "doc:raw": "code: '5'\ndescription: 'Limited company'\n",
43481
+ "doc:raw": "addressType: 'REGISTERED-OFFICE-ADDRESS'\nstreetName: 'UITBREIDINGSTRAAT'\nhouseNumber: '84'\nhouseNumberAddition: '/1'\npostalCode: '2600'\ncity: 'BERCHEM (ANTWERPEN)'\ncountry: 'Belgium'\ncountryCode: 'BE'\nfullFormatedAddress: \"UITBREIDINGSTRAAT 84 /1, 2600 BERCHEM (ANTWERPEN), BELIUM\"\n",
43482
43482
  "core:mediaType": "application/yaml",
43483
43483
  "sourcemaps:sources": [
43484
43484
  {
@@ -44274,7 +44274,7 @@
44274
44274
  "doc:ExternalDomainElement",
44275
44275
  "doc:DomainElement"
44276
44276
  ],
44277
- "doc:raw": "type: \"GENERAL\"\nvalue: \"www.company.be\"\n",
44277
+ "doc:raw": "type: 'GENERAL'\ncountryDialCode : '+32'\nareaCode : '21'\nsubscriberNumber: '12.87.00'\nformatted: '+32-(0)21 302099'\n",
44278
44278
  "core:mediaType": "application/yaml",
44279
44279
  "sourcemaps:sources": [
44280
44280
  {
@@ -44295,7 +44295,7 @@
44295
44295
  "doc:ExternalDomainElement",
44296
44296
  "doc:DomainElement"
44297
44297
  ],
44298
- "doc:raw": "type: 'GENERAL'\ncountryDialCode : '+32'\nareaCode : '21'\nsubscriberNumber: '12.87.00'\nformatted: '+32-(0)21 302099'\n",
44298
+ "doc:raw": "type: \"GENERAL\"\nvalue: \"www.company.be\"\n",
44299
44299
  "core:mediaType": "application/yaml",
44300
44300
  "sourcemaps:sources": [
44301
44301
  {
@@ -44761,12 +44761,12 @@
44761
44761
  {
44762
44762
  "@id": "#196/source-map/lexical/element_0",
44763
44763
  "sourcemaps:element": "amf://id#196",
44764
- "sourcemaps:value": "[(1,0)-(10,0)]"
44764
+ "sourcemaps:value": "[(1,0)-(3,0)]"
44765
44765
  },
44766
44766
  {
44767
44767
  "@id": "#199/source-map/lexical/element_0",
44768
44768
  "sourcemaps:element": "amf://id#199",
44769
- "sourcemaps:value": "[(1,0)-(3,0)]"
44769
+ "sourcemaps:value": "[(1,0)-(10,0)]"
44770
44770
  },
44771
44771
  {
44772
44772
  "@id": "#202/source-map/lexical/element_0",
@@ -45126,12 +45126,12 @@
45126
45126
  {
45127
45127
  "@id": "#218/source-map/lexical/element_0",
45128
45128
  "sourcemaps:element": "amf://id#218",
45129
- "sourcemaps:value": "[(1,0)-(3,0)]"
45129
+ "sourcemaps:value": "[(1,0)-(6,0)]"
45130
45130
  },
45131
45131
  {
45132
45132
  "@id": "#221/source-map/lexical/element_0",
45133
45133
  "sourcemaps:element": "amf://id#221",
45134
- "sourcemaps:value": "[(1,0)-(6,0)]"
45134
+ "sourcemaps:value": "[(1,0)-(3,0)]"
45135
45135
  },
45136
45136
  {
45137
45137
  "@id": "#338/source-map/synthesized-field/element_1",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@api-client/core",
3
3
  "description": "The API Client's core client library. Works in NodeJS and in a ES enabled browser.",
4
- "version": "0.18.39",
4
+ "version": "0.18.41",
5
5
  "license": "Apache-2.0",
6
6
  "exports": {
7
7
  "./browser.js": {
@@ -122,7 +122,7 @@
122
122
  "@types/jsdom": "^27.0.0",
123
123
  "@types/json-schema": "^7.0.15",
124
124
  "@types/mocha": "^10.0.10",
125
- "@types/node": "^24.0.1",
125
+ "@types/node": "^25.0.6",
126
126
  "@types/sinon": "^21.0.0",
127
127
  "@web/dev-server": "^0.4.6",
128
128
  "@web/dev-server-rollup": "^0.6.4",
@@ -131,7 +131,8 @@
131
131
  "amf-client-js": "^5.9.1-3",
132
132
  "c8": "^10.1.3",
133
133
  "chai-as-promised": "^8.0.2",
134
- "conventional-changelog-cli": "^5.0.0",
134
+ "conventional-changelog": "^7.1.0",
135
+ "conventional-changelog-conventionalcommits": "^9.1.0",
135
136
  "cors": "^2.8.5",
136
137
  "eslint": "^9.20.1",
137
138
  "eslint-config-prettier": "^10.0.1",
@@ -140,7 +141,7 @@
140
141
  "express": "^5.1.0",
141
142
  "express-ntlm": "^2.6.1",
142
143
  "get-port": "^7.0.0",
143
- "globals": "^16.0.0",
144
+ "globals": "^17.0.0",
144
145
  "husky": "^9.0.11",
145
146
  "lint-staged": "^16.0.0",
146
147
  "oauth2-mock-server": "^8.0.0",
@@ -6,6 +6,7 @@ import { File } from './lib/File.js'
6
6
  import { Invitation } from './lib/Invitation.js'
7
7
  import { Trash } from './lib/Trash.js'
8
8
  import { Patch } from './lib/Patch.js'
9
+ import { DataCatalog } from './lib/DataCatalog.js'
9
10
 
10
11
  export class ModelingMock {
11
12
  faker: Faker = faker
@@ -16,4 +17,5 @@ export class ModelingMock {
16
17
  invitation = new Invitation()
17
18
  trash = new Trash()
18
19
  patch = new Patch()
20
+ dataCatalog = new DataCatalog()
19
21
  }
@@ -0,0 +1,166 @@
1
+ import { faker } from '@faker-js/faker'
2
+ import { DataCatalogKind, DataCatalogVersionKind } from '../../models/kinds.js'
3
+ import { nanoid } from '../../nanoid.js'
4
+ import type {
5
+ DataCatalogSchemaWithVersion,
6
+ DataCatalogSchema,
7
+ DataCatalogScope,
8
+ DataCatalogVersionInfo,
9
+ } from '../../models/DataCatalog.js'
10
+ import type { DataCatalogLifecycle, DataCatalogVersionSchema } from '../../models/DataCatalogVersion.js'
11
+
12
+ const dataCatalogScopes: DataCatalogScope[] = ['public', 'private', 'organization'] as const
13
+ const dataCatalogLifecycles: DataCatalogLifecycle[] = ['stable', 'beta', 'dev'] as const
14
+
15
+ export class DataCatalog {
16
+ /**
17
+ * Generates a random data catalog object.
18
+ * @param init Optional values to be present in the object.
19
+ * @returns Random data catalog object.
20
+ */
21
+ dataCatalog(init: Partial<DataCatalogSchema> = {}): DataCatalogSchema {
22
+ const {
23
+ key = nanoid(),
24
+ organization = nanoid(),
25
+ file = nanoid(),
26
+ scope = faker.helpers.arrayElement(dataCatalogScopes),
27
+ name = faker.company.name(),
28
+ description = faker.lorem.sentence(),
29
+ publishedBy = nanoid(),
30
+ publishedAt = faker.date.past().getTime(),
31
+ createdAt = faker.date.past().getTime(),
32
+ updatedAt = faker.date.recent().getTime(),
33
+ tags = faker.helpers.uniqueArray(faker.lorem.word, 3),
34
+ } = init
35
+ return {
36
+ kind: DataCatalogKind,
37
+ key,
38
+ name,
39
+ organization,
40
+ file,
41
+ createdAt,
42
+ updatedAt,
43
+ scope,
44
+ description,
45
+ publishedBy,
46
+ publishedAt,
47
+ tags,
48
+ }
49
+ }
50
+
51
+ /**
52
+ * Generates a list of random data catalog objects.
53
+ * @param size Number of data catalogs to generate. Default is 25.
54
+ * @returns List of random data catalogs
55
+ */
56
+ dataCatalogs(size = 25): DataCatalogSchema[] {
57
+ const result = []
58
+ for (let i = 0; i < size; i++) {
59
+ result.push(this.dataCatalog())
60
+ }
61
+ return result
62
+ }
63
+
64
+ /**
65
+ * Generates a random data catalog version object.
66
+ * @param init Optional values to be present in the object.
67
+ * @returns Random data catalog version object.
68
+ */
69
+ dataCatalogVersion(init: Partial<DataCatalogVersionSchema> = {}): DataCatalogVersionSchema {
70
+ const {
71
+ key = nanoid(),
72
+ catalogKey = nanoid(),
73
+ scope = faker.helpers.arrayElement(dataCatalogScopes),
74
+ lifecycle = faker.helpers.arrayElement(dataCatalogLifecycles),
75
+ version = 'v' + faker.system.semver(),
76
+ publishedBy = nanoid(),
77
+ createdAt = faker.date.past().getTime(),
78
+ updatedAt = faker.date.recent().getTime(),
79
+ changelog = faker.lorem.paragraph(),
80
+ } = init
81
+ return {
82
+ kind: DataCatalogVersionKind,
83
+ key,
84
+ catalogKey,
85
+ scope,
86
+ lifecycle,
87
+ version,
88
+ publishedBy,
89
+ createdAt,
90
+ updatedAt,
91
+ changelog,
92
+ }
93
+ }
94
+
95
+ /**
96
+ * Generates a list of random data catalog version objects.
97
+ * @param size Number of data catalog versions to generate. Default is 25.
98
+ * @returns List of random data catalog versions.
99
+ */
100
+ dataCatalogVersions(size = 25): DataCatalogVersionSchema[] {
101
+ const result = []
102
+ for (let i = 0; i < size; i++) {
103
+ result.push(this.dataCatalogVersion())
104
+ }
105
+ return result
106
+ }
107
+
108
+ /**
109
+ * Generates a random data catalog object with versions.
110
+ * @param init Optional values to be present in the object.
111
+ * @returns Random data catalog object with versions.
112
+ */
113
+ dataCatalogWithVersion(init: Partial<DataCatalogSchemaWithVersion> = {}): DataCatalogSchemaWithVersion {
114
+ const result = this.dataCatalog(init) as DataCatalogSchemaWithVersion
115
+ const versionsSize = faker.number.int({ min: 1, max: 20 })
116
+ const versions = []
117
+ for (let i = 0; i < versionsSize; i++) {
118
+ versions.push({
119
+ version: `v${i + 1}.0.0`,
120
+ lifecycle: faker.helpers.arrayElement(dataCatalogLifecycles),
121
+ })
122
+ }
123
+ result.versions = versions
124
+ return result
125
+ }
126
+
127
+ /**
128
+ * Generates a list of random data catalog objects with versions.
129
+ * @param size Number of data catalogs to generate. Default is 3.
130
+ * @returns List of random data catalogs with versions.
131
+ */
132
+ dataCatalogsWithVersion(size = 3): DataCatalogSchemaWithVersion[] {
133
+ const result = []
134
+ for (let i = 0; i < size; i++) {
135
+ result.push(this.dataCatalogWithVersion())
136
+ }
137
+ return result
138
+ }
139
+
140
+ /**
141
+ * Generates a random data catalog version info object.
142
+ * @param init Optional values to be present in the object.
143
+ * @returns Random data catalog version info object.
144
+ */
145
+ versionInfo(init: Partial<DataCatalogVersionInfo> = {}): DataCatalogVersionInfo {
146
+ const { key = nanoid(), version = 'v' + faker.system.semver(), published = faker.date.past().getTime() } = init
147
+ return {
148
+ key,
149
+ version,
150
+ published,
151
+ }
152
+ }
153
+
154
+ /**
155
+ * Generates a list of random data catalog version info objects.
156
+ * @param size Number of data catalog version info objects to generate. Default is 5.
157
+ * @returns List of random data catalog version info objects.
158
+ */
159
+ versionInfos(size = 5): DataCatalogVersionInfo[] {
160
+ const result = []
161
+ for (let i = 0; i < size; i++) {
162
+ result.push(this.versionInfo())
163
+ }
164
+ return result
165
+ }
166
+ }
@@ -125,9 +125,23 @@ export interface DataCatalogSchemaWithVersion extends DataCatalogSchema {
125
125
  versions: DataCatalogSchemaVersion[]
126
126
  }
127
127
 
128
+ /**
129
+ * Simplified information about a data catalog version.
130
+ * It is used when listing versions of a data catalog entry.
131
+ */
128
132
  export interface DataCatalogVersionInfo {
133
+ /**
134
+ * The key of the version.
135
+ */
129
136
  key: string
137
+ /**
138
+ * The version string according to the [semantic versioning](https://semver.org/) specification.
139
+ * Note, this value is limited to 32 characters by the API.
140
+ */
130
141
  version: string
142
+ /**
143
+ * The timestamp when this version was published.
144
+ */
131
145
  published: number
132
146
  }
133
147
 
@@ -12,6 +12,7 @@ import type {
12
12
  DataCatalogSchemaWithVersion,
13
13
  DataCatalogScope,
14
14
  DataCatalogStatus,
15
+ DataCatalogVersionInfo,
15
16
  } from '../models/DataCatalog.js'
16
17
  import { RouteBuilder } from './RouteBuilder.js'
17
18
  import { DataCatalogKind, DataCatalogVersionKind } from '../models/kinds.js'
@@ -59,10 +60,11 @@ export class DataCatalogSdk extends SdkBase {
59
60
  return data
60
61
  }
61
62
 
62
- async listVersions(
63
- key: string,
64
- request: SdkOptions = {}
65
- ): Promise<ContextListResult<{ key: string; version: string; published: number }>> {
63
+ /**
64
+ * Lists a simple schema of versions for a given data catalog entry.
65
+ * @param key The key of the Data Catalog entry to list versions for.
66
+ */
67
+ async listVersions(key: string, request: SdkOptions = {}): Promise<ContextListResult<DataCatalogVersionInfo>> {
66
68
  const { token } = request
67
69
  const url = this.sdk.getUrl(RouteBuilder.dataCatalogEntryVersions(key))
68
70
  const result = await this.sdk.http.get(url.toString(), { token })
@@ -75,7 +77,7 @@ export class DataCatalogSdk extends SdkBase {
75
77
  if (!result.body) {
76
78
  throw new Exception(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`, { code: 'E_RESPONSE_NO_VALUE', status: result.status })
77
79
  }
78
- let data: ContextListResult<{ key: string; version: string; published: number }>
80
+ let data: ContextListResult<DataCatalogVersionInfo>
79
81
  try {
80
82
  data = JSON.parse(result.body)
81
83
  } catch {
@@ -327,7 +329,7 @@ export class DataCatalogSdk extends SdkBase {
327
329
  request: SdkOptions = {}
328
330
  ): Promise<ContextChangeRecord<DataCatalogVersionSchema>> {
329
331
  const { token } = request
330
- const url = this.sdk.getUrl(RouteBuilder.dataCatalogVersion(key, version))
332
+ const url = this.sdk.getUrl(RouteBuilder.dataCatalogVersionDeprecate(key, version))
331
333
  const body = JSON.stringify({ reason })
332
334
  const result = await this.sdk.http.put(url.toString(), {
333
335
  token,
@@ -363,7 +365,7 @@ export class DataCatalogSdk extends SdkBase {
363
365
  request: SdkOptions = {}
364
366
  ): Promise<ContextChangeRecord<DataCatalogVersionSchema>> {
365
367
  const { token } = request
366
- const url = this.sdk.getUrl(RouteBuilder.dataCatalogVersion(key, version))
368
+ const url = this.sdk.getUrl(RouteBuilder.dataCatalogVersionUnpublish(key, version))
367
369
  const result = await this.sdk.http.put(url.toString(), { token })
368
370
  this.inspectCommonStatusCodes(result)
369
371
  const E_PREFIX = 'Unable to unpublish data domain version. '