@twin.org/auditable-item-stream-service 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/auditableItemStreamRoutes.js +424 -130
- package/dist/es/auditableItemStreamRoutes.js.map +1 -1
- package/dist/es/auditableItemStreamService.js +325 -133
- package/dist/es/auditableItemStreamService.js.map +1 -1
- package/dist/es/entities/auditableItemStream.js +19 -5
- package/dist/es/entities/auditableItemStream.js.map +1 -1
- package/dist/es/models/IAuditableItemStreamServiceConstructorOptions.js.map +1 -1
- package/dist/es/models/IAuditableItemStreamServiceContext.js.map +1 -1
- package/dist/types/auditableItemStreamRoutes.d.ts +25 -1
- package/dist/types/auditableItemStreamService.d.ts +44 -37
- package/dist/types/entities/auditableItemStream.d.ts +11 -2
- package/dist/types/models/IAuditableItemStreamServiceConstructorOptions.d.ts +4 -0
- package/dist/types/models/IAuditableItemStreamServiceContext.d.ts +4 -0
- package/docs/changelog.md +336 -77
- package/docs/examples.md +211 -1
- package/docs/open-api/spec.json +724 -172
- package/docs/reference/classes/AuditableItemStream.md +32 -16
- package/docs/reference/classes/AuditableItemStreamEntry.md +13 -13
- package/docs/reference/classes/AuditableItemStreamService.md +107 -84
- package/docs/reference/functions/auditableItemStreamClose.md +31 -0
- package/docs/reference/functions/auditableItemStreamListEntriesNoStream.md +31 -0
- package/docs/reference/functions/auditableItemStreamListEntryObjectsNoStream.md +31 -0
- package/docs/reference/index.md +3 -0
- package/docs/reference/interfaces/IAuditableItemStreamServiceConfig.md +2 -2
- package/docs/reference/interfaces/IAuditableItemStreamServiceConstructorOptions.md +18 -10
- package/locales/en.json +6 -1
- package/package.json +6 -5
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0.
|
|
3
3
|
import { HttpParameterHelper } from "@twin.org/api-models";
|
|
4
4
|
import { AuditableItemStreamContexts, AuditableItemStreamTypes } from "@twin.org/auditable-item-stream-models";
|
|
5
|
-
import { Coerce, ComponentFactory, Guards } from "@twin.org/core";
|
|
5
|
+
import { Coerce, ComponentFactory, Guards, Is } from "@twin.org/core";
|
|
6
6
|
import { SchemaOrgContexts, SchemaOrgTypes } from "@twin.org/standards-schema-org";
|
|
7
|
-
import { HeaderTypes, HttpStatusCode, MimeTypes } from "@twin.org/web";
|
|
7
|
+
import { HeaderHelper, HeaderTypes, HttpStatusCode, MimeTypes } from "@twin.org/web";
|
|
8
8
|
/**
|
|
9
9
|
* The source used when communicating about these routes.
|
|
10
10
|
*/
|
|
@@ -39,21 +39,31 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
39
39
|
id: "auditableItemStreamCreateRequestExample",
|
|
40
40
|
request: {
|
|
41
41
|
body: {
|
|
42
|
+
"@context": [
|
|
43
|
+
SchemaOrgContexts.Context,
|
|
44
|
+
AuditableItemStreamContexts.Context,
|
|
45
|
+
AuditableItemStreamContexts.ContextCommon
|
|
46
|
+
],
|
|
47
|
+
type: AuditableItemStreamTypes.Stream,
|
|
42
48
|
annotationObject: {
|
|
43
49
|
"@context": "https://schema.org",
|
|
44
50
|
"@type": "Note",
|
|
45
51
|
content: "This is a simple note"
|
|
46
52
|
},
|
|
47
|
-
entries:
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
entries: {
|
|
54
|
+
type: SchemaOrgTypes.ItemList,
|
|
55
|
+
[SchemaOrgTypes.ItemListElement]: [
|
|
56
|
+
{
|
|
57
|
+
type: AuditableItemStreamTypes.StreamEntry,
|
|
58
|
+
entryObject: {
|
|
59
|
+
"@context": "https://schema.org",
|
|
60
|
+
"@type": "Event",
|
|
61
|
+
startDate: "2011-04-09T20:00:00Z",
|
|
62
|
+
description: "A description of the event"
|
|
63
|
+
}
|
|
54
64
|
}
|
|
55
|
-
|
|
56
|
-
|
|
65
|
+
]
|
|
66
|
+
}
|
|
57
67
|
}
|
|
58
68
|
}
|
|
59
69
|
}
|
|
@@ -69,7 +79,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
69
79
|
response: {
|
|
70
80
|
statusCode: HttpStatusCode.created,
|
|
71
81
|
headers: {
|
|
72
|
-
[HeaderTypes.Location]: "ais
|
|
82
|
+
[HeaderTypes.Location]: "ais%3A1234567890"
|
|
73
83
|
}
|
|
74
84
|
}
|
|
75
85
|
}
|
|
@@ -109,8 +119,9 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
109
119
|
response: {
|
|
110
120
|
body: {
|
|
111
121
|
"@context": [
|
|
112
|
-
|
|
113
|
-
AuditableItemStreamContexts.
|
|
122
|
+
SchemaOrgContexts.Context,
|
|
123
|
+
AuditableItemStreamContexts.Context,
|
|
124
|
+
AuditableItemStreamContexts.ContextCommon
|
|
114
125
|
],
|
|
115
126
|
type: AuditableItemStreamTypes.Stream,
|
|
116
127
|
id: "ais:1234567890",
|
|
@@ -124,25 +135,29 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
124
135
|
organizationIdentity: "did:iota:1234567890",
|
|
125
136
|
proofId: "0101010101010101010101010101010101010101010101010101010101010101",
|
|
126
137
|
immutableInterval: 10,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
138
|
+
numberOfItems: 1,
|
|
139
|
+
entries: {
|
|
140
|
+
type: SchemaOrgTypes.ItemList,
|
|
141
|
+
[SchemaOrgTypes.ItemListElement]: [
|
|
142
|
+
{
|
|
143
|
+
"@context": [
|
|
144
|
+
AuditableItemStreamContexts.Context,
|
|
145
|
+
AuditableItemStreamContexts.ContextCommon
|
|
146
|
+
],
|
|
147
|
+
type: AuditableItemStreamTypes.StreamEntry,
|
|
148
|
+
id: "tst:1234567890",
|
|
149
|
+
dateCreated: "2024-08-22T11:55:16.271Z",
|
|
150
|
+
proofId: "0101010101010101010101010101010101010101010101010101010101010101",
|
|
151
|
+
index: 0,
|
|
152
|
+
entryObject: {
|
|
153
|
+
"@context": "https://schema.org",
|
|
154
|
+
"@type": "Event",
|
|
155
|
+
startDate: "2011-04-09T20:00:00Z",
|
|
156
|
+
description: "A description of the event"
|
|
157
|
+
}
|
|
143
158
|
}
|
|
144
|
-
|
|
145
|
-
|
|
159
|
+
]
|
|
160
|
+
}
|
|
146
161
|
}
|
|
147
162
|
}
|
|
148
163
|
}
|
|
@@ -160,8 +175,9 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
160
175
|
},
|
|
161
176
|
body: {
|
|
162
177
|
"@context": [
|
|
163
|
-
|
|
164
|
-
AuditableItemStreamContexts.
|
|
178
|
+
SchemaOrgContexts.Context,
|
|
179
|
+
AuditableItemStreamContexts.Context,
|
|
180
|
+
AuditableItemStreamContexts.ContextCommon
|
|
165
181
|
],
|
|
166
182
|
type: AuditableItemStreamTypes.Stream,
|
|
167
183
|
id: "ais:1234567890",
|
|
@@ -175,25 +191,29 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
175
191
|
organizationIdentity: "did:iota:1234567890",
|
|
176
192
|
proofId: "0101010101010101010101010101010101010101010101010101010101010101",
|
|
177
193
|
immutableInterval: 10,
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
+
numberOfItems: 1,
|
|
195
|
+
entries: {
|
|
196
|
+
type: SchemaOrgTypes.ItemList,
|
|
197
|
+
[SchemaOrgTypes.ItemListElement]: [
|
|
198
|
+
{
|
|
199
|
+
"@context": [
|
|
200
|
+
AuditableItemStreamContexts.Context,
|
|
201
|
+
AuditableItemStreamContexts.ContextCommon
|
|
202
|
+
],
|
|
203
|
+
type: AuditableItemStreamTypes.StreamEntry,
|
|
204
|
+
id: "tst:1234567890",
|
|
205
|
+
dateCreated: "2024-08-22T11:55:16.271Z",
|
|
206
|
+
proofId: "0101010101010101010101010101010101010101010101010101010101010101",
|
|
207
|
+
index: 0,
|
|
208
|
+
entryObject: {
|
|
209
|
+
"@context": "https://schema.org",
|
|
210
|
+
"@type": "Event",
|
|
211
|
+
startDate: "2011-04-09T20:00:00Z",
|
|
212
|
+
description: "A description of the event"
|
|
213
|
+
}
|
|
194
214
|
}
|
|
195
|
-
|
|
196
|
-
|
|
215
|
+
]
|
|
216
|
+
}
|
|
197
217
|
}
|
|
198
218
|
}
|
|
199
219
|
}
|
|
@@ -221,6 +241,12 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
221
241
|
id: "ais:1234567890"
|
|
222
242
|
},
|
|
223
243
|
body: {
|
|
244
|
+
"@context": [
|
|
245
|
+
SchemaOrgContexts.Context,
|
|
246
|
+
AuditableItemStreamContexts.Context,
|
|
247
|
+
AuditableItemStreamContexts.ContextCommon
|
|
248
|
+
],
|
|
249
|
+
type: AuditableItemStreamTypes.Stream,
|
|
224
250
|
annotationObject: {
|
|
225
251
|
"@context": "https://schema.org",
|
|
226
252
|
"@type": "Note",
|
|
@@ -269,6 +295,35 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
269
295
|
}
|
|
270
296
|
]
|
|
271
297
|
};
|
|
298
|
+
const closeRoute = {
|
|
299
|
+
operationId: "auditableItemStreamClose",
|
|
300
|
+
summary: "Close a stream",
|
|
301
|
+
tag: tagsAuditableItemStream[0].name,
|
|
302
|
+
method: "PUT",
|
|
303
|
+
path: `${baseRouteName}/:id/close`,
|
|
304
|
+
handler: async (httpRequestContext, request) => auditableItemStreamClose(httpRequestContext, componentName, request),
|
|
305
|
+
requestType: {
|
|
306
|
+
type: "IAuditableItemStreamCloseRequest",
|
|
307
|
+
examples: [
|
|
308
|
+
{
|
|
309
|
+
id: "auditableItemStreamCloseRequestExample",
|
|
310
|
+
request: {
|
|
311
|
+
pathParams: {
|
|
312
|
+
id: "ais:1234567890"
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
responseType: [
|
|
319
|
+
{
|
|
320
|
+
type: "INoContentResponse"
|
|
321
|
+
},
|
|
322
|
+
{
|
|
323
|
+
type: "INotFoundResponse"
|
|
324
|
+
}
|
|
325
|
+
]
|
|
326
|
+
};
|
|
272
327
|
const listRoute = {
|
|
273
328
|
operationId: "auditableItemStreamList",
|
|
274
329
|
summary: "Query streams",
|
|
@@ -294,16 +349,17 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
294
349
|
response: {
|
|
295
350
|
body: {
|
|
296
351
|
"@context": [
|
|
297
|
-
SchemaOrgContexts.
|
|
298
|
-
AuditableItemStreamContexts.
|
|
299
|
-
AuditableItemStreamContexts.
|
|
352
|
+
SchemaOrgContexts.Context,
|
|
353
|
+
AuditableItemStreamContexts.Context,
|
|
354
|
+
AuditableItemStreamContexts.ContextCommon
|
|
300
355
|
],
|
|
301
356
|
type: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamList],
|
|
302
357
|
[SchemaOrgTypes.ItemListElement]: [
|
|
303
358
|
{
|
|
304
359
|
"@context": [
|
|
305
|
-
|
|
306
|
-
AuditableItemStreamContexts.
|
|
360
|
+
SchemaOrgContexts.Context,
|
|
361
|
+
AuditableItemStreamContexts.Context,
|
|
362
|
+
AuditableItemStreamContexts.ContextCommon
|
|
307
363
|
],
|
|
308
364
|
type: AuditableItemStreamTypes.Stream,
|
|
309
365
|
id: "ais:1234567890",
|
|
@@ -316,10 +372,10 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
316
372
|
},
|
|
317
373
|
organizationIdentity: "did:iota:1234567890",
|
|
318
374
|
proofId: "0101010101010101010101010101010101010101010101010101010101010101",
|
|
319
|
-
immutableInterval: 10
|
|
375
|
+
immutableInterval: 10,
|
|
376
|
+
numberOfItems: 0
|
|
320
377
|
}
|
|
321
|
-
]
|
|
322
|
-
[SchemaOrgTypes.NextItem]: "1"
|
|
378
|
+
]
|
|
323
379
|
}
|
|
324
380
|
}
|
|
325
381
|
}
|
|
@@ -337,16 +393,17 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
337
393
|
},
|
|
338
394
|
body: {
|
|
339
395
|
"@context": [
|
|
340
|
-
SchemaOrgContexts.
|
|
341
|
-
AuditableItemStreamContexts.
|
|
342
|
-
AuditableItemStreamContexts.
|
|
396
|
+
SchemaOrgContexts.Context,
|
|
397
|
+
AuditableItemStreamContexts.Context,
|
|
398
|
+
AuditableItemStreamContexts.ContextCommon
|
|
343
399
|
],
|
|
344
400
|
type: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamList],
|
|
345
401
|
[SchemaOrgTypes.ItemListElement]: [
|
|
346
402
|
{
|
|
347
403
|
"@context": [
|
|
348
|
-
|
|
349
|
-
AuditableItemStreamContexts.
|
|
404
|
+
SchemaOrgContexts.Context,
|
|
405
|
+
AuditableItemStreamContexts.Context,
|
|
406
|
+
AuditableItemStreamContexts.ContextCommon
|
|
350
407
|
],
|
|
351
408
|
type: AuditableItemStreamTypes.Stream,
|
|
352
409
|
id: "ais:1234567890",
|
|
@@ -359,10 +416,10 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
359
416
|
},
|
|
360
417
|
organizationIdentity: "did:iota:1234567890",
|
|
361
418
|
proofId: "0101010101010101010101010101010101010101010101010101010101010101",
|
|
362
|
-
immutableInterval: 10
|
|
419
|
+
immutableInterval: 10,
|
|
420
|
+
numberOfItems: 0
|
|
363
421
|
}
|
|
364
|
-
]
|
|
365
|
-
[SchemaOrgTypes.NextItem]: "1"
|
|
422
|
+
]
|
|
366
423
|
}
|
|
367
424
|
}
|
|
368
425
|
}
|
|
@@ -378,7 +435,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
378
435
|
summary: "Create a new stream entry",
|
|
379
436
|
tag: tagsAuditableItemStream[0].name,
|
|
380
437
|
method: "POST",
|
|
381
|
-
path: `${baseRouteName}/:id`,
|
|
438
|
+
path: `${baseRouteName}/:id/entries`,
|
|
382
439
|
handler: async (httpRequestContext, request) => auditableItemStreamCreateEntry(httpRequestContext, componentName, request),
|
|
383
440
|
requestType: {
|
|
384
441
|
type: "IAuditableItemStreamCreateEntryRequest",
|
|
@@ -411,7 +468,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
411
468
|
response: {
|
|
412
469
|
statusCode: HttpStatusCode.created,
|
|
413
470
|
headers: {
|
|
414
|
-
[HeaderTypes.Location]: "ais
|
|
471
|
+
[HeaderTypes.Location]: "ais%3A1234567890%3A01010101010"
|
|
415
472
|
}
|
|
416
473
|
}
|
|
417
474
|
}
|
|
@@ -424,7 +481,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
424
481
|
summary: "Delete an entry from the stream",
|
|
425
482
|
tag: tagsAuditableItemStream[0].name,
|
|
426
483
|
method: "DELETE",
|
|
427
|
-
path: `${baseRouteName}/:id/:entryId`,
|
|
484
|
+
path: `${baseRouteName}/:id/entries/:entryId`,
|
|
428
485
|
handler: async (httpRequestContext, request) => auditableItemStreamDeleteEntry(httpRequestContext, componentName, request),
|
|
429
486
|
requestType: {
|
|
430
487
|
type: "IAuditableItemStreamDeleteRequest",
|
|
@@ -454,7 +511,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
454
511
|
summary: "Update a stream entry",
|
|
455
512
|
tag: tagsAuditableItemStream[0].name,
|
|
456
513
|
method: "PUT",
|
|
457
|
-
path: `${baseRouteName}/:id/:entryId`,
|
|
514
|
+
path: `${baseRouteName}/:id/entries/:entryId`,
|
|
458
515
|
handler: async (httpRequestContext, request) => auditableItemStreamUpdateEntry(httpRequestContext, componentName, request),
|
|
459
516
|
requestType: {
|
|
460
517
|
type: "IAuditableItemStreamUpdateEntryRequest",
|
|
@@ -491,7 +548,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
491
548
|
summary: "Get a stream entry",
|
|
492
549
|
tag: tagsAuditableItemStream[0].name,
|
|
493
550
|
method: "GET",
|
|
494
|
-
path: `${baseRouteName}/:id/:entryId`,
|
|
551
|
+
path: `${baseRouteName}/:id/entries/:entryId`,
|
|
495
552
|
handler: async (httpRequestContext, request) => auditableItemStreamGetEntry(httpRequestContext, componentName, request),
|
|
496
553
|
requestType: {
|
|
497
554
|
type: "IAuditableItemStreamGetEntryRequest",
|
|
@@ -516,8 +573,8 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
516
573
|
response: {
|
|
517
574
|
body: {
|
|
518
575
|
"@context": [
|
|
519
|
-
AuditableItemStreamContexts.
|
|
520
|
-
AuditableItemStreamContexts.
|
|
576
|
+
AuditableItemStreamContexts.Context,
|
|
577
|
+
AuditableItemStreamContexts.ContextCommon
|
|
521
578
|
],
|
|
522
579
|
type: AuditableItemStreamTypes.StreamEntry,
|
|
523
580
|
id: "tst:1234567890",
|
|
@@ -547,8 +604,8 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
547
604
|
},
|
|
548
605
|
body: {
|
|
549
606
|
"@context": [
|
|
550
|
-
AuditableItemStreamContexts.
|
|
551
|
-
AuditableItemStreamContexts.
|
|
607
|
+
AuditableItemStreamContexts.Context,
|
|
608
|
+
AuditableItemStreamContexts.ContextCommon
|
|
552
609
|
],
|
|
553
610
|
type: AuditableItemStreamTypes.StreamEntry,
|
|
554
611
|
id: "tst:1234567890",
|
|
@@ -573,10 +630,10 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
573
630
|
};
|
|
574
631
|
const getEntryObjectRoute = {
|
|
575
632
|
operationId: "auditableItemStreamGetEntryObject",
|
|
576
|
-
summary: "Get a stream entry",
|
|
633
|
+
summary: "Get a stream entry object",
|
|
577
634
|
tag: tagsAuditableItemStream[0].name,
|
|
578
635
|
method: "GET",
|
|
579
|
-
path: `${baseRouteName}/:id/:entryId/object`,
|
|
636
|
+
path: `${baseRouteName}/:id/entries/:entryId/object`,
|
|
580
637
|
handler: async (httpRequestContext, request) => auditableItemStreamGetEntryObject(httpRequestContext, componentName, request),
|
|
581
638
|
requestType: {
|
|
582
639
|
type: "IAuditableItemStreamGetEntryRequest",
|
|
@@ -643,16 +700,16 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
643
700
|
response: {
|
|
644
701
|
body: {
|
|
645
702
|
"@context": [
|
|
646
|
-
SchemaOrgContexts.
|
|
647
|
-
AuditableItemStreamContexts.
|
|
648
|
-
AuditableItemStreamContexts.
|
|
703
|
+
SchemaOrgContexts.Context,
|
|
704
|
+
AuditableItemStreamContexts.Context,
|
|
705
|
+
AuditableItemStreamContexts.ContextCommon
|
|
649
706
|
],
|
|
650
707
|
type: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],
|
|
651
708
|
[SchemaOrgTypes.ItemListElement]: [
|
|
652
709
|
{
|
|
653
710
|
"@context": [
|
|
654
|
-
AuditableItemStreamContexts.
|
|
655
|
-
AuditableItemStreamContexts.
|
|
711
|
+
AuditableItemStreamContexts.Context,
|
|
712
|
+
AuditableItemStreamContexts.ContextCommon
|
|
656
713
|
],
|
|
657
714
|
type: AuditableItemStreamTypes.StreamEntry,
|
|
658
715
|
id: "tst:1234567890",
|
|
@@ -666,8 +723,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
666
723
|
description: "A description of the event"
|
|
667
724
|
}
|
|
668
725
|
}
|
|
669
|
-
]
|
|
670
|
-
[SchemaOrgTypes.NextItem]: "1"
|
|
726
|
+
]
|
|
671
727
|
}
|
|
672
728
|
}
|
|
673
729
|
}
|
|
@@ -685,16 +741,16 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
685
741
|
},
|
|
686
742
|
body: {
|
|
687
743
|
"@context": [
|
|
688
|
-
SchemaOrgContexts.
|
|
689
|
-
AuditableItemStreamContexts.
|
|
690
|
-
AuditableItemStreamContexts.
|
|
744
|
+
SchemaOrgContexts.Context,
|
|
745
|
+
AuditableItemStreamContexts.Context,
|
|
746
|
+
AuditableItemStreamContexts.ContextCommon
|
|
691
747
|
],
|
|
692
748
|
type: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],
|
|
693
749
|
[SchemaOrgTypes.ItemListElement]: [
|
|
694
750
|
{
|
|
695
751
|
"@context": [
|
|
696
|
-
AuditableItemStreamContexts.
|
|
697
|
-
AuditableItemStreamContexts.
|
|
752
|
+
AuditableItemStreamContexts.Context,
|
|
753
|
+
AuditableItemStreamContexts.ContextCommon
|
|
698
754
|
],
|
|
699
755
|
type: AuditableItemStreamTypes.StreamEntry,
|
|
700
756
|
id: "tst:1234567890",
|
|
@@ -708,8 +764,107 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
708
764
|
description: "A description of the event"
|
|
709
765
|
}
|
|
710
766
|
}
|
|
767
|
+
]
|
|
768
|
+
}
|
|
769
|
+
}
|
|
770
|
+
}
|
|
771
|
+
]
|
|
772
|
+
},
|
|
773
|
+
{
|
|
774
|
+
type: "INotFoundResponse"
|
|
775
|
+
}
|
|
776
|
+
]
|
|
777
|
+
};
|
|
778
|
+
const listEntriesNoStreamRoute = {
|
|
779
|
+
operationId: "auditableItemStreamListEntriesNoStream",
|
|
780
|
+
summary: "Get the entry objects for all streams",
|
|
781
|
+
tag: tagsAuditableItemStream[0].name,
|
|
782
|
+
method: "GET",
|
|
783
|
+
path: `${baseRouteName}/entries`,
|
|
784
|
+
handler: async (httpRequestContext, request) => auditableItemStreamListEntriesNoStream(httpRequestContext, componentName, request),
|
|
785
|
+
requestType: {
|
|
786
|
+
type: "IAuditableItemStreamListEntriesNoStreamRequest",
|
|
787
|
+
examples: [
|
|
788
|
+
{
|
|
789
|
+
id: "auditableItemStreamListEntriesNoStreamRequestExample",
|
|
790
|
+
request: {}
|
|
791
|
+
}
|
|
792
|
+
]
|
|
793
|
+
},
|
|
794
|
+
responseType: [
|
|
795
|
+
{
|
|
796
|
+
type: "IAuditableItemStreamListEntriesResponse",
|
|
797
|
+
examples: [
|
|
798
|
+
{
|
|
799
|
+
id: "auditableItemStreamListEntriesNoStreamResponseExample",
|
|
800
|
+
response: {
|
|
801
|
+
body: {
|
|
802
|
+
"@context": [
|
|
803
|
+
SchemaOrgContexts.Context,
|
|
804
|
+
AuditableItemStreamContexts.Context,
|
|
805
|
+
AuditableItemStreamContexts.ContextCommon
|
|
711
806
|
],
|
|
712
|
-
[SchemaOrgTypes.
|
|
807
|
+
type: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],
|
|
808
|
+
[SchemaOrgTypes.ItemListElement]: [
|
|
809
|
+
{
|
|
810
|
+
"@context": [
|
|
811
|
+
AuditableItemStreamContexts.Context,
|
|
812
|
+
AuditableItemStreamContexts.ContextCommon
|
|
813
|
+
],
|
|
814
|
+
type: AuditableItemStreamTypes.StreamEntry,
|
|
815
|
+
id: "tst:1234567890",
|
|
816
|
+
dateCreated: "2024-08-22T11:55:16.271Z",
|
|
817
|
+
proofId: "0101010101010101010101010101010101010101010101010101010101010101",
|
|
818
|
+
index: 0,
|
|
819
|
+
entryObject: {
|
|
820
|
+
"@context": "https://schema.org",
|
|
821
|
+
"@type": "Event",
|
|
822
|
+
startDate: "2011-04-09T20:00:00Z",
|
|
823
|
+
description: "A description of the event"
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
]
|
|
827
|
+
}
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
]
|
|
831
|
+
},
|
|
832
|
+
{
|
|
833
|
+
type: "IAuditableItemStreamListEntriesResponse",
|
|
834
|
+
mimeType: MimeTypes.JsonLd,
|
|
835
|
+
examples: [
|
|
836
|
+
{
|
|
837
|
+
id: "auditableItemStreamJsonLdListEntriesNoStreamResponseExample",
|
|
838
|
+
response: {
|
|
839
|
+
headers: {
|
|
840
|
+
[HeaderTypes.ContentType]: MimeTypes.JsonLd
|
|
841
|
+
},
|
|
842
|
+
body: {
|
|
843
|
+
"@context": [
|
|
844
|
+
SchemaOrgContexts.Context,
|
|
845
|
+
AuditableItemStreamContexts.Context,
|
|
846
|
+
AuditableItemStreamContexts.ContextCommon
|
|
847
|
+
],
|
|
848
|
+
type: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],
|
|
849
|
+
[SchemaOrgTypes.ItemListElement]: [
|
|
850
|
+
{
|
|
851
|
+
"@context": [
|
|
852
|
+
AuditableItemStreamContexts.Context,
|
|
853
|
+
AuditableItemStreamContexts.ContextCommon
|
|
854
|
+
],
|
|
855
|
+
type: AuditableItemStreamTypes.StreamEntry,
|
|
856
|
+
id: "tst:1234567890",
|
|
857
|
+
dateCreated: "2024-08-22T11:55:16.271Z",
|
|
858
|
+
proofId: "0101010101010101010101010101010101010101010101010101010101010101",
|
|
859
|
+
index: 0,
|
|
860
|
+
entryObject: {
|
|
861
|
+
"@context": "https://schema.org",
|
|
862
|
+
"@type": "Event",
|
|
863
|
+
startDate: "2011-04-09T20:00:00Z",
|
|
864
|
+
description: "A description of the event"
|
|
865
|
+
}
|
|
866
|
+
}
|
|
867
|
+
]
|
|
713
868
|
}
|
|
714
869
|
}
|
|
715
870
|
}
|
|
@@ -749,9 +904,9 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
749
904
|
response: {
|
|
750
905
|
body: {
|
|
751
906
|
"@context": [
|
|
752
|
-
SchemaOrgContexts.
|
|
753
|
-
AuditableItemStreamContexts.
|
|
754
|
-
AuditableItemStreamContexts.
|
|
907
|
+
SchemaOrgContexts.Context,
|
|
908
|
+
AuditableItemStreamContexts.Context,
|
|
909
|
+
AuditableItemStreamContexts.ContextCommon
|
|
755
910
|
],
|
|
756
911
|
type: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryObjectList],
|
|
757
912
|
[SchemaOrgTypes.ItemListElement]: [
|
|
@@ -761,8 +916,55 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
761
916
|
startDate: "2011-04-09T20:00:00Z",
|
|
762
917
|
description: "A description of the event"
|
|
763
918
|
}
|
|
919
|
+
]
|
|
920
|
+
}
|
|
921
|
+
}
|
|
922
|
+
}
|
|
923
|
+
]
|
|
924
|
+
},
|
|
925
|
+
{
|
|
926
|
+
type: "INotFoundResponse"
|
|
927
|
+
}
|
|
928
|
+
]
|
|
929
|
+
};
|
|
930
|
+
const listEntryObjectsNoStreamRoute = {
|
|
931
|
+
operationId: "auditableItemStreamListEntryObjectsNoStream",
|
|
932
|
+
summary: "Get the entry objects for all streams",
|
|
933
|
+
tag: tagsAuditableItemStream[0].name,
|
|
934
|
+
method: "GET",
|
|
935
|
+
path: `${baseRouteName}/entries/objects`,
|
|
936
|
+
handler: async (httpRequestContext, request) => auditableItemStreamListEntryObjectsNoStream(httpRequestContext, componentName, request),
|
|
937
|
+
requestType: {
|
|
938
|
+
type: "IAuditableItemStreamListEntryObjectsNoStreamRequest",
|
|
939
|
+
examples: [
|
|
940
|
+
{
|
|
941
|
+
id: "auditableItemStreamListEntryObjectsNoStreamRequestExample",
|
|
942
|
+
request: {}
|
|
943
|
+
}
|
|
944
|
+
]
|
|
945
|
+
},
|
|
946
|
+
responseType: [
|
|
947
|
+
{
|
|
948
|
+
type: "IAuditableItemStreamListEntryObjectsResponse",
|
|
949
|
+
examples: [
|
|
950
|
+
{
|
|
951
|
+
id: "auditableItemStreamListEntryObjectsNoStreamResponseExample",
|
|
952
|
+
response: {
|
|
953
|
+
body: {
|
|
954
|
+
"@context": [
|
|
955
|
+
SchemaOrgContexts.Context,
|
|
956
|
+
AuditableItemStreamContexts.Context,
|
|
957
|
+
AuditableItemStreamContexts.ContextCommon
|
|
764
958
|
],
|
|
765
|
-
[SchemaOrgTypes.
|
|
959
|
+
type: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryObjectList],
|
|
960
|
+
[SchemaOrgTypes.ItemListElement]: [
|
|
961
|
+
{
|
|
962
|
+
"@context": "https://schema.org",
|
|
963
|
+
"@type": "Event",
|
|
964
|
+
startDate: "2011-04-09T20:00:00Z",
|
|
965
|
+
description: "A description of the event"
|
|
966
|
+
}
|
|
967
|
+
]
|
|
766
968
|
}
|
|
767
969
|
}
|
|
768
970
|
}
|
|
@@ -778,6 +980,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
778
980
|
getRoute,
|
|
779
981
|
updateRoute,
|
|
780
982
|
deleteRoute,
|
|
983
|
+
closeRoute,
|
|
781
984
|
listRoute,
|
|
782
985
|
createEntryRoute,
|
|
783
986
|
getEntryRoute,
|
|
@@ -785,7 +988,9 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
|
|
|
785
988
|
deleteEntryRoute,
|
|
786
989
|
updateEntryRoute,
|
|
787
990
|
listEntriesRoute,
|
|
788
|
-
|
|
991
|
+
listEntriesNoStreamRoute,
|
|
992
|
+
listEntryObjectsRoute,
|
|
993
|
+
listEntryObjectsNoStreamRoute
|
|
789
994
|
];
|
|
790
995
|
}
|
|
791
996
|
/**
|
|
@@ -799,12 +1004,7 @@ export async function auditableItemStreamCreate(httpRequestContext, componentNam
|
|
|
799
1004
|
Guards.object(ROUTES_SOURCE, "request", request);
|
|
800
1005
|
Guards.object(ROUTES_SOURCE, "request.body", request.body);
|
|
801
1006
|
const component = ComponentFactory.get(componentName);
|
|
802
|
-
const id = await component.create(
|
|
803
|
-
annotationObject: request.body.annotationObject,
|
|
804
|
-
entries: request.body.entries
|
|
805
|
-
}, {
|
|
806
|
-
immutableInterval: request.body?.immutableInterval
|
|
807
|
-
});
|
|
1007
|
+
const id = await component.create(request.body);
|
|
808
1008
|
return {
|
|
809
1009
|
statusCode: HttpStatusCode.created,
|
|
810
1010
|
headers: {
|
|
@@ -823,19 +1023,23 @@ export async function auditableItemStreamGet(httpRequestContext, componentName,
|
|
|
823
1023
|
Guards.object(ROUTES_SOURCE, "request", request);
|
|
824
1024
|
Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
|
|
825
1025
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
|
|
826
|
-
const
|
|
1026
|
+
const hostingComponent = ComponentFactory.get(httpRequestContext.hostingComponentType ?? "hosting");
|
|
827
1027
|
const component = ComponentFactory.get(componentName);
|
|
828
|
-
const result = await component.get(request.pathParams.id, {
|
|
1028
|
+
const result = await component.get(request.pathParams.id, request.query?.cursor, Coerce.integer(request.query?.limit), {
|
|
829
1029
|
includeEntries: Coerce.boolean(request.query?.includeEntries),
|
|
830
1030
|
includeDeleted: Coerce.boolean(request.query?.includeDeleted),
|
|
831
1031
|
verifyStream: Coerce.boolean(request.query?.verifyStream),
|
|
832
1032
|
verifyEntries: Coerce.boolean(request.query?.verifyEntries)
|
|
833
1033
|
});
|
|
1034
|
+
const headers = {
|
|
1035
|
+
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json
|
|
1036
|
+
};
|
|
1037
|
+
if (Is.stringValue(result.cursor)) {
|
|
1038
|
+
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(await hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url), { cursor: result.cursor }, "next");
|
|
1039
|
+
}
|
|
834
1040
|
return {
|
|
835
|
-
headers
|
|
836
|
-
|
|
837
|
-
},
|
|
838
|
-
body: result
|
|
1041
|
+
headers,
|
|
1042
|
+
body: result.stream
|
|
839
1043
|
};
|
|
840
1044
|
}
|
|
841
1045
|
/**
|
|
@@ -852,8 +1056,8 @@ export async function auditableItemStreamUpdate(httpRequestContext, componentNam
|
|
|
852
1056
|
Guards.object(ROUTES_SOURCE, "request.body", request.body);
|
|
853
1057
|
const component = ComponentFactory.get(componentName);
|
|
854
1058
|
await component.update({
|
|
855
|
-
|
|
856
|
-
|
|
1059
|
+
...request.body,
|
|
1060
|
+
id: request.pathParams.id
|
|
857
1061
|
});
|
|
858
1062
|
return {
|
|
859
1063
|
statusCode: HttpStatusCode.noContent
|
|
@@ -876,6 +1080,23 @@ export async function auditableItemStreamDelete(httpRequestContext, componentNam
|
|
|
876
1080
|
statusCode: HttpStatusCode.noContent
|
|
877
1081
|
};
|
|
878
1082
|
}
|
|
1083
|
+
/**
|
|
1084
|
+
* Close the stream.
|
|
1085
|
+
* @param httpRequestContext The request context for the API.
|
|
1086
|
+
* @param componentName The name of the component to use in the routes.
|
|
1087
|
+
* @param request The request.
|
|
1088
|
+
* @returns The response object with additional http response properties.
|
|
1089
|
+
*/
|
|
1090
|
+
export async function auditableItemStreamClose(httpRequestContext, componentName, request) {
|
|
1091
|
+
Guards.object(ROUTES_SOURCE, "request", request);
|
|
1092
|
+
Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
|
|
1093
|
+
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
|
|
1094
|
+
const component = ComponentFactory.get(componentName);
|
|
1095
|
+
await component.close(request.pathParams.id);
|
|
1096
|
+
return {
|
|
1097
|
+
statusCode: HttpStatusCode.noContent
|
|
1098
|
+
};
|
|
1099
|
+
}
|
|
879
1100
|
/**
|
|
880
1101
|
* Query the stream.
|
|
881
1102
|
* @param httpRequestContext The request context for the API.
|
|
@@ -886,14 +1107,18 @@ export async function auditableItemStreamDelete(httpRequestContext, componentNam
|
|
|
886
1107
|
export async function auditableItemStreamList(httpRequestContext, componentName, request) {
|
|
887
1108
|
Guards.object(ROUTES_SOURCE, "request", request);
|
|
888
1109
|
Guards.object(ROUTES_SOURCE, "request.query", request.query);
|
|
1110
|
+
const hostingComponent = ComponentFactory.get(httpRequestContext.hostingComponentType ?? "hosting");
|
|
889
1111
|
const component = ComponentFactory.get(componentName);
|
|
890
|
-
const mimeType = request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? "jsonld" : "json";
|
|
891
1112
|
const result = await component.query(HttpParameterHelper.objectFromString(request.query?.conditions), request.query?.orderBy, request.query?.orderByDirection, HttpParameterHelper.arrayFromString(request.query?.properties), request.query?.cursor, Coerce.integer(request.query?.limit));
|
|
1113
|
+
const headers = {
|
|
1114
|
+
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json
|
|
1115
|
+
};
|
|
1116
|
+
if (Is.stringValue(result.cursor)) {
|
|
1117
|
+
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(await hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url), { cursor: result.cursor }, "next");
|
|
1118
|
+
}
|
|
892
1119
|
return {
|
|
893
|
-
headers
|
|
894
|
-
|
|
895
|
-
},
|
|
896
|
-
body: result
|
|
1120
|
+
headers,
|
|
1121
|
+
body: result.entries
|
|
897
1122
|
};
|
|
898
1123
|
}
|
|
899
1124
|
/**
|
|
@@ -968,14 +1193,15 @@ export async function auditableItemStreamGetEntry(httpRequestContext, componentN
|
|
|
968
1193
|
Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
|
|
969
1194
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
|
|
970
1195
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.entryId", request.pathParams.entryId);
|
|
971
|
-
const mimeType = request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? "jsonld" : "json";
|
|
972
1196
|
const component = ComponentFactory.get(componentName);
|
|
973
1197
|
const result = await component.getEntry(request.pathParams.id, request.pathParams.entryId, {
|
|
974
1198
|
verifyEntry: Coerce.boolean(request.query?.verifyEntry)
|
|
975
1199
|
});
|
|
976
1200
|
return {
|
|
977
1201
|
headers: {
|
|
978
|
-
[HeaderTypes.ContentType]:
|
|
1202
|
+
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd
|
|
1203
|
+
? MimeTypes.JsonLd
|
|
1204
|
+
: MimeTypes.Json
|
|
979
1205
|
},
|
|
980
1206
|
body: result
|
|
981
1207
|
};
|
|
@@ -992,12 +1218,13 @@ export async function auditableItemStreamGetEntryObject(httpRequestContext, comp
|
|
|
992
1218
|
Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
|
|
993
1219
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
|
|
994
1220
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.entryId", request.pathParams.entryId);
|
|
995
|
-
const mimeType = request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? "jsonld" : "json";
|
|
996
1221
|
const component = ComponentFactory.get(componentName);
|
|
997
1222
|
const result = await component.getEntryObject(request.pathParams.id, request.pathParams.entryId);
|
|
998
1223
|
return {
|
|
999
1224
|
headers: {
|
|
1000
|
-
[HeaderTypes.ContentType]:
|
|
1225
|
+
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd
|
|
1226
|
+
? MimeTypes.JsonLd
|
|
1227
|
+
: MimeTypes.Json
|
|
1001
1228
|
},
|
|
1002
1229
|
body: result
|
|
1003
1230
|
};
|
|
@@ -1013,8 +1240,8 @@ export async function auditableItemStreamListEntries(httpRequestContext, compone
|
|
|
1013
1240
|
Guards.object(ROUTES_SOURCE, "request", request);
|
|
1014
1241
|
Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
|
|
1015
1242
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
|
|
1243
|
+
const hostingComponent = ComponentFactory.get(httpRequestContext.hostingComponentType ?? "hosting");
|
|
1016
1244
|
const component = ComponentFactory.get(componentName);
|
|
1017
|
-
const mimeType = request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? "jsonld" : "json";
|
|
1018
1245
|
const result = await component.getEntries(request.pathParams.id, {
|
|
1019
1246
|
conditions: HttpParameterHelper.objectFromString(request.query?.conditions),
|
|
1020
1247
|
includeDeleted: Coerce.boolean(request.query?.includeDeleted),
|
|
@@ -1023,11 +1250,45 @@ export async function auditableItemStreamListEntries(httpRequestContext, compone
|
|
|
1023
1250
|
limit: Coerce.integer(request.query?.limit),
|
|
1024
1251
|
cursor: request.query?.cursor
|
|
1025
1252
|
});
|
|
1253
|
+
const headers = {
|
|
1254
|
+
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json
|
|
1255
|
+
};
|
|
1256
|
+
if (Is.stringValue(result.cursor)) {
|
|
1257
|
+
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(await hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url), { cursor: result.cursor }, "next");
|
|
1258
|
+
}
|
|
1026
1259
|
return {
|
|
1027
|
-
headers
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1260
|
+
headers,
|
|
1261
|
+
body: result.entries
|
|
1262
|
+
};
|
|
1263
|
+
}
|
|
1264
|
+
/**
|
|
1265
|
+
* Query the stream.
|
|
1266
|
+
* @param httpRequestContext The request context for the API.
|
|
1267
|
+
* @param componentName The name of the component to use in the routes.
|
|
1268
|
+
* @param request The request.
|
|
1269
|
+
* @returns The response object with additional http response properties.
|
|
1270
|
+
*/
|
|
1271
|
+
export async function auditableItemStreamListEntriesNoStream(httpRequestContext, componentName, request) {
|
|
1272
|
+
Guards.object(ROUTES_SOURCE, "request", request);
|
|
1273
|
+
const hostingComponent = ComponentFactory.get(httpRequestContext.hostingComponentType ?? "hosting");
|
|
1274
|
+
const component = ComponentFactory.get(componentName);
|
|
1275
|
+
const result = await component.getEntries(undefined, {
|
|
1276
|
+
conditions: HttpParameterHelper.objectFromString(request.query?.conditions),
|
|
1277
|
+
includeDeleted: Coerce.boolean(request.query?.includeDeleted),
|
|
1278
|
+
verifyEntries: Coerce.boolean(request.query?.verifyEntries),
|
|
1279
|
+
order: request.query?.order,
|
|
1280
|
+
limit: Coerce.integer(request.query?.limit),
|
|
1281
|
+
cursor: request.query?.cursor
|
|
1282
|
+
});
|
|
1283
|
+
const headers = {
|
|
1284
|
+
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json
|
|
1285
|
+
};
|
|
1286
|
+
if (Is.stringValue(result.cursor)) {
|
|
1287
|
+
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(await hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url), { cursor: result.cursor }, "next");
|
|
1288
|
+
}
|
|
1289
|
+
return {
|
|
1290
|
+
headers,
|
|
1291
|
+
body: result.entries
|
|
1031
1292
|
};
|
|
1032
1293
|
}
|
|
1033
1294
|
/**
|
|
@@ -1041,8 +1302,8 @@ export async function auditableItemStreamListEntryObjects(httpRequestContext, co
|
|
|
1041
1302
|
Guards.object(ROUTES_SOURCE, "request", request);
|
|
1042
1303
|
Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
|
|
1043
1304
|
Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
|
|
1305
|
+
const hostingComponent = ComponentFactory.get(httpRequestContext.hostingComponentType ?? "hosting");
|
|
1044
1306
|
const component = ComponentFactory.get(componentName);
|
|
1045
|
-
const mimeType = request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? "jsonld" : "json";
|
|
1046
1307
|
const result = await component.getEntryObjects(request.pathParams.id, {
|
|
1047
1308
|
conditions: HttpParameterHelper.objectFromString(request.query?.conditions),
|
|
1048
1309
|
includeDeleted: Coerce.boolean(request.query?.includeDeleted),
|
|
@@ -1050,11 +1311,44 @@ export async function auditableItemStreamListEntryObjects(httpRequestContext, co
|
|
|
1050
1311
|
limit: Coerce.integer(request.query?.limit),
|
|
1051
1312
|
cursor: request.query?.cursor
|
|
1052
1313
|
});
|
|
1314
|
+
const headers = {
|
|
1315
|
+
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json
|
|
1316
|
+
};
|
|
1317
|
+
if (Is.stringValue(result.cursor)) {
|
|
1318
|
+
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(await hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url), { cursor: result.cursor }, "next");
|
|
1319
|
+
}
|
|
1053
1320
|
return {
|
|
1054
|
-
headers
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1321
|
+
headers,
|
|
1322
|
+
body: result.entries
|
|
1323
|
+
};
|
|
1324
|
+
}
|
|
1325
|
+
/**
|
|
1326
|
+
* Query the stream objects.
|
|
1327
|
+
* @param httpRequestContext The request context for the API.
|
|
1328
|
+
* @param componentName The name of the component to use in the routes.
|
|
1329
|
+
* @param request The request.
|
|
1330
|
+
* @returns The response object with additional http response properties.
|
|
1331
|
+
*/
|
|
1332
|
+
export async function auditableItemStreamListEntryObjectsNoStream(httpRequestContext, componentName, request) {
|
|
1333
|
+
Guards.object(ROUTES_SOURCE, "request", request);
|
|
1334
|
+
const hostingComponent = ComponentFactory.get(httpRequestContext.hostingComponentType ?? "hosting");
|
|
1335
|
+
const component = ComponentFactory.get(componentName);
|
|
1336
|
+
const result = await component.getEntryObjects(undefined, {
|
|
1337
|
+
conditions: HttpParameterHelper.objectFromString(request.query?.conditions),
|
|
1338
|
+
includeDeleted: Coerce.boolean(request.query?.includeDeleted),
|
|
1339
|
+
order: request.query?.order,
|
|
1340
|
+
limit: Coerce.integer(request.query?.limit),
|
|
1341
|
+
cursor: request.query?.cursor
|
|
1342
|
+
});
|
|
1343
|
+
const headers = {
|
|
1344
|
+
[HeaderTypes.ContentType]: request.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json
|
|
1345
|
+
};
|
|
1346
|
+
if (Is.stringValue(result.cursor)) {
|
|
1347
|
+
headers[HeaderTypes.Link] = HeaderHelper.createLinkHeader(await hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url), { cursor: result.cursor }, "next");
|
|
1348
|
+
}
|
|
1349
|
+
return {
|
|
1350
|
+
headers,
|
|
1351
|
+
body: result.entries
|
|
1058
1352
|
};
|
|
1059
1353
|
}
|
|
1060
1354
|
//# sourceMappingURL=auditableItemStreamRoutes.js.map
|