@twin.org/auditable-item-graph-service 0.0.3-next.20 → 0.0.3-next.22

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.
@@ -869,6 +869,40 @@ export function generateRestRoutesAuditableItemGraph(baseRouteName, componentNam
869
869
  }
870
870
  ]
871
871
  };
872
+ const removeProofRoute = {
873
+ operationId: "auditableItemGraphRemoveProof",
874
+ summary: "Remove the notarization proof from all changesets of a graph vertex",
875
+ tag: tagsAuditableItemGraph[0].name,
876
+ method: "DELETE",
877
+ path: `${baseRouteName}/:id/proof`,
878
+ handler: async (httpRequestContext, request) => auditableItemGraphRemoveProof(httpRequestContext, componentName, request),
879
+ requestType: {
880
+ type: "IAuditableItemGraphRemoveProofRequest",
881
+ examples: [
882
+ {
883
+ id: "auditableItemGraphRemoveProofRequestExample",
884
+ request: {
885
+ pathParams: {
886
+ id: "0101010101010101010101010101010101010101010101010101010101010101"
887
+ }
888
+ }
889
+ }
890
+ ]
891
+ },
892
+ responseType: [
893
+ {
894
+ type: "INoContentResponse",
895
+ examples: [
896
+ {
897
+ id: "auditableItemGraphRemoveProofResponseExample",
898
+ response: {
899
+ statusCode: HttpStatusCode.noContent
900
+ }
901
+ }
902
+ ]
903
+ }
904
+ ]
905
+ };
872
906
  return [
873
907
  createRoute,
874
908
  getRoute,
@@ -878,7 +912,8 @@ export function generateRestRoutesAuditableItemGraph(baseRouteName, componentNam
878
912
  getChangesetListRoute,
879
913
  updateRoute,
880
914
  updatePartialRoute,
881
- listRoute
915
+ listRoute,
916
+ removeProofRoute
882
917
  ];
883
918
  }
