@api-client/core 0.8.22 → 0.9.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/build/browser.d.ts +12 -5
- package/build/browser.js +2 -3
- package/build/browser.js.map +1 -1
- package/build/index.d.ts +12 -5
- package/build/index.js +2 -4
- package/build/index.js.map +1 -1
- package/build/src/events/BaseEvents.d.ts +125 -18
- package/build/src/events/BaseEvents.js.map +1 -1
- package/build/src/events/EventTypes.d.ts +0 -14
- package/build/src/events/EventTypes.js +0 -2
- package/build/src/events/EventTypes.js.map +1 -1
- package/build/src/events/Events.d.ts +1 -5
- package/build/src/events/Events.js +0 -2
- package/build/src/events/Events.js.map +1 -1
- package/build/src/events/transport/TransportEventTypes.d.ts +0 -1
- package/build/src/events/transport/TransportEventTypes.js +0 -1
- package/build/src/events/transport/TransportEventTypes.js.map +1 -1
- package/build/src/events/transport/TransportEvents.d.ts +0 -8
- package/build/src/events/transport/TransportEvents.js +0 -11
- package/build/src/events/transport/TransportEvents.js.map +1 -1
- package/build/src/mocking/ProjectMock.d.ts +0 -3
- package/build/src/mocking/ProjectMock.js +0 -3
- package/build/src/mocking/ProjectMock.js.map +1 -1
- package/build/src/mocking/lib/History.js +5 -0
- package/build/src/mocking/lib/History.js.map +1 -1
- package/build/src/models/{Workspace.d.ts → Folder.d.ts} +7 -7
- package/build/src/models/{Workspace.js → Folder.js} +5 -5
- package/build/src/models/Folder.js.map +1 -0
- package/build/src/models/HttpHistory.d.ts +38 -43
- package/build/src/models/HttpHistory.js +27 -34
- package/build/src/models/HttpHistory.js.map +1 -1
- package/build/src/models/HttpProject.d.ts +0 -2
- package/build/src/models/HttpProject.js +0 -27
- package/build/src/models/HttpProject.js.map +1 -1
- package/build/src/models/Project.d.ts +0 -8
- package/build/src/models/Project.js +0 -4
- package/build/src/models/Project.js.map +1 -1
- package/build/src/models/ProjectFolder.d.ts +0 -2
- package/build/src/models/ProjectFolder.js +0 -14
- package/build/src/models/ProjectFolder.js.map +1 -1
- package/build/src/models/ProjectItem.d.ts +0 -2
- package/build/src/models/ProjectItem.js +0 -20
- package/build/src/models/ProjectItem.js.map +1 -1
- package/build/src/models/ProjectRequest.d.ts +2 -3
- package/build/src/models/ProjectRequest.js.map +1 -1
- package/build/src/models/RequestConfig.d.ts +1 -1
- package/build/src/models/Space.d.ts +42 -0
- package/build/src/models/Space.js +81 -0
- package/build/src/models/Space.js.map +1 -0
- package/build/src/models/TrashEntry.d.ts +27 -0
- package/build/src/models/TrashEntry.js +2 -0
- package/build/src/models/TrashEntry.js.map +1 -0
- package/build/src/models/store/Backend.d.ts +0 -315
- package/build/src/models/store/Backend.js +0 -1
- package/build/src/models/store/Backend.js.map +1 -1
- package/build/src/models/store/File.d.ts +30 -0
- package/build/src/models/store/File.js +5 -5
- package/build/src/models/store/File.js.map +1 -1
- package/build/src/proxy/ProxyService.d.ts +0 -10
- package/build/src/proxy/ProxyService.js +0 -14
- package/build/src/proxy/ProxyService.js.map +1 -1
- package/build/src/runtime/node/InteropInterfaces.d.ts +1 -2
- package/build/src/runtime/node/ProjectParallelRunner.d.ts +2 -3
- package/build/src/runtime/node/ProjectParallelRunner.js.map +1 -1
- package/build/src/runtime/node/ProjectRequestRunner.d.ts +7 -8
- package/build/src/runtime/node/ProjectRequestRunner.js +2 -3
- package/build/src/runtime/node/ProjectRequestRunner.js.map +1 -1
- package/build/src/runtime/node/ProjectRunner.d.ts +3 -4
- package/build/src/runtime/node/ProjectRunner.js.map +1 -1
- package/build/src/runtime/node/ProjectRunnerWorker.js +0 -4
- package/build/src/runtime/node/ProjectRunnerWorker.js.map +1 -1
- package/build/src/runtime/store/CertificatesSdk.d.ts +46 -0
- package/build/src/runtime/store/CertificatesSdk.js +227 -0
- package/build/src/runtime/store/CertificatesSdk.js.map +1 -0
- package/build/src/runtime/store/FilesSdk.d.ts +14 -9
- package/build/src/runtime/store/FilesSdk.js +60 -16
- package/build/src/runtime/store/FilesSdk.js.map +1 -1
- package/build/src/runtime/store/HistorySdk.d.ts +11 -8
- package/build/src/runtime/store/HistorySdk.js +140 -17
- package/build/src/runtime/store/HistorySdk.js.map +1 -1
- package/build/src/runtime/store/RevisionsSdk.d.ts +12 -0
- package/build/src/runtime/store/RevisionsSdk.js +43 -0
- package/build/src/runtime/store/RevisionsSdk.js.map +1 -0
- package/build/src/runtime/store/RouteBuilder.d.ts +16 -18
- package/build/src/runtime/store/RouteBuilder.js +33 -60
- package/build/src/runtime/store/RouteBuilder.js.map +1 -1
- package/build/src/runtime/store/Sdk.d.ts +10 -7
- package/build/src/runtime/store/Sdk.js +12 -5
- package/build/src/runtime/store/Sdk.js.map +1 -1
- package/build/src/runtime/store/SdkBase.js.map +1 -1
- package/build/src/runtime/store/SharedSdk.d.ts +2 -2
- package/build/src/runtime/store/SharedSdk.js.map +1 -1
- package/build/src/runtime/store/SpacesSdk.d.ts +29 -0
- package/build/src/runtime/store/SpacesSdk.js +135 -0
- package/build/src/runtime/store/SpacesSdk.js.map +1 -0
- package/build/src/runtime/store/TrashSdk.d.ts +35 -0
- package/build/src/runtime/store/TrashSdk.js +155 -0
- package/build/src/runtime/store/TrashSdk.js.map +1 -0
- package/build/src/runtime/store/UsersSdk.d.ts +2 -2
- package/build/src/runtime/store/UsersSdk.js.map +1 -1
- package/build/src/runtime/store/interfaces/ApiClientStore.d.ts +30 -0
- package/build/src/runtime/store/interfaces/ApiClientStore.js +2 -0
- package/build/src/runtime/store/interfaces/ApiClientStore.js.map +1 -0
- package/build/src/runtime/store/interfaces/Certificates.d.ts +49 -0
- package/build/src/runtime/store/interfaces/Certificates.js +2 -0
- package/build/src/runtime/store/interfaces/Certificates.js.map +1 -0
- package/build/src/runtime/store/interfaces/Files.d.ts +63 -0
- package/build/src/runtime/store/interfaces/Files.js +2 -0
- package/build/src/runtime/store/interfaces/Files.js.map +1 -0
- package/build/src/runtime/store/interfaces/History.d.ts +63 -0
- package/build/src/runtime/store/interfaces/History.js +2 -0
- package/build/src/runtime/store/interfaces/History.js.map +1 -0
- package/build/src/runtime/store/interfaces/Media.d.ts +42 -0
- package/build/src/runtime/store/interfaces/Media.js +2 -0
- package/build/src/runtime/store/interfaces/Media.js.map +1 -0
- package/build/src/runtime/store/interfaces/Revisions.d.ts +25 -0
- package/build/src/runtime/store/interfaces/Revisions.js +2 -0
- package/build/src/runtime/store/interfaces/Revisions.js.map +1 -0
- package/build/src/runtime/store/interfaces/Spaces.d.ts +42 -0
- package/build/src/runtime/store/interfaces/Spaces.js +2 -0
- package/build/src/runtime/store/interfaces/Spaces.js.map +1 -0
- package/build/src/runtime/store/interfaces/Trash.d.ts +38 -0
- package/build/src/runtime/store/interfaces/Trash.js +2 -0
- package/build/src/runtime/store/interfaces/Trash.js.map +1 -0
- package/package.json +1 -1
- package/src/events/BaseEvents.ts +136 -18
- package/src/events/EventTypes.ts +0 -2
- package/src/events/Events.ts +0 -2
- package/src/events/transport/TransportEventTypes.ts +0 -1
- package/src/events/transport/TransportEvents.ts +0 -13
- package/src/mocking/ProjectMock.ts +0 -4
- package/src/mocking/lib/History.ts +5 -0
- package/src/models/{Workspace.ts → Folder.ts} +12 -12
- package/src/models/HttpHistory.ts +53 -63
- package/src/models/HttpProject.ts +0 -29
- package/src/models/Project.ts +0 -8
- package/src/models/ProjectFolder.ts +0 -16
- package/src/models/ProjectItem.ts +0 -18
- package/src/models/ProjectRequest.ts +3 -4
- package/src/models/RequestConfig.ts +1 -1
- package/src/models/Space.ts +105 -0
- package/src/models/TrashEntry.ts +29 -0
- package/src/models/store/Backend.ts +0 -342
- package/src/models/store/File.ts +38 -5
- package/src/proxy/ProxyService.ts +0 -15
- package/src/proxy/readme.md +0 -1
- package/src/runtime/node/InteropInterfaces.ts +1 -2
- package/src/runtime/node/ProjectParallelRunner.ts +2 -3
- package/src/runtime/node/ProjectRequestRunner.ts +13 -14
- package/src/runtime/node/ProjectRunner.ts +3 -4
- package/src/runtime/node/ProjectRunnerWorker.ts +1 -4
- package/src/runtime/store/CertificatesSdk.ts +231 -0
- package/src/runtime/store/FilesSdk.ts +71 -26
- package/src/runtime/store/HistorySdk.ts +145 -33
- package/src/runtime/store/RevisionsSdk.ts +44 -0
- package/src/runtime/store/RouteBuilder.ts +37 -69
- package/src/runtime/store/Sdk.ts +17 -7
- package/src/runtime/store/SdkBase.ts +1 -1
- package/src/runtime/store/SharedSdk.ts +3 -3
- package/src/runtime/store/SpacesSdk.ts +136 -0
- package/src/runtime/store/TrashSdk.ts +159 -0
- package/src/runtime/store/UsersSdk.ts +3 -3
- package/src/runtime/store/interfaces/ApiClientStore.ts +39 -0
- package/src/runtime/store/interfaces/Certificates.ts +56 -0
- package/src/runtime/store/interfaces/Files.ts +70 -0
- package/src/runtime/store/interfaces/History.ts +64 -0
- package/src/runtime/store/interfaces/Media.ts +46 -0
- package/src/runtime/store/interfaces/Revisions.ts +27 -0
- package/src/runtime/store/interfaces/Spaces.ts +48 -0
- package/src/runtime/store/interfaces/Trash.ts +42 -0
- package/build/src/events/models/ClientCertificateEvents.d.ts +0 -54
- package/build/src/events/models/ClientCertificateEvents.js +0 -78
- package/build/src/events/models/ClientCertificateEvents.js.map +0 -1
- package/build/src/events/models/ModelEventTypes.d.ts +0 -13
- package/build/src/events/models/ModelEventTypes.js +0 -14
- package/build/src/events/models/ModelEventTypes.js.map +0 -1
- package/build/src/events/models/ModelEvents.d.ts +0 -4
- package/build/src/events/models/ModelEvents.js +0 -5
- package/build/src/events/models/ModelEvents.js.map +0 -1
- package/build/src/mocking/lib/App.d.ts +0 -36
- package/build/src/mocking/lib/App.js +0 -70
- package/build/src/mocking/lib/App.js.map +0 -1
- package/build/src/models/AppProject.d.ts +0 -817
- package/build/src/models/AppProject.js +0 -1721
- package/build/src/models/AppProject.js.map +0 -1
- package/build/src/models/AppRequest.d.ts +0 -69
- package/build/src/models/AppRequest.js +0 -150
- package/build/src/models/AppRequest.js.map +0 -1
- package/build/src/models/Workspace.js.map +0 -1
- package/build/src/proxy/AppProjectProxy.d.ts +0 -28
- package/build/src/proxy/AppProjectProxy.js +0 -107
- package/build/src/proxy/AppProjectProxy.js.map +0 -1
- package/build/src/runtime/store/AppSdk.d.ts +0 -213
- package/build/src/runtime/store/AppSdk.js +0 -836
- package/build/src/runtime/store/AppSdk.js.map +0 -1
- package/src/events/models/ClientCertificateEvents.ts +0 -85
- package/src/events/models/ModelEventTypes.ts +0 -13
- package/src/events/models/ModelEvents.ts +0 -5
- package/src/mocking/lib/App.ts +0 -101
- package/src/models/AppProject.ts +0 -2188
- package/src/models/AppRequest.ts +0 -176
- package/src/proxy/AppProjectProxy.ts +0 -126
- package/src/runtime/store/AppSdk.ts +0 -842
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN, ISdkRequestOptions } from './SdkBase.js';
|
|
2
|
+
import { RouteBuilder } from './RouteBuilder.js';
|
|
3
|
+
import { ContextChangeRecord, ContextDeleteRecord, ContextListResult, ContextSpaceListOptions, IBulkOperationResult } from '../../events/BaseEvents.js';
|
|
4
|
+
import { HttpCertificate } from '../../models/ClientCertificate.js';
|
|
5
|
+
import { SdkError } from './Errors.js';
|
|
6
|
+
|
|
7
|
+
export class CertificatesSdk extends SdkBase {
|
|
8
|
+
/**
|
|
9
|
+
* Inserts a certificate to the store
|
|
10
|
+
*
|
|
11
|
+
* @param value The value to insert.
|
|
12
|
+
* @param space The parent space of the certificate.
|
|
13
|
+
*/
|
|
14
|
+
async add(value: HttpCertificate, space: string, request: ISdkRequestOptions = {}): Promise<ContextChangeRecord<HttpCertificate>> {
|
|
15
|
+
const token = request.token || this.sdk.token;
|
|
16
|
+
const url = this.sdk.getUrl(RouteBuilder.certificates());
|
|
17
|
+
url.searchParams.set('space', space);
|
|
18
|
+
const body = JSON.stringify(value);
|
|
19
|
+
const result = await this.sdk.http.post(url.toString(), { token, body });
|
|
20
|
+
this.inspectCommonStatusCodes(result.status);
|
|
21
|
+
const E_PREFIX = 'Unable to create a certificate. ';
|
|
22
|
+
if (result.status !== 200) {
|
|
23
|
+
this.logInvalidResponse(result);
|
|
24
|
+
let e = this.createGenericSdkError(result.body)
|
|
25
|
+
if (!e) {
|
|
26
|
+
e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status);
|
|
27
|
+
e.response = result.body;
|
|
28
|
+
}
|
|
29
|
+
throw e;
|
|
30
|
+
}
|
|
31
|
+
if (!result.body) {
|
|
32
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
33
|
+
}
|
|
34
|
+
let data: ContextChangeRecord<HttpCertificate>;
|
|
35
|
+
try {
|
|
36
|
+
data = JSON.parse(result.body);
|
|
37
|
+
} catch (e) {
|
|
38
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
39
|
+
}
|
|
40
|
+
if (!data.key) {
|
|
41
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
42
|
+
}
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Adds certificates in a bulk operation.
|
|
48
|
+
* @param value The lits of certificates to add.
|
|
49
|
+
* @param space The parent workspace
|
|
50
|
+
* @returns The list of inserted certificates. `undefined` when there was an error inserting a certificate.
|
|
51
|
+
*/
|
|
52
|
+
async addBulk(values: HttpCertificate[], space: string, request: ISdkRequestOptions = {}): Promise<IBulkOperationResult<ContextChangeRecord<HttpCertificate>>> {
|
|
53
|
+
const token = request.token || this.sdk.token;
|
|
54
|
+
const url = this.sdk.getUrl(RouteBuilder.certificateBatchCreate());
|
|
55
|
+
url.searchParams.set('space', space);
|
|
56
|
+
const body = JSON.stringify(values);
|
|
57
|
+
const result = await this.sdk.http.post(url.toString(), { token, body });
|
|
58
|
+
this.inspectCommonStatusCodes(result.status);
|
|
59
|
+
const E_PREFIX = 'Unable to create a bulk certificates. ';
|
|
60
|
+
if (result.status !== 200) {
|
|
61
|
+
this.logInvalidResponse(result);
|
|
62
|
+
let e = this.createGenericSdkError(result.body)
|
|
63
|
+
if (!e) {
|
|
64
|
+
e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status);
|
|
65
|
+
e.response = result.body;
|
|
66
|
+
}
|
|
67
|
+
throw e;
|
|
68
|
+
}
|
|
69
|
+
if (!result.body) {
|
|
70
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
71
|
+
}
|
|
72
|
+
let data: IBulkOperationResult<ContextChangeRecord<HttpCertificate>>;
|
|
73
|
+
try {
|
|
74
|
+
data = JSON.parse(result.body).items;
|
|
75
|
+
} catch (e) {
|
|
76
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
77
|
+
}
|
|
78
|
+
if (!data.items) {
|
|
79
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
80
|
+
}
|
|
81
|
+
return data;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* @param key The key of the certificate to read.
|
|
86
|
+
*/
|
|
87
|
+
async read(key: string, request: ISdkRequestOptions = {}): Promise<HttpCertificate> {
|
|
88
|
+
const token = request.token || this.sdk.token;
|
|
89
|
+
const url = this.sdk.getUrl(RouteBuilder.certificate(key));
|
|
90
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
91
|
+
this.inspectCommonStatusCodes(result.status);
|
|
92
|
+
const E_PREFIX = 'Unable to read a certificate. ';
|
|
93
|
+
if (result.status !== 200) {
|
|
94
|
+
this.logInvalidResponse(result);
|
|
95
|
+
let e = this.createGenericSdkError(result.body)
|
|
96
|
+
if (!e) {
|
|
97
|
+
e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status);
|
|
98
|
+
e.response = result.body;
|
|
99
|
+
}
|
|
100
|
+
throw e;
|
|
101
|
+
}
|
|
102
|
+
if (!result.body) {
|
|
103
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
104
|
+
}
|
|
105
|
+
let data: HttpCertificate;
|
|
106
|
+
try {
|
|
107
|
+
data = JSON.parse(result.body);
|
|
108
|
+
} catch (e) {
|
|
109
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
110
|
+
}
|
|
111
|
+
if (!data.kind) {
|
|
112
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
113
|
+
}
|
|
114
|
+
return data;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Lists certificate entires.
|
|
119
|
+
*
|
|
120
|
+
* @param space The parent space of the certificate.
|
|
121
|
+
* @param options The list query options.
|
|
122
|
+
*/
|
|
123
|
+
async list(options?: ContextSpaceListOptions, request: ISdkRequestOptions = {}): Promise<ContextListResult<HttpCertificate>> {
|
|
124
|
+
const token = request.token || this.sdk.token;
|
|
125
|
+
const url = this.sdk.getUrl(RouteBuilder.certificates());
|
|
126
|
+
this.sdk.appendListOptions(url, options);
|
|
127
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
128
|
+
this.inspectCommonStatusCodes(result.status);
|
|
129
|
+
const E_PREFIX = 'Unable to list certificates. ';
|
|
130
|
+
if (result.status !== 200) {
|
|
131
|
+
this.logInvalidResponse(result);
|
|
132
|
+
let e = this.createGenericSdkError(result.body)
|
|
133
|
+
if (!e) {
|
|
134
|
+
e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status);
|
|
135
|
+
e.response = result.body;
|
|
136
|
+
}
|
|
137
|
+
throw e;
|
|
138
|
+
}
|
|
139
|
+
if (!result.body) {
|
|
140
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
141
|
+
}
|
|
142
|
+
let data: ContextListResult<HttpCertificate>;
|
|
143
|
+
try {
|
|
144
|
+
data = JSON.parse(result.body);
|
|
145
|
+
} catch (e) {
|
|
146
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
147
|
+
}
|
|
148
|
+
if (!Array.isArray(data.items)) {
|
|
149
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
150
|
+
}
|
|
151
|
+
return data;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Marks the certificate as deleted.
|
|
156
|
+
*
|
|
157
|
+
* @param key The key of the certificate to delete.
|
|
158
|
+
*/
|
|
159
|
+
async delete(key: string, request: ISdkRequestOptions = {}): Promise<void> {
|
|
160
|
+
const token = request.token || this.sdk.token;
|
|
161
|
+
const url = this.sdk.getUrl(RouteBuilder.certificate(key));
|
|
162
|
+
const result = await this.sdk.http.delete(url.toString(), { token });
|
|
163
|
+
this.inspectCommonStatusCodes(result.status, result.body);
|
|
164
|
+
const E_PREFIX = 'Unable to delete the certificate. ';
|
|
165
|
+
if (result.status !== 204) {
|
|
166
|
+
this.logInvalidResponse(result);
|
|
167
|
+
let e = this.createGenericSdkError(result.body)
|
|
168
|
+
if (!e) {
|
|
169
|
+
e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status);
|
|
170
|
+
e.response = result.body;
|
|
171
|
+
}
|
|
172
|
+
throw e;
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Removed certificates in a bulk operation.
|
|
178
|
+
* @param keys The list of certificate keys to delete.
|
|
179
|
+
*/
|
|
180
|
+
async deleteBulk(keys: string[], request: ISdkRequestOptions = {}): Promise<IBulkOperationResult<ContextDeleteRecord>> {
|
|
181
|
+
const token = request.token || this.sdk.token;
|
|
182
|
+
const url = this.sdk.getUrl(RouteBuilder.certificateBatchDelete());
|
|
183
|
+
const result = await this.sdk.http.post(url.toString(), { token, body: JSON.stringify(keys) });
|
|
184
|
+
this.inspectCommonStatusCodes(result.status);
|
|
185
|
+
const E_PREFIX = 'Unable to delete history. ';
|
|
186
|
+
if (result.status !== 200) {
|
|
187
|
+
this.logInvalidResponse(result);
|
|
188
|
+
let e = this.createGenericSdkError(result.body)
|
|
189
|
+
if (!e) {
|
|
190
|
+
e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status);
|
|
191
|
+
e.response = result.body;
|
|
192
|
+
}
|
|
193
|
+
throw e;
|
|
194
|
+
}
|
|
195
|
+
if (!result.body) {
|
|
196
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
let data: IBulkOperationResult<ContextDeleteRecord>;
|
|
200
|
+
try {
|
|
201
|
+
data = JSON.parse(result.body);
|
|
202
|
+
} catch (e) {
|
|
203
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
204
|
+
}
|
|
205
|
+
if (!Array.isArray(data.items)) {
|
|
206
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
207
|
+
}
|
|
208
|
+
return data;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Removes all certificates from the store for the given workspace.
|
|
213
|
+
* @param space The parent workspace key
|
|
214
|
+
*/
|
|
215
|
+
async empty(space: string, request: ISdkRequestOptions = {}): Promise<void> {
|
|
216
|
+
const token = request.token || this.sdk.token;
|
|
217
|
+
const url = this.sdk.getUrl(RouteBuilder.certificatesEmpty(space));
|
|
218
|
+
const result = await this.sdk.http.delete(url.toString(), { token });
|
|
219
|
+
this.inspectCommonStatusCodes(result.status, result.body);
|
|
220
|
+
const E_PREFIX = 'Unable to delete the certificate. ';
|
|
221
|
+
if (result.status !== 204) {
|
|
222
|
+
this.logInvalidResponse(result);
|
|
223
|
+
let e = this.createGenericSdkError(result.body)
|
|
224
|
+
if (!e) {
|
|
225
|
+
e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status);
|
|
226
|
+
e.response = result.body;
|
|
227
|
+
}
|
|
228
|
+
throw e;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import WebSocketNode from 'ws';
|
|
2
|
-
import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN,
|
|
2
|
+
import { SdkBase, E_RESPONSE_STATUS, E_RESPONSE_NO_VALUE, E_INVALID_JSON, E_RESPONSE_UNKNOWN, ISdkRequestOptions } from './SdkBase.js';
|
|
3
3
|
import { RouteBuilder } from './RouteBuilder.js';
|
|
4
|
-
import { IListOptions, IListResponse, IPatchInfo, IPatchRevision, IAccessPatchInfo } from '../../models/store/Backend.js';
|
|
5
4
|
import { IUser } from '../../models/store/User.js';
|
|
6
|
-
import { IFile } from '../../models/store/File.js';
|
|
5
|
+
import { FileBreadcrumb, IFile } from '../../models/store/File.js';
|
|
7
6
|
import { Kind as ProjectKind } from '../../models/Project.js';
|
|
8
|
-
import { Kind as
|
|
7
|
+
import { Kind as FolderKind } from '../../models/Folder.js';
|
|
9
8
|
import { Kind as DataNamespaceKind } from '../../models/data/DataNamespace.js';
|
|
10
9
|
import { SdkError } from './Errors.js';
|
|
10
|
+
import { ContextListResult, IPatchInfo, IPatchRevision, IAccessPatchInfo, ContextSpaceListOptions, ContextChangeRecord, IBulkOperationResult } from '../../events/BaseEvents.js';
|
|
11
11
|
|
|
12
12
|
export interface IMetaCreateOptions {
|
|
13
13
|
/**
|
|
@@ -29,7 +29,7 @@ export interface IFileCreateOptions extends IMetaCreateOptions, IMediaCreateOpti
|
|
|
29
29
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
export type ListFileKind = typeof ProjectKind | typeof
|
|
32
|
+
export type ListFileKind = typeof ProjectKind | typeof FolderKind | typeof DataNamespaceKind;
|
|
33
33
|
|
|
34
34
|
/**
|
|
35
35
|
* In the store, the file is represented by the meta and the media.
|
|
@@ -45,7 +45,7 @@ export class FilesSdk extends SdkBase {
|
|
|
45
45
|
* @param options Optional query options.
|
|
46
46
|
* @param request Optional request options.
|
|
47
47
|
*/
|
|
48
|
-
async list(kinds?: ListFileKind[], options?:
|
|
48
|
+
async list(kinds?: ListFileKind[], options?: ContextSpaceListOptions, request: ISdkRequestOptions = {}): Promise<ContextListResult<IFile>> {
|
|
49
49
|
const token = request.token || this.sdk.token;
|
|
50
50
|
const url = this.sdk.getUrl(RouteBuilder.files());
|
|
51
51
|
this.sdk.appendListOptions(url, options);
|
|
@@ -67,7 +67,7 @@ export class FilesSdk extends SdkBase {
|
|
|
67
67
|
if (!result.body) {
|
|
68
68
|
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
69
69
|
}
|
|
70
|
-
let data:
|
|
70
|
+
let data: ContextListResult<IFile>;
|
|
71
71
|
try {
|
|
72
72
|
data = JSON.parse(result.body);
|
|
73
73
|
} catch (e) {
|
|
@@ -88,10 +88,10 @@ export class FilesSdk extends SdkBase {
|
|
|
88
88
|
* @param request Optional request details
|
|
89
89
|
* @returns The id of the created file meta.
|
|
90
90
|
*/
|
|
91
|
-
async create(meta: IFile, contents: unknown, opts: IFileCreateOptions = {}, request: ISdkRequestOptions = {}): Promise<
|
|
92
|
-
const
|
|
93
|
-
await this.createMedia(contents,
|
|
94
|
-
return
|
|
91
|
+
async create(meta: IFile, contents: unknown, space: string, opts: IFileCreateOptions = {}, request: ISdkRequestOptions = {}): Promise<ContextChangeRecord<IFile>> {
|
|
92
|
+
const result = await this.createMeta(meta, space, opts, request);
|
|
93
|
+
await this.createMedia(contents, result.key, opts, request);
|
|
94
|
+
return result;
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
/**
|
|
@@ -102,10 +102,10 @@ export class FilesSdk extends SdkBase {
|
|
|
102
102
|
* @param request Optional request options.
|
|
103
103
|
* @returns The key of the creates file.
|
|
104
104
|
*/
|
|
105
|
-
async createMeta(file: IFile, opts: IMetaCreateOptions = {}, request: ISdkRequestOptions = {}): Promise<
|
|
105
|
+
async createMeta(file: IFile, space: string, opts: IMetaCreateOptions = {}, request: ISdkRequestOptions = {}): Promise<ContextChangeRecord<IFile>> {
|
|
106
106
|
const token = request.token || this.sdk.token;
|
|
107
|
-
const
|
|
108
|
-
|
|
107
|
+
const url = this.sdk.getUrl(RouteBuilder.files());
|
|
108
|
+
url.searchParams.set('space', space);
|
|
109
109
|
if (opts.parent) {
|
|
110
110
|
url.searchParams.set('parent', opts.parent);
|
|
111
111
|
}
|
|
@@ -119,7 +119,7 @@ export class FilesSdk extends SdkBase {
|
|
|
119
119
|
});
|
|
120
120
|
this.inspectCommonStatusCodes(result.status, result.body);
|
|
121
121
|
const E_PREFIX = 'Unable to create a file. ';
|
|
122
|
-
if (result.status !==
|
|
122
|
+
if (result.status !== 200) {
|
|
123
123
|
this.logInvalidResponse(result);
|
|
124
124
|
let e = this.createGenericSdkError(result.body)
|
|
125
125
|
if (!e) {
|
|
@@ -128,12 +128,20 @@ export class FilesSdk extends SdkBase {
|
|
|
128
128
|
}
|
|
129
129
|
throw e;
|
|
130
130
|
}
|
|
131
|
-
|
|
132
|
-
if (!
|
|
133
|
-
throw new Error(`${E_PREFIX}${
|
|
131
|
+
|
|
132
|
+
if (!result.body) {
|
|
133
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
134
|
+
}
|
|
135
|
+
let data: ContextChangeRecord<IFile>;
|
|
136
|
+
try {
|
|
137
|
+
data = JSON.parse(result.body);
|
|
138
|
+
} catch (e) {
|
|
139
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
134
140
|
}
|
|
135
|
-
|
|
136
|
-
|
|
141
|
+
if (!data.key) {
|
|
142
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
143
|
+
}
|
|
144
|
+
return data;
|
|
137
145
|
}
|
|
138
146
|
|
|
139
147
|
/**
|
|
@@ -184,6 +192,7 @@ export class FilesSdk extends SdkBase {
|
|
|
184
192
|
* @returns THe file metadata
|
|
185
193
|
*/
|
|
186
194
|
read(key: string, media: false, request?: ISdkRequestOptions): Promise<IFile>;
|
|
195
|
+
|
|
187
196
|
/**
|
|
188
197
|
* Reads file contents from the store.
|
|
189
198
|
*
|
|
@@ -226,8 +235,10 @@ export class FilesSdk extends SdkBase {
|
|
|
226
235
|
} catch (e) {
|
|
227
236
|
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
228
237
|
}
|
|
229
|
-
if (!
|
|
230
|
-
|
|
238
|
+
if (!media) {
|
|
239
|
+
if (!data.kind) {
|
|
240
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
241
|
+
}
|
|
231
242
|
}
|
|
232
243
|
return data;
|
|
233
244
|
}
|
|
@@ -239,7 +250,7 @@ export class FilesSdk extends SdkBase {
|
|
|
239
250
|
* in that place. It also inserts `undefined` in place of a file that doesn't exist.
|
|
240
251
|
* @param request Optional request options.
|
|
241
252
|
*/
|
|
242
|
-
async readBulk(keys: string[], request: ISdkRequestOptions = {}): Promise<
|
|
253
|
+
async readBulk(keys: string[], request: ISdkRequestOptions = {}): Promise<IBulkOperationResult<IFile>> {
|
|
243
254
|
const token = request.token || this.sdk.token;
|
|
244
255
|
const url = this.sdk.getUrl(RouteBuilder.filesBatch());
|
|
245
256
|
const body = JSON.stringify(keys);
|
|
@@ -258,7 +269,7 @@ export class FilesSdk extends SdkBase {
|
|
|
258
269
|
if (!result.body) {
|
|
259
270
|
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
260
271
|
}
|
|
261
|
-
let data:
|
|
272
|
+
let data: IBulkOperationResult<IFile>;
|
|
262
273
|
try {
|
|
263
274
|
data = JSON.parse(result.body);
|
|
264
275
|
} catch (e) {
|
|
@@ -384,7 +395,7 @@ export class FilesSdk extends SdkBase {
|
|
|
384
395
|
* @param key The file key
|
|
385
396
|
* @param request Optional request options.
|
|
386
397
|
*/
|
|
387
|
-
async listUsers(key: string, request: ISdkRequestOptions = {}): Promise<
|
|
398
|
+
async listUsers(key: string, request: ISdkRequestOptions = {}): Promise<ContextListResult<IUser>> {
|
|
388
399
|
const token = request.token || this.sdk.token;
|
|
389
400
|
const url = this.sdk.getUrl(RouteBuilder.fileUsers(key));
|
|
390
401
|
const result = await this.sdk.http.get(url.toString(), { token });
|
|
@@ -402,7 +413,7 @@ export class FilesSdk extends SdkBase {
|
|
|
402
413
|
if (!result.body) {
|
|
403
414
|
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
404
415
|
}
|
|
405
|
-
let data:
|
|
416
|
+
let data: ContextListResult<IUser>;
|
|
406
417
|
try {
|
|
407
418
|
data = JSON.parse(result.body);
|
|
408
419
|
} catch (e) {
|
|
@@ -439,4 +450,38 @@ export class FilesSdk extends SdkBase {
|
|
|
439
450
|
}
|
|
440
451
|
return this.sdk.ws.createAndConnect(url.toString(), token);
|
|
441
452
|
}
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* Lists breadcrumbs to the file.
|
|
456
|
+
* @param key The lowest file in the hierarchy
|
|
457
|
+
*/
|
|
458
|
+
async breadcrumbs(key: string, request: ISdkRequestOptions = {}): Promise<ContextListResult<FileBreadcrumb>> {
|
|
459
|
+
const token = request.token || this.sdk.token;
|
|
460
|
+
const url = this.sdk.getUrl(RouteBuilder.fileBreadcrumbs(key));
|
|
461
|
+
const result = await this.sdk.http.get(url.toString(), { token });
|
|
462
|
+
this.inspectCommonStatusCodes(result.status, result.body);
|
|
463
|
+
const E_PREFIX = 'Unable to read a file. ';
|
|
464
|
+
if (result.status !== 200) {
|
|
465
|
+
this.logInvalidResponse(result);
|
|
466
|
+
let e = this.createGenericSdkError(result.body)
|
|
467
|
+
if (!e) {
|
|
468
|
+
e = new SdkError(`${E_PREFIX}${E_RESPONSE_STATUS}${result.status}`, result.status);
|
|
469
|
+
e.response = result.body;
|
|
470
|
+
}
|
|
471
|
+
throw e;
|
|
472
|
+
}
|
|
473
|
+
if (!result.body) {
|
|
474
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_NO_VALUE}`);
|
|
475
|
+
}
|
|
476
|
+
let data: ContextListResult<FileBreadcrumb>;
|
|
477
|
+
try {
|
|
478
|
+
data = JSON.parse(result.body);
|
|
479
|
+
} catch (e) {
|
|
480
|
+
throw new Error(`${E_PREFIX}${E_INVALID_JSON}.`);
|
|
481
|
+
}
|
|
482
|
+
if (!Array.isArray(data.items)) {
|
|
483
|
+
throw new Error(`${E_PREFIX}${E_RESPONSE_UNKNOWN}.`);
|
|
484
|
+
}
|
|
485
|
+
return data;
|
|
486
|
+
}
|
|
442
487
|
}
|