@api-client/core 0.19.39 → 0.19.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.
Files changed (55) hide show
  1. package/build/src/modeling/index.d.ts +1 -0
  2. package/build/src/modeling/index.d.ts.map +1 -1
  3. package/build/src/modeling/index.js +1 -0
  4. package/build/src/modeling/index.js.map +1 -1
  5. package/build/src/models/store/Organization.d.ts +4 -0
  6. package/build/src/models/store/Organization.d.ts.map +1 -1
  7. package/build/src/models/store/Organization.js.map +1 -1
  8. package/build/src/proxy/HttpProjectProxy.js +1 -1
  9. package/build/src/proxy/HttpProjectProxy.js.map +1 -1
  10. package/build/src/sdk/AiSdk.js +4 -4
  11. package/build/src/sdk/AiSdk.js.map +1 -1
  12. package/build/src/sdk/DataCatalogSdk.d.ts.map +1 -1
  13. package/build/src/sdk/DataCatalogSdk.js +9 -9
  14. package/build/src/sdk/DataCatalogSdk.js.map +1 -1
  15. package/build/src/sdk/DeploymentsSdk.d.ts +1 -1
  16. package/build/src/sdk/DeploymentsSdk.d.ts.map +1 -1
  17. package/build/src/sdk/DeploymentsSdk.js +6 -3
  18. package/build/src/sdk/DeploymentsSdk.js.map +1 -1
  19. package/build/src/sdk/FilesSdk.js +7 -7
  20. package/build/src/sdk/FilesSdk.js.map +1 -1
  21. package/build/src/sdk/GroupsSdk.js +4 -4
  22. package/build/src/sdk/GroupsSdk.js.map +1 -1
  23. package/build/src/sdk/HistorySdk.js +2 -2
  24. package/build/src/sdk/HistorySdk.js.map +1 -1
  25. package/build/src/sdk/OrganizationsSdk.js +12 -12
  26. package/build/src/sdk/OrganizationsSdk.js.map +1 -1
  27. package/build/src/sdk/ProjectExecutionsSdk.d.ts.map +1 -1
  28. package/build/src/sdk/ProjectExecutionsSdk.js +4 -4
  29. package/build/src/sdk/ProjectExecutionsSdk.js.map +1 -1
  30. package/build/src/sdk/SdkBase.d.ts +8 -0
  31. package/build/src/sdk/SdkBase.d.ts.map +1 -1
  32. package/build/src/sdk/SdkBase.js.map +1 -1
  33. package/build/src/sdk/SdkMock.d.ts +4 -1
  34. package/build/src/sdk/SdkMock.d.ts.map +1 -1
  35. package/build/src/sdk/SdkMock.js +87 -302
  36. package/build/src/sdk/SdkMock.js.map +1 -1
  37. package/build/src/sdk/UsersSdk.js +1 -1
  38. package/build/src/sdk/UsersSdk.js.map +1 -1
  39. package/build/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +1 -1
  41. package/src/models/store/Organization.ts +4 -0
  42. package/src/proxy/HttpProjectProxy.ts +1 -1
  43. package/src/sdk/AiSdk.ts +4 -4
  44. package/src/sdk/DataCatalogSdk.ts +10 -10
  45. package/src/sdk/DeploymentsSdk.ts +8 -5
  46. package/src/sdk/FilesSdk.ts +7 -7
  47. package/src/sdk/GroupsSdk.ts +4 -4
  48. package/src/sdk/HistorySdk.ts +2 -2
  49. package/src/sdk/OrganizationsSdk.ts +12 -12
  50. package/src/sdk/ProjectExecutionsSdk.ts +7 -7
  51. package/src/sdk/SdkBase.ts +9 -0
  52. package/src/sdk/SdkMock.ts +105 -320
  53. package/src/sdk/UsersSdk.ts +1 -1
  54. package/tests/unit/runtime/proxy/HttpProjectProxy.spec.ts +3 -2
  55. package/src/sdk/README-MOCK.md +0 -40
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.19.39",
4
+ "version": "0.19.41",
5
5
  "license": "UNLICENSED",
