@twin.org/auditable-item-stream-rest-client 0.0.3-next.2 → 0.0.3-next.20
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/README.md +2 -2
- package/dist/es/auditableItemStreamRestClient.js +108 -74
- package/dist/es/auditableItemStreamRestClient.js.map +1 -1
- package/dist/types/auditableItemStreamRestClient.d.ts +34 -38
- package/docs/changelog.md +296 -44
- package/docs/examples.md +183 -1
- package/docs/reference/classes/AuditableItemStreamRestClient.md +80 -103
- package/locales/en.json +1 -7
- package/package.json +5 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Auditable Item Stream REST Client
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
This package provides a client for calling auditable item stream REST endpoints, with helper methods for creating streams, managing entries, querying results, and handling paging.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0.
|
|
3
3
|
import { BaseRestClient } from "@twin.org/api-core";
|
|
4
4
|
import { HttpParameterHelper } from "@twin.org/api-models";
|
|
5
|
-
import { Coerce, Guards,
|
|
6
|
-
import { HeaderTypes, MimeTypes } from "@twin.org/web";
|
|
5
|
+
import { Coerce, Guards, Is } from "@twin.org/core";
|
|
6
|
+
import { HeaderHelper, HeaderTypes, MimeTypes } from "@twin.org/web";
|
|
7
7
|
/**
|
|
8
8
|
* Client for performing auditable item stream through to REST endpoints.
|
|
9
9
|
*/
|
|
@@ -29,26 +29,20 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
29
29
|
/**
|
|
30
30
|
* Create a new stream.
|
|
31
31
|
* @param stream The stream to create.
|
|
32
|
-
* @param stream.annotationObject The object for the stream as JSON-LD.
|
|
33
|
-
* @param stream.entries Entries to store in the stream.
|
|
34
|
-
* @param options Options for creating the stream.
|
|
35
|
-
* @param options.immutableInterval After how many entries do we add immutable checks, defaults to service configured value.
|
|
36
|
-
* A value of 0 will disable integrity checks, 1 will be every item, or any other integer for an interval.
|
|
37
32
|
* @returns The id of the new stream item.
|
|
38
33
|
*/
|
|
39
|
-
async create(stream
|
|
34
|
+
async create(stream) {
|
|
40
35
|
Guards.object(AuditableItemStreamRestClient.CLASS_NAME, "stream", stream);
|
|
41
36
|
const response = await this.fetch("/", "POST", {
|
|
42
|
-
body:
|
|
43
|
-
...stream,
|
|
44
|
-
immutableInterval: options?.immutableInterval
|
|
45
|
-
}
|
|
37
|
+
body: stream
|
|
46
38
|
});
|
|
47
39
|
return response.headers[HeaderTypes.Location];
|
|
48
40
|
}
|
|
49
41
|
/**
|
|
50
42
|
* Get a stream header without the entries.
|
|
51
43
|
* @param id The id of the stream to get.
|
|
44
|
+
* @param cursor Cursor to use for next chunk of entries.
|
|
45
|
+
* @param limit Limit the number of entries to return, only applicable if includeEntries is true.
|
|
52
46
|
* @param options Additional options for the get operation.
|
|
53
47
|
* @param options.includeEntries Whether to include the entries, defaults to false.
|
|
54
48
|
* @param options.includeDeleted Whether to include deleted entries, defaults to false.
|
|
@@ -57,7 +51,7 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
57
51
|
* @returns The stream and entries if found.
|
|
58
52
|
* @throws NotFoundError if the stream is not found
|
|
59
53
|
*/
|
|
60
|
-
async get(id, options) {
|
|
54
|
+
async get(id, cursor, limit, options) {
|
|
61
55
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
62
56
|
const response = await this.fetch("/:id", "GET", {
|
|
63
57
|
headers: {
|
|
@@ -67,31 +61,46 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
67
61
|
id
|
|
68
62
|
},
|
|
69
63
|
query: {
|
|
64
|
+
cursor,
|
|
65
|
+
limit: Coerce.string(limit),
|
|
70
66
|
includeEntries: Coerce.string(options?.includeEntries),
|
|
71
67
|
includeDeleted: Coerce.string(options?.includeDeleted),
|
|
72
68
|
verifyStream: Coerce.string(options?.verifyStream),
|
|
73
69
|
verifyEntries: Coerce.string(options?.verifyEntries)
|
|
74
70
|
}
|
|
75
71
|
});
|
|
76
|
-
return
|
|
72
|
+
return {
|
|
73
|
+
stream: response.body,
|
|
74
|
+
cursor: HeaderHelper.extractLinkHeaderRelation(response.headers?.[HeaderTypes.Link], "next")
|
|
75
|
+
?.urlQueryParams?.cursor
|
|
76
|
+
};
|
|
77
77
|
}
|
|
78
78
|
/**
|
|
79
79
|
* Update a stream.
|
|
80
|
-
* @param stream The stream to update.
|
|
81
|
-
* @param stream.id The id of the stream to update.
|
|
82
|
-
* @param stream.annotationObject The object for the stream as JSON-LD.
|
|
80
|
+
* @param stream The stream to update, does not update entries.
|
|
83
81
|
* @returns Nothing.
|
|
84
82
|
*/
|
|
85
83
|
async update(stream) {
|
|
86
84
|
Guards.object(AuditableItemStreamRestClient.CLASS_NAME, "stream", stream);
|
|
87
85
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "stream.id", stream.id);
|
|
88
|
-
const { id,
|
|
86
|
+
const { id, ...rest } = stream;
|
|
89
87
|
await this.fetch("/:id", "PUT", {
|
|
90
88
|
pathParams: {
|
|
91
89
|
id
|
|
92
90
|
},
|
|
93
|
-
body:
|
|
94
|
-
|
|
91
|
+
body: rest
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Close the stream.
|
|
96
|
+
* @param id The id of the stream to close.
|
|
97
|
+
* @returns Nothing.
|
|
98
|
+
*/
|
|
99
|
+
async close(id) {
|
|
100
|
+
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
101
|
+
await this.fetch("/:id/close", "PUT", {
|
|
102
|
+
pathParams: {
|
|
103
|
+
id
|
|
95
104
|
}
|
|
96
105
|
});
|
|
97
106
|
}
|
|
@@ -132,7 +141,11 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
132
141
|
limit: Coerce.string(limit)
|
|
133
142
|
}
|
|
134
143
|
});
|
|
135
|
-
return
|
|
144
|
+
return {
|
|
145
|
+
entries: response.body,
|
|
146
|
+
cursor: HeaderHelper.extractLinkHeaderRelation(response.headers?.[HeaderTypes.Link], "next")
|
|
147
|
+
?.urlQueryParams?.cursor
|
|
148
|
+
};
|
|
136
149
|
}
|
|
137
150
|
/**
|
|
138
151
|
* Create an entry in the stream.
|
|
@@ -142,7 +155,7 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
142
155
|
*/
|
|
143
156
|
async createEntry(id, entryObject) {
|
|
144
157
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
145
|
-
const response = await this.fetch("/:id", "POST", {
|
|
158
|
+
const response = await this.fetch("/:id/entries", "POST", {
|
|
146
159
|
pathParams: {
|
|
147
160
|
id
|
|
148
161
|
},
|
|
@@ -164,7 +177,7 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
164
177
|
async getEntry(id, entryId, options) {
|
|
165
178
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
166
179
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "entryId", entryId);
|
|
167
|
-
const response = await this.fetch("/:id/:entryId", "GET", {
|
|
180
|
+
const response = await this.fetch("/:id/entries/:entryId", "GET", {
|
|
168
181
|
headers: {
|
|
169
182
|
[HeaderTypes.Accept]: MimeTypes.JsonLd
|
|
170
183
|
},
|
|
@@ -188,7 +201,7 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
188
201
|
async getEntryObject(id, entryId) {
|
|
189
202
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
190
203
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "entryId", entryId);
|
|
191
|
-
const response = await this.fetch("/:id/:entryId/object", "GET", {
|
|
204
|
+
const response = await this.fetch("/:id/entries/:entryId/object", "GET", {
|
|
192
205
|
headers: {
|
|
193
206
|
[HeaderTypes.Accept]: MimeTypes.JsonLd
|
|
194
207
|
},
|
|
@@ -209,7 +222,7 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
209
222
|
async updateEntry(id, entryId, entryObject) {
|
|
210
223
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
211
224
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "entryId", entryId);
|
|
212
|
-
await this.fetch("/:id/:entryId", "PUT", {
|
|
225
|
+
await this.fetch("/:id/entries/:entryId", "PUT", {
|
|
213
226
|
pathParams: {
|
|
214
227
|
id,
|
|
215
228
|
entryId
|
|
@@ -228,7 +241,7 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
228
241
|
async removeEntry(id, entryId) {
|
|
229
242
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
230
243
|
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "entryId", entryId);
|
|
231
|
-
await this.fetch("/:id/:entryId", "DELETE", {
|
|
244
|
+
await this.fetch("/:id/entries/:entryId", "DELETE", {
|
|
232
245
|
pathParams: {
|
|
233
246
|
id,
|
|
234
247
|
entryId
|
|
@@ -237,7 +250,7 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
237
250
|
}
|
|
238
251
|
/**
|
|
239
252
|
* Get the entries for the stream.
|
|
240
|
-
* @param id The id of the stream to get.
|
|
253
|
+
* @param id The id of the stream to get, if undefined returns all matching entries.
|
|
241
254
|
* @param options Additional options for the get operation.
|
|
242
255
|
* @param options.conditions The conditions to filter the stream.
|
|
243
256
|
* @param options.includeDeleted Whether to include deleted entries, defaults to false.
|
|
@@ -249,28 +262,44 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
249
262
|
* @throws NotFoundError if the stream is not found.
|
|
250
263
|
*/
|
|
251
264
|
async getEntries(id, options) {
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
265
|
+
const queryParams = {
|
|
266
|
+
conditions: HttpParameterHelper.objectToString(options?.conditions),
|
|
267
|
+
includeDeleted: Coerce.string(options?.includeDeleted),
|
|
268
|
+
verifyEntries: Coerce.string(options?.verifyEntries),
|
|
269
|
+
limit: Coerce.string(options?.limit),
|
|
270
|
+
cursor: options?.cursor,
|
|
271
|
+
order: options?.order
|
|
272
|
+
};
|
|
273
|
+
let response;
|
|
274
|
+
if (!Is.empty(id)) {
|
|
275
|
+
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
276
|
+
response = await this.fetch("/:id/entries", "GET", {
|
|
277
|
+
headers: {
|
|
278
|
+
[HeaderTypes.Accept]: MimeTypes.JsonLd
|
|
279
|
+
},
|
|
280
|
+
pathParams: {
|
|
281
|
+
id
|
|
282
|
+
},
|
|
283
|
+
query: queryParams
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
else {
|
|
287
|
+
response = await this.fetch("/entries", "GET", {
|
|
288
|
+
headers: {
|
|
289
|
+
[HeaderTypes.Accept]: MimeTypes.JsonLd
|
|
290
|
+
},
|
|
291
|
+
query: queryParams
|
|
292
|
+
});
|
|
293
|
+
}
|
|
294
|
+
return {
|
|
295
|
+
entries: response.body,
|
|
296
|
+
cursor: HeaderHelper.extractLinkHeaderRelation(response.headers?.[HeaderTypes.Link], "next")
|
|
297
|
+
?.urlQueryParams?.cursor
|
|
298
|
+
};
|
|
270
299
|
}
|
|
271
300
|
/**
|
|
272
301
|
* Get the entry objects for the stream.
|
|
273
|
-
* @param id The id of the stream to get.
|
|
302
|
+
* @param id The id of the stream to get, if undefined returns all matching entries.
|
|
274
303
|
* @param options Additional options for the get operation.
|
|
275
304
|
* @param options.conditions The conditions to filter the stream.
|
|
276
305
|
* @param options.includeDeleted Whether to include deleted entries, defaults to false.
|
|
@@ -281,34 +310,39 @@ export class AuditableItemStreamRestClient extends BaseRestClient {
|
|
|
281
310
|
* @throws NotFoundError if the stream is not found.
|
|
282
311
|
*/
|
|
283
312
|
async getEntryObjects(id, options) {
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
}
|
|
313
|
+
const queryParams = {
|
|
314
|
+
conditions: HttpParameterHelper.objectToString(options?.conditions),
|
|
315
|
+
includeDeleted: Coerce.string(options?.includeDeleted),
|
|
316
|
+
limit: Coerce.string(options?.limit),
|
|
317
|
+
cursor: options?.cursor,
|
|
318
|
+
order: options?.order
|
|
319
|
+
};
|
|
320
|
+
let response;
|
|
321
|
+
if (!Is.empty(id)) {
|
|
322
|
+
Guards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, "id", id);
|
|
323
|
+
response = await this.fetch("/:id/entries/objects", "GET", {
|
|
324
|
+
headers: {
|
|
325
|
+
[HeaderTypes.Accept]: MimeTypes.JsonLd
|
|
326
|
+
},
|
|
327
|
+
pathParams: {
|
|
328
|
+
id
|
|
329
|
+
},
|
|
330
|
+
query: queryParams
|
|
331
|
+
});
|
|
332
|
+
}
|
|
333
|
+
else {
|
|
334
|
+
response = await this.fetch("/entries/objects", "GET", {
|
|
335
|
+
headers: {
|
|
336
|
+
[HeaderTypes.Accept]: MimeTypes.JsonLd
|
|
337
|
+
},
|
|
338
|
+
query: queryParams
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
return {
|
|
342
|
+
entries: response.body,
|
|
343
|
+
cursor: HeaderHelper.extractLinkHeaderRelation(response.headers?.[HeaderTypes.Link], "next")
|
|
344
|
+
?.urlQueryParams?.cursor
|
|
345
|
+
};
|
|
312
346
|
}
|
|
313
347
|
}
|
|
314
348
|
//# sourceMappingURL=auditableItemStreamRestClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auditableItemStreamRestClient.js","sourceRoot":"","sources":["../../src/auditableItemStreamRestClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { BaseRestClient } from \"@twin.org/api-core\";\nimport {\n\tHttpParameterHelper,\n\ttype IBaseRestClientConfig,\n\ttype ICreatedResponse,\n\ttype INoContentResponse\n} from \"@twin.org/api-models\";\nimport type {\n\tIAuditableItemStream,\n\tIAuditableItemStreamComponent,\n\tIAuditableItemStreamCreateEntryRequest,\n\tIAuditableItemStreamCreateRequest,\n\tIAuditableItemStreamDeleteEntryRequest,\n\tIAuditableItemStreamDeleteRequest,\n\tIAuditableItemStreamEntry,\n\tIAuditableItemStreamEntryList,\n\tIAuditableItemStreamEntryObjectList,\n\tIAuditableItemStreamGetEntryObjectRequest,\n\tIAuditableItemStreamGetEntryObjectResponse,\n\tIAuditableItemStreamGetEntryRequest,\n\tIAuditableItemStreamGetEntryResponse,\n\tIAuditableItemStreamGetRequest,\n\tIAuditableItemStreamGetResponse,\n\tIAuditableItemStreamList,\n\tIAuditableItemStreamListEntriesRequest,\n\tIAuditableItemStreamListEntriesResponse,\n\tIAuditableItemStreamListEntryObjectsRequest,\n\tIAuditableItemStreamListEntryObjectsResponse,\n\tIAuditableItemStreamListRequest,\n\tIAuditableItemStreamListResponse,\n\tIAuditableItemStreamUpdateEntryRequest,\n\tIAuditableItemStreamUpdateRequest\n} from \"@twin.org/auditable-item-stream-models\";\nimport { Coerce, Guards, NotSupportedError } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IComparator, SortDirection } from \"@twin.org/entity\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { HeaderTypes, MimeTypes } from \"@twin.org/web\";\n\n/**\n * Client for performing auditable item stream through to REST endpoints.\n */\nexport class AuditableItemStreamRestClient\n\textends BaseRestClient\n\timplements IAuditableItemStreamComponent\n{\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<AuditableItemStreamRestClient>();\n\n\t/**\n\t * Create a new instance of AuditableItemStreamRestClient.\n\t * @param config The configuration for the client.\n\t */\n\tconstructor(config: IBaseRestClientConfig) {\n\t\tsuper(nameof<AuditableItemStreamRestClient>(), config, \"auditable-item-stream\");\n\t}\n\n\t/**\n\t * Returns the class name of the component.\n\t * @returns The class name of the component.\n\t */\n\tpublic className(): string {\n\t\treturn AuditableItemStreamRestClient.CLASS_NAME;\n\t}\n\n\t/**\n\t * Create a new stream.\n\t * @param stream The stream to create.\n\t * @param stream.annotationObject The object for the stream as JSON-LD.\n\t * @param stream.entries Entries to store in the stream.\n\t * @param options Options for creating the stream.\n\t * @param options.immutableInterval After how many entries do we add immutable checks, defaults to service configured value.\n\t * A value of 0 will disable integrity checks, 1 will be every item, or any other integer for an interval.\n\t * @returns The id of the new stream item.\n\t */\n\tpublic async create(\n\t\tstream: {\n\t\t\tannotationObject?: IJsonLdNodeObject;\n\t\t\tentries?: {\n\t\t\t\tentryObject: IJsonLdNodeObject;\n\t\t\t}[];\n\t\t},\n\t\toptions?: {\n\t\t\timmutableInterval?: number;\n\t\t}\n\t): Promise<string> {\n\t\tGuards.object(AuditableItemStreamRestClient.CLASS_NAME, nameof(stream), stream);\n\t\tconst response = await this.fetch<IAuditableItemStreamCreateRequest, ICreatedResponse>(\n\t\t\t\"/\",\n\t\t\t\"POST\",\n\t\t\t{\n\t\t\t\tbody: {\n\t\t\t\t\t...stream,\n\t\t\t\t\timmutableInterval: options?.immutableInterval\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn response.headers[HeaderTypes.Location];\n\t}\n\n\t/**\n\t * Get a stream header without the entries.\n\t * @param id The id of the stream to get.\n\t * @param options Additional options for the get operation.\n\t * @param options.includeEntries Whether to include the entries, defaults to false.\n\t * @param options.includeDeleted Whether to include deleted entries, defaults to false.\n\t * @param options.verifyStream Should the stream be verified, defaults to false.\n\t * @param options.verifyEntries Should the entries be verified, defaults to false.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found\n\t */\n\tpublic async get(\n\t\tid: string,\n\t\toptions?: {\n\t\t\tincludeEntries?: boolean;\n\t\t\tincludeDeleted?: boolean;\n\t\t\tverifyStream?: boolean;\n\t\t\tverifyEntries?: boolean;\n\t\t}\n\t): Promise<IAuditableItemStream> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamGetRequest,\n\t\t\tIAuditableItemStreamGetResponse\n\t\t>(\"/:id\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tincludeEntries: Coerce.string(options?.includeEntries),\n\t\t\t\tincludeDeleted: Coerce.string(options?.includeDeleted),\n\t\t\t\tverifyStream: Coerce.string(options?.verifyStream),\n\t\t\t\tverifyEntries: Coerce.string(options?.verifyEntries)\n\t\t\t}\n\t\t});\n\n\t\treturn response.body;\n\t}\n\n\t/**\n\t * Update a stream.\n\t * @param stream The stream to update.\n\t * @param stream.id The id of the stream to update.\n\t * @param stream.annotationObject The object for the stream as JSON-LD.\n\t * @returns Nothing.\n\t */\n\tpublic async update(stream: { id: string; annotationObject?: IJsonLdNodeObject }): Promise<void> {\n\t\tGuards.object(AuditableItemStreamRestClient.CLASS_NAME, nameof(stream), stream);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(stream.id), stream.id);\n\n\t\tconst { id, annotationObject } = stream;\n\t\tawait this.fetch<IAuditableItemStreamUpdateRequest, INoContentResponse>(\"/:id\", \"PUT\", {\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t},\n\t\t\tbody: {\n\t\t\t\tannotationObject\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Delete the stream.\n\t * @param id The id of the stream to remove.\n\t * @returns Nothing.\n\t */\n\tpublic async remove(id: string): Promise<void> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tawait this.fetch<IAuditableItemStreamDeleteRequest, INoContentResponse>(\"/:id\", \"DELETE\", {\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Query all the streams, will not return entries.\n\t * @param conditions Conditions to use in the query.\n\t * @param orderBy The order for the results, defaults to created.\n\t * @param orderByDirection The direction for the order, defaults to descending.\n\t * @param properties The properties to return, if not provided defaults to id, created and object.\n\t * @param cursor The cursor to request the next chunk of entities.\n\t * @param limit Limit the number of entities to return.\n\t * @returns The entities, which can be partial if a limited keys list was provided.\n\t */\n\tpublic async query(\n\t\tconditions?: IComparator[],\n\t\torderBy?: keyof Pick<IAuditableItemStream, \"dateCreated\" | \"dateModified\">,\n\t\torderByDirection?: SortDirection,\n\t\tproperties?: (keyof IAuditableItemStream)[],\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<IAuditableItemStreamList> {\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamListRequest,\n\t\t\tIAuditableItemStreamListResponse\n\t\t>(\"/\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tconditions: HttpParameterHelper.objectToString(conditions),\n\t\t\t\torderBy,\n\t\t\t\torderByDirection,\n\t\t\t\tproperties: HttpParameterHelper.arrayToString(properties),\n\t\t\t\tcursor,\n\t\t\t\tlimit: Coerce.string(limit)\n\t\t\t}\n\t\t});\n\n\t\treturn response.body;\n\t}\n\n\t/**\n\t * Create an entry in the stream.\n\t * @param id The id of the stream to update.\n\t * @param entryObject The object for the stream as JSON-LD.\n\t * @returns The id of the created entry, if not provided.\n\t */\n\tpublic async createEntry(id: string, entryObject: IJsonLdNodeObject): Promise<string> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tconst response = await this.fetch<IAuditableItemStreamCreateEntryRequest, ICreatedResponse>(\n\t\t\t\"/:id\",\n\t\t\t\"POST\",\n\t\t\t{\n\t\t\t\tpathParams: {\n\t\t\t\t\tid\n\t\t\t\t},\n\t\t\t\tbody: {\n\t\t\t\t\tentryObject\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn response.headers[HeaderTypes.Location];\n\t}\n\n\t/**\n\t * Get the entry from the stream.\n\t * @param id The id of the stream to get.\n\t * @param entryId The id of the stream entry to get.\n\t * @param options Additional options for the get operation.\n\t * @param options.verifyEntry Should the entry be verified, defaults to false.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found.\n\t */\n\tpublic async getEntry(\n\t\tid: string,\n\t\tentryId: string,\n\t\toptions?: {\n\t\t\tverifyEntry?: boolean;\n\t\t}\n\t): Promise<IAuditableItemStreamEntry> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(entryId), entryId);\n\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamGetEntryRequest,\n\t\t\tIAuditableItemStreamGetEntryResponse\n\t\t>(\"/:id/:entryId\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tverifyEntry: Coerce.string(options?.verifyEntry)\n\t\t\t},\n\t\t\tpathParams: {\n\t\t\t\tid,\n\t\t\t\tentryId\n\t\t\t}\n\t\t});\n\n\t\treturn response.body;\n\t}\n\n\t/**\n\t * Get the entry object from the stream.\n\t * @param id The id of the stream to get.\n\t * @param entryId The id of the stream entry to get.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found.\n\t */\n\tpublic async getEntryObject(id: string, entryId: string): Promise<IJsonLdNodeObject> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(entryId), entryId);\n\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamGetEntryObjectRequest,\n\t\t\tIAuditableItemStreamGetEntryObjectResponse\n\t\t>(\"/:id/:entryId/object\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tpathParams: {\n\t\t\t\tid,\n\t\t\t\tentryId\n\t\t\t}\n\t\t});\n\n\t\treturn response.body;\n\t}\n\n\t/**\n\t * Update an entry in the stream.\n\t * @param id The id of the stream to update.\n\t * @param entryId The id of the entry to update.\n\t * @param entryObject The object for the entry as JSON-LD.\n\t * @returns Nothing.\n\t */\n\tpublic async updateEntry(\n\t\tid: string,\n\t\tentryId: string,\n\t\tentryObject: IJsonLdNodeObject\n\t): Promise<void> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(entryId), entryId);\n\n\t\tawait this.fetch<IAuditableItemStreamUpdateEntryRequest, INoContentResponse>(\n\t\t\t\"/:id/:entryId\",\n\t\t\t\"PUT\",\n\t\t\t{\n\t\t\t\tpathParams: {\n\t\t\t\t\tid,\n\t\t\t\t\tentryId\n\t\t\t\t},\n\t\t\t\tbody: {\n\t\t\t\t\tentryObject\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * Remove from the stream.\n\t * @param id The id of the stream to remove from.\n\t * @param entryId The id of the entry to remove.\n\t * @returns Nothing.\n\t */\n\tpublic async removeEntry(id: string, entryId: string): Promise<void> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(entryId), entryId);\n\n\t\tawait this.fetch<IAuditableItemStreamDeleteEntryRequest, INoContentResponse>(\n\t\t\t\"/:id/:entryId\",\n\t\t\t\"DELETE\",\n\t\t\t{\n\t\t\t\tpathParams: {\n\t\t\t\t\tid,\n\t\t\t\t\tentryId\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * Get the entries for the stream.\n\t * @param id The id of the stream to get.\n\t * @param options Additional options for the get operation.\n\t * @param options.conditions The conditions to filter the stream.\n\t * @param options.includeDeleted Whether to include deleted entries, defaults to false.\n\t * @param options.verifyEntries Should the entries be verified, defaults to false.\n\t * @param options.limit How many entries to return.\n\t * @param options.cursor Cursor to use for next chunk of data.\n\t * @param options.order Retrieve the entries in ascending/descending time order, defaults to Ascending.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found.\n\t */\n\tpublic async getEntries(\n\t\tid: string,\n\t\toptions?: {\n\t\t\tconditions?: IComparator[];\n\t\t\tincludeDeleted?: boolean;\n\t\t\tverifyEntries?: boolean;\n\t\t\tlimit?: number;\n\t\t\tcursor?: string;\n\t\t\torder?: SortDirection;\n\t\t}\n\t): Promise<IAuditableItemStreamEntryList> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamListEntriesRequest,\n\t\t\tIAuditableItemStreamListEntriesResponse\n\t\t>(\"/:id/entries\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tconditions: HttpParameterHelper.objectToString(options?.conditions),\n\t\t\t\tincludeDeleted: Coerce.string(options?.includeDeleted),\n\t\t\t\tverifyEntries: Coerce.string(options?.verifyEntries),\n\t\t\t\tlimit: Coerce.string(options?.limit),\n\t\t\t\tcursor: options?.cursor,\n\t\t\t\torder: options?.order\n\t\t\t}\n\t\t});\n\n\t\treturn response.body;\n\t}\n\n\t/**\n\t * Get the entry objects for the stream.\n\t * @param id The id of the stream to get.\n\t * @param options Additional options for the get operation.\n\t * @param options.conditions The conditions to filter the stream.\n\t * @param options.includeDeleted Whether to include deleted entries, defaults to false.\n\t * @param options.limit How many entries to return.\n\t * @param options.cursor Cursor to use for next chunk of data.\n\t * @param options.order Retrieve the entries in ascending/descending time order, defaults to Ascending.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found.\n\t */\n\tpublic async getEntryObjects(\n\t\tid: string,\n\t\toptions?: {\n\t\t\tconditions?: IComparator[];\n\t\t\tincludeDeleted?: boolean;\n\t\t\tlimit?: number;\n\t\t\tcursor?: string;\n\t\t\torder?: SortDirection;\n\t\t}\n\t): Promise<IAuditableItemStreamEntryObjectList> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamListEntryObjectsRequest,\n\t\t\tIAuditableItemStreamListEntryObjectsResponse\n\t\t>(\"/:id/entries/objects\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tconditions: HttpParameterHelper.objectToString(options?.conditions),\n\t\t\t\tincludeDeleted: Coerce.string(options?.includeDeleted),\n\t\t\t\tlimit: Coerce.string(options?.limit),\n\t\t\t\tcursor: Coerce.string(options?.cursor),\n\t\t\t\torder: options?.order\n\t\t\t}\n\t\t});\n\n\t\treturn response.body;\n\t}\n\n\t/**\n\t * Remove the verifiable storage for the stream and entries, not supported on client.\n\t * @param id The id of the stream to remove the storage from.\n\t * @returns Nothing.\n\t * @throws NotFoundError if the vertex is not found.\n\t */\n\tpublic async removeVerifiable(id: string): Promise<void> {\n\t\tthrow new NotSupportedError(AuditableItemStreamRestClient.CLASS_NAME, \"notSupportedOnClient\", {\n\t\t\tmethodName: \"removeVerifiable\"\n\t\t});\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"auditableItemStreamRestClient.js","sourceRoot":"","sources":["../../src/auditableItemStreamRestClient.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport { BaseRestClient } from \"@twin.org/api-core\";\nimport {\n\tHttpParameterHelper,\n\ttype IBaseRestClientConfig,\n\ttype ICreatedResponse,\n\ttype INoContentResponse\n} from \"@twin.org/api-models\";\nimport type {\n\tIAuditableItemStream,\n\tIAuditableItemStreamBase,\n\tIAuditableItemStreamCloseRequest,\n\tIAuditableItemStreamComponent,\n\tIAuditableItemStreamCreateEntryRequest,\n\tIAuditableItemStreamCreateRequest,\n\tIAuditableItemStreamDeleteEntryRequest,\n\tIAuditableItemStreamDeleteRequest,\n\tIAuditableItemStreamEntry,\n\tIAuditableItemStreamEntryList,\n\tIAuditableItemStreamEntryObjectList,\n\tIAuditableItemStreamGetEntryObjectRequest,\n\tIAuditableItemStreamGetEntryObjectResponse,\n\tIAuditableItemStreamGetEntryRequest,\n\tIAuditableItemStreamGetEntryResponse,\n\tIAuditableItemStreamGetRequest,\n\tIAuditableItemStreamGetResponse,\n\tIAuditableItemStreamList,\n\tIAuditableItemStreamListEntriesNoStreamRequest,\n\tIAuditableItemStreamListEntriesRequest,\n\tIAuditableItemStreamListEntriesResponse,\n\tIAuditableItemStreamListEntryObjectsNoStreamRequest,\n\tIAuditableItemStreamListEntryObjectsRequest,\n\tIAuditableItemStreamListEntryObjectsResponse,\n\tIAuditableItemStreamListRequest,\n\tIAuditableItemStreamListResponse,\n\tIAuditableItemStreamUpdateEntryRequest,\n\tIAuditableItemStreamUpdateRequest\n} from \"@twin.org/auditable-item-stream-models\";\nimport { Coerce, Guards, Is } from \"@twin.org/core\";\nimport type { IJsonLdNodeObject } from \"@twin.org/data-json-ld\";\nimport type { IComparator, SortDirection } from \"@twin.org/entity\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { HeaderHelper, HeaderTypes, MimeTypes } from \"@twin.org/web\";\n\n/**\n * Client for performing auditable item stream through to REST endpoints.\n */\nexport class AuditableItemStreamRestClient\n\textends BaseRestClient\n\timplements Omit<IAuditableItemStreamComponent, \"removeProof\">\n{\n\t/**\n\t * Runtime name for the class.\n\t */\n\tpublic static readonly CLASS_NAME: string = nameof<AuditableItemStreamRestClient>();\n\n\t/**\n\t * Create a new instance of AuditableItemStreamRestClient.\n\t * @param config The configuration for the client.\n\t */\n\tconstructor(config: IBaseRestClientConfig) {\n\t\tsuper(nameof<AuditableItemStreamRestClient>(), config, \"auditable-item-stream\");\n\t}\n\n\t/**\n\t * Returns the class name of the component.\n\t * @returns The class name of the component.\n\t */\n\tpublic className(): string {\n\t\treturn AuditableItemStreamRestClient.CLASS_NAME;\n\t}\n\n\t/**\n\t * Create a new stream.\n\t * @param stream The stream to create.\n\t * @returns The id of the new stream item.\n\t */\n\tpublic async create(stream: IAuditableItemStreamBase): Promise<string> {\n\t\tGuards.object(AuditableItemStreamRestClient.CLASS_NAME, nameof(stream), stream);\n\t\tconst response = await this.fetch<IAuditableItemStreamCreateRequest, ICreatedResponse>(\n\t\t\t\"/\",\n\t\t\t\"POST\",\n\t\t\t{\n\t\t\t\tbody: stream\n\t\t\t}\n\t\t);\n\n\t\treturn response.headers[HeaderTypes.Location];\n\t}\n\n\t/**\n\t * Get a stream header without the entries.\n\t * @param id The id of the stream to get.\n\t * @param cursor Cursor to use for next chunk of entries.\n\t * @param limit Limit the number of entries to return, only applicable if includeEntries is true.\n\t * @param options Additional options for the get operation.\n\t * @param options.includeEntries Whether to include the entries, defaults to false.\n\t * @param options.includeDeleted Whether to include deleted entries, defaults to false.\n\t * @param options.verifyStream Should the stream be verified, defaults to false.\n\t * @param options.verifyEntries Should the entries be verified, defaults to false.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found\n\t */\n\tpublic async get(\n\t\tid: string,\n\t\tcursor?: string,\n\t\tlimit?: number,\n\t\toptions?: {\n\t\t\tincludeEntries?: boolean;\n\t\t\tincludeDeleted?: boolean;\n\t\t\tverifyStream?: boolean;\n\t\t\tverifyEntries?: boolean;\n\t\t}\n\t): Promise<{\n\t\tstream: IAuditableItemStream;\n\t\tcursor?: string;\n\t}> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamGetRequest,\n\t\t\tIAuditableItemStreamGetResponse\n\t\t>(\"/:id\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tcursor,\n\t\t\t\tlimit: Coerce.string(limit),\n\t\t\t\tincludeEntries: Coerce.string(options?.includeEntries),\n\t\t\t\tincludeDeleted: Coerce.string(options?.includeDeleted),\n\t\t\t\tverifyStream: Coerce.string(options?.verifyStream),\n\t\t\t\tverifyEntries: Coerce.string(options?.verifyEntries)\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tstream: response.body,\n\t\t\tcursor: HeaderHelper.extractLinkHeaderRelation(response.headers?.[HeaderTypes.Link], \"next\")\n\t\t\t\t?.urlQueryParams?.cursor\n\t\t};\n\t}\n\n\t/**\n\t * Update a stream.\n\t * @param stream The stream to update, does not update entries.\n\t * @returns Nothing.\n\t */\n\tpublic async update(\n\t\tstream: Pick<IAuditableItemStream, \"@context\" | \"type\" | \"id\" | \"annotationObject\">\n\t): Promise<void> {\n\t\tGuards.object(AuditableItemStreamRestClient.CLASS_NAME, nameof(stream), stream);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(stream.id), stream.id);\n\n\t\tconst { id, ...rest } = stream;\n\t\tawait this.fetch<IAuditableItemStreamUpdateRequest, INoContentResponse>(\"/:id\", \"PUT\", {\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t},\n\t\t\tbody: rest\n\t\t});\n\t}\n\n\t/**\n\t * Close the stream.\n\t * @param id The id of the stream to close.\n\t * @returns Nothing.\n\t */\n\tpublic async close(id: string): Promise<void> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tawait this.fetch<IAuditableItemStreamCloseRequest, INoContentResponse>(\"/:id/close\", \"PUT\", {\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Delete the stream.\n\t * @param id The id of the stream to remove.\n\t * @returns Nothing.\n\t */\n\tpublic async remove(id: string): Promise<void> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tawait this.fetch<IAuditableItemStreamDeleteRequest, INoContentResponse>(\"/:id\", \"DELETE\", {\n\t\t\tpathParams: {\n\t\t\t\tid\n\t\t\t}\n\t\t});\n\t}\n\n\t/**\n\t * Query all the streams, will not return entries.\n\t * @param conditions Conditions to use in the query.\n\t * @param orderBy The order for the results, defaults to created.\n\t * @param orderByDirection The direction for the order, defaults to descending.\n\t * @param properties The properties to return, if not provided defaults to id, created and object.\n\t * @param cursor The cursor to request the next chunk of entities.\n\t * @param limit Limit the number of entities to return.\n\t * @returns The entities, which can be partial if a limited keys list was provided.\n\t */\n\tpublic async query(\n\t\tconditions?: IComparator[],\n\t\torderBy?: keyof Pick<IAuditableItemStream, \"dateCreated\" | \"dateModified\">,\n\t\torderByDirection?: SortDirection,\n\t\tproperties?: (keyof IAuditableItemStream)[],\n\t\tcursor?: string,\n\t\tlimit?: number\n\t): Promise<{\n\t\tentries: IAuditableItemStreamList;\n\t\tcursor?: string;\n\t}> {\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamListRequest,\n\t\t\tIAuditableItemStreamListResponse\n\t\t>(\"/\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tconditions: HttpParameterHelper.objectToString(conditions),\n\t\t\t\torderBy,\n\t\t\t\torderByDirection,\n\t\t\t\tproperties: HttpParameterHelper.arrayToString(properties),\n\t\t\t\tcursor,\n\t\t\t\tlimit: Coerce.string(limit)\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tentries: response.body,\n\t\t\tcursor: HeaderHelper.extractLinkHeaderRelation(response.headers?.[HeaderTypes.Link], \"next\")\n\t\t\t\t?.urlQueryParams?.cursor\n\t\t};\n\t}\n\n\t/**\n\t * Create an entry in the stream.\n\t * @param id The id of the stream to update.\n\t * @param entryObject The object for the stream as JSON-LD.\n\t * @returns The id of the created entry, if not provided.\n\t */\n\tpublic async createEntry(id: string, entryObject: IJsonLdNodeObject): Promise<string> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\tconst response = await this.fetch<IAuditableItemStreamCreateEntryRequest, ICreatedResponse>(\n\t\t\t\"/:id/entries\",\n\t\t\t\"POST\",\n\t\t\t{\n\t\t\t\tpathParams: {\n\t\t\t\t\tid\n\t\t\t\t},\n\t\t\t\tbody: {\n\t\t\t\t\tentryObject\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn response.headers[HeaderTypes.Location];\n\t}\n\n\t/**\n\t * Get the entry from the stream.\n\t * @param id The id of the stream to get.\n\t * @param entryId The id of the stream entry to get.\n\t * @param options Additional options for the get operation.\n\t * @param options.verifyEntry Should the entry be verified, defaults to false.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found.\n\t */\n\tpublic async getEntry(\n\t\tid: string,\n\t\tentryId: string,\n\t\toptions?: {\n\t\t\tverifyEntry?: boolean;\n\t\t}\n\t): Promise<IAuditableItemStreamEntry> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(entryId), entryId);\n\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamGetEntryRequest,\n\t\t\tIAuditableItemStreamGetEntryResponse\n\t\t>(\"/:id/entries/:entryId\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tquery: {\n\t\t\t\tverifyEntry: Coerce.string(options?.verifyEntry)\n\t\t\t},\n\t\t\tpathParams: {\n\t\t\t\tid,\n\t\t\t\tentryId\n\t\t\t}\n\t\t});\n\n\t\treturn response.body;\n\t}\n\n\t/**\n\t * Get the entry object from the stream.\n\t * @param id The id of the stream to get.\n\t * @param entryId The id of the stream entry to get.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found.\n\t */\n\tpublic async getEntryObject(id: string, entryId: string): Promise<IJsonLdNodeObject> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(entryId), entryId);\n\n\t\tconst response = await this.fetch<\n\t\t\tIAuditableItemStreamGetEntryObjectRequest,\n\t\t\tIAuditableItemStreamGetEntryObjectResponse\n\t\t>(\"/:id/entries/:entryId/object\", \"GET\", {\n\t\t\theaders: {\n\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t},\n\t\t\tpathParams: {\n\t\t\t\tid,\n\t\t\t\tentryId\n\t\t\t}\n\t\t});\n\n\t\treturn response.body;\n\t}\n\n\t/**\n\t * Update an entry in the stream.\n\t * @param id The id of the stream to update.\n\t * @param entryId The id of the entry to update.\n\t * @param entryObject The object for the entry as JSON-LD.\n\t * @returns Nothing.\n\t */\n\tpublic async updateEntry(\n\t\tid: string,\n\t\tentryId: string,\n\t\tentryObject: IJsonLdNodeObject\n\t): Promise<void> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(entryId), entryId);\n\n\t\tawait this.fetch<IAuditableItemStreamUpdateEntryRequest, INoContentResponse>(\n\t\t\t\"/:id/entries/:entryId\",\n\t\t\t\"PUT\",\n\t\t\t{\n\t\t\t\tpathParams: {\n\t\t\t\t\tid,\n\t\t\t\t\tentryId\n\t\t\t\t},\n\t\t\t\tbody: {\n\t\t\t\t\tentryObject\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * Remove from the stream.\n\t * @param id The id of the stream to remove from.\n\t * @param entryId The id of the entry to remove.\n\t * @returns Nothing.\n\t */\n\tpublic async removeEntry(id: string, entryId: string): Promise<void> {\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(entryId), entryId);\n\n\t\tawait this.fetch<IAuditableItemStreamDeleteEntryRequest, INoContentResponse>(\n\t\t\t\"/:id/entries/:entryId\",\n\t\t\t\"DELETE\",\n\t\t\t{\n\t\t\t\tpathParams: {\n\t\t\t\t\tid,\n\t\t\t\t\tentryId\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t}\n\n\t/**\n\t * Get the entries for the stream.\n\t * @param id The id of the stream to get, if undefined returns all matching entries.\n\t * @param options Additional options for the get operation.\n\t * @param options.conditions The conditions to filter the stream.\n\t * @param options.includeDeleted Whether to include deleted entries, defaults to false.\n\t * @param options.verifyEntries Should the entries be verified, defaults to false.\n\t * @param options.limit How many entries to return.\n\t * @param options.cursor Cursor to use for next chunk of data.\n\t * @param options.order Retrieve the entries in ascending/descending time order, defaults to Ascending.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found.\n\t */\n\tpublic async getEntries(\n\t\tid?: string,\n\t\toptions?: {\n\t\t\tconditions?: IComparator[];\n\t\t\tincludeDeleted?: boolean;\n\t\t\tverifyEntries?: boolean;\n\t\t\tlimit?: number;\n\t\t\tcursor?: string;\n\t\t\torder?: SortDirection;\n\t\t}\n\t): Promise<{\n\t\tentries: IAuditableItemStreamEntryList;\n\t\tcursor?: string;\n\t}> {\n\t\tconst queryParams = {\n\t\t\tconditions: HttpParameterHelper.objectToString(options?.conditions),\n\t\t\tincludeDeleted: Coerce.string(options?.includeDeleted),\n\t\t\tverifyEntries: Coerce.string(options?.verifyEntries),\n\t\t\tlimit: Coerce.string(options?.limit),\n\t\t\tcursor: options?.cursor,\n\t\t\torder: options?.order\n\t\t};\n\n\t\tlet response;\n\t\tif (!Is.empty(id)) {\n\t\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\n\t\t\tresponse = await this.fetch<\n\t\t\t\tIAuditableItemStreamListEntriesRequest,\n\t\t\t\tIAuditableItemStreamListEntriesResponse\n\t\t\t>(\"/:id/entries\", \"GET\", {\n\t\t\t\theaders: {\n\t\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t\t},\n\t\t\t\tpathParams: {\n\t\t\t\t\tid\n\t\t\t\t},\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t} else {\n\t\t\tresponse = await this.fetch<\n\t\t\t\tIAuditableItemStreamListEntriesNoStreamRequest,\n\t\t\t\tIAuditableItemStreamListEntriesResponse\n\t\t\t>(\"/entries\", \"GET\", {\n\t\t\t\theaders: {\n\t\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t\t},\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\tentries: response.body,\n\t\t\tcursor: HeaderHelper.extractLinkHeaderRelation(response.headers?.[HeaderTypes.Link], \"next\")\n\t\t\t\t?.urlQueryParams?.cursor\n\t\t};\n\t}\n\n\t/**\n\t * Get the entry objects for the stream.\n\t * @param id The id of the stream to get, if undefined returns all matching entries.\n\t * @param options Additional options for the get operation.\n\t * @param options.conditions The conditions to filter the stream.\n\t * @param options.includeDeleted Whether to include deleted entries, defaults to false.\n\t * @param options.limit How many entries to return.\n\t * @param options.cursor Cursor to use for next chunk of data.\n\t * @param options.order Retrieve the entries in ascending/descending time order, defaults to Ascending.\n\t * @returns The stream and entries if found.\n\t * @throws NotFoundError if the stream is not found.\n\t */\n\tpublic async getEntryObjects(\n\t\tid?: string,\n\t\toptions?: {\n\t\t\tconditions?: IComparator[];\n\t\t\tincludeDeleted?: boolean;\n\t\t\tlimit?: number;\n\t\t\tcursor?: string;\n\t\t\torder?: SortDirection;\n\t\t}\n\t): Promise<{\n\t\tentries: IAuditableItemStreamEntryObjectList;\n\t\tcursor?: string;\n\t}> {\n\t\tconst queryParams = {\n\t\t\tconditions: HttpParameterHelper.objectToString(options?.conditions),\n\t\t\tincludeDeleted: Coerce.string(options?.includeDeleted),\n\t\t\tlimit: Coerce.string(options?.limit),\n\t\t\tcursor: options?.cursor,\n\t\t\torder: options?.order\n\t\t};\n\n\t\tlet response;\n\t\tif (!Is.empty(id)) {\n\t\t\tGuards.stringValue(AuditableItemStreamRestClient.CLASS_NAME, nameof(id), id);\n\t\t\tresponse = await this.fetch<\n\t\t\t\tIAuditableItemStreamListEntryObjectsRequest,\n\t\t\t\tIAuditableItemStreamListEntryObjectsResponse\n\t\t\t>(\"/:id/entries/objects\", \"GET\", {\n\t\t\t\theaders: {\n\t\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t\t},\n\t\t\t\tpathParams: {\n\t\t\t\t\tid\n\t\t\t\t},\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t} else {\n\t\t\tresponse = await this.fetch<\n\t\t\t\tIAuditableItemStreamListEntryObjectsNoStreamRequest,\n\t\t\t\tIAuditableItemStreamListEntryObjectsResponse\n\t\t\t>(\"/entries/objects\", \"GET\", {\n\t\t\t\theaders: {\n\t\t\t\t\t[HeaderTypes.Accept]: MimeTypes.JsonLd\n\t\t\t\t},\n\t\t\t\tquery: queryParams\n\t\t\t});\n\t\t}\n\n\t\treturn {\n\t\t\tentries: response.body,\n\t\t\tcursor: HeaderHelper.extractLinkHeaderRelation(response.headers?.[HeaderTypes.Link], \"next\")\n\t\t\t\t?.urlQueryParams?.cursor\n\t\t};\n\t}\n}\n"]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { BaseRestClient } from "@twin.org/api-core";
|
|
2
2
|
import { type IBaseRestClientConfig } from "@twin.org/api-models";
|
|
3
|
-
import type { IAuditableItemStream, IAuditableItemStreamComponent, IAuditableItemStreamEntry, IAuditableItemStreamEntryList, IAuditableItemStreamEntryObjectList, IAuditableItemStreamList } from "@twin.org/auditable-item-stream-models";
|
|
3
|
+
import type { IAuditableItemStream, IAuditableItemStreamBase, IAuditableItemStreamComponent, IAuditableItemStreamEntry, IAuditableItemStreamEntryList, IAuditableItemStreamEntryObjectList, IAuditableItemStreamList } from "@twin.org/auditable-item-stream-models";
|
|
4
4
|
import type { IJsonLdNodeObject } from "@twin.org/data-json-ld";
|
|
5
5
|
import type { IComparator, SortDirection } from "@twin.org/entity";
|
|
6
6
|
/**
|
|
7
7
|
* Client for performing auditable item stream through to REST endpoints.
|
|
8
8
|
*/
|
|
9
|
-
export declare class AuditableItemStreamRestClient extends BaseRestClient implements IAuditableItemStreamComponent {
|
|
9
|
+
export declare class AuditableItemStreamRestClient extends BaseRestClient implements Omit<IAuditableItemStreamComponent, "removeProof"> {
|
|
10
10
|
/**
|
|
11
11
|
* Runtime name for the class.
|
|
12
12
|
*/
|
|
@@ -24,24 +24,14 @@ export declare class AuditableItemStreamRestClient extends BaseRestClient implem
|
|
|
24
24
|
/**
|
|
25
25
|
* Create a new stream.
|
|
26
26
|
* @param stream The stream to create.
|
|
27
|
-
* @param stream.annotationObject The object for the stream as JSON-LD.
|
|
28
|
-
* @param stream.entries Entries to store in the stream.
|
|
29
|
-
* @param options Options for creating the stream.
|
|
30
|
-
* @param options.immutableInterval After how many entries do we add immutable checks, defaults to service configured value.
|
|
31
|
-
* A value of 0 will disable integrity checks, 1 will be every item, or any other integer for an interval.
|
|
32
27
|
* @returns The id of the new stream item.
|
|
33
28
|
*/
|
|
34
|
-
create(stream:
|
|
35
|
-
annotationObject?: IJsonLdNodeObject;
|
|
36
|
-
entries?: {
|
|
37
|
-
entryObject: IJsonLdNodeObject;
|
|
38
|
-
}[];
|
|
39
|
-
}, options?: {
|
|
40
|
-
immutableInterval?: number;
|
|
41
|
-
}): Promise<string>;
|
|
29
|
+
create(stream: IAuditableItemStreamBase): Promise<string>;
|
|
42
30
|
/**
|
|
43
31
|
* Get a stream header without the entries.
|
|
44
32
|
* @param id The id of the stream to get.
|
|
33
|
+
* @param cursor Cursor to use for next chunk of entries.
|
|
34
|
+
* @param limit Limit the number of entries to return, only applicable if includeEntries is true.
|
|
45
35
|
* @param options Additional options for the get operation.
|
|
46
36
|
* @param options.includeEntries Whether to include the entries, defaults to false.
|
|
47
37
|
* @param options.includeDeleted Whether to include deleted entries, defaults to false.
|
|
@@ -50,23 +40,27 @@ export declare class AuditableItemStreamRestClient extends BaseRestClient implem
|
|
|
50
40
|
* @returns The stream and entries if found.
|
|
51
41
|
* @throws NotFoundError if the stream is not found
|
|
52
42
|
*/
|
|
53
|
-
get(id: string, options?: {
|
|
43
|
+
get(id: string, cursor?: string, limit?: number, options?: {
|
|
54
44
|
includeEntries?: boolean;
|
|
55
45
|
includeDeleted?: boolean;
|
|
56
46
|
verifyStream?: boolean;
|
|
57
47
|
verifyEntries?: boolean;
|
|
58
|
-
}): Promise<
|
|
48
|
+
}): Promise<{
|
|
49
|
+
stream: IAuditableItemStream;
|
|
50
|
+
cursor?: string;
|
|
51
|
+
}>;
|
|
59
52
|
/**
|
|
60
53
|
* Update a stream.
|
|
61
|
-
* @param stream The stream to update.
|
|
62
|
-
* @
|
|
63
|
-
|
|
54
|
+
* @param stream The stream to update, does not update entries.
|
|
55
|
+
* @returns Nothing.
|
|
56
|
+
*/
|
|
57
|
+
update(stream: Pick<IAuditableItemStream, "@context" | "type" | "id" | "annotationObject">): Promise<void>;
|
|
58
|
+
/**
|
|
59
|
+
* Close the stream.
|
|
60
|
+
* @param id The id of the stream to close.
|
|
64
61
|
* @returns Nothing.
|
|
65
62
|
*/
|
|
66
|
-
|
|
67
|
-
id: string;
|
|
68
|
-
annotationObject?: IJsonLdNodeObject;
|
|
69
|
-
}): Promise<void>;
|
|
63
|
+
close(id: string): Promise<void>;
|
|
70
64
|
/**
|
|
71
65
|
* Delete the stream.
|
|
72
66
|
* @param id The id of the stream to remove.
|
|
@@ -83,7 +77,10 @@ export declare class AuditableItemStreamRestClient extends BaseRestClient implem
|
|
|
83
77
|
* @param limit Limit the number of entities to return.
|
|
84
78
|
* @returns The entities, which can be partial if a limited keys list was provided.
|
|
85
79
|
*/
|
|
86
|
-
query(conditions?: IComparator[], orderBy?: keyof Pick<IAuditableItemStream, "dateCreated" | "dateModified">, orderByDirection?: SortDirection, properties?: (keyof IAuditableItemStream)[], cursor?: string, limit?: number): Promise<
|
|
80
|
+
query(conditions?: IComparator[], orderBy?: keyof Pick<IAuditableItemStream, "dateCreated" | "dateModified">, orderByDirection?: SortDirection, properties?: (keyof IAuditableItemStream)[], cursor?: string, limit?: number): Promise<{
|
|
81
|
+
entries: IAuditableItemStreamList;
|
|
82
|
+
cursor?: string;
|
|
83
|
+
}>;
|
|
87
84
|
/**
|
|
88
85
|
* Create an entry in the stream.
|
|
89
86
|
* @param id The id of the stream to update.
|
|
@@ -128,7 +125,7 @@ export declare class AuditableItemStreamRestClient extends BaseRestClient implem
|
|
|
128
125
|
removeEntry(id: string, entryId: string): Promise<void>;
|
|
129
126
|
/**
|
|
130
127
|
* Get the entries for the stream.
|
|
131
|
-
* @param id The id of the stream to get.
|
|
128
|
+
* @param id The id of the stream to get, if undefined returns all matching entries.
|
|
132
129
|
* @param options Additional options for the get operation.
|
|
133
130
|
* @param options.conditions The conditions to filter the stream.
|
|
134
131
|
* @param options.includeDeleted Whether to include deleted entries, defaults to false.
|
|
@@ -139,17 +136,20 @@ export declare class AuditableItemStreamRestClient extends BaseRestClient implem
|
|
|
139
136
|
* @returns The stream and entries if found.
|
|
140
137
|
* @throws NotFoundError if the stream is not found.
|
|
141
138
|
*/
|
|
142
|
-
getEntries(id
|
|
139
|
+
getEntries(id?: string, options?: {
|
|
143
140
|
conditions?: IComparator[];
|
|
144
141
|
includeDeleted?: boolean;
|
|
145
142
|
verifyEntries?: boolean;
|
|
146
143
|
limit?: number;
|
|
147
144
|
cursor?: string;
|
|
148
145
|
order?: SortDirection;
|
|
149
|
-
}): Promise<
|
|
146
|
+
}): Promise<{
|
|
147
|
+
entries: IAuditableItemStreamEntryList;
|
|
148
|
+
cursor?: string;
|
|
149
|
+
}>;
|
|
150
150
|
/**
|
|
151
151
|
* Get the entry objects for the stream.
|
|
152
|
-
* @param id The id of the stream to get.
|
|
152
|
+
* @param id The id of the stream to get, if undefined returns all matching entries.
|
|
153
153
|
* @param options Additional options for the get operation.
|
|
154
154
|
* @param options.conditions The conditions to filter the stream.
|
|
155
155
|
* @param options.includeDeleted Whether to include deleted entries, defaults to false.
|
|
@@ -159,18 +159,14 @@ export declare class AuditableItemStreamRestClient extends BaseRestClient implem
|
|
|
159
159
|
* @returns The stream and entries if found.
|
|
160
160
|
* @throws NotFoundError if the stream is not found.
|
|
161
161
|
*/
|
|
162
|
-
getEntryObjects(id
|
|
162
|
+
getEntryObjects(id?: string, options?: {
|
|
163
163
|
conditions?: IComparator[];
|
|
164
164
|
includeDeleted?: boolean;
|
|
165
165
|
limit?: number;
|
|
166
166
|
cursor?: string;
|
|
167
167
|
order?: SortDirection;
|
|
168
|
-
}): Promise<
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
* @returns Nothing.
|
|
173
|
-
* @throws NotFoundError if the vertex is not found.
|
|
174
|
-
*/
|
|
175
|
-
removeVerifiable(id: string): Promise<void>;
|
|
168
|
+
}): Promise<{
|
|
169
|
+
entries: IAuditableItemStreamEntryObjectList;
|
|
170
|
+
cursor?: string;
|
|
171
|
+
}>;
|
|
176
172
|
}
|