@twin.org/auditable-item-graph-service 0.9.1 → 0.9.2

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.
@@ -1010,7 +1010,7 @@ export async function auditableItemGraphChangesetGet(httpRequestContext, compone
1010
1010
  };
1011
1011
  }
1012
1012
  /**
1013
- * Update the graph vertex (PUT full replacement of vertex state).
1013
+ * Update the graph vertex (PUT - full replacement of vertex state).
1014
1014
  * @param httpRequestContext The request context for the API.
1015
1015
  * @param componentName The name of the component to use in the routes.
1016
1016
  * @param request The request.
@@ -1028,7 +1028,7 @@ export async function auditableItemGraphUpdate(httpRequestContext, componentName
1028
1028
  };
1029
1029
  }
1030
1030
  /**
1031
- * Partially update the graph vertex (PATCH optional scalars; list fields use `{ add, remove }`).
1031
+ * Partially update the graph vertex (PATCH - optional scalars; list fields use `{ add, remove }`).
1032
1032
  * @param httpRequestContext The request context for the API.
1033
1033
  * @param componentName The name of the component to use in the routes.
1034
1034
  * @param request The request.
@@ -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\tHttpContextIdKeys,\n\tHttpHeaderHelper,\n\tHttpParameterHelper,\n\tHttpUrlHelper,\n\ttype ICreatedResponse,\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 IAuditableItemGraphUpdatePartialRequest,\n\ttype IAuditableItemGraphUpdateRequest,\n\ttype IAuditableItemGraphVersionGetRequest,\n\ttype IAuditableItemGraphVersionGetResponse,\n\ttype IAuditableItemGraphVersionListRequest,\n\ttype IAuditableItemGraphVersionListResponse\n} from \"@twin.org/auditable-item-graph-models\";\nimport { ContextIdStore } from \"@twin.org/context\";\nimport { Coerce, ComponentFactory, Guards } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { SchemaOrgContexts, SchemaOrgTypes } from \"@twin.org/standards-schema-org\";\nimport { HeaderTypes, HttpStatusCode, type IHttpHeaders, MimeTypes } from \"@twin.org/web\";\n\n/**\n * The source 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, baseRouteName),\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 * @param baseRouteName The base route name for the API.\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\tbaseRouteName: string\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\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tconst publicOrigin = contextIds?.[HttpContextIdKeys.PublicOrigin];\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildId(\n\t\theaders,\n\t\tid,\n\t\tHttpUrlHelper.combineOriginPath(publicOrigin, `${baseRouteName}/:id`)\n\t);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.created,\n\t\theaders\n\t};\n}\n\n/**\n * Get the 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\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * Get 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: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.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\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * 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 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: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * 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\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * 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\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\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\tHttpContextIdKeys,\n\tHttpHeaderHelper,\n\tHttpParameterHelper,\n\tHttpUrlHelper,\n\ttype ICreatedResponse,\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 IAuditableItemGraphUpdatePartialRequest,\n\ttype IAuditableItemGraphUpdateRequest,\n\ttype IAuditableItemGraphVersionGetRequest,\n\ttype IAuditableItemGraphVersionGetResponse,\n\ttype IAuditableItemGraphVersionListRequest,\n\ttype IAuditableItemGraphVersionListResponse\n} from \"@twin.org/auditable-item-graph-models\";\nimport { ContextIdStore } from \"@twin.org/context\";\nimport { Coerce, ComponentFactory, Guards } from \"@twin.org/core\";\nimport { nameof } from \"@twin.org/nameof\";\nimport { SchemaOrgContexts, SchemaOrgTypes } from \"@twin.org/standards-schema-org\";\nimport { HeaderTypes, HttpStatusCode, type IHttpHeaders, MimeTypes } from \"@twin.org/web\";\n\n/**\n * The source 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, baseRouteName),\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 * @param baseRouteName The base route name for the API.\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\tbaseRouteName: string\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\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tconst publicOrigin = contextIds?.[HttpContextIdKeys.PublicOrigin];\n\n\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildId(\n\t\theaders,\n\t\tid,\n\t\tHttpUrlHelper.combineOriginPath(publicOrigin, `${baseRouteName}/:id`)\n\t);\n\n\treturn {\n\t\tstatusCode: HttpStatusCode.created,\n\t\theaders\n\t};\n}\n\n/**\n * Get the 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\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * Get 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: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.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\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * 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 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: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\tconst contextIds = await ContextIdStore.getContextIds();\n\tHttpHeaderHelper.buildCursor(\n\t\theaders,\n\t\thttpRequestContext.serverRequest.url,\n\t\tcontextIds?.[HttpContextIdKeys.PublicOrigin],\n\t\tresult.cursor\n\t);\n\n\treturn {\n\t\theaders,\n\t\tbody: result.entries\n\t};\n}\n\n/**\n * 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\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n\n/**\n * 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\tconst headers: IHttpHeaders = {};\n\tHttpHeaderHelper.buildJsonContentType(headers, request.headers);\n\n\treturn {\n\t\theaders,\n\t\tbody: result\n\t};\n}\n"]}
@@ -1,8 +1,9 @@
1
1
  // Copyright 2024 IOTA Stiftung.
2
2
  // SPDX-License-Identifier: Apache-2.0.
3
+ import { HealthCategory, HealthStatus } from "@twin.org/api-models";
3
4
  import { AuditableItemGraphContexts, AuditableItemGraphDataTypes, AuditableItemGraphMetricIds, AuditableItemGraphMetrics, AuditableItemGraphTopics, AuditableItemGraphTypes, VerifyDepth } from "@twin.org/auditable-item-graph-models";
4
5
  import { ContextIdHelper, ContextIdKeys, ContextIdStore } from "@twin.org/context";
5
- import { ArrayHelper, Coerce, ComponentFactory, GeneralError, Guards, Is, JsonHelper, Mutex, NotFoundError, ObjectHelper, RandomHelper, StringHelper, Urn, Validation } from "@twin.org/core";
6
+ import { ArrayHelper, BaseError, Coerce, ComponentFactory, GeneralError, Guards, Is, JsonHelper, Mutex, NotFoundError, ObjectHelper, RandomHelper, StringHelper, Urn, Validation } from "@twin.org/core";
6
7
  import { DataTypeHelper } from "@twin.org/data-core";
7
8
  import { JsonLdDataTypes, JsonLdHelper, JsonLdProcessor } from "@twin.org/data-json-ld";
8
9
  import { ComparisonOperator, LogicalOperator, SortDirection } from "@twin.org/entity";
@@ -94,6 +95,49 @@ export class AuditableItemGraphService {
94
95
  className() {
95
96
  return AuditableItemGraphService.CLASS_NAME;
96
97
  }
98
+ /**
99
+ * Runs a set/get/remove cycle against the vertex entity storage using the organisation identity
100
+ * from the current context.
101
+ * @param callback The callback to invoke when a deferred health result is ready.
102
+ * @returns The health status of the service.
103
+ */
104
+ async healthApplication(callback) {
105
+ const contextIds = (await ContextIdStore.getContextIds()) ?? {};
106
+ const orgId = contextIds[ContextIdKeys.Organization];
107
+ if (!Is.stringValue(orgId)) {
108
+ return [];
109
+ }
110
+ try {
111
+ const healthVertex = {
112
+ id: RandomHelper.generateUuidV7("compact"),
113
+ organizationIdentity: orgId,
114
+ dateCreated: new Date().toISOString()
115
+ };
116
+ await this._vertexStorage.set(healthVertex);
117
+ await this._vertexStorage.get(healthVertex.id);
118
+ await this._vertexStorage.remove(healthVertex.id);
119
+ return [
120
+ {
121
+ source: AuditableItemGraphService.CLASS_NAME,
122
+ category: HealthCategory.Application,
123
+ status: HealthStatus.Ok,
124
+ description: "healthDescription"
125
+ }
126
+ ];
127
+ }
128
+ catch (error) {
129
+ return [
130
+ {
131
+ source: AuditableItemGraphService.CLASS_NAME,
132
+ category: HealthCategory.Application,
133
+ status: HealthStatus.Error,
134
+ description: "healthDescription",
135
+ message: "getVertexFailed",
136
+ error: BaseError.fromError(error)
137
+ }
138
+ ];
139
+ }
140
+ }
97
141
  /**
98
142
  * Register all AIG metrics with the telemetry component.
99
143
  * @returns A promise that resolves when all metrics have been registered.
@@ -164,7 +208,7 @@ export class AuditableItemGraphService {
164
208
  }
165
209
  }
166
210
  /**
167
- * Update a graph vertex (PUT full replacement of vertex state).
211
+ * Update a graph vertex (PUT - full replacement of vertex state).
168
212
  * Concurrent updates for the same vertex are serialized via `Mutex` on the vertex id.
169
213
  * @param vertex The vertex to update.
170
214
  * @returns A promise that resolves when the vertex has been updated.
@@ -215,7 +259,7 @@ export class AuditableItemGraphService {
215
259
  }
216
260
  }
217
261
  /**
218
- * Partially update a graph vertex (PATCH explicit list patches; only defined properties applied).
262
+ * Partially update a graph vertex (PATCH - explicit list patches; only defined properties applied).
219
263
  * Serialized with `update` via `Mutex` on the same vertex id within this instance.
220
264
  * @param partial The partial vertex update.
221
265
  * @returns A promise that resolves when the partial update has been applied.
@@ -721,7 +765,7 @@ export class AuditableItemGraphService {
721
765
  * Parse and validate a vertex URN; return the compact storage id.
722
766
  * @param id The vertex URN.
723
767
  * @returns The compact vertex id.
724
- * @throws {GeneralError} If the namespace does not match the expected namespace.
768
+ * @throws GeneralError If the namespace does not match the expected namespace.
725
769
  * @internal
726
770
  */
727
771
  parseVertexId(id) {
@@ -739,7 +783,7 @@ export class AuditableItemGraphService {
739
783
  * @param propertyName The property name for error reporting.
740
784
  * @param patch The patch value.
741
785
  * @returns The validated list patch.
742
- * @throws {GeneralError} If the patch value is a bare array instead of a list patch object.
786
+ * @throws GeneralError If the patch value is a bare array instead of a list patch object.
743
787
  * @internal
744
788
  */
745
789
  validateListPatch(propertyName, patch) {