@twin.org/auditable-item-stream-service 0.9.1-next.2 → 0.9.1-next.3

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.
@@ -1,6 +1,6 @@
1
1
  // Copyright 2024 IOTA Stiftung.
2
2
  // SPDX-License-Identifier: Apache-2.0.
3
- import { HttpContextIdKeys, HttpHeaderHelper, HttpParameterHelper } from "@twin.org/api-models";
3
+ import { HttpContextIdKeys, HttpHeaderHelper, HttpParameterHelper, HttpUrlHelper } from "@twin.org/api-models";
4
4
  import { AuditableItemStreamContexts, AuditableItemStreamTypes } from "@twin.org/auditable-item-stream-models";
5
5
  import { ContextIdStore } from "@twin.org/context";
6
6
  import { Coerce, ComponentFactory, Guards } from "@twin.org/core";
@@ -32,7 +32,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
32
32
  tag: tagsAuditableItemStream[0].name,
33
33
  method: "POST",
34
34
  path: `${baseRouteName}/`,
35
- handler: async (httpRequestContext, request) => auditableItemStreamCreate(httpRequestContext, componentName, request),
35
+ handler: async (httpRequestContext, request) => auditableItemStreamCreate(httpRequestContext, componentName, request, baseRouteName),
36
36
  requestType: {
37
37
  type: "IAuditableItemStreamCreateRequest",
38
38
  examples: [
@@ -437,7 +437,7 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
437
437
  tag: tagsAuditableItemStream[0].name,
438
438
  method: "POST",
439
439
  path: `${baseRouteName}/:id/entries`,
440
- handler: async (httpRequestContext, request) => auditableItemStreamCreateEntry(httpRequestContext, componentName, request),
440
+ handler: async (httpRequestContext, request) => auditableItemStreamCreateEntry(httpRequestContext, componentName, request, baseRouteName),
441
441
  requestType: {
442
442
  type: "IAuditableItemStreamCreateEntryRequest",
443
443
  examples: [
@@ -1029,15 +1029,18 @@ export function generateRestRoutesAuditableItemStream(baseRouteName, componentNa
1029
1029
  * @param httpRequestContext The request context for the API.
1030
1030
  * @param componentName The name of the component to use in the routes.
1031
1031
  * @param request The request.
1032
+ * @param baseRouteName The base route name for the API.
1032
1033
  * @returns The response object with additional http response properties.
1033
1034
  */
1034
- export async function auditableItemStreamCreate(httpRequestContext, componentName, request) {
1035
+ export async function auditableItemStreamCreate(httpRequestContext, componentName, request, baseRouteName) {
1035
1036
  Guards.object(ROUTES_SOURCE, "request", request);
1036
1037
  Guards.object(ROUTES_SOURCE, "request.body", request.body);
1037
1038
  const component = ComponentFactory.get(componentName);
1038
1039
  const id = await component.create(request.body);
1040
+ const contextIds = await ContextIdStore.getContextIds();
1041
+ const publicOrigin = contextIds?.[HttpContextIdKeys.PublicOrigin];
1039
1042
  const headers = {};
1040
- HttpHeaderHelper.buildId(headers, id);
1043
+ HttpHeaderHelper.buildId(headers, id, HttpUrlHelper.combineOriginPath(publicOrigin, `${baseRouteName}/:id`));
1041
1044
  return {
1042
1045
  statusCode: HttpStatusCode.created,
1043
1046
  headers
@@ -1151,9 +1154,10 @@ export async function auditableItemStreamList(httpRequestContext, componentName,
1151
1154
  * @param httpRequestContext The request context for the API.
1152
1155
  * @param componentName The name of the component to use in the routes.
1153
1156
  * @param request The request.
1157
+ * @param baseRouteName The base route name for the API.
1154
1158
  * @returns The response object with additional http response properties.
1155
1159
  */
1156
- export async function auditableItemStreamCreateEntry(httpRequestContext, componentName, request) {
1160
+ export async function auditableItemStreamCreateEntry(httpRequestContext, componentName, request, baseRouteName) {
1157
1161
  Guards.object(ROUTES_SOURCE, "request", request);
1158
1162
  Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
1159
1163
  Guards.object(ROUTES_SOURCE, "request.body", request.body);
@@ -1161,8 +1165,10 @@ export async function auditableItemStreamCreateEntry(httpRequestContext, compone
1161
1165
  Guards.objectValue(ROUTES_SOURCE, "request.body.entryObject", request.body.entryObject);
1162
1166
  const component = ComponentFactory.get(componentName);
1163
1167
  const id = await component.createEntry(request.pathParams.id, request.body.entryObject);
1168
+ const contextIds = await ContextIdStore.getContextIds();
1169
+ const publicOrigin = contextIds?.[HttpContextIdKeys.PublicOrigin];
1164
1170
  const headers = {};
1165
- HttpHeaderHelper.buildId(headers, id);
1171
+ HttpHeaderHelper.buildId(headers, id, HttpUrlHelper.combineOriginPath(publicOrigin, `${baseRouteName}/:streamId/entries/:id`));
1166
1172
  return {
1167
1173
  statusCode: HttpStatusCode.created,
1168
1174
  headers
@@ -1 +1 @@
1
- {"version":3,"file":"auditableItemStreamRoutes.js","sourceRoot":"","sources":["../../src/auditableItemStreamRoutes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport {\n\tHttpContextIdKeys,\n\tHttpHeaderHelper,\n\tHttpParameterHelper,\n\ttype ICreatedResponse,\n\ttype IHttpRequestContext,\n\ttype INoContentResponse,\n\ttype INotFoundResponse,\n\ttype IRestRoute,\n\ttype ITag\n} from \"@twin.org/api-models\";\nimport {\n\tAuditableItemStreamContexts,\n\tAuditableItemStreamTypes,\n\ttype IAuditableItemStreamCloseRequest,\n\ttype IAuditableItemStreamComponent,\n\ttype IAuditableItemStreamCreateEntryRequest,\n\ttype IAuditableItemStreamCreateRequest,\n\ttype IAuditableItemStreamDeleteEntryRequest,\n\ttype IAuditableItemStreamDeleteRequest,\n\ttype IAuditableItemStreamGetEntryObjectRequest,\n\ttype IAuditableItemStreamGetEntryObjectResponse,\n\ttype IAuditableItemStreamGetEntryRequest,\n\ttype IAuditableItemStreamGetEntryResponse,\n\ttype IAuditableItemStreamGetRequest,\n\ttype IAuditableItemStreamGetResponse,\n\ttype IAuditableItemStreamListEntriesNoStreamRequest,\n\ttype IAuditableItemStreamListEntriesRequest,\n\ttype IAuditableItemStreamListEntriesResponse,\n\ttype IAuditableItemStreamListEntryObjectsNoStreamRequest,\n\ttype IAuditableItemStreamListEntryObjectsRequest,\n\ttype IAuditableItemStreamListEntryObjectsResponse,\n\ttype IAuditableItemStreamListRequest,\n\ttype IAuditableItemStreamListResponse,\n\ttype IAuditableItemStreamRemoveProofRequest,\n\ttype IAuditableItemStreamUpdateEntryRequest,\n\ttype IAuditableItemStreamUpdateRequest\n} from \"@twin.org/auditable-item-stream-models\";\nimport { ContextIdStore } from \"@twin.org/context\";\nimport { Coerce, ComponentFactory, Guards } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { SchemaOrgContexts, SchemaOrgTypes } from \"@twin.org/standards-schema-org\";\nimport { HeaderTypes, HttpStatusCode, type IHttpHeaders, MimeTypes } from \"@twin.org/web\";\n\n/**\n * The source identifier used when communicating errors from these routes.\n */\nconst ROUTES_SOURCE = \"auditableItemStreamRoutes\";\n\n/**\n * The tag to associate with the routes.\n */\nexport const tagsAuditableItemStream: ITag[] = [\n\t{\n\t\tname: \"Auditable Item Stream\",\n\t\tdescription: \"Endpoints which are modelled to access an auditable item stream contract.\"\n\t}\n];\n\n/**\n * The REST routes for auditable item stream.\n * @param baseRouteName Prefix to prepend to the paths.\n * @param componentName The name of the component to use in the routes stored in the ComponentFactory.\n * @returns The generated routes.\n */\nexport function generateRestRoutesAuditableItemStream(\n\tbaseRouteName: string,\n\tcomponentName: string\n): IRestRoute[] {\n\tconst createRoute: IRestRoute<IAuditableItemStreamCreateRequest, ICreatedResponse> = {\n\t\toperationId: \"auditableItemStreamCreate\",\n\t\tsummary: \"Create a new stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamCreate(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamCreateRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamCreateRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tentries: {\n\t\t\t\t\t\t\t\ttype: SchemaOrgTypes.ItemList,\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<ICreatedResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamCreateResponseExample\",\n\t\t\t\t\t\tdescription: \"The response when a new stream is created.\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tstatusCode: HttpStatusCode.created,\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.Location]: \"ais%3A1234567890\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t};\n\n\tconst getRoute: IRestRoute<IAuditableItemStreamGetRequest, IAuditableItemStreamGetResponse> = {\n\t\toperationId: \"auditableItemStreamGet\",\n\t\tsummary: \"Get a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamGet(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamGetRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamGetRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t[HeaderTypes.Accept]: MimeTypes.Json\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamGetResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tdateModified: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\torganizationIdentity: \"did:iota:1234567890\",\n\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\timmutableInterval: 10,\n\t\t\t\t\t\t\t\tnumberOfItems: 1,\n\t\t\t\t\t\t\t\tentries: {\n\t\t\t\t\t\t\t\t\ttype: SchemaOrgTypes.ItemList,\n\t\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdGetResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tdateModified: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\torganizationIdentity: \"did:iota:1234567890\",\n\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\timmutableInterval: 10,\n\t\t\t\t\t\t\t\tnumberOfItems: 1,\n\t\t\t\t\t\t\t\tentries: {\n\t\t\t\t\t\t\t\t\ttype: SchemaOrgTypes.ItemList,\n\t\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst updateRoute: IRestRoute<IAuditableItemStreamUpdateRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamUpdate\",\n\t\tsummary: \"Update a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamUpdate(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamUpdateRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamUpdateRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst deleteRoute: IRestRoute<IAuditableItemStreamDeleteRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamDelete\",\n\t\tsummary: \"Delete a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"DELETE\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamDelete(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamDeleteRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamDeleteRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst closeRoute: IRestRoute<IAuditableItemStreamCloseRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamClose\",\n\t\tsummary: \"Close a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/:id/close`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamClose(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamCloseRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamCloseRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listRoute: IRestRoute<IAuditableItemStreamListRequest, IAuditableItemStreamListResponse> = {\n\t\toperationId: \"auditableItemStreamList\",\n\t\tsummary: \"Query streams\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamList(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"IAuditableItemStreamListAllRequest\",\n\t\t\t\t\trequest: {}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tdateModified: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\torganizationIdentity: \"did:iota:1234567890\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\timmutableInterval: 10,\n\t\t\t\t\t\t\t\t\t\tnumberOfItems: 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdListResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tdateModified: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\torganizationIdentity: \"did:iota:1234567890\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\timmutableInterval: 10,\n\t\t\t\t\t\t\t\t\t\tnumberOfItems: 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst createEntryRoute: IRestRoute<IAuditableItemStreamCreateEntryRequest, ICreatedResponse> = {\n\t\toperationId: \"auditableItemStreamCreateEntry\",\n\t\tsummary: \"Create a new stream entry\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/:id/entries`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamCreateEntry(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamCreateEntryRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamCreateEntryRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<ICreatedResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamCreateEntryResponseExample\",\n\t\t\t\t\t\tdescription: \"The response when a new stream entry is created.\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tstatusCode: HttpStatusCode.created,\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.Location]: \"ais%3A1234567890%3A01010101010\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t};\n\n\tconst deleteEntryRoute: IRestRoute<IAuditableItemStreamDeleteEntryRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamDeleteEntry\",\n\t\tsummary: \"Delete an entry from the stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"DELETE\",\n\t\tpath: `${baseRouteName}/:id/entries/:entryId`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamDeleteEntry(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamDeleteRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamDeleteEntryRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\tentryId: \"ais:1234567890:01010101010\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst updateEntryRoute: IRestRoute<IAuditableItemStreamUpdateEntryRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamUpdateEntry\",\n\t\tsummary: \"Update a stream entry\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/:id/entries/:entryId`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamUpdateEntry(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamUpdateEntryRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamUpdateRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\tentryId: \"ais:1234567890:01010101010\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst getEntryRoute: IRestRoute<\n\t\tIAuditableItemStreamGetEntryRequest,\n\t\tIAuditableItemStreamGetEntryResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamGetEntry\",\n\t\tsummary: \"Get a stream entry\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/entries/:entryId`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamGetEntry(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamGetEntryRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamGetEntryRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\tentryId: \"ais:1234567890:01010101010\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetEntryResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamGetEntryResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetEntryResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdGetEntryResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst getEntryObjectRoute: IRestRoute<\n\t\tIAuditableItemStreamGetEntryObjectRequest,\n\t\tIAuditableItemStreamGetEntryObjectResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamGetEntryObject\",\n\t\tsummary: \"Get a stream entry object\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/entries/:entryId/object`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamGetEntryObject(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamGetEntryRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamGetEntryObjectRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\tentryId: \"ais:1234567890:01010101010\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetEntryObjectResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamGetEntryObjectResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listEntriesRoute: IRestRoute<\n\t\tIAuditableItemStreamListEntriesRequest,\n\t\tIAuditableItemStreamListEntriesResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamListEntries\",\n\t\tsummary: \"Get the entry objects in a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/entries`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamListEntries(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListEntriesRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamListEntriesRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntriesResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListEntriesResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntriesResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdListEntriesResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listEntriesNoStreamRoute: IRestRoute<\n\t\tIAuditableItemStreamListEntriesNoStreamRequest,\n\t\tIAuditableItemStreamListEntriesResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamListEntriesNoStream\",\n\t\tsummary: \"Get the entry objects for all streams\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/entries`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamListEntriesNoStream(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListEntriesNoStreamRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamListEntriesNoStreamRequestExample\",\n\t\t\t\t\trequest: {}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntriesResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListEntriesNoStreamResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntriesResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdListEntriesNoStreamResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listEntryObjectsRoute: IRestRoute<\n\t\tIAuditableItemStreamListEntryObjectsRequest,\n\t\tIAuditableItemStreamListEntryObjectsResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamListEntryObjects\",\n\t\tsummary: \"Get the entry objects in a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/entries/objects`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamListEntryObjects(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListEntryObjectsRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamListEntryObjectsRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntryObjectsResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListEntryObjectsResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryObjectList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listEntryObjectsNoStreamRoute: IRestRoute<\n\t\tIAuditableItemStreamListEntryObjectsNoStreamRequest,\n\t\tIAuditableItemStreamListEntryObjectsResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamListEntryObjectsNoStream\",\n\t\tsummary: \"Get the entry objects for all streams\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/entries/objects`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamListEntryObjectsNoStream(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListEntryObjectsNoStreamRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamListEntryObjectsNoStreamRequestExample\",\n\t\t\t\t\trequest: {}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntryObjectsResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListEntryObjectsNoStreamResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryObjectList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst removeProofRoute: IRestRoute<IAuditableItemStreamRemoveProofRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamRemoveProof\",\n\t\tsummary: \"Remove the proof from a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"DELETE\",\n\t\tpath: `${baseRouteName}/:id/proof`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamRemoveProof(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamRemoveProofRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamRemoveProofRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\treturn [\n\t\tcreateRoute,\n\t\tgetRoute,\n\t\tupdateRoute,\n\t\tdeleteRoute,\n\t\tcloseRoute,\n\t\tlistRoute,\n\t\tcreateEntryRoute,\n\t\tgetEntryRoute,\n\t\tgetEntryObjectRoute,\n\t\tdeleteEntryRoute,\n\t\tupdateEntryRoute,\n\t\tlistEntriesRoute,\n\t\tlistEntriesNoStreamRoute,\n\t\tlistEntryObjectsRoute,\n\t\tlistEntryObjectsNoStreamRoute,\n\t\tremoveProofRoute\n\t];\n}\n\n/**\n * Create the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamCreate(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamCreateRequest\n): Promise<ICreatedResponse> {\n\tGuards.object<IAuditableItemStreamCreateRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamCreateRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst id = await component.create(request.body);\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildId(headers, id);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.created,\n\t\theaders\n\t};\n}\n\n/**\n * Get the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamGet(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamGetRequest\n): Promise<IAuditableItemStreamGetResponse> {\n\tGuards.object<IAuditableItemStreamGetRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamGetRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst result = await component.get(\n\t\trequest.pathParams.id,\n\t\trequest.query?.cursor,\n\t\tCoerce.integer(request.query?.limit),\n\t\t{\n\t\t\tincludeEntries: Coerce.boolean(request.query?.includeEntries),\n\t\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\t\tverifyStream: Coerce.boolean(request.query?.verifyStream),\n\t\t\tverifyEntries: Coerce.boolean(request.query?.verifyEntries)\n\t\t}\n\t);\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.stream\n\t};\n}\n\n/**\n * Update the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamUpdate(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamUpdateRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamUpdateRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamUpdateRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.object<IAuditableItemStreamUpdateRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.update({\n\t\t...request.body,\n\t\tid: request.pathParams.id\n\t});\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Delete the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamDelete(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamDeleteRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamDeleteRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamDeleteRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.remove(request.pathParams.id);\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Close the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamClose(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamCloseRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamCloseRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamCloseRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.close(request.pathParams.id);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * List all streams.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamList(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListRequest\n): Promise<IAuditableItemStreamListResponse> {\n\tGuards.object<IAuditableItemStreamListRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamListRequest[\"query\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.query),\n\t\trequest.query\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.query(\n\t\tHttpParameterHelper.objectFromString(request.query?.conditions),\n\t\trequest.query?.orderBy,\n\t\trequest.query?.orderByDirection,\n\t\tHttpParameterHelper.arrayFromString(request.query?.properties),\n\t\trequest.query?.cursor,\n\t\tCoerce.integer(request.query?.limit)\n\t);\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * Create the stream entry.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamCreateEntry(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamCreateEntryRequest\n): Promise<ICreatedResponse> {\n\tGuards.object<IAuditableItemStreamCreateEntryRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamCreateEntryRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.object<IAuditableItemStreamCreateEntryRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.objectValue(ROUTES_SOURCE, nameof(request.body.entryObject), request.body.entryObject);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst id = await component.createEntry(request.pathParams.id, request.body.entryObject);\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildId(headers, id);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.created,\n\t\theaders\n\t};\n}\n\n/**\n * Delete an entry from the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamDeleteEntry(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamDeleteEntryRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamDeleteEntryRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamDeleteEntryRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.entryId), request.pathParams.entryId);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.removeEntry(request.pathParams.id, request.pathParams.entryId);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Update the stream entry.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamUpdateEntry(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamUpdateEntryRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamUpdateEntryRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamUpdateEntryRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.objectValue<IAuditableItemStreamUpdateEntryRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.entryId), request.pathParams.entryId);\n\tGuards.objectValue(ROUTES_SOURCE, nameof(request.body.entryObject), request.body.entryObject);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.updateEntry(\n\t\trequest.pathParams.id,\n\t\trequest.pathParams.entryId,\n\t\trequest.body.entryObject\n\t);\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Get a stream entry.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamGetEntry(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamGetEntryRequest\n): Promise<IAuditableItemStreamGetEntryResponse> {\n\tGuards.object<IAuditableItemStreamGetEntryRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamGetEntryRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.entryId), request.pathParams.entryId);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst result = await component.getEntry(request.pathParams.id, request.pathParams.entryId, {\n\t\tverifyEntry: Coerce.boolean(request.query?.verifyEntry)\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * Get a stream entry object.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamGetEntryObject(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamGetEntryObjectRequest\n): Promise<IAuditableItemStreamGetEntryObjectResponse> {\n\tGuards.object<IAuditableItemStreamGetEntryObjectRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamGetEntryObjectRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.entryId), request.pathParams.entryId);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst result = await component.getEntryObject(request.pathParams.id, request.pathParams.entryId);\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * List the entries for a stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamListEntries(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListEntriesRequest\n): Promise<IAuditableItemStreamListEntriesResponse> {\n\tGuards.object<IAuditableItemStreamListEntriesRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamListEntriesRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.getEntries(request.pathParams.id, {\n\t\tconditions: HttpParameterHelper.objectFromString(request.query?.conditions),\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\tverifyEntries: Coerce.boolean(request.query?.verifyEntries),\n\t\torder: request.query?.order,\n\t\tlimit: Coerce.integer(request.query?.limit),\n\t\tcursor: request.query?.cursor\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * List entries across all streams.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamListEntriesNoStream(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListEntriesNoStreamRequest\n): Promise<IAuditableItemStreamListEntriesResponse> {\n\tGuards.object<IAuditableItemStreamListEntriesNoStreamRequest>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request),\n\t\trequest\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.getEntries(undefined, {\n\t\tconditions: HttpParameterHelper.objectFromString(request.query?.conditions),\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\tverifyEntries: Coerce.boolean(request.query?.verifyEntries),\n\t\torder: request.query?.order,\n\t\tlimit: Coerce.integer(request.query?.limit),\n\t\tcursor: request.query?.cursor\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * List the entry objects for a stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamListEntryObjects(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListEntryObjectsRequest\n): Promise<IAuditableItemStreamListEntryObjectsResponse> {\n\tGuards.object<IAuditableItemStreamListEntryObjectsRequest>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request),\n\t\trequest\n\t);\n\tGuards.object<IAuditableItemStreamListEntryObjectsRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.getEntryObjects(request.pathParams.id, {\n\t\tconditions: HttpParameterHelper.objectFromString(request.query?.conditions),\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\torder: request.query?.order,\n\t\tlimit: Coerce.integer(request.query?.limit),\n\t\tcursor: request.query?.cursor\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * List entry objects across all streams.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamListEntryObjectsNoStream(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListEntryObjectsNoStreamRequest\n): Promise<IAuditableItemStreamListEntryObjectsResponse> {\n\tGuards.object<IAuditableItemStreamListEntryObjectsNoStreamRequest>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request),\n\t\trequest\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.getEntryObjects(undefined, {\n\t\tconditions: HttpParameterHelper.objectFromString(request.query?.conditions),\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\torder: request.query?.order,\n\t\tlimit: Coerce.integer(request.query?.limit),\n\t\tcursor: request.query?.cursor\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * Remove the proof from a stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamRemoveProof(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamRemoveProofRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamRemoveProofRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamRemoveProofRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.removeProof(request.pathParams.id);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n"]}
1
+ {"version":3,"file":"auditableItemStreamRoutes.js","sourceRoot":"","sources":["../../src/auditableItemStreamRoutes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport {\n\tHttpContextIdKeys,\n\tHttpHeaderHelper,\n\tHttpParameterHelper,\n\tHttpUrlHelper,\n\ttype ICreatedResponse,\n\ttype IHttpRequestContext,\n\ttype INoContentResponse,\n\ttype INotFoundResponse,\n\ttype IRestRoute,\n\ttype ITag\n} from \"@twin.org/api-models\";\nimport {\n\tAuditableItemStreamContexts,\n\tAuditableItemStreamTypes,\n\ttype IAuditableItemStreamCloseRequest,\n\ttype IAuditableItemStreamComponent,\n\ttype IAuditableItemStreamCreateEntryRequest,\n\ttype IAuditableItemStreamCreateRequest,\n\ttype IAuditableItemStreamDeleteEntryRequest,\n\ttype IAuditableItemStreamDeleteRequest,\n\ttype IAuditableItemStreamGetEntryObjectRequest,\n\ttype IAuditableItemStreamGetEntryObjectResponse,\n\ttype IAuditableItemStreamGetEntryRequest,\n\ttype IAuditableItemStreamGetEntryResponse,\n\ttype IAuditableItemStreamGetRequest,\n\ttype IAuditableItemStreamGetResponse,\n\ttype IAuditableItemStreamListEntriesNoStreamRequest,\n\ttype IAuditableItemStreamListEntriesRequest,\n\ttype IAuditableItemStreamListEntriesResponse,\n\ttype IAuditableItemStreamListEntryObjectsNoStreamRequest,\n\ttype IAuditableItemStreamListEntryObjectsRequest,\n\ttype IAuditableItemStreamListEntryObjectsResponse,\n\ttype IAuditableItemStreamListRequest,\n\ttype IAuditableItemStreamListResponse,\n\ttype IAuditableItemStreamRemoveProofRequest,\n\ttype IAuditableItemStreamUpdateEntryRequest,\n\ttype IAuditableItemStreamUpdateRequest\n} from \"@twin.org/auditable-item-stream-models\";\nimport { ContextIdStore } from \"@twin.org/context\";\nimport { Coerce, ComponentFactory, Guards } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { SchemaOrgContexts, SchemaOrgTypes } from \"@twin.org/standards-schema-org\";\nimport { HeaderTypes, HttpStatusCode, type IHttpHeaders, MimeTypes } from \"@twin.org/web\";\n\n/**\n * The source identifier used when communicating errors from these routes.\n */\nconst ROUTES_SOURCE = \"auditableItemStreamRoutes\";\n\n/**\n * The tag to associate with the routes.\n */\nexport const tagsAuditableItemStream: ITag[] = [\n\t{\n\t\tname: \"Auditable Item Stream\",\n\t\tdescription: \"Endpoints which are modelled to access an auditable item stream contract.\"\n\t}\n];\n\n/**\n * The REST routes for auditable item stream.\n * @param baseRouteName Prefix to prepend to the paths.\n * @param componentName The name of the component to use in the routes stored in the ComponentFactory.\n * @returns The generated routes.\n */\nexport function generateRestRoutesAuditableItemStream(\n\tbaseRouteName: string,\n\tcomponentName: string\n): IRestRoute[] {\n\tconst createRoute: IRestRoute<IAuditableItemStreamCreateRequest, ICreatedResponse> = {\n\t\toperationId: \"auditableItemStreamCreate\",\n\t\tsummary: \"Create a new stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamCreate(httpRequestContext, componentName, request, baseRouteName),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamCreateRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamCreateRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tentries: {\n\t\t\t\t\t\t\t\ttype: SchemaOrgTypes.ItemList,\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<ICreatedResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamCreateResponseExample\",\n\t\t\t\t\t\tdescription: \"The response when a new stream is created.\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tstatusCode: HttpStatusCode.created,\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.Location]: \"ais%3A1234567890\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t};\n\n\tconst getRoute: IRestRoute<IAuditableItemStreamGetRequest, IAuditableItemStreamGetResponse> = {\n\t\toperationId: \"auditableItemStreamGet\",\n\t\tsummary: \"Get a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamGet(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamGetRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamGetRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t[HeaderTypes.Accept]: MimeTypes.Json\n\t\t\t\t\t\t},\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamGetResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tdateModified: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\torganizationIdentity: \"did:iota:1234567890\",\n\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\timmutableInterval: 10,\n\t\t\t\t\t\t\t\tnumberOfItems: 1,\n\t\t\t\t\t\t\t\tentries: {\n\t\t\t\t\t\t\t\t\ttype: SchemaOrgTypes.ItemList,\n\t\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdGetResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tdateModified: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\torganizationIdentity: \"did:iota:1234567890\",\n\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\timmutableInterval: 10,\n\t\t\t\t\t\t\t\tnumberOfItems: 1,\n\t\t\t\t\t\t\t\tentries: {\n\t\t\t\t\t\t\t\t\ttype: SchemaOrgTypes.ItemList,\n\t\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst updateRoute: IRestRoute<IAuditableItemStreamUpdateRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamUpdate\",\n\t\tsummary: \"Update a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamUpdate(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamUpdateRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamUpdateRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst deleteRoute: IRestRoute<IAuditableItemStreamDeleteRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamDelete\",\n\t\tsummary: \"Delete a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"DELETE\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamDelete(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamDeleteRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamDeleteRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst closeRoute: IRestRoute<IAuditableItemStreamCloseRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamClose\",\n\t\tsummary: \"Close a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/:id/close`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamClose(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamCloseRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamCloseRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listRoute: IRestRoute<IAuditableItemStreamListRequest, IAuditableItemStreamListResponse> = {\n\t\toperationId: \"auditableItemStreamList\",\n\t\tsummary: \"Query streams\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamList(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"IAuditableItemStreamListAllRequest\",\n\t\t\t\t\trequest: {}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tdateModified: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\torganizationIdentity: \"did:iota:1234567890\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\timmutableInterval: 10,\n\t\t\t\t\t\t\t\t\t\tnumberOfItems: 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdListResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.Stream,\n\t\t\t\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tdateModified: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tannotationObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\torganizationIdentity: \"did:iota:1234567890\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\timmutableInterval: 10,\n\t\t\t\t\t\t\t\t\t\tnumberOfItems: 0\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst createEntryRoute: IRestRoute<IAuditableItemStreamCreateEntryRequest, ICreatedResponse> = {\n\t\toperationId: \"auditableItemStreamCreateEntry\",\n\t\tsummary: \"Create a new stream entry\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/:id/entries`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamCreateEntry(httpRequestContext, componentName, request, baseRouteName),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamCreateEntryRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamCreateEntryRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<ICreatedResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamCreateEntryResponseExample\",\n\t\t\t\t\t\tdescription: \"The response when a new stream entry is created.\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tstatusCode: HttpStatusCode.created,\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.Location]: \"ais%3A1234567890%3A01010101010\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t}\n\t\t]\n\t};\n\n\tconst deleteEntryRoute: IRestRoute<IAuditableItemStreamDeleteEntryRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamDeleteEntry\",\n\t\tsummary: \"Delete an entry from the stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"DELETE\",\n\t\tpath: `${baseRouteName}/:id/entries/:entryId`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamDeleteEntry(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamDeleteRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamDeleteEntryRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\tentryId: \"ais:1234567890:01010101010\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst updateEntryRoute: IRestRoute<IAuditableItemStreamUpdateEntryRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamUpdateEntry\",\n\t\tsummary: \"Update a stream entry\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/:id/entries/:entryId`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamUpdateEntry(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamUpdateEntryRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamUpdateRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\tentryId: \"ais:1234567890:01010101010\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Note\",\n\t\t\t\t\t\t\t\tcontent: \"This is a simple note\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst getEntryRoute: IRestRoute<\n\t\tIAuditableItemStreamGetEntryRequest,\n\t\tIAuditableItemStreamGetEntryResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamGetEntry\",\n\t\tsummary: \"Get a stream entry\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/entries/:entryId`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamGetEntry(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamGetEntryRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamGetEntryRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\tentryId: \"ais:1234567890:01010101010\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetEntryResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamGetEntryResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetEntryResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdGetEntryResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst getEntryObjectRoute: IRestRoute<\n\t\tIAuditableItemStreamGetEntryObjectRequest,\n\t\tIAuditableItemStreamGetEntryObjectResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamGetEntryObject\",\n\t\tsummary: \"Get a stream entry object\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/entries/:entryId/object`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamGetEntryObject(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamGetEntryRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamGetEntryObjectRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\",\n\t\t\t\t\t\t\tentryId: \"ais:1234567890:01010101010\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamGetEntryObjectResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamGetEntryObjectResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listEntriesRoute: IRestRoute<\n\t\tIAuditableItemStreamListEntriesRequest,\n\t\tIAuditableItemStreamListEntriesResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamListEntries\",\n\t\tsummary: \"Get the entry objects in a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/entries`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamListEntries(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListEntriesRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamListEntriesRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntriesResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListEntriesResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntriesResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdListEntriesResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listEntriesNoStreamRoute: IRestRoute<\n\t\tIAuditableItemStreamListEntriesNoStreamRequest,\n\t\tIAuditableItemStreamListEntriesResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamListEntriesNoStream\",\n\t\tsummary: \"Get the entry objects for all streams\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/entries`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamListEntriesNoStream(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListEntriesNoStreamRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamListEntriesNoStreamRequestExample\",\n\t\t\t\t\trequest: {}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntriesResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListEntriesNoStreamResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntriesResponse>(),\n\t\t\t\tmimeType: MimeTypes.JsonLd,\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamJsonLdListEntriesNoStreamResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t[HeaderTypes.ContentType]: MimeTypes.JsonLd\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemStreamTypes.StreamEntry,\n\t\t\t\t\t\t\t\t\t\tid: \"tst:1234567890\",\n\t\t\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\t\t\tproofId: \"0101010101010101010101010101010101010101010101010101010101010101\",\n\t\t\t\t\t\t\t\t\t\tindex: 0,\n\t\t\t\t\t\t\t\t\t\tentryObject: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listEntryObjectsRoute: IRestRoute<\n\t\tIAuditableItemStreamListEntryObjectsRequest,\n\t\tIAuditableItemStreamListEntryObjectsResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamListEntryObjects\",\n\t\tsummary: \"Get the entry objects in a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/entries/objects`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamListEntryObjects(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListEntryObjectsRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamListEntryObjectsRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntryObjectsResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListEntryObjectsResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryObjectList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listEntryObjectsNoStreamRoute: IRestRoute<\n\t\tIAuditableItemStreamListEntryObjectsNoStreamRequest,\n\t\tIAuditableItemStreamListEntryObjectsResponse\n\t> = {\n\t\toperationId: \"auditableItemStreamListEntryObjectsNoStream\",\n\t\tsummary: \"Get the entry objects for all streams\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/entries/objects`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamListEntryObjectsNoStream(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamListEntryObjectsNoStreamRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamListEntryObjectsNoStreamRequestExample\",\n\t\t\t\t\trequest: {}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<IAuditableItemStreamListEntryObjectsResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemStreamListEntryObjectsNoStreamResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tbody: {\n\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemStreamContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemStreamTypes.StreamEntryObjectList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.org\",\n\t\t\t\t\t\t\t\t\t\t\"@type\": \"Event\",\n\t\t\t\t\t\t\t\t\t\tstartDate: \"2011-04-09T20:00:00Z\",\n\t\t\t\t\t\t\t\t\t\tdescription: \"A description of the event\"\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst removeProofRoute: IRestRoute<IAuditableItemStreamRemoveProofRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemStreamRemoveProof\",\n\t\tsummary: \"Remove the proof from a stream\",\n\t\ttag: tagsAuditableItemStream[0].name,\n\t\tmethod: \"DELETE\",\n\t\tpath: `${baseRouteName}/:id/proof`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemStreamRemoveProof(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemStreamRemoveProofRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemStreamRemoveProofRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"ais:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t]\n\t\t},\n\t\tresponseType: [\n\t\t\t{\n\t\t\t\ttype: nameof<INoContentResponse>()\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: nameof<INotFoundResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\treturn [\n\t\tcreateRoute,\n\t\tgetRoute,\n\t\tupdateRoute,\n\t\tdeleteRoute,\n\t\tcloseRoute,\n\t\tlistRoute,\n\t\tcreateEntryRoute,\n\t\tgetEntryRoute,\n\t\tgetEntryObjectRoute,\n\t\tdeleteEntryRoute,\n\t\tupdateEntryRoute,\n\t\tlistEntriesRoute,\n\t\tlistEntriesNoStreamRoute,\n\t\tlistEntryObjectsRoute,\n\t\tlistEntryObjectsNoStreamRoute,\n\t\tremoveProofRoute\n\t];\n}\n\n/**\n * Create the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @param baseRouteName The base route name for the API.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamCreate(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamCreateRequest,\n\tbaseRouteName: string\n): Promise<ICreatedResponse> {\n\tGuards.object<IAuditableItemStreamCreateRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamCreateRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst id = await component.create(request.body);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tconst publicOrigin = contextIds?.[HttpContextIdKeys.PublicOrigin];\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildId(\n\t\theaders,\n\t\tid,\n\t\tHttpUrlHelper.combineOriginPath(publicOrigin, `${baseRouteName}/:id`)\n\t);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.created,\n\t\theaders\n\t};\n}\n\n/**\n * Get the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamGet(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamGetRequest\n): Promise<IAuditableItemStreamGetResponse> {\n\tGuards.object<IAuditableItemStreamGetRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamGetRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst result = await component.get(\n\t\trequest.pathParams.id,\n\t\trequest.query?.cursor,\n\t\tCoerce.integer(request.query?.limit),\n\t\t{\n\t\t\tincludeEntries: Coerce.boolean(request.query?.includeEntries),\n\t\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\t\tverifyStream: Coerce.boolean(request.query?.verifyStream),\n\t\t\tverifyEntries: Coerce.boolean(request.query?.verifyEntries)\n\t\t}\n\t);\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.stream\n\t};\n}\n\n/**\n * Update the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamUpdate(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamUpdateRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamUpdateRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamUpdateRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.object<IAuditableItemStreamUpdateRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.update({\n\t\t...request.body,\n\t\tid: request.pathParams.id\n\t});\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Delete the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamDelete(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamDeleteRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamDeleteRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamDeleteRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.remove(request.pathParams.id);\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Close the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamClose(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamCloseRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamCloseRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamCloseRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.close(request.pathParams.id);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * List all streams.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamList(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListRequest\n): Promise<IAuditableItemStreamListResponse> {\n\tGuards.object<IAuditableItemStreamListRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamListRequest[\"query\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.query),\n\t\trequest.query\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.query(\n\t\tHttpParameterHelper.objectFromString(request.query?.conditions),\n\t\trequest.query?.orderBy,\n\t\trequest.query?.orderByDirection,\n\t\tHttpParameterHelper.arrayFromString(request.query?.properties),\n\t\trequest.query?.cursor,\n\t\tCoerce.integer(request.query?.limit)\n\t);\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * Create the stream entry.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @param baseRouteName The base route name for the API.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamCreateEntry(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamCreateEntryRequest,\n\tbaseRouteName: string\n): Promise<ICreatedResponse> {\n\tGuards.object<IAuditableItemStreamCreateEntryRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamCreateEntryRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.object<IAuditableItemStreamCreateEntryRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.objectValue(ROUTES_SOURCE, nameof(request.body.entryObject), request.body.entryObject);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst id = await component.createEntry(request.pathParams.id, request.body.entryObject);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tconst publicOrigin = contextIds?.[HttpContextIdKeys.PublicOrigin];\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildId(\n\t\theaders,\n\t\tid,\n\t\tHttpUrlHelper.combineOriginPath(publicOrigin, `${baseRouteName}/:streamId/entries/:id`)\n\t);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.created,\n\t\theaders\n\t};\n}\n\n/**\n * Delete an entry from the stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamDeleteEntry(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamDeleteEntryRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamDeleteEntryRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamDeleteEntryRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.entryId), request.pathParams.entryId);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.removeEntry(request.pathParams.id, request.pathParams.entryId);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Update the stream entry.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamUpdateEntry(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamUpdateEntryRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamUpdateEntryRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamUpdateEntryRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.objectValue<IAuditableItemStreamUpdateEntryRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.entryId), request.pathParams.entryId);\n\tGuards.objectValue(ROUTES_SOURCE, nameof(request.body.entryObject), request.body.entryObject);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.updateEntry(\n\t\trequest.pathParams.id,\n\t\trequest.pathParams.entryId,\n\t\trequest.body.entryObject\n\t);\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Get a stream entry.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamGetEntry(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamGetEntryRequest\n): Promise<IAuditableItemStreamGetEntryResponse> {\n\tGuards.object<IAuditableItemStreamGetEntryRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamGetEntryRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.entryId), request.pathParams.entryId);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst result = await component.getEntry(request.pathParams.id, request.pathParams.entryId, {\n\t\tverifyEntry: Coerce.boolean(request.query?.verifyEntry)\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * Get a stream entry object.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamGetEntryObject(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamGetEntryObjectRequest\n): Promise<IAuditableItemStreamGetEntryObjectResponse> {\n\tGuards.object<IAuditableItemStreamGetEntryObjectRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamGetEntryObjectRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.entryId), request.pathParams.entryId);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tconst result = await component.getEntryObject(request.pathParams.id, request.pathParams.entryId);\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * List the entries for a stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamListEntries(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListEntriesRequest\n): Promise<IAuditableItemStreamListEntriesResponse> {\n\tGuards.object<IAuditableItemStreamListEntriesRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamListEntriesRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.getEntries(request.pathParams.id, {\n\t\tconditions: HttpParameterHelper.objectFromString(request.query?.conditions),\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\tverifyEntries: Coerce.boolean(request.query?.verifyEntries),\n\t\torder: request.query?.order,\n\t\tlimit: Coerce.integer(request.query?.limit),\n\t\tcursor: request.query?.cursor\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * List entries across all streams.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamListEntriesNoStream(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListEntriesNoStreamRequest\n): Promise<IAuditableItemStreamListEntriesResponse> {\n\tGuards.object<IAuditableItemStreamListEntriesNoStreamRequest>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request),\n\t\trequest\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.getEntries(undefined, {\n\t\tconditions: HttpParameterHelper.objectFromString(request.query?.conditions),\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\tverifyEntries: Coerce.boolean(request.query?.verifyEntries),\n\t\torder: request.query?.order,\n\t\tlimit: Coerce.integer(request.query?.limit),\n\t\tcursor: request.query?.cursor\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * List the entry objects for a stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamListEntryObjects(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListEntryObjectsRequest\n): Promise<IAuditableItemStreamListEntryObjectsResponse> {\n\tGuards.object<IAuditableItemStreamListEntryObjectsRequest>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request),\n\t\trequest\n\t);\n\tGuards.object<IAuditableItemStreamListEntryObjectsRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.getEntryObjects(request.pathParams.id, {\n\t\tconditions: HttpParameterHelper.objectFromString(request.query?.conditions),\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\torder: request.query?.order,\n\t\tlimit: Coerce.integer(request.query?.limit),\n\t\tcursor: request.query?.cursor\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * List entry objects across all streams.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamListEntryObjectsNoStream(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamListEntryObjectsNoStreamRequest\n): Promise<IAuditableItemStreamListEntryObjectsResponse> {\n\tGuards.object<IAuditableItemStreamListEntryObjectsNoStreamRequest>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request),\n\t\trequest\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\n\tconst result = await component.getEntryObjects(undefined, {\n\t\tconditions: HttpParameterHelper.objectFromString(request.query?.conditions),\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\torder: request.query?.order,\n\t\tlimit: Coerce.integer(request.query?.limit),\n\t\tcursor: request.query?.cursor\n\t});\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * Remove the proof from a stream.\n * @param httpRequestContext The request context for the API.\n * @param componentName The name of the component to use in the routes.\n * @param request The request.\n * @returns The response object with additional http response properties.\n */\nexport async function auditableItemStreamRemoveProof(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemStreamRemoveProofRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemStreamRemoveProofRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemStreamRemoveProofRequest[\"pathParams\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.pathParams),\n\t\trequest.pathParams\n\t);\n\tGuards.stringValue(ROUTES_SOURCE, nameof(request.pathParams.id), request.pathParams.id);\n\n\tconst component = ComponentFactory.get<IAuditableItemStreamComponent>(componentName);\n\tawait component.removeProof(request.pathParams.id);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n"]}
@@ -16,9 +16,10 @@ export declare function generateRestRoutesAuditableItemStream(baseRouteName: str
16
16
  * @param httpRequestContext The request context for the API.
17
17
  * @param componentName The name of the component to use in the routes.
18
18
  * @param request The request.
19
+ * @param baseRouteName The base route name for the API.
19
20
  * @returns The response object with additional http response properties.
20
21
  */
21
- export declare function auditableItemStreamCreate(httpRequestContext: IHttpRequestContext, componentName: string, request: IAuditableItemStreamCreateRequest): Promise<ICreatedResponse>;
22
+ export declare function auditableItemStreamCreate(httpRequestContext: IHttpRequestContext, componentName: string, request: IAuditableItemStreamCreateRequest, baseRouteName: string): Promise<ICreatedResponse>;
22
23
  /**
23
24
  * Get the stream.
24
25
  * @param httpRequestContext The request context for the API.
@@ -64,9 +65,10 @@ export declare function auditableItemStreamList(httpRequestContext: IHttpRequest
64
65
  * @param httpRequestContext The request context for the API.
65
66
  * @param componentName The name of the component to use in the routes.
66
67
  * @param request The request.
68
+ * @param baseRouteName The base route name for the API.
67
69
  * @returns The response object with additional http response properties.
68
70
  */
69
- export declare function auditableItemStreamCreateEntry(httpRequestContext: IHttpRequestContext, componentName: string, request: IAuditableItemStreamCreateEntryRequest): Promise<ICreatedResponse>;
71
+ export declare function auditableItemStreamCreateEntry(httpRequestContext: IHttpRequestContext, componentName: string, request: IAuditableItemStreamCreateEntryRequest, baseRouteName: string): Promise<ICreatedResponse>;
70
72
  /**
71
73
  * Delete an entry from the stream.
72
74
  * @param httpRequestContext The request context for the API.
package/docs/changelog.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.9.1-next.3](https://github.com/iotaledger/twin-auditable-item-stream/compare/auditable-item-stream-service-v0.9.1-next.2...auditable-item-stream-service-v0.9.1-next.3) (2026-06-30)
4
+
5
+
6
+ ### Features
7
+
8
+ * rest enhancements ([99d7f21](https://github.com/iotaledger/twin-auditable-item-stream/commit/99d7f2116fb1aab871d98ee51458876c5328620b))
9
+
10
+
11
+ ### Dependencies
12
+
13
+ * The following workspace dependencies were updated
14
+ * dependencies
15
+ * @twin.org/auditable-item-stream-models bumped from 0.9.1-next.2 to 0.9.1-next.3
16
+
3
17
  ## [0.9.1-next.2](https://github.com/iotaledger/twin-auditable-item-stream/compare/auditable-item-stream-service-v0.9.1-next.1...auditable-item-stream-service-v0.9.1-next.2) (2026-06-29)
4
18
 
5
19
 
@@ -1,6 +1,6 @@
1
1
  # Function: auditableItemStreamCreate()
2
2
 
3
- > **auditableItemStreamCreate**(`httpRequestContext`, `componentName`, `request`): `Promise`\<`ICreatedResponse`\>
3
+ > **auditableItemStreamCreate**(`httpRequestContext`, `componentName`, `request`, `baseRouteName`): `Promise`\<`ICreatedResponse`\>
4
4
 
5
5
  Create the stream.
6
6
 
@@ -24,6 +24,12 @@ The name of the component to use in the routes.
24
24
 
25
25
  The request.
26
26
 
27
+ ### baseRouteName
28
+
29
+ `string`
30
+
31
+ The base route name for the API.
32
+
27
33
  ## Returns
28
34
 
29
35
  `Promise`\<`ICreatedResponse`\>
@@ -1,6 +1,6 @@
1
1
  # Function: auditableItemStreamCreateEntry()
2
2
 
3
- > **auditableItemStreamCreateEntry**(`httpRequestContext`, `componentName`, `request`): `Promise`\<`ICreatedResponse`\>
3
+ > **auditableItemStreamCreateEntry**(`httpRequestContext`, `componentName`, `request`, `baseRouteName`): `Promise`\<`ICreatedResponse`\>
4
4
 
5
5
  Create the stream entry.
6
6
 
@@ -24,6 +24,12 @@ The name of the component to use in the routes.
24
24
 
25
25
  The request.
26
26
 
27
+ ### baseRouteName
28
+
29
+ `string`
30
+
31
+ The base route name for the API.
32
+
27
33
  ## Returns
28
34
 
29
35
  `Promise`\<`ICreatedResponse`\>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@twin.org/auditable-item-stream-service",
3
- "version": "0.9.1-next.2",
3
+ "version": "0.9.1-next.3",
4
4
  "description": "Service implementation and REST route generation for managing auditable streams and entries.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,7 +15,7 @@
15
15
  },
16
16
  "dependencies": {
17
17
  "@twin.org/api-models": "next",
18
- "@twin.org/auditable-item-stream-models": "0.9.1-next.2",
18
+ "@twin.org/auditable-item-stream-models": "0.9.1-next.3",
19
19
  "@twin.org/context": "next",
20
20
  "@twin.org/core": "next",
21
21
  "@twin.org/crypto": "next",