6
6
  "exports": {
7
7
  "./browser.js": {
@@ -16,6 +16,10 @@ export interface OrganizationSlugValidateResponse {
16
16
  * The reason why the slug is invalid.
17
17
  */
18
18
  reason?: string
19
+ /**
20
+ * The code of the reason.
21
+ */
22
+ code?: string
19
23
  }
20
24
 
21
25
  /**
@@ -92,7 +92,7 @@ export default class HttpProjectProxy extends Proxy {
92
92
  sdk.token = token
93
93
  let project: IHttpProject
94
94
  try {
95
- const data = await sdk.file.readMedia(organization, pid)
95
+ const data = await sdk.files.readMedia(organization, pid)
96
96
  project = data.media as IHttpProject
97
97
  } catch (cause) {
98
98
  const e = cause as Error
package/src/sdk/AiSdk.ts CHANGED
@@ -185,7 +185,7 @@ export class AiSdk extends SdkBase {
185
185
  }
186
186
  let data: AiSessionSchema
187
187
  try {
188
- data = JSON.parse(result.body)
188
+ data = JSON.parse(result.body).data
189
189
  } catch {
190
190
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
191
191
  }
@@ -224,7 +224,7 @@ export class AiSdk extends SdkBase {
224
224
  }
225
225
  let data: AiSessionSchema
226
226
  try {
227
- data = JSON.parse(result.body)
227
+ data = JSON.parse(result.body).data
228
228
  } catch {
229
229
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
230
230
  }
@@ -283,7 +283,7 @@ export class AiSdk extends SdkBase {
283
283
  }
284
284
  let data: AiSessionSchema
285
285
  try {
286
- data = JSON.parse(result.body)
286
+ data = JSON.parse(result.body).data
287
287
  } catch {
288
288
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
289
289
  }
@@ -383,7 +383,7 @@ export class AiSdk extends SdkBase {
383
383
  }
384
384
  let data: AiMessageSchema
385
385
  try {
386
- data = JSON.parse(result.body)
386
+ data = JSON.parse(result.body).data
387
387
  } catch {
388
388
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
389
389
  }
@@ -1,4 +1,4 @@
1
- import { SdkBase, E_RESPONSE_STATUS, SdkOptions } from './SdkBase.js'
1
+ import { SdkBase, E_RESPONSE_STATUS, SdkOptions, ResourceResponse } from './SdkBase.js'
2
2
  import { ContextListResult, ContextListOptions, ContextChangeRecord } from '../events/BaseEvents.js'
3
3
  import type {
4
4
  DataCatalogSchema,
@@ -67,7 +67,7 @@ export class DataCatalogSdk extends SdkBase {
67
67
  this.logInvalidResponse(result)
68
68
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
69
69
  }
70
- const data = this.readResponseJSON<DataCatalogSchema>(result, E_PREFIX)
70
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogSchema>>(result, E_PREFIX).data
71
71
  this.assertObjectKind(E_PREFIX, DataCatalogKind, data.kind)
72
72
  return data
73
73
  }
@@ -82,7 +82,7 @@ export class DataCatalogSdk extends SdkBase {
82
82
  this.logInvalidResponse(result)
83
83
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
84
84
  }
85
- const data = this.readResponseJSON<DataCatalogSchema>(result, E_PREFIX)
85
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogSchema>>(result, E_PREFIX).data
86
86
  this.assertObjectKind(E_PREFIX, DataCatalogKind, data.kind)
87
87
  return data
88
88
  }
@@ -114,7 +114,7 @@ export class DataCatalogSdk extends SdkBase {
114
114
  this.logInvalidResponse(result)
115
115
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
116
116
  }
117
- const data = this.readResponseJSON<DataCatalogSchema>(result, E_PREFIX)
117
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogSchema>>(result, E_PREFIX).data
118
118
  this.assertObjectKind(E_PREFIX, DataCatalogKind, data.kind)
119
119
  return data
120
120
  }
@@ -135,7 +135,7 @@ export class DataCatalogSdk extends SdkBase {
135
135
  this.logInvalidResponse(result)
136
136
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
137
137
  }
138
- const data = this.readResponseJSON<DataCatalogSchema>(result, E_PREFIX)
138
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogSchema>>(result, E_PREFIX).data
139
139
  this.assertObjectKind(E_PREFIX, DataCatalogKind, data.kind)
140
140
  return data
141
141
  }
@@ -161,7 +161,7 @@ export class DataCatalogSdk extends SdkBase {
161
161
  this.logInvalidResponse(result)
162
162
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
163
163
  }
164
- const data = this.readResponseJSON<DataCatalogVersionSchema>(result, E_PREFIX)
164
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogVersionSchema>>(result, E_PREFIX).data
165
165
  this.assertObjectKind(E_PREFIX, DataCatalogVersionKind, data.kind)
166
166
  return data
167
167
  }
@@ -176,7 +176,7 @@ export class DataCatalogSdk extends SdkBase {
176
176
  this.logInvalidResponse(result)
177
177
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
178
178
  }
179
- const data = this.readResponseJSON<DataCatalogVersionSchema>(result, E_PREFIX)
179
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogVersionSchema>>(result, E_PREFIX).data
180
180
  this.assertObjectKind(E_PREFIX, DataCatalogVersionKind, data.kind)
181
181
  return data
182
182
  }
@@ -220,7 +220,7 @@ export class DataCatalogSdk extends SdkBase {
220
220
  this.logInvalidResponse(result)
221
221
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
222
222
  }
223
- const data = this.readResponseJSON<DataCatalogVersionSchema>(result, E_PREFIX)
223
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogVersionSchema>>(result, E_PREFIX).data
224
224
  this.assertObjectKind(E_PREFIX, DataCatalogVersionKind, data.kind)
225
225
  return data
226
226
  }
@@ -239,7 +239,7 @@ export class DataCatalogSdk extends SdkBase {
239
239
  this.logInvalidResponse(result)
240
240
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
241
241
  }
242
- const data = this.readResponseJSON<DataCatalogVersionSchema>(result, E_PREFIX)
242
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogVersionSchema>>(result, E_PREFIX).data
243
243
  this.assertObjectKind(E_PREFIX, DataCatalogVersionKind, data.kind)
244
244
  return data
245
245
  }
@@ -264,7 +264,7 @@ export class DataCatalogSdk extends SdkBase {
264
264
  this.logInvalidResponse(result)
265
265
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
266
266
  }
267
- const data = this.readResponseJSON<DataCatalogStatus>(result, E_PREFIX)
267
+ const data = this.readResponseJSON<ResourceResponse<DataCatalogStatus>>(result, E_PREFIX).data
268
268
  this.assertObjectKind(E_PREFIX, DataCatalogKind, data.kind)
269
269
  return data
270
270
  }
@@ -1,4 +1,4 @@
1
- import { SdkBase, type SdkOptions, E_RESPONSE_STATUS, E_RESPONSE_UNKNOWN } from './SdkBase.js'
1
+ import { SdkBase, type SdkOptions, E_RESPONSE_STATUS, E_RESPONSE_UNKNOWN, ResourceResponse } from './SdkBase.js'
2
2
  import { RouteBuilder } from './RouteBuilder.js'
3
3
  import { DeploymentEnvironment, DeploymentKind, DeploymentSchema } from '../models/store/Deployment.js'
4
4
  import { Exception } from '../exceptions/exception.js'
@@ -118,7 +118,7 @@ export class DeploymentsSdk extends SdkBase {
118
118
  this.logInvalidResponse(result)
119
119
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
120
120
  }
121
- const data = this.readResponseJSON<DeploymentSchema>(result, E_PREFIX)
121
+ const data = this.readResponseJSON<ResourceResponse<DeploymentSchema>>(result, E_PREFIX).data
122
122
  this.assertObjectKind(E_PREFIX, DeploymentKind, data.kind)
123
123
  return data
124
124
  }
@@ -141,7 +141,7 @@ export class DeploymentsSdk extends SdkBase {
141
141
  this.logInvalidResponse(result)
142
142
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
143
143
  }
144
- const data = this.readResponseJSON<DeploymentSchema>(result, E_PREFIX)
144
+ const data = this.readResponseJSON<ResourceResponse<DeploymentSchema>>(result, E_PREFIX).data
145
145
  this.assertObjectKind(E_PREFIX, DeploymentKind, data.kind)
146
146
  return data
147
147
  }
@@ -151,16 +151,19 @@ export class DeploymentsSdk extends SdkBase {
151
151
  * @param oid The organization ID
152
152
  * @param did The deployment ID
153
153
  */
154
- async deactivate(oid: string, did: string, request: SdkOptions = {}): Promise<void> {
154
+ async deactivate(oid: string, did: string, request: SdkOptions = {}): Promise<DeploymentSchema> {
155
155
  const url = this.sdk.getUrl(RouteBuilder.deployment(oid, did))
156
156
  const { token = this.sdk.token } = request
157
157
  const result = await this.sdk.http.delete(url.toString(), { token })
158
158
  this.inspectCommonStatusCodes(result)
159
159
  const E_PREFIX = 'Unable to deactivate a deployment. '
160
- if (result.status !== 204) {
160
+ if (result.status !== 200) {
161
161
  this.logInvalidResponse(result)
162
162
  throw this.createApiError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.body)
163
163
  }
164
+ const data = this.readResponseJSON<ResourceResponse<DeploymentSchema>>(result, E_PREFIX).data
165
+ this.assertObjectKind(E_PREFIX, DeploymentKind, data.kind)
166
+ return data
164
167
  }
165
168
 
166
169
  apis = {
@@ -144,7 +144,7 @@ export class FilesSdk extends SdkBase {
144
144
  }
145
145
  let data: FileSchema
146
146
  try {
147
- data = JSON.parse(result.body)
147
+ data = JSON.parse(result.body).data
148
148
  } catch {
149
149
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
150
150
  }
@@ -226,7 +226,7 @@ export class FilesSdk extends SdkBase {
226
226
  }
227
227
  let data: FolderSchema
228
228
  try {
229
- data = JSON.parse(result.body)
229
+ data = JSON.parse(result.body).data
230
230
  } catch {
231
231
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
232
232
  }
@@ -258,7 +258,7 @@ export class FilesSdk extends SdkBase {
258
258
  }
259
259
  let data: FileSchema
260
260
  try {
261
- data = JSON.parse(result.body)
261
+ data = JSON.parse(result.body).data
262
262
  } catch {
263
263
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
264
264
  }
@@ -283,7 +283,7 @@ export class FilesSdk extends SdkBase {
283
283
  }
284
284
  let data: unknown
285
285
  try {
286
- data = JSON.parse(result.body)
286
+ data = JSON.parse(result.body).data
287
287
  } catch {
288
288
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
289
289
  }
@@ -368,7 +368,7 @@ export class FilesSdk extends SdkBase {
368
368
  }
369
369
  let data: FileSchema
370
370
  try {
371
- data = JSON.parse(result.body)
371
+ data = JSON.parse(result.body).data
372
372
  } catch {
373
373
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
374
374
  }
@@ -403,7 +403,7 @@ export class FilesSdk extends SdkBase {
403
403
  }
404
404
  let data: MediaPatchRevision
405
405
  try {
406
- data = JSON.parse(result.body)
406
+ data = JSON.parse(result.body).data
407
407
  } catch {
408
408
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
409
409
  }
@@ -465,7 +465,7 @@ export class FilesSdk extends SdkBase {
465
465
  }
466
466
  let data: FileSchema
467
467
  try {
468
- data = JSON.parse(result.body)
468
+ data = JSON.parse(result.body).data
469
469
  } catch {
470
470
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
471
471
  }
@@ -42,7 +42,7 @@ export class GroupsSdk extends SdkBase {
42
42
  }
43
43
  let data: GroupSchema
44
44
  try {
45
- data = JSON.parse(result.body)
45
+ data = JSON.parse(result.body).data
46
46
  } catch {
47
47
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
48
48
  }
@@ -118,7 +118,7 @@ export class GroupsSdk extends SdkBase {
118
118
  }
119
119
  let data: GroupSchema
120
120
  try {
121
- data = JSON.parse(result.body)
121
+ data = JSON.parse(result.body).data
122
122
  } catch {
123
123
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
124
124
  }
@@ -170,7 +170,7 @@ export class GroupsSdk extends SdkBase {
170
170
  }
171
171
  let data: GroupSchema
172
172
  try {
173
- data = JSON.parse(result.body)
173
+ data = JSON.parse(result.body).data
174
174
  } catch {
175
175
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
176
176
  }
@@ -202,7 +202,7 @@ export class GroupsSdk extends SdkBase {
202
202
  }
203
203
  let data: GroupSchema
204
204
  try {
205
- data = JSON.parse(result.body)
205
+ data = JSON.parse(result.body).data
206
206
  } catch {
207
207
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
208
208
  }
@@ -48,7 +48,7 @@ export class HistorySdk extends SdkBase {
48
48
  }
49
49
  let data: ContextChangeRecord<IHttpHistory>
50
50
  try {
51
- data = JSON.parse(result.body)
51
+ data = JSON.parse(result.body).data
52
52
  } catch {
53
53
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
54
54
  }
@@ -219,7 +219,7 @@ export class HistorySdk extends SdkBase {
219
219
  }
220
220
  let data: IHttpHistory
221
221
  try {
222
- data = JSON.parse(result.body)
222
+ data = JSON.parse(result.body).data
223
223
  } catch {
224
224
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
225
225
  }
@@ -79,7 +79,7 @@ export class OrganizationsSdk extends SdkBase {
79
79
  }
80
80
  let data: OrganizationSchema
81
81
  try {
82
- data = JSON.parse(result.body)
82
+ data = JSON.parse(result.body).data
83
83
  } catch {
84
84
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
85
85
  }
@@ -161,7 +161,7 @@ export class OrganizationsSdk extends SdkBase {
161
161
  }
162
162
  let data: InvitationSchema
163
163
  try {
164
- data = JSON.parse(result.body)
164
+ data = JSON.parse(result.body).data
165
165
  } catch {
166
166
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
167
167
  }
@@ -193,7 +193,7 @@ export class OrganizationsSdk extends SdkBase {
193
193
  }
194
194
  let data: InvitationSchema
195
195
  try {
196
- data = JSON.parse(result.body)
196
+ data = JSON.parse(result.body).data
197
197
  } catch {
198
198
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
199
199
  }
@@ -224,7 +224,7 @@ export class OrganizationsSdk extends SdkBase {
224
224
  }
225
225
  let data: InvitationSchema
226
226
  try {
227
- data = JSON.parse(result.body)
227
+ data = JSON.parse(result.body).data
228
228
  } catch {
229
229
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
230
230
  }
@@ -255,7 +255,7 @@ export class OrganizationsSdk extends SdkBase {
255
255
  }
256
256
  let data: InvitationSchema
257
257
  try {
258
- data = JSON.parse(result.body)
258
+ data = JSON.parse(result.body).data
259
259
  } catch {
260
260
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
261
261
  }
@@ -297,7 +297,7 @@ export class OrganizationsSdk extends SdkBase {
297
297
  }
298
298
  let data: InvitationSchema
299
299
  try {
300
- data = JSON.parse(result.body)
300
+ data = JSON.parse(result.body).data
301
301
  } catch {
302
302
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
303
303
  }
@@ -328,7 +328,7 @@ export class OrganizationsSdk extends SdkBase {
328
328
  }
329
329
  let data: InvitationSchema
330
330
  try {
331
- data = JSON.parse(result.body)
331
+ data = JSON.parse(result.body).data
332
332
  } catch {
333
333
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
334
334
  }
@@ -400,7 +400,7 @@ export class OrganizationsSdk extends SdkBase {
400
400
  }
401
401
  let data: UserSchema
402
402
  try {
403
- data = JSON.parse(result.body)
403
+ data = JSON.parse(result.body).data
404
404
  } catch {
405
405
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
406
406
  }
@@ -472,7 +472,7 @@ export class OrganizationsSdk extends SdkBase {
472
472
  }
473
473
  let data: UserSchema
474
474
  try {
475
- data = JSON.parse(result.body)
475
+ data = JSON.parse(result.body).data
476
476
  } catch {
477
477
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
478
478
  }
@@ -500,7 +500,7 @@ export class OrganizationsSdk extends SdkBase {
500
500
  }
501
501
  let data: UserSchema
502
502
  try {
503
- data = JSON.parse(result.body)
503
+ data = JSON.parse(result.body).data
504
504
  } catch {
505
505
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
506
506
  }
@@ -555,7 +555,7 @@ export class OrganizationsSdk extends SdkBase {
555
555
  }
556
556
  let data: { slug: string }
557
557
  try {
558
- data = JSON.parse(result.body)
558
+ data = JSON.parse(result.body).data
559
559
  } catch {
560
560
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
561
561
  }
@@ -592,7 +592,7 @@ export class OrganizationsSdk extends SdkBase {
592
592
  }
593
593
  let data: OrganizationSlugValidateResponse
594
594
  try {
595
- data = JSON.parse(result.body)
595
+ data = JSON.parse(result.body).data
596
596
  } catch {
597
597
  throw new Exception(`${E_PREFIX}${E_INVALID_JSON}`, { code: 'E_INVALID_JSON', status: result.status })
598
598
  }
@@ -1,4 +1,4 @@
1
- import { SdkBase, E_RESPONSE_UNKNOWN, SdkOptions } from './SdkBase.js'
1
+ import { SdkBase, E_RESPONSE_UNKNOWN, SdkOptions, ResourceResponse } from './SdkBase.js'
2
2
  import { RouteBuilder } from './RouteBuilder.js'
3
3
  import {
4
4
  ContextChangeRecord,
@@ -27,11 +27,11 @@ export class ProjectExecutionSdk extends SdkBase {
27
27
  const result = await this.sdk.http.post(url.toString(), { token, body: JSON.stringify(value) })
28
28
  this.inspectCommonStatusCodes(result)
29
29
  const E_PREFIX = 'Unable to create a project execution entity. '
30
- const data = this.readResponseJSON(result, E_PREFIX) as ContextChangeRecord<IProjectExecution>
31
- if (!data.key) {
30
+ const data = this.readResponseJSON(result, E_PREFIX) as ResourceResponse<ContextChangeRecord<IProjectExecution>>
31
+ if (!data.data.key) {
32
32
  throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)
33
33
  }
34
- return data
34
+ return data.data
35
35
  }
36
36
 
37
37
  /**
@@ -45,11 +45,11 @@ export class ProjectExecutionSdk extends SdkBase {
45
45
  const result = await this.sdk.http.get(url.toString(), { token })
46
46
  this.inspectCommonStatusCodes(result)
47
47
  const E_PREFIX = 'Unable to read a project execution entity. '
48
- const data = this.readResponseJSON(result, E_PREFIX) as IProjectExecution
49
- if (data.kind !== ProjectExecutionKind) {
48
+ const data = this.readResponseJSON(result, E_PREFIX) as ResourceResponse<IProjectExecution>
49
+ if (data.data.kind !== ProjectExecutionKind) {
50
50
  throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`)
51
51
  }
52
- return data
52
+ return data.data
53
53
  }
54
54
 
55
55
  /**
@@ -42,6 +42,15 @@ export const E_RESPONSE_STATUS = 'Invalid response status: '
42
42
  export const E_RESPONSE_UNKNOWN = 'Unknown response from the server.'
43
43
  export const E_RESPONSE_LOCATION = 'The response has no "location" header.'
44
44
 
45
+ /**
46
+ * The API wraps resource response with the `data` property.
47
+ * It makes it consistent with the collection response and scales
48
+ * to adding metadata when needed.
49
+ */
50
+ export interface ResourceResponse<T> {
51
+ data: T
52
+ }
53
+
45
54
  export class SdkBase {
46
55
  constructor(public sdk: Sdk) {}
47
56