884
919
  /**
@@ -1066,6 +1101,23 @@ export async function auditableItemGraphVersionGet(httpRequestContext, component
1066
1101
  body: result
1067
1102
  };
1068
1103
  }
1104
+ /**
1105
+ * Remove the notarization proof from all changesets of a graph vertex.
1106
+ * @param httpRequestContext The request context for the API.
1107
+ * @param componentName The name of the component to use in the routes.
1108
+ * @param request The request.
1109
+ * @returns The response object with additional http response properties.
1110
+ */
1111
+ export async function auditableItemGraphRemoveProof(httpRequestContext, componentName, request) {
1112
+ Guards.object(ROUTES_SOURCE, "request", request);
1113
+ Guards.object(ROUTES_SOURCE, "request.pathParams", request.pathParams);
1114
+ Guards.stringValue(ROUTES_SOURCE, "request.pathParams.id", request.pathParams.id);
1115
+ const component = ComponentFactory.get(componentName);
1116
+ await component.removeProof(request.pathParams.id);
1117
+ return {
1118
+ statusCode: HttpStatusCode.noContent
1119
+ };
1120
+ }
1069
1121
  /**
1070
1122
  * Get all versions of a graph vertex.
1071
1123
  * @param httpRequestContext The request context for the API.
@@ -1 +1 @@
1
- {"version":3,"file":"auditableItemGraphRoutes.js","sourceRoot":"","sources":["../../src/auditableItemGraphRoutes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport {\n\tHttpParameterHelper,\n\ttype ICreatedResponse,\n\ttype IHostingComponent,\n\ttype IHttpRequestContext,\n\ttype INoContentResponse,\n\ttype IRestRoute,\n\ttype ITag\n} from \"@twin.org/api-models\";\nimport {\n\tAuditableItemGraphContexts,\n\tAuditableItemGraphTypes,\n\ttype IAuditableItemGraphChangesetGetRequest,\n\ttype IAuditableItemGraphChangesetGetResponse,\n\ttype IAuditableItemGraphChangesetListRequest,\n\ttype IAuditableItemGraphChangesetListResponse,\n\ttype IAuditableItemGraphComponent,\n\ttype IAuditableItemGraphCreateRequest,\n\ttype IAuditableItemGraphGetRequest,\n\ttype IAuditableItemGraphGetResponse,\n\ttype IAuditableItemGraphListRequest,\n\ttype IAuditableItemGraphListResponse,\n\ttype IAuditableItemGraphUpdateRequest,\n\ttype IAuditableItemGraphUpdatePartialRequest,\n\ttype IAuditableItemGraphVersionGetRequest,\n\ttype IAuditableItemGraphVersionGetResponse,\n\ttype IAuditableItemGraphVersionListRequest,\n\ttype IAuditableItemGraphVersionListResponse\n} from \"@twin.org/auditable-item-graph-models\";\nimport { Coerce, ComponentFactory, Guards, Is } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { SchemaOrgContexts, SchemaOrgTypes } from \"@twin.org/standards-schema-org\";\nimport { HeaderHelper, HeaderTypes, HttpStatusCode, MimeTypes } from \"@twin.org/web\";\n\n/**\n * The source used when communicating about these routes.\n */\nconst ROUTES_SOURCE = \"auditableItemGraphRoutes\";\n\n/**\n * The tag to associate with the routes.\n */\nexport const tagsAuditableItemGraph: ITag[] = [\n\t{\n\t\tname: \"Auditable Item Graph\",\n\t\tdescription: \"Endpoints which are modelled to access an auditable item graph contract.\"\n\t}\n];\n\n/**\n * The REST routes for auditable item graph.\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 generateRestRoutesAuditableItemGraph(\n\tbaseRouteName: string,\n\tcomponentName: string\n): IRestRoute[] {\n\tconst createRoute: IRestRoute<IAuditableItemGraphCreateRequest, ICreatedResponse> = {\n\t\toperationId: \"auditableItemGraphCreate\",\n\t\tsummary: \"Create a new graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphCreate(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphCreateRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphCreateRequestExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\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\taliases: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\tid: \"bar456\",\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\tid: \"foo321\",\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tresources: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Resource,\n\t\t\t\t\t\t\t\t\tid: \"resource1\",\n\t\t\t\t\t\t\t\t\tresourceObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Resource,\n\t\t\t\t\t\t\t\t\tid: \"resource2\",\n\t\t\t\t\t\t\t\t\tresourceObject: {\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\": \"Note\",\n\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tedges: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\ttargetId: \"aig:1234567890\",\n\t\t\t\t\t\t\t\t\tedgeRelationships: [\"frenemy\"],\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\ttargetId: \"aig:45678901234\",\n\t\t\t\t\t\t\t\t\tedgeRelationships: [\"end\"],\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\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: \"auditableItemGraphCreateResponseExample\",\n\t\t\t\t\t\tdescription: \"The response when a new graph vertex 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]: \"aig%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<IAuditableItemGraphGetRequest, IAuditableItemGraphGetResponse> = {\n\t\toperationId: \"auditableItemGraphGet\",\n\t\tsummary: \"Get a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphGet(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphGetRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphGetRequestExample\",\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: \"aig: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<IAuditableItemGraphGetResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\tid: \"aig: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\taliases: [\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\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}\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<IAuditableItemGraphGetResponse>(),\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: \"auditableItemGraphJsonLdGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\tid: \"aig: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\taliases: [\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\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\tid: \"tst:1234567890\"\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};\n\n\tconst getChangesetRoute: IRestRoute<\n\t\tIAuditableItemGraphChangesetGetRequest,\n\t\tIAuditableItemGraphChangesetGetResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphChangesetGet\",\n\t\tsummary: \"Get a graph vertex changeset\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/changesets/:changesetId`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphChangesetGet(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphChangesetGetRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphChangesetGetRequestExample\",\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: \"aig:1234567890\",\n\t\t\t\t\t\t\tchangesetId: \"changeset: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<IAuditableItemGraphChangesetGetResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphChangesetGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Changeset,\n\t\t\t\t\t\t\t\tid: \"aig:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tpatches: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\tpatchPath: \"/annotationObject\",\n\t\t\t\t\t\t\t\t\t\tpatchValue: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://www.w3.org/ns/activitystreams\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Create\",\n\t\t\t\t\t\t\t\t\t\t\tactor: { type: \"Person\", id: \"acct:person@example.org\", name: \"Person\" },\n\t\t\t\t\t\t\t\t\t\t\tobject: { type: \"Note\", content: \"This is a simple note\" },\n\t\t\t\t\t\t\t\t\t\t\tpublished: \"2015-01-25T12:34:56Z\"\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\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\tpatchPath: \"/aliases\",\n\t\t\t\t\t\t\t\t\t\tpatchValue: [\n\t\t\t\t\t\t\t\t\t\t\t{ id: \"foo123\", dateCreated: \"2015-01-25T12:34:56Z\" },\n\t\t\t\t\t\t\t\t\t\t\t{ id: \"bar456\", dateCreated: \"2015-01-25T12:34:56Z\" }\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\tverification: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.twindev.org/immutable-proof/\",\n\t\t\t\t\t\t\t\t\ttype: \"ImmutableProofVerification\",\n\t\t\t\t\t\t\t\t\tverified: true\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<IAuditableItemGraphChangesetGetResponse>(),\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: \"auditableItemGraphChangesetJsonLdGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Changeset,\n\t\t\t\t\t\t\t\tid: \"aig:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tpatches: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\tpatchPath: \"/annotationObject\",\n\t\t\t\t\t\t\t\t\t\tpatchValue: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://www.w3.org/ns/activitystreams\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Create\",\n\t\t\t\t\t\t\t\t\t\t\tactor: { type: \"Person\", id: \"acct:person@example.org\", name: \"Person\" },\n\t\t\t\t\t\t\t\t\t\t\tobject: { type: \"Note\", content: \"This is a simple note\" },\n\t\t\t\t\t\t\t\t\t\t\tpublished: \"2015-01-25T12:34:56Z\"\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\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\tpatchPath: \"/aliases\",\n\t\t\t\t\t\t\t\t\t\tpatchValue: [\n\t\t\t\t\t\t\t\t\t\t\t{ id: \"foo123\", dateCreated: \"2015-01-25T12:34:56Z\" },\n\t\t\t\t\t\t\t\t\t\t\t{ id: \"bar456\", dateCreated: \"2015-01-25T12:34:56Z\" }\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\tverification: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.twindev.org/immutable-proof/\",\n\t\t\t\t\t\t\t\t\ttype: \"ImmutableProofVerification\",\n\t\t\t\t\t\t\t\t\tverified: true\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};\n\n\tconst getChangesetListRoute: IRestRoute<\n\t\tIAuditableItemGraphChangesetListRequest,\n\t\tIAuditableItemGraphChangesetListResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphChangesetList\",\n\t\tsummary: \"Get a list of graph vertex changesets\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/changesets`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphChangesetList(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphChangesetListRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphChangesetListRequestExample\",\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: \"aig: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<IAuditableItemGraphChangesetListResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphChangesetListResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.ChangesetList],\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: AuditableItemGraphTypes.Changeset,\n\t\t\t\t\t\t\t\t\t\tid: \"aig: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\tpatches: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchPath: \"/annotationObject\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchValue: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://www.w3.org/ns/activitystreams\",\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"Create\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tactor: { type: \"Person\", id: \"acct:person@example.org\", name: \"Person\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\tobject: { type: \"Note\", content: \"This is a simple note\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\tpublished: \"2015-01-25T12:34:56Z\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchPath: \"/aliases\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchValue: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: \"foo123\", dateCreated: \"2015-01-25T12:34:56Z\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: \"bar456\", dateCreated: \"2015-01-25T12:34:56Z\" }\n\t\t\t\t\t\t\t\t\t\t\t\t]\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\tverification: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.twindev.org/immutable-proof/\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"ImmutableProofVerification\",\n\t\t\t\t\t\t\t\t\t\t\tverified: true\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<IAuditableItemGraphChangesetGetResponse>(),\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: \"auditableItemGraphChangesetJsonLdGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.ChangesetList],\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: AuditableItemGraphTypes.Changeset,\n\t\t\t\t\t\t\t\t\t\tid: \"aig: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\tpatches: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchPath: \"/annotationObject\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchValue: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://www.w3.org/ns/activitystreams\",\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"Create\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tactor: { type: \"Person\", id: \"acct:person@example.org\", name: \"Person\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\tobject: { type: \"Note\", content: \"This is a simple note\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\tpublished: \"2015-01-25T12:34:56Z\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchPath: \"/aliases\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchValue: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: \"foo123\", dateCreated: \"2015-01-25T12:34:56Z\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: \"bar456\", dateCreated: \"2015-01-25T12:34:56Z\" }\n\t\t\t\t\t\t\t\t\t\t\t\t]\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\tverification: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.twindev.org/immutable-proof/\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"ImmutableProofVerification\",\n\t\t\t\t\t\t\t\t\t\t\tverified: true\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};\n\n\tconst getVersionRoute: IRestRoute<\n\t\tIAuditableItemGraphVersionGetRequest,\n\t\tIAuditableItemGraphVersionGetResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphVersionGet\",\n\t\tsummary: \"Get a graph vertex at a specific version\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/versions/:version`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphVersionGet(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphVersionGetRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphVersionGetRequestExample\",\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: \"aig:1234567890\",\n\t\t\t\t\t\t\tversion: \"1\"\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<IAuditableItemGraphVersionGetResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphVersionGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\tid: \"aig:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tversion: 1\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 getVersionListRoute: IRestRoute<\n\t\tIAuditableItemGraphVersionListRequest,\n\t\tIAuditableItemGraphVersionListResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphVersionList\",\n\t\tsummary: \"Get all versions of a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/versions`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphVersionList(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphVersionListRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphVersionListRequestExample\",\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: \"aig:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphVersionListAfterRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"aig:1234567890\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tafter: \"2026-04-03T12:00:00Z\"\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<IAuditableItemGraphVersionListResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphVersionListResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.VertexVersionList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{ version: 0, dateCreated: \"2024-08-22T11:55:16.271Z\" },\n\t\t\t\t\t\t\t\t\t{ version: 1, dateCreated: \"2024-08-22T11:56:00.000Z\" },\n\t\t\t\t\t\t\t\t\t{ version: 2, dateCreated: \"2024-08-22T11:57:00.000Z\" }\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};\n\n\tconst updateRoute: IRestRoute<IAuditableItemGraphUpdateRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemGraphUpdate\",\n\t\tsummary: \"Update a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphUpdate(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphUpdateRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphUpdateRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"aig: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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\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\taliases: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\tid: \"bar456\",\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\tid: \"foo321\",\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tresources: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Resource,\n\t\t\t\t\t\t\t\t\tid: \"resource1\",\n\t\t\t\t\t\t\t\t\tresourceObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Resource,\n\t\t\t\t\t\t\t\t\tid: \"resource2\",\n\t\t\t\t\t\t\t\t\tresourceObject: {\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\": \"Note\",\n\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tedges: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\tid: \"edge1\",\n\t\t\t\t\t\t\t\t\ttargetId: \"aig:1234567890\",\n\t\t\t\t\t\t\t\t\tedgeRelationships: [\"frenemy\"],\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\tid: \"edge2\",\n\t\t\t\t\t\t\t\t\ttargetId: \"aig:45678901234\",\n\t\t\t\t\t\t\t\t\tedgeRelationships: [\"end\"],\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\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<INoContentResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst updatePartialRoute: IRestRoute<\n\t\tIAuditableItemGraphUpdatePartialRequest,\n\t\tINoContentResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphUpdatePartial\",\n\t\tsummary: \"Partially update a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"PATCH\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphUpdatePartial(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphUpdatePartialRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphUpdatePartialRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"aig: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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tedgePatches: {\n\t\t\t\t\t\t\t\tadd: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\t\ttargetId: \"aig:45678901234\",\n\t\t\t\t\t\t\t\t\t\tedgeRelationships: [\"document\"]\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<INoContentResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listRoute: IRestRoute<IAuditableItemGraphListRequest, IAuditableItemGraphListResponse> = {\n\t\toperationId: \"auditableItemGraphList\",\n\t\tsummary: \"Query graph vertices by id or alias\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphList(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphListRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"IAuditableItemGraphListAllRequest\",\n\t\t\t\t\trequest: {}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"IAuditableItemGraphListIdRequest\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tid: \"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<IAuditableItemGraphListResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphListResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.VertexList],\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\t\t\tid: \"0101010101010101010101010101010101010101010101010101010101010101\",\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\taliases: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"foo4\",\n\t\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\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<IAuditableItemGraphListResponse>(),\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: \"auditableItemGraphJsonLdListResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.VertexList],\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\t\t\tid: \"0101010101010101010101010101010101010101010101010101010101010101\",\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\taliases: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"foo4\",\n\t\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\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]\n\t};\n\n\treturn [\n\t\tcreateRoute,\n\t\tgetRoute,\n\t\tgetVersionRoute,\n\t\tgetVersionListRoute,\n\t\tgetChangesetRoute,\n\t\tgetChangesetListRoute,\n\t\tupdateRoute,\n\t\tupdatePartialRoute,\n\t\tlistRoute\n\t];\n}\n\n/**\n * Create the graph vertex.\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 auditableItemGraphCreate(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphCreateRequest\n): Promise<ICreatedResponse> {\n\tGuards.object<IAuditableItemGraphCreateRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphCreateRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\tconst id = await component.create(request.body);\n\treturn {\n\t\tstatusCode: HttpStatusCode.created,\n\t\theaders: {\n\t\t\t[HeaderTypes.Location]: id\n\t\t}\n\t};\n}\n\n/**\n * Get the graph vertex.\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 auditableItemGraphGet(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphGetRequest\n): Promise<IAuditableItemGraphGetResponse> {\n\tGuards.object<IAuditableItemGraphGetRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphGetRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tconst result = await component.get(request.pathParams.id, {\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\tverifySignatureDepth: request.query?.verifySignatureDepth\n\t});\n\n\treturn {\n\t\theaders: {\n\t\t\t[HeaderTypes.ContentType]:\n\t\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd\n\t\t\t\t\t? MimeTypes.JsonLd\n\t\t\t\t\t: MimeTypes.Json\n\t\t},\n\t\tbody: result\n\t};\n}\n\n/**\n * Get the graph vertex changeset list.\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 auditableItemGraphChangesetList(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphChangesetListRequest\n): Promise<IAuditableItemGraphChangesetListResponse> {\n\tGuards.object<IAuditableItemGraphChangesetListRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphChangesetListRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tconst result = await component.getChangesets(\n\t\trequest.pathParams.id,\n\t\trequest.query?.cursor,\n\t\tCoerce.integer(request.query?.limit),\n\t\t{\n\t\t\tverifySignatureDepth: request.query?.verifySignatureDepth\n\t\t}\n\t);\n\n\tconst headers: IAuditableItemGraphListResponse[\"headers\"] = {\n\t\t[HeaderTypes.ContentType]:\n\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json\n\t};\n\n\tconst hostingComponent = ComponentFactory.get<IHostingComponent>(\n\t\thttpRequestContext.hostingComponentType ?? \"hosting\"\n\t);\n\n\tif (Is.stringValue(result.cursor)) {\n\t\theaders[HeaderTypes.Link] = HeaderHelper.createLinkHeader(\n\t\t\tawait hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url),\n\t\t\t{ cursor: result.cursor },\n\t\t\t\"next\"\n\t\t);\n\t}\n\n\treturn {\n\t\theaders,\n\t\tbody: result.changesets\n\t};\n}\n\n/**\n * Get the graph vertex changeset.\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 auditableItemGraphChangesetGet(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphChangesetGetRequest\n): Promise<IAuditableItemGraphChangesetGetResponse> {\n\tGuards.object<IAuditableItemGraphChangesetGetRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphChangesetGetRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tconst changesetUrn = `${request.pathParams.id}:changeset:${request.pathParams.changesetId}`;\n\tconst result = await component.getChangeset(changesetUrn, {\n\t\tverifySignatureDepth: request.query?.verifySignatureDepth\n\t});\n\n\treturn {\n\t\theaders: {\n\t\t\t[HeaderTypes.ContentType]:\n\t\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd\n\t\t\t\t\t? MimeTypes.JsonLd\n\t\t\t\t\t: MimeTypes.Json\n\t\t},\n\t\tbody: result\n\t};\n}\n\n/**\n * Update the graph vertex (PUT — full replacement of vertex state).\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 auditableItemGraphUpdate(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphUpdateRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemGraphUpdateRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphUpdateRequest[\"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<IAuditableItemGraphUpdateRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\tawait component.update({ ...request.body, id: request.pathParams.id });\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Partially update the graph vertex (PATCH — optional scalars; list fields use `{ add, remove }`).\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 auditableItemGraphUpdatePartial(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphUpdatePartialRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemGraphUpdatePartialRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphUpdatePartialRequest[\"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<IAuditableItemGraphUpdatePartialRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\tawait component.updatePartial({ ...request.body, id: request.pathParams.id });\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Query the graph vertices.\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 auditableItemGraphList(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphListRequest\n): Promise<IAuditableItemGraphListResponse> {\n\tGuards.object<IAuditableItemGraphListRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphListRequest[\"query\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.query),\n\t\trequest.query\n\t);\n\n\tconst hostingComponent = ComponentFactory.get<IHostingComponent>(\n\t\thttpRequestContext.hostingComponentType ?? \"hosting\"\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\n\tconst result = await component.query(\n\t\t{\n\t\t\tid: request.query?.id,\n\t\t\tidMode: request.query?.idMode,\n\t\t\tidExact: Coerce.boolean(request.query?.idExact),\n\t\t\tresourceTypes: HttpParameterHelper.arrayFromString(request.query?.resourceTypes)\n\t\t},\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: IAuditableItemGraphListResponse[\"headers\"] = {\n\t\t[HeaderTypes.ContentType]:\n\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json\n\t};\n\n\tif (Is.stringValue(result.cursor)) {\n\t\theaders[HeaderTypes.Link] = HeaderHelper.createLinkHeader(\n\t\t\tawait hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url),\n\t\t\t{ cursor: result.cursor },\n\t\t\t\"next\"\n\t\t);\n\t}\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * Get the graph vertex at a specific version.\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 auditableItemGraphVersionGet(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphVersionGetRequest\n): Promise<IAuditableItemGraphVersionGetResponse> {\n\tGuards.object<IAuditableItemGraphVersionGetRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphVersionGetRequest[\"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 version = Coerce.integer(request.pathParams.version);\n\tGuards.integer(ROUTES_SOURCE, nameof(request.pathParams.version), version);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\tconst result = await component.getVersion(request.pathParams.id, version);\n\n\treturn {\n\t\theaders: {\n\t\t\t[HeaderTypes.ContentType]:\n\t\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd\n\t\t\t\t\t? MimeTypes.JsonLd\n\t\t\t\t\t: MimeTypes.Json\n\t\t},\n\t\tbody: result\n\t};\n}\n\n/**\n * Get all versions of a graph vertex.\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 auditableItemGraphVersionList(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphVersionListRequest\n): Promise<IAuditableItemGraphVersionListResponse> {\n\tGuards.object<IAuditableItemGraphVersionListRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphVersionListRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tconst result = await component.getVersions(request.pathParams.id, {\n\t\tafter: request.query?.after,\n\t\tbefore: request.query?.before\n\t});\n\n\treturn {\n\t\theaders: {\n\t\t\t[HeaderTypes.ContentType]:\n\t\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd\n\t\t\t\t\t? MimeTypes.JsonLd\n\t\t\t\t\t: MimeTypes.Json\n\t\t},\n\t\tbody: result\n\t};\n}\n"]}
1
+ {"version":3,"file":"auditableItemGraphRoutes.js","sourceRoot":"","sources":["../../src/auditableItemGraphRoutes.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright 2024 IOTA Stiftung.\n// SPDX-License-Identifier: Apache-2.0.\nimport {\n\tHttpParameterHelper,\n\ttype ICreatedResponse,\n\ttype IHostingComponent,\n\ttype IHttpRequestContext,\n\ttype INoContentResponse,\n\ttype IRestRoute,\n\ttype ITag\n} from \"@twin.org/api-models\";\nimport {\n\tAuditableItemGraphContexts,\n\tAuditableItemGraphTypes,\n\ttype IAuditableItemGraphChangesetGetRequest,\n\ttype IAuditableItemGraphChangesetGetResponse,\n\ttype IAuditableItemGraphChangesetListRequest,\n\ttype IAuditableItemGraphChangesetListResponse,\n\ttype IAuditableItemGraphComponent,\n\ttype IAuditableItemGraphCreateRequest,\n\ttype IAuditableItemGraphGetRequest,\n\ttype IAuditableItemGraphGetResponse,\n\ttype IAuditableItemGraphListRequest,\n\ttype IAuditableItemGraphListResponse,\n\ttype IAuditableItemGraphRemoveProofRequest,\n\ttype IAuditableItemGraphUpdateRequest,\n\ttype IAuditableItemGraphUpdatePartialRequest,\n\ttype IAuditableItemGraphVersionGetRequest,\n\ttype IAuditableItemGraphVersionGetResponse,\n\ttype IAuditableItemGraphVersionListRequest,\n\ttype IAuditableItemGraphVersionListResponse\n} from \"@twin.org/auditable-item-graph-models\";\nimport { Coerce, ComponentFactory, Guards, Is } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { SchemaOrgContexts, SchemaOrgTypes } from \"@twin.org/standards-schema-org\";\nimport { HeaderHelper, HeaderTypes, HttpStatusCode, MimeTypes } from \"@twin.org/web\";\n\n/**\n * The source used when communicating about these routes.\n */\nconst ROUTES_SOURCE = \"auditableItemGraphRoutes\";\n\n/**\n * The tag to associate with the routes.\n */\nexport const tagsAuditableItemGraph: ITag[] = [\n\t{\n\t\tname: \"Auditable Item Graph\",\n\t\tdescription: \"Endpoints which are modelled to access an auditable item graph contract.\"\n\t}\n];\n\n/**\n * The REST routes for auditable item graph.\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 generateRestRoutesAuditableItemGraph(\n\tbaseRouteName: string,\n\tcomponentName: string\n): IRestRoute[] {\n\tconst createRoute: IRestRoute<IAuditableItemGraphCreateRequest, ICreatedResponse> = {\n\t\toperationId: \"auditableItemGraphCreate\",\n\t\tsummary: \"Create a new graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"POST\",\n\t\tpath: `${baseRouteName}/`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphCreate(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphCreateRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphCreateRequestExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\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\taliases: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\tid: \"bar456\",\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\tid: \"foo321\",\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tresources: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Resource,\n\t\t\t\t\t\t\t\t\tid: \"resource1\",\n\t\t\t\t\t\t\t\t\tresourceObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Resource,\n\t\t\t\t\t\t\t\t\tid: \"resource2\",\n\t\t\t\t\t\t\t\t\tresourceObject: {\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\": \"Note\",\n\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tedges: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\ttargetId: \"aig:1234567890\",\n\t\t\t\t\t\t\t\t\tedgeRelationships: [\"frenemy\"],\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\ttargetId: \"aig:45678901234\",\n\t\t\t\t\t\t\t\t\tedgeRelationships: [\"end\"],\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\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: \"auditableItemGraphCreateResponseExample\",\n\t\t\t\t\t\tdescription: \"The response when a new graph vertex 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]: \"aig%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<IAuditableItemGraphGetRequest, IAuditableItemGraphGetResponse> = {\n\t\toperationId: \"auditableItemGraphGet\",\n\t\tsummary: \"Get a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphGet(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphGetRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphGetRequestExample\",\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: \"aig: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<IAuditableItemGraphGetResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\tid: \"aig: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\taliases: [\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\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}\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<IAuditableItemGraphGetResponse>(),\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: \"auditableItemGraphJsonLdGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\tid: \"aig: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\taliases: [\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\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\tid: \"tst:1234567890\"\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};\n\n\tconst getChangesetRoute: IRestRoute<\n\t\tIAuditableItemGraphChangesetGetRequest,\n\t\tIAuditableItemGraphChangesetGetResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphChangesetGet\",\n\t\tsummary: \"Get a graph vertex changeset\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/changesets/:changesetId`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphChangesetGet(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphChangesetGetRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphChangesetGetRequestExample\",\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: \"aig:1234567890\",\n\t\t\t\t\t\t\tchangesetId: \"changeset: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<IAuditableItemGraphChangesetGetResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphChangesetGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Changeset,\n\t\t\t\t\t\t\t\tid: \"aig:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tpatches: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\tpatchPath: \"/annotationObject\",\n\t\t\t\t\t\t\t\t\t\tpatchValue: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://www.w3.org/ns/activitystreams\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Create\",\n\t\t\t\t\t\t\t\t\t\t\tactor: { type: \"Person\", id: \"acct:person@example.org\", name: \"Person\" },\n\t\t\t\t\t\t\t\t\t\t\tobject: { type: \"Note\", content: \"This is a simple note\" },\n\t\t\t\t\t\t\t\t\t\t\tpublished: \"2015-01-25T12:34:56Z\"\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\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\tpatchPath: \"/aliases\",\n\t\t\t\t\t\t\t\t\t\tpatchValue: [\n\t\t\t\t\t\t\t\t\t\t\t{ id: \"foo123\", dateCreated: \"2015-01-25T12:34:56Z\" },\n\t\t\t\t\t\t\t\t\t\t\t{ id: \"bar456\", dateCreated: \"2015-01-25T12:34:56Z\" }\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\tverification: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.twindev.org/immutable-proof/\",\n\t\t\t\t\t\t\t\t\ttype: \"ImmutableProofVerification\",\n\t\t\t\t\t\t\t\t\tverified: true\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<IAuditableItemGraphChangesetGetResponse>(),\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: \"auditableItemGraphChangesetJsonLdGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Changeset,\n\t\t\t\t\t\t\t\tid: \"aig:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tpatches: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\tpatchPath: \"/annotationObject\",\n\t\t\t\t\t\t\t\t\t\tpatchValue: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://www.w3.org/ns/activitystreams\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"Create\",\n\t\t\t\t\t\t\t\t\t\t\tactor: { type: \"Person\", id: \"acct:person@example.org\", name: \"Person\" },\n\t\t\t\t\t\t\t\t\t\t\tobject: { type: \"Note\", content: \"This is a simple note\" },\n\t\t\t\t\t\t\t\t\t\t\tpublished: \"2015-01-25T12:34:56Z\"\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\t{\n\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\tpatchPath: \"/aliases\",\n\t\t\t\t\t\t\t\t\t\tpatchValue: [\n\t\t\t\t\t\t\t\t\t\t\t{ id: \"foo123\", dateCreated: \"2015-01-25T12:34:56Z\" },\n\t\t\t\t\t\t\t\t\t\t\t{ id: \"bar456\", dateCreated: \"2015-01-25T12:34:56Z\" }\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\tverification: {\n\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.twindev.org/immutable-proof/\",\n\t\t\t\t\t\t\t\t\ttype: \"ImmutableProofVerification\",\n\t\t\t\t\t\t\t\t\tverified: true\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};\n\n\tconst getChangesetListRoute: IRestRoute<\n\t\tIAuditableItemGraphChangesetListRequest,\n\t\tIAuditableItemGraphChangesetListResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphChangesetList\",\n\t\tsummary: \"Get a list of graph vertex changesets\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/changesets`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphChangesetList(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphChangesetListRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphChangesetListRequestExample\",\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: \"aig: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<IAuditableItemGraphChangesetListResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphChangesetListResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.ChangesetList],\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: AuditableItemGraphTypes.Changeset,\n\t\t\t\t\t\t\t\t\t\tid: \"aig: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\tpatches: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchPath: \"/annotationObject\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchValue: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://www.w3.org/ns/activitystreams\",\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"Create\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tactor: { type: \"Person\", id: \"acct:person@example.org\", name: \"Person\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\tobject: { type: \"Note\", content: \"This is a simple note\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\tpublished: \"2015-01-25T12:34:56Z\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchPath: \"/aliases\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchValue: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: \"foo123\", dateCreated: \"2015-01-25T12:34:56Z\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: \"bar456\", dateCreated: \"2015-01-25T12:34:56Z\" }\n\t\t\t\t\t\t\t\t\t\t\t\t]\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\tverification: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.twindev.org/immutable-proof/\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"ImmutableProofVerification\",\n\t\t\t\t\t\t\t\t\t\t\tverified: true\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<IAuditableItemGraphChangesetGetResponse>(),\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: \"auditableItemGraphChangesetJsonLdGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.ChangesetList],\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: AuditableItemGraphTypes.Changeset,\n\t\t\t\t\t\t\t\t\t\tid: \"aig: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\tpatches: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchPath: \"/annotationObject\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchValue: {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://www.w3.org/ns/activitystreams\",\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype: \"Create\",\n\t\t\t\t\t\t\t\t\t\t\t\t\tactor: { type: \"Person\", id: \"acct:person@example.org\", name: \"Person\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\tobject: { type: \"Note\", content: \"This is a simple note\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\tpublished: \"2015-01-25T12:34:56Z\"\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\ttype: \"AuditableItemGraphPatchOperation\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchOperation: \"add\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchPath: \"/aliases\",\n\t\t\t\t\t\t\t\t\t\t\t\tpatchValue: [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: \"foo123\", dateCreated: \"2015-01-25T12:34:56Z\" },\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ id: \"bar456\", dateCreated: \"2015-01-25T12:34:56Z\" }\n\t\t\t\t\t\t\t\t\t\t\t\t]\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\tverification: {\n\t\t\t\t\t\t\t\t\t\t\t\"@context\": \"https://schema.twindev.org/immutable-proof/\",\n\t\t\t\t\t\t\t\t\t\t\ttype: \"ImmutableProofVerification\",\n\t\t\t\t\t\t\t\t\t\t\tverified: true\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};\n\n\tconst getVersionRoute: IRestRoute<\n\t\tIAuditableItemGraphVersionGetRequest,\n\t\tIAuditableItemGraphVersionGetResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphVersionGet\",\n\t\tsummary: \"Get a graph vertex at a specific version\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/versions/:version`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphVersionGet(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphVersionGetRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphVersionGetRequestExample\",\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: \"aig:1234567890\",\n\t\t\t\t\t\t\tversion: \"1\"\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<IAuditableItemGraphVersionGetResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphVersionGetResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\tid: \"aig:1234567890\",\n\t\t\t\t\t\t\t\tdateCreated: \"2024-08-22T11:55:16.271Z\",\n\t\t\t\t\t\t\t\tversion: 1\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 getVersionListRoute: IRestRoute<\n\t\tIAuditableItemGraphVersionListRequest,\n\t\tIAuditableItemGraphVersionListResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphVersionList\",\n\t\tsummary: \"Get all versions of a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/:id/versions`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphVersionList(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphVersionListRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphVersionListRequestExample\",\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: \"aig:1234567890\"\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphVersionListAfterRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"aig:1234567890\"\n\t\t\t\t\t\t},\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tafter: \"2026-04-03T12:00:00Z\"\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<IAuditableItemGraphVersionListResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphVersionListResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.VertexVersionList],\n\t\t\t\t\t\t\t\t[SchemaOrgTypes.ItemListElement]: [\n\t\t\t\t\t\t\t\t\t{ version: 0, dateCreated: \"2024-08-22T11:55:16.271Z\" },\n\t\t\t\t\t\t\t\t\t{ version: 1, dateCreated: \"2024-08-22T11:56:00.000Z\" },\n\t\t\t\t\t\t\t\t\t{ version: 2, dateCreated: \"2024-08-22T11:57:00.000Z\" }\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};\n\n\tconst updateRoute: IRestRoute<IAuditableItemGraphUpdateRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemGraphUpdate\",\n\t\tsummary: \"Update a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"PUT\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphUpdate(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphUpdateRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphUpdateRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"aig: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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\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\taliases: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\tid: \"bar456\",\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\tid: \"foo321\",\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tresources: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Resource,\n\t\t\t\t\t\t\t\t\tid: \"resource1\",\n\t\t\t\t\t\t\t\t\tresourceObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Resource,\n\t\t\t\t\t\t\t\t\tid: \"resource2\",\n\t\t\t\t\t\t\t\t\tresourceObject: {\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\": \"Note\",\n\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}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tedges: [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\tid: \"edge1\",\n\t\t\t\t\t\t\t\t\ttargetId: \"aig:1234567890\",\n\t\t\t\t\t\t\t\t\tedgeRelationships: [\"frenemy\"],\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\n\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\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\tid: \"edge2\",\n\t\t\t\t\t\t\t\t\ttargetId: \"aig:45678901234\",\n\t\t\t\t\t\t\t\t\tedgeRelationships: [\"end\"],\n\t\t\t\t\t\t\t\t\tannotationObject: {\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\": \"Note\",\n\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}\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<INoContentResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst updatePartialRoute: IRestRoute<\n\t\tIAuditableItemGraphUpdatePartialRequest,\n\t\tINoContentResponse\n\t> = {\n\t\toperationId: \"auditableItemGraphUpdatePartial\",\n\t\tsummary: \"Partially update a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"PATCH\",\n\t\tpath: `${baseRouteName}/:id`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphUpdatePartial(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphUpdatePartialRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphUpdatePartialRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"aig: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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\tedgePatches: {\n\t\t\t\t\t\t\t\tadd: [\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Edge,\n\t\t\t\t\t\t\t\t\t\ttargetId: \"aig:45678901234\",\n\t\t\t\t\t\t\t\t\t\tedgeRelationships: [\"document\"]\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<INoContentResponse>()\n\t\t\t}\n\t\t]\n\t};\n\n\tconst listRoute: IRestRoute<IAuditableItemGraphListRequest, IAuditableItemGraphListResponse> = {\n\t\toperationId: \"auditableItemGraphList\",\n\t\tsummary: \"Query graph vertices by id or alias\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"GET\",\n\t\tpath: `${baseRouteName}/`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphList(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphListRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"IAuditableItemGraphListAllRequest\",\n\t\t\t\t\trequest: {}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tid: \"IAuditableItemGraphListIdRequest\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tid: \"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<IAuditableItemGraphListResponse>(),\n\t\t\t\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphListResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.VertexList],\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\t\t\tid: \"0101010101010101010101010101010101010101010101010101010101010101\",\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\taliases: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"foo4\",\n\t\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\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<IAuditableItemGraphListResponse>(),\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: \"auditableItemGraphJsonLdListResponseExample\",\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\ttype: [SchemaOrgTypes.ItemList, AuditableItemGraphTypes.VertexList],\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\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Vertex,\n\t\t\t\t\t\t\t\t\t\tid: \"0101010101010101010101010101010101010101010101010101010101010101\",\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\taliases: [\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\"@context\": [\n\t\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.Context,\n\t\t\t\t\t\t\t\t\t\t\t\t\tAuditableItemGraphContexts.ContextCommon,\n\t\t\t\t\t\t\t\t\t\t\t\t\tSchemaOrgContexts.Context\n\t\t\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\t\t\ttype: AuditableItemGraphTypes.Alias,\n\t\t\t\t\t\t\t\t\t\t\t\tid: \"foo4\",\n\t\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\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]\n\t};\n\n\tconst removeProofRoute: IRestRoute<IAuditableItemGraphRemoveProofRequest, INoContentResponse> = {\n\t\toperationId: \"auditableItemGraphRemoveProof\",\n\t\tsummary: \"Remove the notarization proof from all changesets of a graph vertex\",\n\t\ttag: tagsAuditableItemGraph[0].name,\n\t\tmethod: \"DELETE\",\n\t\tpath: `${baseRouteName}/:id/proof`,\n\t\thandler: async (httpRequestContext, request) =>\n\t\t\tauditableItemGraphRemoveProof(httpRequestContext, componentName, request),\n\t\trequestType: {\n\t\t\ttype: nameof<IAuditableItemGraphRemoveProofRequest>(),\n\t\t\texamples: [\n\t\t\t\t{\n\t\t\t\t\tid: \"auditableItemGraphRemoveProofRequestExample\",\n\t\t\t\t\trequest: {\n\t\t\t\t\t\tpathParams: {\n\t\t\t\t\t\t\tid: \"0101010101010101010101010101010101010101010101010101010101010101\"\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\texamples: [\n\t\t\t\t\t{\n\t\t\t\t\t\tid: \"auditableItemGraphRemoveProofResponseExample\",\n\t\t\t\t\t\tresponse: {\n\t\t\t\t\t\t\tstatusCode: HttpStatusCode.noContent\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\treturn [\n\t\tcreateRoute,\n\t\tgetRoute,\n\t\tgetVersionRoute,\n\t\tgetVersionListRoute,\n\t\tgetChangesetRoute,\n\t\tgetChangesetListRoute,\n\t\tupdateRoute,\n\t\tupdatePartialRoute,\n\t\tlistRoute,\n\t\tremoveProofRoute\n\t];\n}\n\n/**\n * Create the graph vertex.\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 auditableItemGraphCreate(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphCreateRequest\n): Promise<ICreatedResponse> {\n\tGuards.object<IAuditableItemGraphCreateRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphCreateRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\tconst id = await component.create(request.body);\n\treturn {\n\t\tstatusCode: HttpStatusCode.created,\n\t\theaders: {\n\t\t\t[HeaderTypes.Location]: id\n\t\t}\n\t};\n}\n\n/**\n * Get the graph vertex.\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 auditableItemGraphGet(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphGetRequest\n): Promise<IAuditableItemGraphGetResponse> {\n\tGuards.object<IAuditableItemGraphGetRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphGetRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tconst result = await component.get(request.pathParams.id, {\n\t\tincludeDeleted: Coerce.boolean(request.query?.includeDeleted),\n\t\tverifySignatureDepth: request.query?.verifySignatureDepth\n\t});\n\n\treturn {\n\t\theaders: {\n\t\t\t[HeaderTypes.ContentType]:\n\t\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd\n\t\t\t\t\t? MimeTypes.JsonLd\n\t\t\t\t\t: MimeTypes.Json\n\t\t},\n\t\tbody: result\n\t};\n}\n\n/**\n * Get the graph vertex changeset list.\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 auditableItemGraphChangesetList(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphChangesetListRequest\n): Promise<IAuditableItemGraphChangesetListResponse> {\n\tGuards.object<IAuditableItemGraphChangesetListRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphChangesetListRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tconst result = await component.getChangesets(\n\t\trequest.pathParams.id,\n\t\trequest.query?.cursor,\n\t\tCoerce.integer(request.query?.limit),\n\t\t{\n\t\t\tverifySignatureDepth: request.query?.verifySignatureDepth\n\t\t}\n\t);\n\n\tconst headers: IAuditableItemGraphListResponse[\"headers\"] = {\n\t\t[HeaderTypes.ContentType]:\n\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json\n\t};\n\n\tconst hostingComponent = ComponentFactory.get<IHostingComponent>(\n\t\thttpRequestContext.hostingComponentType ?? \"hosting\"\n\t);\n\n\tif (Is.stringValue(result.cursor)) {\n\t\theaders[HeaderTypes.Link] = HeaderHelper.createLinkHeader(\n\t\t\tawait hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url),\n\t\t\t{ cursor: result.cursor },\n\t\t\t\"next\"\n\t\t);\n\t}\n\n\treturn {\n\t\theaders,\n\t\tbody: result.changesets\n\t};\n}\n\n/**\n * Get the graph vertex changeset.\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 auditableItemGraphChangesetGet(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphChangesetGetRequest\n): Promise<IAuditableItemGraphChangesetGetResponse> {\n\tGuards.object<IAuditableItemGraphChangesetGetRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphChangesetGetRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tconst changesetUrn = `${request.pathParams.id}:changeset:${request.pathParams.changesetId}`;\n\tconst result = await component.getChangeset(changesetUrn, {\n\t\tverifySignatureDepth: request.query?.verifySignatureDepth\n\t});\n\n\treturn {\n\t\theaders: {\n\t\t\t[HeaderTypes.ContentType]:\n\t\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd\n\t\t\t\t\t? MimeTypes.JsonLd\n\t\t\t\t\t: MimeTypes.Json\n\t\t},\n\t\tbody: result\n\t};\n}\n\n/**\n * Update the graph vertex (PUT — full replacement of vertex state).\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 auditableItemGraphUpdate(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphUpdateRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemGraphUpdateRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphUpdateRequest[\"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<IAuditableItemGraphUpdateRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\tawait component.update({ ...request.body, id: request.pathParams.id });\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Partially update the graph vertex (PATCH — optional scalars; list fields use `{ add, remove }`).\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 auditableItemGraphUpdatePartial(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphUpdatePartialRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemGraphUpdatePartialRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphUpdatePartialRequest[\"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<IAuditableItemGraphUpdatePartialRequest[\"body\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.body),\n\t\trequest.body\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\tawait component.updatePartial({ ...request.body, id: request.pathParams.id });\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Query the graph vertices.\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 auditableItemGraphList(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphListRequest\n): Promise<IAuditableItemGraphListResponse> {\n\tGuards.object<IAuditableItemGraphListRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphListRequest[\"query\"]>(\n\t\tROUTES_SOURCE,\n\t\tnameof(request.query),\n\t\trequest.query\n\t);\n\n\tconst hostingComponent = ComponentFactory.get<IHostingComponent>(\n\t\thttpRequestContext.hostingComponentType ?? \"hosting\"\n\t);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\n\tconst result = await component.query(\n\t\t{\n\t\t\tid: request.query?.id,\n\t\t\tidMode: request.query?.idMode,\n\t\t\tidExact: Coerce.boolean(request.query?.idExact),\n\t\t\tresourceTypes: HttpParameterHelper.arrayFromString(request.query?.resourceTypes)\n\t\t},\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: IAuditableItemGraphListResponse[\"headers\"] = {\n\t\t[HeaderTypes.ContentType]:\n\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd ? MimeTypes.JsonLd : MimeTypes.Json\n\t};\n\n\tif (Is.stringValue(result.cursor)) {\n\t\theaders[HeaderTypes.Link] = HeaderHelper.createLinkHeader(\n\t\t\tawait hostingComponent.buildPublicUrl(httpRequestContext.serverRequest.url),\n\t\t\t{ cursor: result.cursor },\n\t\t\t\"next\"\n\t\t);\n\t}\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * Get the graph vertex at a specific version.\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 auditableItemGraphVersionGet(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphVersionGetRequest\n): Promise<IAuditableItemGraphVersionGetResponse> {\n\tGuards.object<IAuditableItemGraphVersionGetRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphVersionGetRequest[\"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 version = Coerce.integer(request.pathParams.version);\n\tGuards.integer(ROUTES_SOURCE, nameof(request.pathParams.version), version);\n\n\tconst component = ComponentFactory.get<IAuditableItemGraphComponent>(componentName);\n\tconst result = await component.getVersion(request.pathParams.id, version);\n\n\treturn {\n\t\theaders: {\n\t\t\t[HeaderTypes.ContentType]:\n\t\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd\n\t\t\t\t\t? MimeTypes.JsonLd\n\t\t\t\t\t: MimeTypes.Json\n\t\t},\n\t\tbody: result\n\t};\n}\n\n/**\n * Remove the notarization proof from all changesets of a graph vertex.\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 auditableItemGraphRemoveProof(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphRemoveProofRequest\n): Promise<INoContentResponse> {\n\tGuards.object<IAuditableItemGraphRemoveProofRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphRemoveProofRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tawait component.removeProof(request.pathParams.id);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.noContent\n\t};\n}\n\n/**\n * Get all versions of a graph vertex.\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 auditableItemGraphVersionList(\n\thttpRequestContext: IHttpRequestContext,\n\tcomponentName: string,\n\trequest: IAuditableItemGraphVersionListRequest\n): Promise<IAuditableItemGraphVersionListResponse> {\n\tGuards.object<IAuditableItemGraphVersionListRequest>(ROUTES_SOURCE, nameof(request), request);\n\tGuards.object<IAuditableItemGraphVersionListRequest[\"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<IAuditableItemGraphComponent>(componentName);\n\tconst result = await component.getVersions(request.pathParams.id, {\n\t\tafter: request.query?.after,\n\t\tbefore: request.query?.before\n\t});\n\n\treturn {\n\t\theaders: {\n\t\t\t[HeaderTypes.ContentType]:\n\t\t\t\trequest.headers?.[HeaderTypes.Accept] === MimeTypes.JsonLd\n\t\t\t\t\t? MimeTypes.JsonLd\n\t\t\t\t\t: MimeTypes.Json\n\t\t},\n\t\tbody: result\n\t};\n}\n"]}
@@ -186,6 +186,13 @@ export class AuditableItemGraphService {
186
186
  delete vertexEntity.aliasIndex;
187
187
  const originalEntity = ObjectHelper.clone(vertexEntity);
188
188
  const newEntity = ObjectHelper.clone(vertexEntity);
189
+ // Capture org from context if vertex doesn't have one yet.
190
+ // Enables ownership transition: when an authenticated user first
191
+ // interacts with a vertex that was received without an org, the org
192
+ // is set here and recorded as a patch in the changeset proof.
193
+ if (!Is.stringValue(newEntity.organizationIdentity)) {
194
+ newEntity.organizationIdentity = context.contextIds?.[ContextIdKeys.Organization];
195
+ }
189
196
  newEntity.annotationObject = vertex.annotationObject;
190
197
  await this.updateAliasList(context, newEntity, vertex.aliases);
191
198
  await this.updateResourceList(context, newEntity, vertex.resources);
@@ -230,6 +237,10 @@ export class AuditableItemGraphService {
230
237
  delete vertexEntity.aliasIndex;
231
238
  const originalEntity = ObjectHelper.clone(vertexEntity);
232
239
  const newEntity = ObjectHelper.clone(vertexEntity);
240
+ // Capture org from context if vertex doesn't have one yet.
241
+ if (!Is.stringValue(newEntity.organizationIdentity)) {
242
+ newEntity.organizationIdentity = context.contextIds?.[ContextIdKeys.Organization];
243
+ }
233
244
  if (partial.annotationObject !== undefined) {
234
245
  newEntity.annotationObject = partial.annotationObject;
235
246
  }
@@ -669,6 +680,7 @@ export class AuditableItemGraphService {
669
680
  * Parse and validate a vertex URN; return the compact storage id.
670
681
  * @param id The vertex URN.
671
682
  * @returns The compact vertex id.
683
+ * @throws {GeneralError} If the namespace does not match the expected namespace.
672
684
  * @internal
673
685
  */
674
686
  parseVertexId(id) {
@@ -686,6 +698,7 @@ export class AuditableItemGraphService {
686
698
  * @param propertyName The property name for error reporting.
687
699
  * @param patch The patch value.
688
700
  * @returns The validated list patch.
701
+ * @throws {GeneralError} If the patch value is a bare array instead of a list patch object.
689
702
  * @internal
690
703
  */
691
704
  validateListPatch(propertyName, patch) {
@@ -1201,8 +1214,14 @@ export class AuditableItemGraphService {
1201
1214
  // Create the JSON-LD object we want to use for the proof
1202
1215
  // this is a subset of fixed properties from the changeset object.
1203
1216
  const reducedChangesetJsonLd = this.changesetEntityToJsonLd(original.id, ObjectHelper.pick(changesetEntity, AuditableItemGraphService._PROOF_KEYS_CHANGESET));
1204
- // Create the proof for the changeset object
1205
- changesetEntity.proofId = await this._immutableProofComponent.create(JsonLdHelper.toNodeObject(reducedChangesetJsonLd));
1217
+ // Create the proof for the changeset object only when the vertex has
1218
+ // an owning organisation. Vertices created by inbound unauthenticated
1219
+ // activities (e.g. DSP push via skipAuth inbox) have no org context at
1220
+ // creation time and must not require a proof until a local org claims
1221
+ // ownership through an authenticated interaction.
1222
+ if (Is.stringValue(updated.organizationIdentity)) {
1223
+ changesetEntity.proofId = await this._immutableProofComponent.create(JsonLdHelper.toNodeObject(reducedChangesetJsonLd));
1224
+ }
1206
1225
  // Link the storage id to the changeset
1207
1226
  await this._changesetStorage.set(changesetEntity);
1208
1227
  await MetricHelper.metricIncrement(this._telemetryComponent, AuditableItemGraphMetricIds.ChangesetsCreated);
@@ -1214,6 +1233,7 @@ export class AuditableItemGraphService {
1214
1233
  * Verify the changesets of a vertex.
1215
1234
  * @param vertex The vertex to verify.
1216
1235
  * @param verifySignatureDepth How many signatures to verify.
1236
+ * @returns The verified flag and list of changesets.
1217
1237
  * @internal
1218
1238
  */
1219
1239
  async verifyChangesets(vertex, verifySignatureDepth) {
@@ -1290,6 +1310,7 @@ export class AuditableItemGraphService {
1290
1310
  * Verify the signature of a changeset and add the verification result to the changeset JSON-LD.
1291
1311
  * @param storedChangeset The changeset to verify.
1292
1312
  * @returns Whether the changeset is verified.
1313
+ * @internal
1293
1314
  */
1294
1315
  async verifyChangesetSignature(storedChangeset) {
1295
1316
  let verification;
@@ -1313,6 +1334,7 @@ export class AuditableItemGraphService {
1313
1334
  * @param resource.id The id of the resource.
1314
1335
  * @param resource.resourceObject The resource object.
1315
1336
  * @returns The resource id if it can find one.
1337
+ * @internal
1316
1338
  */
1317
1339
  getResourceId(resource) {
1318
1340
  return (resource.id ??
@@ -1347,7 +1369,6 @@ export class AuditableItemGraphService {
1347
1369
  }
1348
1370
  /**
1349
1371
  * Find vertices with matching aliases.
1350
- * @param context The context for the operation.
1351
1372
  * @param vertexId The id of the vertex to exclude from the search.
1352
1373
  * @param aliasId The alias id to try and find.
1353
1374
  * @returns True if any other vertices have matching aliases.