@or-sdk/library 0.1.0-beta.1912.0
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.
- package/CHANGELOG.md +4 -0
- package/README.md +22 -0
- package/dist/cjs/Library.js +470 -0
- package/dist/cjs/Library.js.map +1 -0
- package/dist/cjs/constants.js +11 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/index.js +22 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/types.js +3 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/esm/Library.js +306 -0
- package/dist/esm/Library.js.map +1 -0
- package/dist/esm/constants.js +8 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/index.js +4 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/types.js +2 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/types/Library.d.ts +33 -0
- package/dist/types/Library.d.ts.map +1 -0
- package/dist/types/constants.d.ts +8 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types.d.ts +19 -0
- package/dist/types/types.d.ts.map +1 -0
- package/package.json +30 -0
- package/src/Library.ts +506 -0
- package/src/constants.ts +8 -0
- package/src/index.ts +9 -0
- package/src/types.ts +40 -0
- package/tsconfig.dev.json +8 -0
- package/tsconfig.esm.json +12 -0
- package/tsconfig.json +7 -0
- package/tsconfig.types.json +10 -0
package/src/Library.ts
ADDED
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
import { Base } from '@or-sdk/base';
|
|
2
|
+
import {
|
|
3
|
+
SERVICE_KEY,
|
|
4
|
+
INDEX_TYPE,
|
|
5
|
+
} from './constants';
|
|
6
|
+
|
|
7
|
+
import type {
|
|
8
|
+
LibraryConfig,
|
|
9
|
+
OptionalParams,
|
|
10
|
+
CrossEnvOptionalParams,
|
|
11
|
+
IsPlaygroundParam,
|
|
12
|
+
} from './types';
|
|
13
|
+
|
|
14
|
+
import {
|
|
15
|
+
CategoryItemResponseDTO,
|
|
16
|
+
CategoryListResponseDTO,
|
|
17
|
+
CreateCategoryBodyDTO,
|
|
18
|
+
CreatePackageByVersionBodyDTO,
|
|
19
|
+
CreatePackageByVersionResponseDTO,
|
|
20
|
+
CreatePackageReleaseBodyDTO,
|
|
21
|
+
CreateReleaseParamsDTO,
|
|
22
|
+
GetPackageArchiveSignedUrlDTO,
|
|
23
|
+
GetPackageByIdQueryUnionDTO,
|
|
24
|
+
GetPackageByIdResponseDTO,
|
|
25
|
+
GetPackageResponseDTO,
|
|
26
|
+
GetPackagesQueryDTO,
|
|
27
|
+
GetPackagesResponseDTO,
|
|
28
|
+
PackageParamNpmScopeDTO,
|
|
29
|
+
PackageParamUniversalDTO,
|
|
30
|
+
PutLegacyVersionResponseDTO,
|
|
31
|
+
SyncLegacyResponseDTO,
|
|
32
|
+
PutLegacyPackageBodyDTO,
|
|
33
|
+
DeprecateLegacyStepsBodyDTO,
|
|
34
|
+
PackageTypeEnum,
|
|
35
|
+
PackageStatusDetailsStatusEnum,
|
|
36
|
+
} from '@or-sdk/library-types-v1';
|
|
37
|
+
|
|
38
|
+
export class Library extends Base {
|
|
39
|
+
private readonly packageType: PackageTypeEnum;
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* ```typescript
|
|
43
|
+
* import { Library } from '@or-sdk/library';
|
|
44
|
+
* import config from '../config';
|
|
45
|
+
*
|
|
46
|
+
* const LibrarySDK = new Library({
|
|
47
|
+
* token: 'my-account-token-string',
|
|
48
|
+
* libraryApiUrl: config.LIBRARY_API_URL
|
|
49
|
+
* });
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
constructor(params: LibraryConfig) {
|
|
53
|
+
const { token, discoveryUrl, packageType, libraryApiUrl } = params;
|
|
54
|
+
|
|
55
|
+
super({
|
|
56
|
+
discoveryUrl,
|
|
57
|
+
token,
|
|
58
|
+
serviceKey: SERVICE_KEY,
|
|
59
|
+
serviceUrl: libraryApiUrl,
|
|
60
|
+
useDefaultSerializer: false,
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
this.packageType = packageType;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* List all packages
|
|
68
|
+
*/
|
|
69
|
+
async getPackages(
|
|
70
|
+
params: GetPackagesQueryDTO,
|
|
71
|
+
{ type, signal }: OptionalParams = {}
|
|
72
|
+
): Promise<GetPackagesResponseDTO> {
|
|
73
|
+
const packageType = type ?? this.packageType;
|
|
74
|
+
|
|
75
|
+
return this.callApiV2({
|
|
76
|
+
route: `/api/v1/packages/${packageType}`,
|
|
77
|
+
signal,
|
|
78
|
+
params,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* List all packages from the playground
|
|
84
|
+
*/
|
|
85
|
+
async getPlayground(
|
|
86
|
+
params: GetPackagesQueryDTO,
|
|
87
|
+
{ type, signal }: OptionalParams = {}
|
|
88
|
+
): Promise<GetPackagesResponseDTO> {
|
|
89
|
+
const packageType = type ?? this.packageType;
|
|
90
|
+
|
|
91
|
+
return this.callApiV2({
|
|
92
|
+
route: `/api/v1/playground/${packageType}`,
|
|
93
|
+
signal,
|
|
94
|
+
params,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* List all categories
|
|
100
|
+
*/
|
|
101
|
+
async getCategories(
|
|
102
|
+
params = {},
|
|
103
|
+
{ type, signal }: OptionalParams = {}
|
|
104
|
+
): Promise<CategoryListResponseDTO> {
|
|
105
|
+
const packageType = type || this.packageType;
|
|
106
|
+
|
|
107
|
+
return this.callApiV2({
|
|
108
|
+
route: `/api/v1/categories/${packageType}`,
|
|
109
|
+
signal,
|
|
110
|
+
params,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Upsert given category
|
|
116
|
+
*/
|
|
117
|
+
async putCategory(
|
|
118
|
+
data: CreateCategoryBodyDTO,
|
|
119
|
+
{ type, signal, customHeaders }: CrossEnvOptionalParams = {}
|
|
120
|
+
): Promise<CategoryItemResponseDTO> {
|
|
121
|
+
const packageType = type ?? this.packageType;
|
|
122
|
+
|
|
123
|
+
return this.callApiV2({
|
|
124
|
+
method: 'PUT',
|
|
125
|
+
route: `/api/v1/categories/${packageType}`,
|
|
126
|
+
data,
|
|
127
|
+
signal,
|
|
128
|
+
customHeaders,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Get category by ID
|
|
134
|
+
*/
|
|
135
|
+
async getCategoryById(
|
|
136
|
+
{ id }: Pick<PackageParamUniversalDTO, 'id'>,
|
|
137
|
+
{ type, signal }: OptionalParams = {}
|
|
138
|
+
): Promise<CategoryItemResponseDTO> {
|
|
139
|
+
const packageType = type ?? this.packageType;
|
|
140
|
+
|
|
141
|
+
return this.callApiV2({
|
|
142
|
+
route: `/api/v1/categories/${packageType}/id/${id}`,
|
|
143
|
+
signal,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Get credentials for uploading the package
|
|
149
|
+
* ```typescript
|
|
150
|
+
* const result = await libraryApi.getUploadCredentials({ id: 'id', version: 'version' });
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
public async getUploadCredentials(
|
|
154
|
+
data: CreatePackageByVersionBodyDTO & PackageParamUniversalDTO & PackageParamNpmScopeDTO,
|
|
155
|
+
{ type, signal, customHeaders }: CrossEnvOptionalParams = {}
|
|
156
|
+
): Promise<CreatePackageByVersionResponseDTO> {
|
|
157
|
+
const packageType = type ?? this.packageType;
|
|
158
|
+
const { id, version } = data;
|
|
159
|
+
|
|
160
|
+
return this.callApiV2({
|
|
161
|
+
method: 'POST',
|
|
162
|
+
route: `/api/v1/packages/${packageType}/id/${id}/version/${version}`,
|
|
163
|
+
data,
|
|
164
|
+
customHeaders,
|
|
165
|
+
signal,
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Get credentials for uploading the package to the playground (playground)
|
|
171
|
+
*/
|
|
172
|
+
async getUploadCredentialsPlayground(
|
|
173
|
+
data: CreatePackageByVersionBodyDTO & PackageParamUniversalDTO & PackageParamNpmScopeDTO,
|
|
174
|
+
{ type, signal }: OptionalParams = {}
|
|
175
|
+
): Promise<CreatePackageByVersionResponseDTO> {
|
|
176
|
+
const packageType = type ?? this.packageType;
|
|
177
|
+
const { id, version } = data;
|
|
178
|
+
|
|
179
|
+
return this.callApiV2({
|
|
180
|
+
method: 'POST',
|
|
181
|
+
route: `/api/v1/playground/${packageType}/id/${id}/version/${version}`,
|
|
182
|
+
data,
|
|
183
|
+
signal,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* List all versions of given package
|
|
189
|
+
*/
|
|
190
|
+
async getVersions(
|
|
191
|
+
{ id, isPlayground, ...params }: Pick<PackageParamUniversalDTO, 'id' | 'type'> &
|
|
192
|
+
GetPackageByIdQueryUnionDTO & IsPlaygroundParam,
|
|
193
|
+
{ type, signal }: OptionalParams = {}
|
|
194
|
+
): Promise<GetPackageByIdResponseDTO> {
|
|
195
|
+
const packageType = type ?? this.packageType;
|
|
196
|
+
const index = isPlayground ? INDEX_TYPE.PLAYGROUND : INDEX_TYPE.PACKAGES;
|
|
197
|
+
|
|
198
|
+
return this.callApiV2({
|
|
199
|
+
route: `/api/v1/${index}/${packageType}/id/${id}`,
|
|
200
|
+
signal,
|
|
201
|
+
params,
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* Delete given package version from playground
|
|
207
|
+
*/
|
|
208
|
+
async deletePackageVersionFromPlayground(
|
|
209
|
+
{ id, version }: Pick<PackageParamUniversalDTO, 'id' | 'version'>,
|
|
210
|
+
{ type, signal }: OptionalParams = {}
|
|
211
|
+
) {
|
|
212
|
+
const packageType = type ?? this.packageType;
|
|
213
|
+
|
|
214
|
+
return this.callApiV2({
|
|
215
|
+
method: 'DELETE',
|
|
216
|
+
route: `/api/v1/playground/${packageType}/id/${id}/version/${version}`,
|
|
217
|
+
signal,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Get the latest version of the package meta by ID
|
|
223
|
+
*/
|
|
224
|
+
async getPackageMetaLatestVersionById(
|
|
225
|
+
{ id }: Pick<PackageParamUniversalDTO, 'id'>,
|
|
226
|
+
{ type, signal }: OptionalParams = {}
|
|
227
|
+
): Promise<GetPackageResponseDTO> {
|
|
228
|
+
const packageType = type ?? this.packageType;
|
|
229
|
+
|
|
230
|
+
return this.callApiV2({
|
|
231
|
+
route: `/api/v1/packages/${packageType}/id/${id}/latest`,
|
|
232
|
+
signal,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* Get download package archive url
|
|
238
|
+
* ```typescript
|
|
239
|
+
* const result = await libraryApi.getMetaByVersion({ id: 'id', version: 'version', isPlayground: false });
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
async getMetaByVersion(
|
|
243
|
+
{ id, version, isPlayground }: Pick<PackageParamUniversalDTO, 'id' | 'version'> & IsPlaygroundParam,
|
|
244
|
+
{ signal, customHeaders, type }: CrossEnvOptionalParams = {}
|
|
245
|
+
) {
|
|
246
|
+
const packageType = type ?? this.packageType;
|
|
247
|
+
const index = isPlayground ? INDEX_TYPE.PLAYGROUND : INDEX_TYPE.PACKAGES;
|
|
248
|
+
|
|
249
|
+
return this.callApiV2({
|
|
250
|
+
method: 'GET',
|
|
251
|
+
route: `/api/v1/${index}/${packageType}/id/${id}/version/${version}`,
|
|
252
|
+
customHeaders,
|
|
253
|
+
signal,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
/**
|
|
258
|
+
* List favorites
|
|
259
|
+
*/
|
|
260
|
+
async getFavorites(
|
|
261
|
+
params: GetPackagesQueryDTO,
|
|
262
|
+
{ type, signal }: OptionalParams = {}
|
|
263
|
+
): Promise<GetPackagesResponseDTO> {
|
|
264
|
+
const packageType = type ?? this.packageType;
|
|
265
|
+
|
|
266
|
+
return this.callApiV2({
|
|
267
|
+
route: `/api/v1/packages/${packageType}/favorites`,
|
|
268
|
+
signal,
|
|
269
|
+
params,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/**
|
|
274
|
+
* Submit legacy Step Template to Library API
|
|
275
|
+
*/
|
|
276
|
+
async submitLegacyStepJson(
|
|
277
|
+
legacyStepTemplate: PutLegacyPackageBodyDTO & Pick<PackageParamUniversalDTO, 'id' | 'version'>,
|
|
278
|
+
{ signal }: Pick<OptionalParams, 'signal'> = {}
|
|
279
|
+
): Promise<SyncLegacyResponseDTO> {
|
|
280
|
+
const packageType = PackageTypeEnum.STEP;
|
|
281
|
+
const { id, version = '0.0.1' } = legacyStepTemplate;
|
|
282
|
+
const data = {
|
|
283
|
+
data: legacyStepTemplate,
|
|
284
|
+
name: legacyStepTemplate.name,
|
|
285
|
+
description: legacyStepTemplate.description,
|
|
286
|
+
categories: legacyStepTemplate.categories,
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
return this.callApiV2({
|
|
290
|
+
method: 'PUT',
|
|
291
|
+
route: `/api/v1/service/sync/${packageType}/legacy/id/${id}/version/${version}/json`,
|
|
292
|
+
data,
|
|
293
|
+
signal,
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
|
|
297
|
+
/**
|
|
298
|
+
* Get legacy Step Template from Library API
|
|
299
|
+
*/
|
|
300
|
+
async getLegacyStepJson(
|
|
301
|
+
{ id, version }: Pick<PackageParamUniversalDTO, 'id' | 'version'>,
|
|
302
|
+
{ signal }: Pick<OptionalParams, 'signal'> = {}
|
|
303
|
+
): Promise<GetPackageResponseDTO> {
|
|
304
|
+
const packageType = PackageTypeEnum.STEP;
|
|
305
|
+
|
|
306
|
+
return this.callApiV2({
|
|
307
|
+
route: `/api/v1/packages/${packageType}/id/${id}/version/${version}/json`,
|
|
308
|
+
signal,
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/**
|
|
313
|
+
* Sync legacy Step Templates from playground Account
|
|
314
|
+
*/
|
|
315
|
+
async syncLegacyStepFromLibrary(
|
|
316
|
+
{ id }: Pick<PackageParamUniversalDTO, 'id'>,
|
|
317
|
+
{ signal }: Pick<OptionalParams, 'signal'> = {}
|
|
318
|
+
): Promise<SyncLegacyResponseDTO> {
|
|
319
|
+
const packageType = 'STEP';
|
|
320
|
+
|
|
321
|
+
return this.callApiV2({
|
|
322
|
+
method: 'PUT',
|
|
323
|
+
route: `/api/v1/service/sync/${packageType}/legacy/id/${id}/latest`,
|
|
324
|
+
signal,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
/**
|
|
329
|
+
* Set release status
|
|
330
|
+
*/
|
|
331
|
+
async setReleaseStatus(
|
|
332
|
+
data: CreateReleaseParamsDTO & CreatePackageReleaseBodyDTO,
|
|
333
|
+
{ type, signal }: OptionalParams = {}
|
|
334
|
+
): Promise<boolean> {
|
|
335
|
+
const packageType = type ?? this.packageType;
|
|
336
|
+
const { id, version } = data;
|
|
337
|
+
const { level } = data;
|
|
338
|
+
|
|
339
|
+
delete data.level;
|
|
340
|
+
|
|
341
|
+
return this.callApiV2({
|
|
342
|
+
method: 'POST',
|
|
343
|
+
route: `/api/v1/packages/${packageType}/id/${id}/version/${version}/status/release/${level}`,
|
|
344
|
+
data,
|
|
345
|
+
signal,
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Set release status to BETA
|
|
351
|
+
*/
|
|
352
|
+
async setReleaseStatusToBeta(
|
|
353
|
+
data: CreateReleaseParamsDTO,
|
|
354
|
+
{ type, signal }: OptionalParams = {}
|
|
355
|
+
): Promise<boolean> {
|
|
356
|
+
const status = PackageStatusDetailsStatusEnum.BETA;
|
|
357
|
+
|
|
358
|
+
return this.setReleaseStatus({
|
|
359
|
+
...data,
|
|
360
|
+
status,
|
|
361
|
+
}, {
|
|
362
|
+
type,
|
|
363
|
+
signal,
|
|
364
|
+
});
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* Set release status to RELEASED
|
|
369
|
+
*/
|
|
370
|
+
async setReleaseStatusToReleased(
|
|
371
|
+
data: CreateReleaseParamsDTO,
|
|
372
|
+
{ type, signal }: OptionalParams = {}
|
|
373
|
+
): Promise<boolean> {
|
|
374
|
+
const status = PackageStatusDetailsStatusEnum.RELEASED;
|
|
375
|
+
|
|
376
|
+
return this.setReleaseStatus({
|
|
377
|
+
...data,
|
|
378
|
+
status,
|
|
379
|
+
}, {
|
|
380
|
+
type,
|
|
381
|
+
signal,
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
|
|
385
|
+
/**
|
|
386
|
+
* Set release status to DEPRECATED
|
|
387
|
+
*/
|
|
388
|
+
async setReleaseStatusToDeprecated(
|
|
389
|
+
data: CreateReleaseParamsDTO,
|
|
390
|
+
{ type, signal }: OptionalParams = {}
|
|
391
|
+
): Promise<boolean> {
|
|
392
|
+
const status = PackageStatusDetailsStatusEnum.DEPRECATED;
|
|
393
|
+
|
|
394
|
+
return this.setReleaseStatus({
|
|
395
|
+
...data,
|
|
396
|
+
status,
|
|
397
|
+
}, {
|
|
398
|
+
type,
|
|
399
|
+
signal,
|
|
400
|
+
});
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
/**
|
|
404
|
+
* Deprecate legacy Step Template
|
|
405
|
+
*/
|
|
406
|
+
async deprecateLegacyStep(
|
|
407
|
+
data: CreateReleaseParamsDTO,
|
|
408
|
+
{ signal }: Pick<OptionalParams, 'signal'> = {}
|
|
409
|
+
): Promise<boolean> {
|
|
410
|
+
const type = 'STEP';
|
|
411
|
+
|
|
412
|
+
return this.setReleaseStatusToDeprecated(data, {
|
|
413
|
+
type,
|
|
414
|
+
signal,
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
/**
|
|
419
|
+
* Deprecate multiple legacy Step Templates
|
|
420
|
+
*/
|
|
421
|
+
async deprecateLegacySteps(
|
|
422
|
+
data: DeprecateLegacyStepsBodyDTO,
|
|
423
|
+
{ signal }: Pick<OptionalParams, 'signal'> = {}
|
|
424
|
+
) {
|
|
425
|
+
return this.callApiV2({
|
|
426
|
+
method: 'POST',
|
|
427
|
+
route: '/api/v1/service/sync/STEP/legacy/deprecate',
|
|
428
|
+
data,
|
|
429
|
+
signal,
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
/**
|
|
434
|
+
* Get download package archive url
|
|
435
|
+
* ```typescript
|
|
436
|
+
* const result = await libraryApi.getDownloadArchiveCredentials({ id: 'id', version: 'version' });
|
|
437
|
+
* ```
|
|
438
|
+
*/
|
|
439
|
+
public async getDownloadArchiveCredentials(
|
|
440
|
+
{ id, version }: Pick<PackageParamUniversalDTO, 'id' | 'version'>,
|
|
441
|
+
{ signal, customHeaders }: CrossEnvOptionalParams = {}
|
|
442
|
+
): Promise<GetPackageArchiveSignedUrlDTO> {
|
|
443
|
+
return this.callApiV2({
|
|
444
|
+
method: 'GET',
|
|
445
|
+
route: `/api/v1/packages/${this.packageType}/id/${id}/version/${version}/archive`,
|
|
446
|
+
customHeaders,
|
|
447
|
+
signal,
|
|
448
|
+
});
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
/**
|
|
452
|
+
* Sync inputs from global library to specific env
|
|
453
|
+
* ```typescript
|
|
454
|
+
* const result = await libraryApi.syncInputFromLibrary({ id: 'id', version: 'version' });
|
|
455
|
+
* ```
|
|
456
|
+
*/
|
|
457
|
+
async syncInputFromLibrary(
|
|
458
|
+
{ id, version }: Pick<PackageParamUniversalDTO, 'id' | 'version'>,
|
|
459
|
+
{ signal, customHeaders }: CrossEnvOptionalParams = {}
|
|
460
|
+
): Promise<PutLegacyVersionResponseDTO> {
|
|
461
|
+
return this.callApiV2({
|
|
462
|
+
method: 'PUT',
|
|
463
|
+
route: `/api/v1/service/sync/${this.packageType}/id/${id}/version/${version}`,
|
|
464
|
+
customHeaders,
|
|
465
|
+
signal,
|
|
466
|
+
});
|
|
467
|
+
}
|
|
468
|
+
|
|
469
|
+
/**
|
|
470
|
+
* Get new packages
|
|
471
|
+
* ```typescript
|
|
472
|
+
* const result = await libraryApi.getNewPackages({size}, {customHeaders: {Auth: 'token'}});)
|
|
473
|
+
* ```
|
|
474
|
+
*/
|
|
475
|
+
async getNewPackages(
|
|
476
|
+
params: GetPackagesQueryDTO,
|
|
477
|
+
{ signal, customHeaders }: CrossEnvOptionalParams = {}
|
|
478
|
+
): Promise<GetPackagesResponseDTO> {
|
|
479
|
+
return this.callApi({
|
|
480
|
+
method: 'GET',
|
|
481
|
+
route: `/api/v1/packages/${this.packageType}/new`,
|
|
482
|
+
params,
|
|
483
|
+
customHeaders,
|
|
484
|
+
signal,
|
|
485
|
+
});
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
/**
|
|
489
|
+
* Get popular packages
|
|
490
|
+
* ```typescript
|
|
491
|
+
* const result = await libraryApi.getNewPackages({size}, {customHeaders: {Auth: 'token'}});)
|
|
492
|
+
* ```
|
|
493
|
+
*/
|
|
494
|
+
async getPopularPackages(
|
|
495
|
+
params: GetPackagesQueryDTO,
|
|
496
|
+
{ signal, customHeaders }: CrossEnvOptionalParams = {}
|
|
497
|
+
): Promise<GetPackagesResponseDTO> {
|
|
498
|
+
return this.callApi({
|
|
499
|
+
method: 'GET',
|
|
500
|
+
route: `/api/v1/packages/${this.packageType}/popular`,
|
|
501
|
+
params,
|
|
502
|
+
customHeaders,
|
|
503
|
+
signal,
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
}
|
package/src/constants.ts
ADDED
package/src/index.ts
ADDED
package/src/types.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Token, CustomHeaders } from '@or-sdk/base';
|
|
2
|
+
import { PackageTypeEnum } from '@or-sdk/library-types-v1/dist';
|
|
3
|
+
|
|
4
|
+
export type LibraryConfig = {
|
|
5
|
+
/**
|
|
6
|
+
* token
|
|
7
|
+
*/
|
|
8
|
+
token: Token;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Url of OneReach service discovery api
|
|
12
|
+
*/
|
|
13
|
+
discoveryUrl?: string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Url of OneReach Library api
|
|
17
|
+
*/
|
|
18
|
+
libraryApiUrl?: string;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Package type
|
|
22
|
+
*/
|
|
23
|
+
packageType: PackageTypeEnum;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export type OptionalParams = {
|
|
27
|
+
type?: PackageTypeEnum;
|
|
28
|
+
signal?: AbortSignal;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export type CrossEnvOptionalParams = OptionalParams & {
|
|
32
|
+
customHeaders?: CustomHeaders;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type IsPlaygroundParam = {
|
|
36
|
+
/**
|
|
37
|
+
* isPlayground property
|
|
38
|
+
*/
|
|
39
|
+
isPlayground?: boolean;
|
|
40
|
+
};
|
package/tsconfig.json
ADDED