Page Not Found | UN Transparency Protocol Test Suite
-
+
diff --git a/assets/js/229906a6.72e4dd47.js b/assets/js/229906a6.69f15711.js
similarity index 68%
rename from assets/js/229906a6.72e4dd47.js
rename to assets/js/229906a6.69f15711.js
index 526dfa85..5e167429 100644
--- a/assets/js/229906a6.72e4dd47.js
+++ b/assets/js/229906a6.69f15711.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[1614],{8481:(e,n,t)=>{t.d(n,{Ay:()=>o,RM:()=>i});var s=t(4848),r=t(8453);const i=[];function a(e){const n={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},5824:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var s=t(4848),r=t(8453),i=t(8481);const a={sidebar_position:22,title:"Services"},o=void 0,c={id:"mock-apps/services/index",title:"Services",description:"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities.",source:"@site/docs/mock-apps/services/index.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/",permalink:"/tests-untp/docs/mock-apps/services/",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/index.md",tags:[],version:"current",sidebarPosition:22,frontMatter:{sidebar_position:22,title:"Services"},sidebar:"tutorialSidebar",previous:{title:"QR Code Scanner Dialog Button",permalink:"/tests-untp/docs/mock-apps/components/qr-code-scanner-dialog-button"},next:{title:"Process DPP",permalink:"/tests-untp/docs/mock-apps/services/process-dpp"}},d={},l=[...i.RM,{value:"Available Services",id:"available-services",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Config",id:"config",level:2},{value:"Example",id:"example",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.Ay,{}),"\n",(0,s.jsx)(n.p,{children:"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities."}),"\n",(0,s.jsx)(n.h2,{id:"available-services",children:"Available Services"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-dpp",children:"Process DPP"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-digital-identity-anchor",children:"Process Digital Identity Anchor"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-transaction-event",children:"Process Transaction Event"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-transformation-event",children:"Process Transformation Event"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-aggregation-event",children:"Process Aggregation Event"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./merge-to-local-storage",children:"Merge To Local Storage"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"graph TD\n A[Service]\n A --\x3e B[Name]\n A --\x3e C[Parameters]\n\n C --\x3e C1[Parameter 1]\n C --\x3e C2[Parameter 2]\n\n C1 --\x3e D1[vckit]\n C1 --\x3e D2[dpp]\n C1 --\x3e D3[dlr]\n C1 --\x3e D4[storage]\n C1 --\x3e D5[identifierKeyPath]"}),"\n",(0,s.jsx)(n.h2,{id:"config",children:"Config"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"name"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"The name of the service (depends on service used)"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"#available-services",children:"Service"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"parameters"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"An array of parameter objects for the services (depends on service used)"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"#available-services",children:"Service"})})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "services": [\n {\n "name": "processDPP",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:example.com"\n },\n "dpp": {\n "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],\n "renderTemplate": [],\n "type": ["VerifiableCredential", " DigitalProductPassport"],\n "dlrLinkTitle": "Steel Passport",\n "dlrIdentificationKeyType": "gtin",\n "dlrVerificationPage": "http://localhost:3000/verify"\n },\n "dlr": {\n "dlrAPIUrl": "http://localhost:8080",\n "dlrAPIKey": "5555555555555"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "identifierKeyPath": "/product/itemIdentifiers/0/identifierValue"\n }\n ]\n },\n {\n "name": "mergeToLocalStorage",\n "parameters": [\n {\n "storageKey": "Steel_Mill_1_dpps",\n "objectKeyPath": "/vc/credentialSubject/product/itemIdentifiers/0/identifierValue"\n }\n ]\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"For detailed information about each service, please refer to their respective documentation pages linked above."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(6540);const r={},i=s.createContext(r);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[1614],{8481:(e,n,t)=>{t.d(n,{Ay:()=>o,RM:()=>i});var s=t(4848),r=t(8453);const i=[];function a(e){const n={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},5824:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var s=t(4848),r=t(8453),i=t(8481);const a={sidebar_position:22,title:"Services"},o=void 0,c={id:"mock-apps/services/index",title:"Services",description:"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities.",source:"@site/docs/mock-apps/services/index.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/",permalink:"/tests-untp/docs/mock-apps/services/",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/index.md",tags:[],version:"current",sidebarPosition:22,frontMatter:{sidebar_position:22,title:"Services"},sidebar:"tutorialSidebar",previous:{title:"QR Code Scanner Dialog Button",permalink:"/tests-untp/docs/mock-apps/components/qr-code-scanner-dialog-button"},next:{title:"Process DPP",permalink:"/tests-untp/docs/mock-apps/services/process-dpp"}},d={},l=[...i.RM,{value:"Available Services",id:"available-services",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Config",id:"config",level:2},{value:"Example",id:"example",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",li:"li",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.Ay,{}),"\n",(0,s.jsx)(n.p,{children:"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities."}),"\n",(0,s.jsx)(n.h2,{id:"available-services",children:"Available Services"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-dpp",children:"Process DPP"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-digital-identity-anchor",children:"Process Digital Identity Anchor"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-transaction-event",children:"Process Transaction Event"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-transformation-event",children:"Process Transformation Event"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./process-aggregation-event",children:"Process Aggregation Event"})}),"\n",(0,s.jsx)(n.li,{children:(0,s.jsx)(n.a,{href:"./merge-to-local-storage",children:"Merge To Local Storage"})}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"graph TD\n A[Service]\n A --\x3e B[Name]\n A --\x3e C[Parameters]\n\n C --\x3e C1[Parameter 1]\n C --\x3e C2[Parameter 2]\n\n C1 --\x3e D1[vckit]\n C1 --\x3e D2[dpp]\n C1 --\x3e D3[dlr]\n C1 --\x3e D4[storage]\n C1 --\x3e D5[identifierKeyPath]"}),"\n",(0,s.jsx)(n.h2,{id:"config",children:"Config"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"name"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"The name of the service (depends on service used)"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"#available-services",children:"Service"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"parameters"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"An array of parameter objects for the services (depends on service used)"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"#available-services",children:"Service"})})]})]})]}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "services": [\n {\n "name": "processDPP",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "dpp": {\n "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],\n "renderTemplate": [],\n "type": ["VerifiableCredential", " DigitalProductPassport"],\n "dlrLinkTitle": "Steel Passport",\n "dlrIdentificationKeyType": "gtin",\n "dlrVerificationPage": "http://localhost:3000/verify"\n },\n "dlr": {\n "dlrAPIUrl": "http://localhost:8080",\n "dlrAPIKey": "5555555555555"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "identifierKeyPath": "/product/itemIdentifiers/0/identifierValue"\n }\n ]\n },\n {\n "name": "mergeToLocalStorage",\n "parameters": [\n {\n "storageKey": "Steel_Mill_1_dpps",\n "objectKeyPath": "/vc/credentialSubject/product/itemIdentifiers/0/identifierValue"\n }\n ]\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.p,{children:"For detailed information about each service, please refer to their respective documentation pages linked above."})]})}function h(e={}){const{wrapper:n}={...(0,r.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(6540);const r={},i=s.createContext(r);function a(e){const n=s.useContext(i);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:a(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/39c45f72.38dbb57c.js b/assets/js/39c45f72.38dbb57c.js
new file mode 100644
index 00000000..b2e8e5a6
--- /dev/null
+++ b/assets/js/39c45f72.38dbb57c.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[2892],{8481:(e,t,n)=>{n.d(t,{Ay:()=>a,RM:()=>s});var i=n(4848),r=n(8453);const s=[];function o(e){const t={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},4085:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var i=n(4848),r=n(8453),s=n(8481);const o={sidebar_position:53,title:"Process Digital Conformity Credential"},a=void 0,d={id:"mock-apps/services/process-digital-conformity-credential",title:"Process Digital Conformity Credential",description:"Description",source:"@site/docs/mock-apps/services/process-digital-conformity-credential.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-digital-conformity-credential",permalink:"/tests-untp/docs/mock-apps/services/process-digital-conformity-credential",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-digital-conformity-credential.md",tags:[],version:"current",sidebarPosition:53,frontMatter:{sidebar_position:53,title:"Process Digital Conformity Credential"},sidebar:"tutorialSidebar",previous:{title:"Process Aggregation Event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event"},next:{title:"Common",permalink:"/tests-untp/docs/mock-apps/common/"}},c={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processDigitalConformityCredential"})," service is responsible for processing a digital conformity credential, issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored digital conformity credential with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a digital conformity credential, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processDigitalConformityCredential\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processDigitalConformityCredential(digitalConformityCredential, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return digital conformity credential VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processDigitalConformityCredential",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "digitalConformityCredential": {\n "context": [\n "https://jargon.sh/user/unece/ConformityCredential/v/0.5.0/artefacts/jsonldContexts/ConformityCredential.jsonld?class=ConformityCredential"\n ],\n "type": ["DigitalConformityCredential"],\n "renderTemplate": [\n {\n "template": "
DigitalConformityCredential
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "DigitalConformityCredential",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "https://storage.example.com/upload",\n "params": {\n "bucket": "bucket-name",\n "resultPath": "/url"\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"digitalConformityCredential"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Conformity Credential"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(6540);const r={},s=i.createContext(r);function o(e){const t=i.useContext(s);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),i.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/39c45f72.f1e0050a.js b/assets/js/39c45f72.f1e0050a.js
deleted file mode 100644
index eae264f7..00000000
--- a/assets/js/39c45f72.f1e0050a.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[2892],{8481:(e,t,i)=>{i.d(t,{Ay:()=>a,RM:()=>s});var n=i(4848),r=i(8453);const s=[];function o(e){const t={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},4085:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>m,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var n=i(4848),r=i(8453),s=i(8481);const o={sidebar_position:53,title:"Process Digital Conformity Credential"},a=void 0,d={id:"mock-apps/services/process-digital-conformity-credential",title:"Process Digital Conformity Credential",description:"Description",source:"@site/docs/mock-apps/services/process-digital-conformity-credential.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-digital-conformity-credential",permalink:"/tests-untp/docs/mock-apps/services/process-digital-conformity-credential",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-digital-conformity-credential.md",tags:[],version:"current",sidebarPosition:53,frontMatter:{sidebar_position:53,title:"Process Digital Conformity Credential"},sidebar:"tutorialSidebar",previous:{title:"Process Aggregation Event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event"},next:{title:"Common",permalink:"/tests-untp/docs/mock-apps/common/"}},c={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Ay,{}),"\n",(0,n.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"processDigitalConformityCredential"})," service is responsible for processing a digital conformity credential, issuing a ",(0,n.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored digital conformity credential with the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a digital conformity credential, from data input to storage and resolution."]}),"\n",(0,n.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,n.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processDigitalConformityCredential\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processDigitalConformityCredential(digitalConformityCredential, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return digital conformity credential VC and resolver URL"}),"\n",(0,n.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'{\n "name": "processDigitalConformityCredential",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "digitalConformityCredential": {\n "context": [\n "https://jargon.sh/user/unece/ConformityCredential/v/0.5.0/artefacts/jsonldContexts/ConformityCredential.jsonld?class=ConformityCredential"\n ],\n "type": ["DigitalConformityCredential"],\n "renderTemplate": [\n {\n "template": "
DigitalConformityCredential
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "DigitalConformityCredential",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "https://storage.example.com/upload",\n "params": {\n "bucket": "bucket-name",\n "resultPath": "/url"\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Property"}),(0,n.jsx)(t.th,{children:"Required"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"vckit"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"digitalConformityCredential"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the Digital Conformity Credential"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"storage"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for storage service"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"dlr"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"identifierKeyPath"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function m(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>a});var n=i(6540);const r={},s=n.createContext(r);function o(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/3e875788.cd473d3a.js b/assets/js/3e875788.a422020f.js
similarity index 50%
rename from assets/js/3e875788.cd473d3a.js
rename to assets/js/3e875788.a422020f.js
index 68645453..a7d0f692 100644
--- a/assets/js/3e875788.cd473d3a.js
+++ b/assets/js/3e875788.a422020f.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[584],{8481:(e,t,n)=>{n.d(t,{Ay:()=>o,RM:()=>r});var i=n(4848),s=n(8453);const r=[];function c(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},2872:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>a,toc:()=>l});var i=n(4848),s=n(8453),r=n(8481);const c={sidebar_position:26,title:"Process Object Event"},o=void 0,a={id:"mock-apps/services/process-object-event",title:"Process Object Event",description:"Description",source:"@site/docs/mock-apps/services/process-object-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-object-event",permalink:"/tests-untp/docs/mock-apps/services/process-object-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-object-event.md",tags:[],version:"current",sidebarPosition:26,frontMatter:{sidebar_position:26,title:"Process Object Event"},sidebar:"tutorialSidebar",previous:{title:"Process Transformation Event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event"},next:{title:"Merge To Local Storage",permalink:"/tests-untp/docs/mock-apps/services/merge-to-local-storage"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processObjectEvent"})," service is responsible for processing an ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Object Event (DTE)"}),", issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing an object event, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processObjectEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processObjectEvent(objectEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return object event VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processObjectEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisObjectEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "template": "
Object Event
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Object Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"epcisObjectEvent"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the EPCIS Object Event Event"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>o});var i=n(6540);const s={},r=i.createContext(s);function c(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[584],{8481:(e,t,n)=>{n.d(t,{Ay:()=>o,RM:()=>r});var i=n(4848),s=n(8453);const r=[];function c(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},2872:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>a,toc:()=>l});var i=n(4848),s=n(8453),r=n(8481);const c={sidebar_position:26,title:"Process Object Event"},o=void 0,a={id:"mock-apps/services/process-object-event",title:"Process Object Event",description:"Description",source:"@site/docs/mock-apps/services/process-object-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-object-event",permalink:"/tests-untp/docs/mock-apps/services/process-object-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-object-event.md",tags:[],version:"current",sidebarPosition:26,frontMatter:{sidebar_position:26,title:"Process Object Event"},sidebar:"tutorialSidebar",previous:{title:"Process Transformation Event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event"},next:{title:"Merge To Local Storage",permalink:"/tests-untp/docs/mock-apps/services/merge-to-local-storage"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processObjectEvent"})," service is responsible for processing an ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Object Event (DTE)"}),", issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing an object event, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processObjectEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processObjectEvent(objectEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return object event VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processObjectEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "epcisObjectEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "template": "
Object Event
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Object Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"epcisObjectEvent"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the EPCIS Object Event Event"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>c,x:()=>o});var i=n(6540);const s={},r=i.createContext(s);function c(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function o(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:c(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/45457832.f3cc8ad5.js b/assets/js/45457832.85a576a6.js
similarity index 78%
rename from assets/js/45457832.f3cc8ad5.js
rename to assets/js/45457832.85a576a6.js
index 556fd9cc..d0da83c5 100644
--- a/assets/js/45457832.f3cc8ad5.js
+++ b/assets/js/45457832.85a576a6.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9633],{8481:(e,t,n)=>{n.d(t,{Ay:()=>c,RM:()=>o});var i=n(4848),s=n(8453);const o=[];function r(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},8216:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>d,toc:()=>l});var i=n(4848),s=n(8453),o=n(8481);const r={sidebar_position:30,title:"VCkit"},c=void 0,d={id:"mock-apps/common/vckit",title:"VCkit",description:"Description",source:"@site/docs/mock-apps/common/vckit.md",sourceDirName:"mock-apps/common",slug:"/mock-apps/common/vckit",permalink:"/tests-untp/docs/mock-apps/common/vckit",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/common/vckit.md",tags:[],version:"current",sidebarPosition:30,frontMatter:{sidebar_position:30,title:"VCkit"},sidebar:"tutorialSidebar",previous:{title:"Style",permalink:"/tests-untp/docs/mock-apps/common/style"},next:{title:"IDR",permalink:"/tests-untp/docs/mock-apps/common/idr"}},a={},l=[...o.RM,{value:"Description",id:"description",level:2},{value:"Definition",id:"definition",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"VCkit"})," object contains configuration details for the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/verifiable-credential-service",children:"Verifiable Credential service"}),", which is used to issue and manage Verifiable Credentials."]}),"\n",(0,i.jsx)(t.h2,{id:"definition",children:"Definition"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckitAPIUrl"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"URL for the VCKit API"}),(0,i.jsx)(t.td,{children:"String"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"issuer"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Issuer identifier for the Verifiable Credential"}),(0,i.jsx)(t.td,{children:"String"})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var i=n(6540);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[9633],{8481:(e,t,n)=>{n.d(t,{Ay:()=>c,RM:()=>o});var i=n(4848),s=n(8453);const o=[];function r(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(r,{...e})}):r(e)}},8216:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>d,toc:()=>l});var i=n(4848),s=n(8453),o=n(8481);const r={sidebar_position:30,title:"VCkit"},c=void 0,d={id:"mock-apps/common/vckit",title:"VCkit",description:"Description",source:"@site/docs/mock-apps/common/vckit.md",sourceDirName:"mock-apps/common",slug:"/mock-apps/common/vckit",permalink:"/tests-untp/docs/mock-apps/common/vckit",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/common/vckit.md",tags:[],version:"current",sidebarPosition:30,frontMatter:{sidebar_position:30,title:"VCkit"},sidebar:"tutorialSidebar",previous:{title:"Style",permalink:"/tests-untp/docs/mock-apps/common/style"},next:{title:"IDR",permalink:"/tests-untp/docs/mock-apps/common/idr"}},a={},l=[...o.RM,{value:"Description",id:"description",level:2},{value:"Definition",id:"definition",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"VCkit"})," object contains configuration details for the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/verifiable-credential-service",children:"Verifiable Credential service"}),", which is used to issue and manage Verifiable Credentials."]}),"\n",(0,i.jsx)(t.h2,{id:"definition",children:"Definition"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckitAPIUrl"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"URL for the VCKit API"}),(0,i.jsx)(t.td,{children:"String"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"issuer"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Issuer identifier for the Verifiable Credential"}),(0,i.jsx)(t.td,{children:"String"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"headers"}),(0,i.jsx)(t.td,{children:"No"}),(0,i.jsx)(t.td,{children:"Custom headers to be included in the request to the Verifiable Credential service"}),(0,i.jsx)(t.td,{children:"Object"})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>r,x:()=>c});var i=n(6540);const s={},o=i.createContext(s);function r(e){const t=i.useContext(o);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:r(e.components),i.createElement(o.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/4b1d5cdf.5a35f893.js b/assets/js/4b1d5cdf.4566cd3e.js
similarity index 51%
rename from assets/js/4b1d5cdf.5a35f893.js
rename to assets/js/4b1d5cdf.4566cd3e.js
index adf3ce8b..1a9a53af 100644
--- a/assets/js/4b1d5cdf.5a35f893.js
+++ b/assets/js/4b1d5cdf.4566cd3e.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7704],{8481:(e,t,n)=>{n.d(t,{Ay:()=>c,RM:()=>r});var i=n(4848),s=n(8453);const r=[];function o(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2338:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var i=n(4848),s=n(8453),r=n(8481);const o={sidebar_position:44,title:"Process Association Event"},c=void 0,a={id:"mock-apps/services/process-association-event",title:"Process Association Event",description:"Description",source:"@site/docs/mock-apps/services/process-association-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-association-event",permalink:"/tests-untp/docs/mock-apps/services/process-association-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-association-event.md",tags:[],version:"current",sidebarPosition:44,frontMatter:{sidebar_position:44,title:"Process Association Event"},sidebar:"tutorialSidebar",previous:{title:"Process Digital Identity Anchor",permalink:"/tests-untp/docs/mock-apps/services/process-digital-identity-anchor"},next:{title:"Process Aggregation Event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processAssociationEvent"})," service is responsible for processing an ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Association Event (DTE)"}),", issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing an association event, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processAssociationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processAssociationEvent(associationEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return association event VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processAssociationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisAssociationEvent": {\n "context": [\n "https://jargon.sh/user/unece/traceabilityEvents/v/0.5.0/artefacts/jsonldContexts/traceabilityEvents.jsonld?class=traceabilityEvents"\n ],\n "type": ["VerifiableCredential", "DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "template": "
Association Event
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Association Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "https://storage.example.com/upload",\n "params": {\n "bucket": "bucket-name",\n "resultPath": "/url"\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"epcisAssociationEvent"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the EPCIS Association Event Event"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the association for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var i=n(6540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7704],{8481:(e,t,n)=>{n.d(t,{Ay:()=>c,RM:()=>r});var i=n(4848),s=n(8453);const r=[];function o(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},2338:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var i=n(4848),s=n(8453),r=n(8481);const o={sidebar_position:44,title:"Process Association Event"},c=void 0,a={id:"mock-apps/services/process-association-event",title:"Process Association Event",description:"Description",source:"@site/docs/mock-apps/services/process-association-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-association-event",permalink:"/tests-untp/docs/mock-apps/services/process-association-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-association-event.md",tags:[],version:"current",sidebarPosition:44,frontMatter:{sidebar_position:44,title:"Process Association Event"},sidebar:"tutorialSidebar",previous:{title:"Process Digital Identity Anchor",permalink:"/tests-untp/docs/mock-apps/services/process-digital-identity-anchor"},next:{title:"Process Aggregation Event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processAssociationEvent"})," service is responsible for processing an ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Association Event (DTE)"}),", issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing an association event, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processAssociationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processAssociationEvent(associationEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return association event VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processAssociationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "epcisAssociationEvent": {\n "context": [\n "https://jargon.sh/user/unece/traceabilityEvents/v/0.5.0/artefacts/jsonldContexts/traceabilityEvents.jsonld?class=traceabilityEvents"\n ],\n "type": ["VerifiableCredential", "DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "template": "
Association Event
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Association Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "https://storage.example.com/upload",\n "params": {\n "bucket": "bucket-name",\n "resultPath": "/url"\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"epcisAssociationEvent"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the EPCIS Association Event Event"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the association for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var i=n(6540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/577d7028.5403b35c.js b/assets/js/577d7028.5403b35c.js
deleted file mode 100644
index 135a05ec..00000000
--- a/assets/js/577d7028.5403b35c.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4129],{8481:(e,n,t)=>{t.d(n,{Ay:()=>a,RM:()=>r});var i=t(4848),s=t(8453);const r=[];function o(e){const n={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},4906:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=t(4848),s=t(8453),r=t(8481);const o={sidebar_position:25,title:"Process Transformation Event"},a=void 0,c={id:"mock-apps/services/process-transformation-event",title:"Process Transformation Event",description:"Description",source:"@site/docs/mock-apps/services/process-transformation-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-transformation-event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-transformation-event.md",tags:[],version:"current",sidebarPosition:25,frontMatter:{sidebar_position:25,title:"Process Transformation Event"},sidebar:"tutorialSidebar",previous:{title:"Process Transaction Event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event"},next:{title:"Process Object Event",permalink:"/tests-untp/docs/mock-apps/services/process-object-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"processTransformationEvent"})," service is responsible for processing a ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Transformation Event (DTE)"}),", issuing ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credentials (VCs)"})," for both the Transformation Event and ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalProductPassport",children:"Digital Product Passports (DPPs)"}),", uploading them to the ",(0,i.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE and DPPs with the ",(0,i.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),", and managing Transaction events in local storage associated with the event. It handles the entire lifecycle of creating and managing transformation events and associated DPPs."]}),"\n",(0,i.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processTransformationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processTransformationEvent(data, context)\nP->>P: Validate context\nP->>V: Issue EPCIS VC\nV--\x3e>P: Return EPCIS VC\nP->>S: Upload EPCIS VC\nS--\x3e>P: Return EPCIS VC URL\nP->>D: Register EPCIS link resolver\nD--\x3e>P: Return EPCIS resolver URL\nloop For each output item\nP->>V: Issue DPP VC\nV--\x3e>P: Return DPP VC\nP->>S: Upload DPP VC\nS--\x3e>P: Return DPP VC URL\nP->>D: Register DPP link resolver\nD--\x3e>P: Return DPP resolver URL\nend\nP--\x3e>C: Return EPCIS VC"}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "name": "processTransformationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisTransformationEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Product DPP",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "dppCredentials": [\n {\n "mappingFields": [\n {\n "sourcePath": "/vc/credentialSubject/outputItems/0/epc",\n "destinationPath": "/epc"\n }\n ]\n }\n ],\n "identifierKeyPath": "/outputItems/0/epc",\n "transformationEventCredential": {\n "mappingFields": [\n {\n "sourcePath": "/inputItems",\n "destinationPath": "/inputQuantityList"\n },\n {\n "sourcePath": "/outputItems",\n "destinationPath": "/outputQuantityList"\n }\n ],\n "generationFields": [\n {\n "path": "/eventTime",\n "handler": "generateCurrentDatetime"\n },\n {\n "path": "/eventID",\n "handler": "generateUUID"\n }\n ]\n }\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Property"}),(0,i.jsx)(n.th,{children:"Required"}),(0,i.jsx)(n.th,{children:"Description"}),(0,i.jsx)(n.th,{children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"vckit"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"epcisTransformationEvent"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the EPCIS Transformation Event"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dlr"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"storage"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for storage service"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dpp"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the Digital Product Passport"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dppCredentials"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Mapping configuration for DPP credentials"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/construct-data",children:"Construct Data"}),"[]"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"identifierKeyPath"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"transformationEventCredential"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Mapping and generation configuration for the transformation event credential"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/construct-data",children:"Construct Data"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(6540);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/577d7028.c6b857be.js b/assets/js/577d7028.c6b857be.js
new file mode 100644
index 00000000..50317c28
--- /dev/null
+++ b/assets/js/577d7028.c6b857be.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4129],{8481:(e,n,t)=>{t.d(n,{Ay:()=>a,RM:()=>r});var i=t(4848),s=t(8453);const r=[];function o(e){const n={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},4906:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=t(4848),s=t(8453),r=t(8481);const o={sidebar_position:25,title:"Process Transformation Event"},a=void 0,c={id:"mock-apps/services/process-transformation-event",title:"Process Transformation Event",description:"Description",source:"@site/docs/mock-apps/services/process-transformation-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-transformation-event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-transformation-event.md",tags:[],version:"current",sidebarPosition:25,frontMatter:{sidebar_position:25,title:"Process Transformation Event"},sidebar:"tutorialSidebar",previous:{title:"Process Transaction Event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event"},next:{title:"Process Object Event",permalink:"/tests-untp/docs/mock-apps/services/process-object-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(n.p,{children:["The ",(0,i.jsx)(n.code,{children:"processTransformationEvent"})," service is responsible for processing a ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Transformation Event (DTE)"}),", issuing ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credentials (VCs)"})," for both the Transformation Event and ",(0,i.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalProductPassport",children:"Digital Product Passports (DPPs)"}),", uploading them to the ",(0,i.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE and DPPs with the ",(0,i.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),", and managing Transaction events in local storage associated with the event. It handles the entire lifecycle of creating and managing transformation events and associated DPPs."]}),"\n",(0,i.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processTransformationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processTransformationEvent(data, context)\nP->>P: Validate context\nP->>V: Issue EPCIS VC\nV--\x3e>P: Return EPCIS VC\nP->>S: Upload EPCIS VC\nS--\x3e>P: Return EPCIS VC URL\nP->>D: Register EPCIS link resolver\nD--\x3e>P: Return EPCIS resolver URL\nloop For each output item\nP->>V: Issue DPP VC\nV--\x3e>P: Return DPP VC\nP->>S: Upload DPP VC\nS--\x3e>P: Return DPP VC URL\nP->>D: Register DPP link resolver\nD--\x3e>P: Return DPP resolver URL\nend\nP--\x3e>C: Return EPCIS VC"}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "name": "processTransformationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "epcisTransformationEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Product DPP",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "dppCredentials": [\n {\n "mappingFields": [\n {\n "sourcePath": "/vc/credentialSubject/outputItems/0/epc",\n "destinationPath": "/epc"\n }\n ]\n }\n ],\n "identifierKeyPath": "/outputItems/0/epc",\n "transformationEventCredential": {\n "mappingFields": [\n {\n "sourcePath": "/inputItems",\n "destinationPath": "/inputQuantityList"\n },\n {\n "sourcePath": "/outputItems",\n "destinationPath": "/outputQuantityList"\n }\n ],\n "generationFields": [\n {\n "path": "/eventTime",\n "handler": "generateCurrentDatetime"\n },\n {\n "path": "/eventID",\n "handler": "generateUUID"\n }\n ]\n }\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Property"}),(0,i.jsx)(n.th,{children:"Required"}),(0,i.jsx)(n.th,{children:"Description"}),(0,i.jsx)(n.th,{children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"vckit"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"epcisTransformationEvent"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the EPCIS Transformation Event"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dlr"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"storage"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for storage service"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dpp"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Configuration for the Digital Product Passport"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"dppCredentials"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Mapping configuration for DPP credentials"}),(0,i.jsxs)(n.td,{children:[(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/construct-data",children:"Construct Data"}),"[]"]})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"identifierKeyPath"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"transformationEventCredential"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"Mapping and generation configuration for the transformation event credential"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/common/construct-data",children:"Construct Data"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(6540);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/5b6552f6.f7b6ecfb.js b/assets/js/5b6552f6.49e68133.js
similarity index 50%
rename from assets/js/5b6552f6.f7b6ecfb.js
rename to assets/js/5b6552f6.49e68133.js
index 82f503a9..d3de9c1a 100644
--- a/assets/js/5b6552f6.f7b6ecfb.js
+++ b/assets/js/5b6552f6.49e68133.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7120],{8481:(e,t,n)=>{n.d(t,{Ay:()=>a,RM:()=>r});var i=n(4848),s=n(8453);const r=[];function o(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},1335:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(4848),s=n(8453),r=n(8481);const o={sidebar_position:45,title:"Process Aggregation Event"},a=void 0,c={id:"mock-apps/services/process-aggregation-event",title:"Process Aggregation Event",description:"Description",source:"@site/docs/mock-apps/services/process-aggregation-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-aggregation-event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-aggregation-event.md",tags:[],version:"current",sidebarPosition:45,frontMatter:{sidebar_position:45,title:"Process Aggregation Event"},sidebar:"tutorialSidebar",previous:{title:"Process Association Event",permalink:"/tests-untp/docs/mock-apps/services/process-association-event"},next:{title:"Process Digital Conformity Credential",permalink:"/tests-untp/docs/mock-apps/services/process-digital-conformity-credential"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processAggregationEvent"})," service is responsible for processing an ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Aggregation Event (DTE)"}),", issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing an aggregation event, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processAggregationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processAggregationEvent(aggregationEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processAggregationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisAggregationEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
Aggregation Event
Parent: {{parentItem.epc}}
"\n }\n ],\n "dlrIdentificationKeyType": "sscc",\n "dlrLinkTitle": "Aggregation Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/parentItem/epc"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"epcisAggregationEvent"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the EPCIS Aggregation Event"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(6540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[7120],{8481:(e,t,n)=>{n.d(t,{Ay:()=>a,RM:()=>r});var i=n(4848),s=n(8453);const r=[];function o(e){const t={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},1335:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=n(4848),s=n(8453),r=n(8481);const o={sidebar_position:45,title:"Process Aggregation Event"},a=void 0,c={id:"mock-apps/services/process-aggregation-event",title:"Process Aggregation Event",description:"Description",source:"@site/docs/mock-apps/services/process-aggregation-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-aggregation-event",permalink:"/tests-untp/docs/mock-apps/services/process-aggregation-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-aggregation-event.md",tags:[],version:"current",sidebarPosition:45,frontMatter:{sidebar_position:45,title:"Process Aggregation Event"},sidebar:"tutorialSidebar",previous:{title:"Process Association Event",permalink:"/tests-untp/docs/mock-apps/services/process-association-event"},next:{title:"Process Digital Conformity Credential",permalink:"/tests-untp/docs/mock-apps/services/process-digital-conformity-credential"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"processAggregationEvent"})," service is responsible for processing an ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Aggregation Event (DTE)"}),", issuing a ",(0,i.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,i.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing an aggregation event, from data input to storage and resolution."]}),"\n",(0,i.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processAggregationEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processAggregationEvent(aggregationEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return VC and resolver URL"}),"\n",(0,i.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-json",children:'{\n "name": "processAggregationEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "epcisAggregationEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
Aggregation Event
Parent: {{parentItem.epc}}
"\n }\n ],\n "dlrIdentificationKeyType": "sscc",\n "dlrLinkTitle": "Aggregation Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/parentItem/epc"\n }\n ]\n}\n'})}),"\n",(0,i.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Property"}),(0,i.jsx)(t.th,{children:"Required"}),(0,i.jsx)(t.th,{children:"Description"}),(0,i.jsx)(t.th,{children:"Type"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"vckit"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"epcisAggregationEvent"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the EPCIS Aggregation Event"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"storage"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for storage service"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"dlr"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:"identifierKeyPath"}),(0,i.jsx)(t.td,{children:"Yes"}),(0,i.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>a});var i=n(6540);const s={},r=i.createContext(s);function o(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function a(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/639ea42f.2ae3abc6.js b/assets/js/639ea42f.2ae3abc6.js
deleted file mode 100644
index be443af3..00000000
--- a/assets/js/639ea42f.2ae3abc6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[1579],{8481:(e,i,t)=>{t.d(i,{Ay:()=>a,RM:()=>s});var n=t(4848),r=t(8453);const s=[];function c(e){const i={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,n.jsx)(i.admonition,{type:"info",children:(0,n.jsx)(i.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},7292:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var n=t(4848),r=t(8453),s=t(8481);const c={sidebar_position:42,title:"Process Digital Facility Record"},a=void 0,o={id:"mock-apps/services/process-digital-facility-record",title:"Process Digital Facility Record",description:"Description",source:"@site/docs/mock-apps/services/process-digital-facility-record.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-digital-facility-record",permalink:"/tests-untp/docs/mock-apps/services/process-digital-facility-record",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-digital-facility-record.md",tags:[],version:"current",sidebarPosition:42,frontMatter:{sidebar_position:42,title:"Process Digital Facility Record"},sidebar:"tutorialSidebar",previous:{title:"Merge To Local Storage",permalink:"/tests-untp/docs/mock-apps/services/merge-to-local-storage"},next:{title:"Process Digital Identity Anchor",permalink:"/tests-untp/docs/mock-apps/services/process-digital-identity-anchor"}},d={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const i={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Ay,{}),"\n",(0,n.jsx)(i.h2,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(i.p,{children:["The ",(0,n.jsx)(i.code,{children:"processDigitalFacilityRecord"})," service is responsible for processing a digital facility record, issuing a ",(0,n.jsx)(i.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,n.jsx)(i.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored digital identity anchor with the ",(0,n.jsx)(i.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a digital facility record, from data input to storage and resolution."]}),"\n",(0,n.jsx)(i.h2,{id:"diagram",children:"Diagram"}),"\n",(0,n.jsx)(i.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processDigitalFacilityRecord\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processDigitalFacilityRecord(digitalFacilityRecord, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return digital facility record VC and resolver URL"}),"\n",(0,n.jsx)(i.h2,{id:"example",children:"Example"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-json",children:'{\n "name": "processDigitalFacilityRecord",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "digitalFacilityRecord": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalFacilityRecord"],\n "renderTemplate": [\n {\n "template": "
DigitalFacilityRecord
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gln",\n "dlrLinkTitle": "DigitalFacilityRecord",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,n.jsx)(i.h2,{id:"definitions",children:"Definitions"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{children:"Property"}),(0,n.jsx)(i.th,{children:"Required"}),(0,n.jsx)(i.th,{children:"Description"}),(0,n.jsx)(i.th,{children:"Type"})]})}),(0,n.jsxs)(i.tbody,{children:[(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"vckit"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"Configuration for the VCKit service"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"digitalFacilityRecord"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"Configuration for the Digital Facility Record"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"storage"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"Configuration for storage service"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"dlr"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"Configuration for the Digital Link Resolver"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"identifierKeyPath"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453:(e,i,t)=>{t.d(i,{R:()=>c,x:()=>a});var n=t(6540);const r={},s=n.createContext(r);function c(e){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function a(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),n.createElement(s.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/639ea42f.6fc20dc0.js b/assets/js/639ea42f.6fc20dc0.js
new file mode 100644
index 00000000..4d7a6f85
--- /dev/null
+++ b/assets/js/639ea42f.6fc20dc0.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[1579],{8481:(e,i,t)=>{t.d(i,{Ay:()=>o,RM:()=>s});var n=t(4848),r=t(8453);const s=[];function c(e){const i={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,n.jsx)(i.admonition,{type:"info",children:(0,n.jsx)(i.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(c,{...e})}):c(e)}},7292:(e,i,t)=>{t.r(i),t.d(i,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>c,metadata:()=>a,toc:()=>l});var n=t(4848),r=t(8453),s=t(8481);const c={sidebar_position:42,title:"Process Digital Facility Record"},o=void 0,a={id:"mock-apps/services/process-digital-facility-record",title:"Process Digital Facility Record",description:"Description",source:"@site/docs/mock-apps/services/process-digital-facility-record.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-digital-facility-record",permalink:"/tests-untp/docs/mock-apps/services/process-digital-facility-record",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-digital-facility-record.md",tags:[],version:"current",sidebarPosition:42,frontMatter:{sidebar_position:42,title:"Process Digital Facility Record"},sidebar:"tutorialSidebar",previous:{title:"Merge To Local Storage",permalink:"/tests-untp/docs/mock-apps/services/merge-to-local-storage"},next:{title:"Process Digital Identity Anchor",permalink:"/tests-untp/docs/mock-apps/services/process-digital-identity-anchor"}},d={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const i={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Ay,{}),"\n",(0,n.jsx)(i.h2,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(i.p,{children:["The ",(0,n.jsx)(i.code,{children:"processDigitalFacilityRecord"})," service is responsible for processing a digital facility record, issuing a ",(0,n.jsx)(i.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,n.jsx)(i.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored digital identity anchor with the ",(0,n.jsx)(i.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a digital facility record, from data input to storage and resolution."]}),"\n",(0,n.jsx)(i.h2,{id:"diagram",children:"Diagram"}),"\n",(0,n.jsx)(i.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processDigitalFacilityRecord\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processDigitalFacilityRecord(digitalFacilityRecord, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return digital facility record VC and resolver URL"}),"\n",(0,n.jsx)(i.h2,{id:"example",children:"Example"}),"\n",(0,n.jsx)(i.pre,{children:(0,n.jsx)(i.code,{className:"language-json",children:'{\n "name": "processDigitalFacilityRecord",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "digitalFacilityRecord": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalFacilityRecord"],\n "renderTemplate": [\n {\n "template": "
DigitalFacilityRecord
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gln",\n "dlrLinkTitle": "DigitalFacilityRecord",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,n.jsx)(i.h2,{id:"definitions",children:"Definitions"}),"\n",(0,n.jsxs)(i.table,{children:[(0,n.jsx)(i.thead,{children:(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.th,{children:"Property"}),(0,n.jsx)(i.th,{children:"Required"}),(0,n.jsx)(i.th,{children:"Description"}),(0,n.jsx)(i.th,{children:"Type"})]})}),(0,n.jsxs)(i.tbody,{children:[(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"vckit"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"Configuration for the VCKit service"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"digitalFacilityRecord"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"Configuration for the Digital Facility Record"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"storage"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"Configuration for storage service"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"dlr"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"Configuration for the Digital Link Resolver"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,n.jsxs)(i.tr,{children:[(0,n.jsx)(i.td,{children:"identifierKeyPath"}),(0,n.jsx)(i.td,{children:"Yes"}),(0,n.jsx)(i.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,n.jsx)(i.td,{children:(0,n.jsx)(i.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:i}={...(0,r.R)(),...e.components};return i?(0,n.jsx)(i,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453:(e,i,t)=>{t.d(i,{R:()=>c,x:()=>o});var n=t(6540);const r={},s=n.createContext(r);function c(e){const i=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(i):{...i,...e}}),[i,e])}function o(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:c(e.components),n.createElement(s.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/680d5359.a3eef2be.js b/assets/js/680d5359.a3eef2be.js
deleted file mode 100644
index f4f46a97..00000000
--- a/assets/js/680d5359.a3eef2be.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8735],{8481:(e,n,t)=>{t.d(n,{Ay:()=>o,RM:()=>r});var s=t(4848),i=t(8453);const r=[];function a(e){const n={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},857:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var s=t(4848),i=t(8453),r=t(8481);const a={sidebar_position:24,title:"Process Transaction Event"},o=void 0,c={id:"mock-apps/services/process-transaction-event",title:"Process Transaction Event",description:"Description",source:"@site/docs/mock-apps/services/process-transaction-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-transaction-event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-transaction-event.md",tags:[],version:"current",sidebarPosition:24,frontMatter:{sidebar_position:24,title:"Process Transaction Event"},sidebar:"tutorialSidebar",previous:{title:"Process DPP",permalink:"/tests-untp/docs/mock-apps/services/process-dpp"},next:{title:"Process Transformation Event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"processTransactionEvent"})," service is responsible for processing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Transaction Event (DTE)"}),", issuing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),", and managing DPPs in local storage associated with the event. It handles the entire lifecycle of creating and managing a transaction event, from data input to storage, resolution, and local data management."]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processTransactionEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nparticipant L as LocalStorage\nC->>P: Call processTransactionEvent(transactionEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP->>L: Delete associated DPPs from local storage\nP--\x3e>C: Return VC and resolver URL"}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "name": "processTransactionEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "epcisTransactionEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
Transaction Event
ID: {{transactionId}}
"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Transaction Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/transactionId",\n "localStorageParams": {\n "storageKey": "transactionEvents",\n "keyPath": "/transactionId"\n }\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"vckit"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"epcisTransactionEvent"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the EPCIS Transaction Event"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"storage"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for storage service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dlr"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"identifierKeyPath"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"localStorageParams"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for local storage management"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/local-storage",children:"LocalStorage"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(6540);const i={},r=s.createContext(i);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/680d5359.cc41aac3.js b/assets/js/680d5359.cc41aac3.js
new file mode 100644
index 00000000..95927928
--- /dev/null
+++ b/assets/js/680d5359.cc41aac3.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[8735],{8481:(e,n,t)=>{t.d(n,{Ay:()=>o,RM:()=>r});var s=t(4848),i=t(8453);const r=[];function a(e){const n={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function o(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},857:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>o,default:()=>h,frontMatter:()=>a,metadata:()=>c,toc:()=>l});var s=t(4848),i=t(8453),r=t(8481);const a={sidebar_position:24,title:"Process Transaction Event"},o=void 0,c={id:"mock-apps/services/process-transaction-event",title:"Process Transaction Event",description:"Description",source:"@site/docs/mock-apps/services/process-transaction-event.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-transaction-event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-transaction-event.md",tags:[],version:"current",sidebarPosition:24,frontMatter:{sidebar_position:24,title:"Process Transaction Event"},sidebar:"tutorialSidebar",previous:{title:"Process DPP",permalink:"/tests-untp/docs/mock-apps/services/process-dpp"},next:{title:"Process Transformation Event",permalink:"/tests-untp/docs/mock-apps/services/process-transformation-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"processTransactionEvent"})," service is responsible for processing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalTraceabilityEvents",children:"Transaction Event (DTE)"}),", issuing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored DTE with the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),", and managing DPPs in local storage associated with the event. It handles the entire lifecycle of creating and managing a transaction event, from data input to storage, resolution, and local data management."]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processTransactionEvent\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nparticipant L as LocalStorage\nC->>P: Call processTransactionEvent(transactionEvent, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP->>L: Delete associated DPPs from local storage\nP--\x3e>C: Return VC and resolver URL"}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "name": "processTransactionEvent",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "epcisTransactionEvent": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalTraceabilityEvent"],\n "renderTemplate": [\n {\n "type": "html",\n "template": "
Transaction Event
ID: {{transactionId}}
"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "Transaction Event",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/transactionId",\n "localStorageParams": {\n "storageKey": "transactionEvents",\n "keyPath": "/transactionId"\n }\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"vckit"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"epcisTransactionEvent"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the EPCIS Transaction Event"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"storage"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for storage service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dlr"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"identifierKeyPath"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"localStorageParams"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for local storage management"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/local-storage",children:"LocalStorage"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>a,x:()=>o});var s=t(6540);const i={},r=s.createContext(i);function a(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function o(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:a(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/8d5201cb.3e2bc0b5.js b/assets/js/8d5201cb.e3ee0870.js
similarity index 66%
rename from assets/js/8d5201cb.3e2bc0b5.js
rename to assets/js/8d5201cb.e3ee0870.js
index c4833052..c495c50b 100644
--- a/assets/js/8d5201cb.3e2bc0b5.js
+++ b/assets/js/8d5201cb.e3ee0870.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4912],{8481:(e,n,t)=>{t.d(n,{Ay:()=>a,RM:()=>r});var i=t(4848),s=t(8453);const r=[];function o(e){const n={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},8072:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=t(4848),s=t(8453),r=t(8481);const o={sidebar_position:14,title:"Service"},a=void 0,c={id:"mock-apps/configuration/service-config",title:"Service",description:"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities.",source:"@site/docs/mock-apps/configuration/service-config.md",sourceDirName:"mock-apps/configuration",slug:"/mock-apps/configuration/service-config",permalink:"/tests-untp/docs/mock-apps/configuration/service-config",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/configuration/service-config.md",tags:[],version:"current",sidebarPosition:14,frontMatter:{sidebar_position:14,title:"Service"},sidebar:"tutorialSidebar",previous:{title:"Component",permalink:"/tests-untp/docs/mock-apps/configuration/component-config"},next:{title:"Components",permalink:"/tests-untp/docs/mock-apps/components/"}},d={},l=[...r.RM,{value:"Diagram",id:"diagram",level:2},{value:"Config",id:"config",level:2},{value:"Example",id:"example",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(n.p,{children:"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities."}),"\n",(0,i.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"graph TD\n A[Service]\n A --\x3e B[Name]\n A --\x3e C[Parameters]\n\n C --\x3e C1[Parameter 1]\n C --\x3e C2[Parameter 2]\n\n C1 --\x3e D1[vckit]\n C1 --\x3e D2[dpp]\n C1 --\x3e D3[dlr]\n C1 --\x3e D4[storage]\n C1 --\x3e D5[identifierKeyPath]"}),"\n",(0,i.jsx)(n.h2,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Property"}),(0,i.jsx)(n.th,{children:"Required"}),(0,i.jsx)(n.th,{children:"Description"}),(0,i.jsx)(n.th,{children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"name"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"The name of the service (depends on service used)"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/services/",children:"Service"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"parameters"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"An array of parameter objects for the services (depends on service used)"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/services/",children:"Service"})})]})]})]}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "services": [\n {\n "name": "processDPP",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:example.com"\n },\n "dpp": {\n "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],\n "renderTemplate": [],\n "type": ["VerifiableCredential", " DigitalProductPassport"],\n "dlrLinkTitle": "Steel Passport",\n "dlrIdentificationKeyType": "gtin",\n "dlrVerificationPage": "http://localhost:3000/verify"\n },\n "dlr": {\n "dlrAPIUrl": "http://localhost:8080",\n "dlrAPIKey": "5555555555555"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "identifierKeyPath": "/product/itemIdentifiers/0/identifierValue"\n }\n ]\n },\n {\n "name": "mergeToLocalStorage",\n "parameters": [\n {\n "storageKey": "Steel_Mill_1_dpps",\n "objectKeyPath": "/vc/credentialSubject/product/itemIdentifiers/0/identifierValue"\n }\n ]\n }\n ]\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(6540);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4912],{8481:(e,n,t)=>{t.d(n,{Ay:()=>a,RM:()=>r});var i=t(4848),s=t(8453);const r=[];function o(e){const n={admonition:"admonition",p:"p",...(0,s.R)(),...e.components};return(0,i.jsx)(n.admonition,{type:"info",children:(0,i.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function a(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(o,{...e})}):o(e)}},8072:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>a,default:()=>h,frontMatter:()=>o,metadata:()=>c,toc:()=>l});var i=t(4848),s=t(8453),r=t(8481);const o={sidebar_position:14,title:"Service"},a=void 0,c={id:"mock-apps/configuration/service-config",title:"Service",description:"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities.",source:"@site/docs/mock-apps/configuration/service-config.md",sourceDirName:"mock-apps/configuration",slug:"/mock-apps/configuration/service-config",permalink:"/tests-untp/docs/mock-apps/configuration/service-config",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/configuration/service-config.md",tags:[],version:"current",sidebarPosition:14,frontMatter:{sidebar_position:14,title:"Service"},sidebar:"tutorialSidebar",previous:{title:"Component",permalink:"/tests-untp/docs/mock-apps/configuration/component-config"},next:{title:"Components",permalink:"/tests-untp/docs/mock-apps/components/"}},d={},l=[...r.RM,{value:"Diagram",id:"diagram",level:2},{value:"Config",id:"config",level:2},{value:"Example",id:"example",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Ay,{}),"\n",(0,i.jsx)(n.p,{children:"Services are units of business logic that perform specific operations or interactions with external systems. They handle data processing, API calls, and other backend functionalities."}),"\n",(0,i.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,i.jsx)(n.mermaid,{value:"graph TD\n A[Service]\n A --\x3e B[Name]\n A --\x3e C[Parameters]\n\n C --\x3e C1[Parameter 1]\n C --\x3e C2[Parameter 2]\n\n C1 --\x3e D1[vckit]\n C1 --\x3e D2[dpp]\n C1 --\x3e D3[dlr]\n C1 --\x3e D4[storage]\n C1 --\x3e D5[identifierKeyPath]"}),"\n",(0,i.jsx)(n.h2,{id:"config",children:"Config"}),"\n",(0,i.jsxs)(n.table,{children:[(0,i.jsx)(n.thead,{children:(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.th,{children:"Property"}),(0,i.jsx)(n.th,{children:"Required"}),(0,i.jsx)(n.th,{children:"Description"}),(0,i.jsx)(n.th,{children:"Type"})]})}),(0,i.jsxs)(n.tbody,{children:[(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"name"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"The name of the service (depends on service used)"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/services/",children:"Service"})})]}),(0,i.jsxs)(n.tr,{children:[(0,i.jsx)(n.td,{children:"parameters"}),(0,i.jsx)(n.td,{children:"Yes"}),(0,i.jsx)(n.td,{children:"An array of parameter objects for the services (depends on service used)"}),(0,i.jsx)(n.td,{children:(0,i.jsx)(n.a,{href:"/docs/mock-apps/services/",children:"Service"})})]})]})]}),"\n",(0,i.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-json",children:'{\n "services": [\n {\n "name": "processDPP",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "dpp": {\n "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],\n "renderTemplate": [],\n "type": ["VerifiableCredential", " DigitalProductPassport"],\n "dlrLinkTitle": "Steel Passport",\n "dlrIdentificationKeyType": "gtin",\n "dlrVerificationPage": "http://localhost:3000/verify"\n },\n "dlr": {\n "dlrAPIUrl": "http://localhost:8080",\n "dlrAPIKey": "5555555555555"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "identifierKeyPath": "/product/itemIdentifiers/0/identifierValue"\n }\n ]\n },\n {\n "name": "mergeToLocalStorage",\n "parameters": [\n {\n "storageKey": "Steel_Mill_1_dpps",\n "objectKeyPath": "/vc/credentialSubject/product/itemIdentifiers/0/identifierValue"\n }\n ]\n }\n ]\n}\n'})})]})}function h(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>a});var i=t(6540);const s={},r=i.createContext(s);function o(e){const n=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function a(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:o(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/dbe878d5.2b4195be.js b/assets/js/dbe878d5.2b4195be.js
new file mode 100644
index 00000000..c71fe3ea
--- /dev/null
+++ b/assets/js/dbe878d5.2b4195be.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4818],{8481:(e,t,n)=>{n.d(t,{Ay:()=>c,RM:()=>r});var s=n(4848),i=n(8453);const r=[];function o(e){const t={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},3560:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>p});var s=n(4848),i=n(8453),r=n(8481);const o={sidebar_position:23,title:"Process DPP"},c=void 0,a={id:"mock-apps/services/process-dpp",title:"Process DPP",description:"Description",source:"@site/docs/mock-apps/services/process-dpp.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-dpp",permalink:"/tests-untp/docs/mock-apps/services/process-dpp",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-dpp.md",tags:[],version:"current",sidebarPosition:23,frontMatter:{sidebar_position:23,title:"Process DPP"},sidebar:"tutorialSidebar",previous:{title:"Services",permalink:"/tests-untp/docs/mock-apps/services/"},next:{title:"Process Transaction Event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event"}},d={},p=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function l(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"processDPP"})," service is responsible for processing a ",(0,s.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalProductPassport",children:"Digital Product Passport (DPP)"}),", issuing a ",(0,s.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,s.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", and registering the link to the stored DPP with the ",(0,s.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a DPP, from data input to storage and resolution."]}),"\n",(0,s.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(t.mermaid,{value:"\nsequenceDiagram\n\nparticipant C as Client\n\nparticipant P as processDPP\n\nparticipant V as VCKit\n\nparticipant S as Storage\n\nparticipant D as DLR\n\nC->>P: Call processDPP(data, context)\n\nP->>P: Validate context\n\nP->>P: Extract identifier\n\nP->>V: Issue VC\n\nV--\x3e>P: Return VC\n\nP->>S: Upload VC\n\nS--\x3e>P: Return VC URL\n\nP->>D: Register link resolver\n\nD--\x3e>P: Return resolver URL\n\nP--\x3e>C: Return VC and resolver URL\n"}),"\n",(0,s.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-json",children:'{\n "name": "processDPP",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "dpp": {\n "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],\n "renderTemplate": [\n {\n "template": "...",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "type": ["DigitalProductPassport"],\n "dlrLinkTitle": "Steel Passport",\n "dlrIdentificationKeyType": "gtin",\n "dlrVerificationPage": "http://localhost:3332/verify"\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com",\n "dlrAPIKey": "5555555555555",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "identifierKeyPath": "/product/itemIdentifiers/0/identifierValue"\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{children:"Property"}),(0,s.jsx)(t.th,{children:"Required"}),(0,s.jsx)(t.th,{children:"Description"}),(0,s.jsx)(t.th,{children:"Type"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"vckit"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"dpp"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"Configuration for the Digital Product Passport"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"DPP"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"dlr"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"storage"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"Configuration for storage service"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{children:"identifierKeyPath"}),(0,s.jsx)(t.td,{children:"Yes"}),(0,s.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,s.jsx)(t.td,{children:(0,s.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,i.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(l,{...e})}):l(e)}},8453:(e,t,n)=>{n.d(t,{R:()=>o,x:()=>c});var s=n(6540);const i={},r=s.createContext(i);function o(e){const t=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/dbe878d5.5d048a60.js b/assets/js/dbe878d5.5d048a60.js
deleted file mode 100644
index ec4248ec..00000000
--- a/assets/js/dbe878d5.5d048a60.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[4818],{8481:(e,n,t)=>{t.d(n,{Ay:()=>c,RM:()=>r});var s=t(4848),i=t(8453);const r=[];function o(e){const n={admonition:"admonition",p:"p",...(0,i.R)(),...e.components};return(0,s.jsx)(n.admonition,{type:"info",children:(0,s.jsx)(n.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(o,{...e})}):o(e)}},3560:(e,n,t)=>{t.r(n),t.d(n,{assets:()=>d,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var s=t(4848),i=t(8453),r=t(8481);const o={sidebar_position:23,title:"Process DPP"},c=void 0,a={id:"mock-apps/services/process-dpp",title:"Process DPP",description:"Description",source:"@site/docs/mock-apps/services/process-dpp.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-dpp",permalink:"/tests-untp/docs/mock-apps/services/process-dpp",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-dpp.md",tags:[],version:"current",sidebarPosition:23,frontMatter:{sidebar_position:23,title:"Process DPP"},sidebar:"tutorialSidebar",previous:{title:"Services",permalink:"/tests-untp/docs/mock-apps/services/"},next:{title:"Process Transaction Event",permalink:"/tests-untp/docs/mock-apps/services/process-transaction-event"}},d={},l=[...r.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Ay,{}),"\n",(0,s.jsx)(n.h2,{id:"description",children:"Description"}),"\n",(0,s.jsxs)(n.p,{children:["The ",(0,s.jsx)(n.code,{children:"processDPP"})," service is responsible for processing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/DigitalProductPassport",children:"Digital Product Passport (DPP)"}),", issuing a ",(0,s.jsx)(n.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", and registering the link to the stored DPP with the ",(0,s.jsx)(n.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a DPP, from data input to storage and resolution."]}),"\n",(0,s.jsx)(n.h2,{id:"diagram",children:"Diagram"}),"\n",(0,s.jsx)(n.mermaid,{value:"\nsequenceDiagram\n\nparticipant C as Client\n\nparticipant P as processDPP\n\nparticipant V as VCKit\n\nparticipant S as Storage\n\nparticipant D as DLR\n\nC->>P: Call processDPP(data, context)\n\nP->>P: Validate context\n\nP->>P: Extract identifier\n\nP->>V: Issue VC\n\nV--\x3e>P: Return VC\n\nP->>S: Upload VC\n\nS--\x3e>P: Return VC URL\n\nP->>D: Register link resolver\n\nD--\x3e>P: Return resolver URL\n\nP--\x3e>C: Return VC and resolver URL\n"}),"\n",(0,s.jsx)(n.h2,{id:"example",children:"Example"}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-json",children:'{\n "name": "processDPP",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:example.com:steel-mill-1"\n },\n "dpp": {\n "context": ["https://dpp-json-ld.s3.ap-southeast-2.amazonaws.com/dppld.json"],\n "renderTemplate": [\n {\n "template": "...",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "type": ["DigitalProductPassport"],\n "dlrLinkTitle": "Steel Passport",\n "dlrIdentificationKeyType": "gtin",\n "dlrVerificationPage": "http://localhost:3332/verify"\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com",\n "dlrAPIKey": "5555555555555",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "identifierKeyPath": "/product/itemIdentifiers/0/identifierValue"\n }\n ]\n}\n'})}),"\n",(0,s.jsx)(n.h2,{id:"definitions",children:"Definitions"}),"\n",(0,s.jsxs)(n.table,{children:[(0,s.jsx)(n.thead,{children:(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.th,{children:"Property"}),(0,s.jsx)(n.th,{children:"Required"}),(0,s.jsx)(n.th,{children:"Description"}),(0,s.jsx)(n.th,{children:"Type"})]})}),(0,s.jsxs)(n.tbody,{children:[(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"vckit"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the VCKit service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dpp"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Product Passport"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/credential",children:"DPP"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"dlr"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for the Digital Link Resolver"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"storage"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"Configuration for storage service"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,s.jsxs)(n.tr,{children:[(0,s.jsx)(n.td,{children:"identifierKeyPath"}),(0,s.jsx)(n.td,{children:"Yes"}),(0,s.jsx)(n.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,s.jsx)(n.td,{children:(0,s.jsx)(n.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:n}={...(0,i.R)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(p,{...e})}):p(e)}},8453:(e,n,t)=>{t.d(n,{R:()=>o,x:()=>c});var s=t(6540);const i={},r=s.createContext(i);function o(e){const n=s.useContext(r);return s.useMemo((function(){return"function"==typeof e?e(n):{...n,...e}}),[n,e])}function c(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),s.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/deb174ca.23db82bb.js b/assets/js/deb174ca.23db82bb.js
deleted file mode 100644
index 6c8a23d9..00000000
--- a/assets/js/deb174ca.23db82bb.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[1296],{8481:(e,t,i)=>{i.d(t,{Ay:()=>c,RM:()=>s});var n=i(4848),r=i(8453);const s=[];function o(e){const t={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},2561:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>h,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var n=i(4848),r=i(8453),s=i(8481);const o={sidebar_position:43,title:"Process Digital Identity Anchor"},c=void 0,d={id:"mock-apps/services/process-digital-identity-anchor",title:"Process Digital Identity Anchor",description:"Description",source:"@site/docs/mock-apps/services/process-digital-identity-anchor.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-digital-identity-anchor",permalink:"/tests-untp/docs/mock-apps/services/process-digital-identity-anchor",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-digital-identity-anchor.md",tags:[],version:"current",sidebarPosition:43,frontMatter:{sidebar_position:43,title:"Process Digital Identity Anchor"},sidebar:"tutorialSidebar",previous:{title:"Process Digital Facility Record",permalink:"/tests-untp/docs/mock-apps/services/process-digital-facility-record"},next:{title:"Process Association Event",permalink:"/tests-untp/docs/mock-apps/services/process-association-event"}},a={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function p(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Ay,{}),"\n",(0,n.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"processDigitalIdentityAnchor"})," service is responsible for processing a digital identity anchor, issuing a ",(0,n.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored digital identity anchor with the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a digital identity anchor, from data input to storage and resolution."]}),"\n",(0,n.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,n.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processDigitalIdentityAnchor\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processDigitalIdentityAnchor(digitalIdentityAnchor, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return digital identity anchor VC and resolver URL"}),"\n",(0,n.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'{\n "name": "processDigitalIdentityAnchor",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "https://api.vckit.example.com",\n "issuer": "did:example:123456789abcdefghi"\n },\n "digitalIdentityAnchor": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalIdentityAnchor"],\n "renderTemplate": [\n {\n "template": "
DigitalIdentityAnchor
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "DigitalIdentityAnchor",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Property"}),(0,n.jsx)(t.th,{children:"Required"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"vckit"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"digitalIdentityAnchor"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the Digital Identity Anchor"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"storage"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for storage service"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"dlr"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"identifierKeyPath"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>c});var n=i(6540);const r={},s=n.createContext(r);function o(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/deb174ca.8bdbd82f.js b/assets/js/deb174ca.8bdbd82f.js
new file mode 100644
index 00000000..a8317dc0
--- /dev/null
+++ b/assets/js/deb174ca.8bdbd82f.js
@@ -0,0 +1 @@
+"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[1296],{8481:(e,t,i)=>{i.d(t,{Ay:()=>c,RM:()=>s});var n=i(4848),r=i(8453);const s=[];function o(e){const t={admonition:"admonition",p:"p",...(0,r.R)(),...e.components};return(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"Please note that this content is under development and is not ready for implementation. This status message will be updated as content development progresses."})})}function c(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(o,{...e})}):o(e)}},2561:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>l});var n=i(4848),r=i(8453),s=i(8481);const o={sidebar_position:43,title:"Process Digital Identity Anchor"},c=void 0,d={id:"mock-apps/services/process-digital-identity-anchor",title:"Process Digital Identity Anchor",description:"Description",source:"@site/docs/mock-apps/services/process-digital-identity-anchor.md",sourceDirName:"mock-apps/services",slug:"/mock-apps/services/process-digital-identity-anchor",permalink:"/tests-untp/docs/mock-apps/services/process-digital-identity-anchor",draft:!1,unlisted:!1,editUrl:"https://github.com/uncefact/tests-untp/tree/main/docs/mock-apps/services/process-digital-identity-anchor.md",tags:[],version:"current",sidebarPosition:43,frontMatter:{sidebar_position:43,title:"Process Digital Identity Anchor"},sidebar:"tutorialSidebar",previous:{title:"Process Digital Facility Record",permalink:"/tests-untp/docs/mock-apps/services/process-digital-facility-record"},next:{title:"Process Association Event",permalink:"/tests-untp/docs/mock-apps/services/process-association-event"}},a={},l=[...s.RM,{value:"Description",id:"description",level:2},{value:"Diagram",id:"diagram",level:2},{value:"Example",id:"example",level:2},{value:"Definitions",id:"definitions",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.R)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.Ay,{}),"\n",(0,n.jsx)(t.h2,{id:"description",children:"Description"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"processDigitalIdentityAnchor"})," service is responsible for processing a digital identity anchor, issuing a ",(0,n.jsx)(t.a,{href:"https://uncefact.github.io/spec-untp/docs/specification/VerifiableCredentials",children:"Verifiable Credential (VC)"}),", uploading it to the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/storage-service",children:"Storage service"}),", registering the link to the stored digital identity anchor with the ",(0,n.jsx)(t.a,{href:"/docs/mock-apps/dependent-services/identity-resolution-service",children:"Identity Resolver service"}),". It handles the entire lifecycle of creating and managing a digital identity anchor, from data input to storage and resolution."]}),"\n",(0,n.jsx)(t.h2,{id:"diagram",children:"Diagram"}),"\n",(0,n.jsx)(t.mermaid,{value:"sequenceDiagram\nparticipant C as Client\nparticipant P as processDigitalIdentityAnchor\nparticipant V as VCKit\nparticipant S as Storage\nparticipant D as DLR\nC->>P: Call processDigitalIdentityAnchor(digitalIdentityAnchor, context)\nP->>P: Validate context\nP->>P: Extract identifier\nP->>V: Issue VC\nV--\x3e>P: Return VC\nP->>S: Upload VC\nS--\x3e>P: Return VC URL\nP->>D: Register link resolver\nD--\x3e>P: Return resolver URL\nP--\x3e>C: Return digital identity anchor VC and resolver URL"}),"\n",(0,n.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-json",children:'{\n "name": "processDigitalIdentityAnchor",\n "parameters": [\n {\n "vckit": {\n "vckitAPIUrl": "http://localhost:3332/v2",\n "issuer": "did:web:uncefact.github.io:project-vckit:test-and-development",\n "headers": {\n "Authorization": "Bearer test123"\n }\n },\n "digitalIdentityAnchor": {\n "context": ["https://www.w3.org/2018/credentials/v1", "https://gs1.org/voc/"],\n "type": ["DigitalIdentityAnchor"],\n "renderTemplate": [\n {\n "template": "
DigitalIdentityAnchor
",\n "@type": "WebRenderingTemplate2022"\n }\n ],\n "dlrIdentificationKeyType": "gtin",\n "dlrLinkTitle": "DigitalIdentityAnchor",\n "dlrVerificationPage": "https://verify.example.com"\n },\n "storage": {\n "url": "http://localhost:3334/v1/documents",\n "params": {\n "resultPath": "/uri",\n "bucket": "verifiable-credentials"\n },\n "options": {\n "method": "POST",\n "headers": {\n "Content-Type": "application/json"\n }\n }\n },\n "dlr": {\n "dlrAPIUrl": "https://dlr.example.com/api",\n "dlrAPIKey": "dlr-api-key-12345",\n "namespace": "gs1",\n "linkRegisterPath": "/api/resolver"\n },\n "identifierKeyPath": "/id"\n }\n ]\n}\n'})}),"\n",(0,n.jsx)(t.h2,{id:"definitions",children:"Definitions"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{children:"Property"}),(0,n.jsx)(t.th,{children:"Required"}),(0,n.jsx)(t.th,{children:"Description"}),(0,n.jsx)(t.th,{children:"Type"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"vckit"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the VCKit service"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/vckit",children:"VCKit"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"digitalIdentityAnchor"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the Digital Identity Anchor"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/credential",children:"Credential"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"storage"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for storage service"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/storage",children:"Storage"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"dlr"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"Configuration for the Digital Link Resolver"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/idr",children:"IDR"})})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{children:"identifierKeyPath"}),(0,n.jsx)(t.td,{children:"Yes"}),(0,n.jsx)(t.td,{children:"JSON path to the identifier in the credential subject or the object for function and arguments of JSON path to construct identifier"}),(0,n.jsx)(t.td,{children:(0,n.jsx)(t.a,{href:"/docs/mock-apps/common/identifier-key-path",children:"IdentifierKeyPath"})})]})]})]})]})}function p(e={}){const{wrapper:t}={...(0,r.R)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},8453:(e,t,i)=>{i.d(t,{R:()=>o,x:()=>c});var n=i(6540);const r={},s=n.createContext(r);function o(e){const t=n.useContext(s);return n.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/assets/js/runtime~main.e4784f37.js b/assets/js/runtime~main.85ef0e2b.js
similarity index 63%
rename from assets/js/runtime~main.e4784f37.js
rename to assets/js/runtime~main.85ef0e2b.js
index f67df895..493013c9 100644
--- a/assets/js/runtime~main.e4784f37.js
+++ b/assets/js/runtime~main.85ef0e2b.js
@@ -1 +1 @@
-(()=>{"use strict";var e,a,f,d,c,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var f=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=b,r.c=t,e=[],r.O=(a,f,d,c)=>{if(!f){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[f,d,c]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};a=a||[null,f({}),f([]),f(f)];for(var t=2&d&&e;"object"==typeof t&&!~a.indexOf(t);t=f(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(c,b),c},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({51:"c25f9d34",236:"2c6d2c9f",340:"552cf059",551:"3496df51",584:"3e875788",787:"15ee9d98",793:"5ef14c48",987:"0531aaa8",1199:"22243546",1235:"a7456010",1244:"8ac603f8",1296:"deb174ca",1321:"b2f714bf",1337:"2053dccf",1579:"639ea42f",1614:"229906a6",1639:"ddadeb1e",1673:"5e3e7c06",1814:"3c1fb8fb",1895:"0ca26a2c",2097:"cf2a862f",2191:"553d0fc4",2344:"ac7eac65",2493:"e59573dd",2600:"af166207",2699:"e70afa19",2759:"c24a5290",2892:"39c45f72",2970:"f1c6d0c4",3128:"425c06f9",3132:"445e7840",3169:"a7bf941b",3187:"93e1ff5a",3396:"965e8f06",3706:"8fe80541",3769:"33b26378",3873:"826679d4",4129:"577d7028",4238:"9aa17927",4312:"4c54cd24",4576:"928beb81",4583:"1df93b7f",4700:"4505c18c",4711:"ef07c418",4815:"bb909d62",4818:"dbe878d5",4912:"8d5201cb",4938:"bd6744df",5400:"5f0b1014",5655:"ed523a4b",5742:"aba21aa0",5882:"dadc47ff",5922:"287c65a9",6061:"1f391b9e",6074:"1cda0596",6234:"d2578f67",6498:"a4ef1660",6762:"7842fcd7",6786:"2cbb390d",7017:"085742ca",7098:"a7bd4aaa",7120:"5b6552f6",7260:"483f55fd",7329:"990870e6",7408:"91dfa211",7410:"4a46c1d6",7431:"8e33b65d",7478:"a0e89b48",7553:"7e459fdf",7606:"3d7bc76c",7704:"4b1d5cdf",7905:"45670f71",7968:"dc91be4e",8228:"30221500",8401:"17896441",8508:"87121257",8735:"680d5359",8900:"ae987efd",9036:"a81fd1fb",9048:"a94703ab",9118:"50781d71",9265:"93020abc",9633:"45457832",9647:"5e95c892",9716:"10b977c0",9776:"a9c4a5b0",9849:"a6961166",9893:"c4b6dfb7"}[e]||e)+"."+{51:"feef1e72",236:"1509ea53",340:"15e7d9e2",551:"f81b43cb",584:"cd473d3a",787:"3dbdb460",793:"e9190f05",987:"dcb28509",1169:"d4d29cfb",1176:"c653568f",1199:"7253d2cd",1235:"51a4a774",1244:"16d5731d",1245:"50338f1c",1296:"23db82bb",1303:"346b01be",1321:"9c0929ab",1325:"de6a4488",1331:"ed7b009c",1337:"e7ccb1d2",1398:"e7416b13",1579:"2ae3abc6",1614:"72e4dd47",1639:"1d4fc1d9",1673:"98ef06b6",1814:"0afeb115",1895:"fe0f9f97",1946:"e3b91785",2097:"ab66bd00",2130:"fbdd4da3",2191:"5e9bd1e2",2237:"3ee39997",2344:"7897f117",2376:"315d26e4",2453:"ac68a1bb",2493:"b7dbd427",2548:"e1456249",2600:"4f38785d",2699:"d2b65815",2759:"bc4bc886",2843:"8379bc0a",2892:"f1e0050a",2901:"ba5f1921",2925:"5f697986",2970:"97d8a7b9",2983:"477447fa",3068:"105bfc02",3128:"ee06a06d",3132:"0f897e9f",3169:"9ccfdb34",3187:"a870492d",3396:"77721ed8",3626:"62620731",3706:"e3f0aa7e",3769:"79d6bc7d",3873:"769ecae6",4129:"5403b35c",4162:"a5ce8620",4238:"9f91f4e0",4312:"024ba15e",4576:"78cc4c33",4583:"7ffaf244",4700:"71ee8d35",4711:"24ea9782",4741:"dd3174ba",4815:"79af6e05",4818:"5d048a60",4912:"3e2bc0b5",4938:"762ec22e",4943:"099574ac",5400:"93d07628",5655:"aee92a3d",5742:"49179dbc",5882:"c80f739c",5922:"869f871e",6061:"54ade6ce",6074:"38b53546",6234:"6d7fb5be",6420:"f1689df3",6498:"f5d7c87e",6762:"850925ee",6786:"3feb9a0b",6788:"b342e239",6803:"2cb6a173",7017:"342a571b",7098:"d266fece",7120:"f7b6ecfb",7260:"4b3f4191",7329:"67a9ee13",7408:"35fc5846",7410:"42c1e432",7426:"c26d27b7",7431:"fbd2dc3c",7478:"1e1dbecb",7553:"8ce5940e",7560:"e43b5889",7606:"3f5e3f1e",7704:"5a35f893",7905:"3c22e742",7968:"1b46a3d9",8055:"6ed4725c",8228:"470339fb",8401:"acc1fe46",8478:"003d6999",8508:"54725cf9",8635:"3bb1ea69",8735:"a3eef2be",8810:"b4fdfbc4",8869:"5da0ea44",8900:"9f8bc493",9036:"fafc1adc",9048:"b524f7df",9118:"ca629501",9265:"f7228867",9633:"f3cc8ad5",9647:"ad8f2bde",9689:"18f8b2ca",9716:"42671af8",9776:"06fb557b",9849:"816d55dd",9893:"ea8d7b5a"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},c="documentation:",r.l=(e,a,f,b)=>{if(d[e])d[e].push(a);else{var t,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/tests-untp/",r.gca=function(e){return e={17896441:"8401",22243546:"1199",30221500:"8228",45457832:"9633",87121257:"8508",c25f9d34:"51","2c6d2c9f":"236","552cf059":"340","3496df51":"551","3e875788":"584","15ee9d98":"787","5ef14c48":"793","0531aaa8":"987",a7456010:"1235","8ac603f8":"1244",deb174ca:"1296",b2f714bf:"1321","2053dccf":"1337","639ea42f":"1579","229906a6":"1614",ddadeb1e:"1639","5e3e7c06":"1673","3c1fb8fb":"1814","0ca26a2c":"1895",cf2a862f:"2097","553d0fc4":"2191",ac7eac65:"2344",e59573dd:"2493",af166207:"2600",e70afa19:"2699",c24a5290:"2759","39c45f72":"2892",f1c6d0c4:"2970","425c06f9":"3128","445e7840":"3132",a7bf941b:"3169","93e1ff5a":"3187","965e8f06":"3396","8fe80541":"3706","33b26378":"3769","826679d4":"3873","577d7028":"4129","9aa17927":"4238","4c54cd24":"4312","928beb81":"4576","1df93b7f":"4583","4505c18c":"4700",ef07c418:"4711",bb909d62:"4815",dbe878d5:"4818","8d5201cb":"4912",bd6744df:"4938","5f0b1014":"5400",ed523a4b:"5655",aba21aa0:"5742",dadc47ff:"5882","287c65a9":"5922","1f391b9e":"6061","1cda0596":"6074",d2578f67:"6234",a4ef1660:"6498","7842fcd7":"6762","2cbb390d":"6786","085742ca":"7017",a7bd4aaa:"7098","5b6552f6":"7120","483f55fd":"7260","990870e6":"7329","91dfa211":"7408","4a46c1d6":"7410","8e33b65d":"7431",a0e89b48:"7478","7e459fdf":"7553","3d7bc76c":"7606","4b1d5cdf":"7704","45670f71":"7905",dc91be4e:"7968","680d5359":"8735",ae987efd:"8900",a81fd1fb:"9036",a94703ab:"9048","50781d71":"9118","93020abc":"9265","5e95c892":"9647","10b977c0":"9716",a9c4a5b0:"9776",a6961166:"9849",c4b6dfb7:"9893"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)f.push(d[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var c=new Promise(((f,c)=>d=e[a]=[f,c]));f.push(d[2]=c);var b=r.p+r.u(a),t=new Error;r.l(b,(f=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var c=f&&("load"===f.type?"missing":f.type),b=f&&f.target&&f.target.src;t.message="Loading chunk "+a+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,d[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var d,c,b=f[0],t=f[1],o=f[2],n=0;if(b.some((a=>0!==e[a]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(a&&a(f);n{"use strict";var e,f,a,d,c,b={},t={};function r(e){var f=t[e];if(void 0!==f)return f.exports;var a=t[e]={id:e,loaded:!1,exports:{}};return b[e].call(a.exports,a,a.exports,r),a.loaded=!0,a.exports}r.m=b,r.c=t,e=[],r.O=(f,a,d,c)=>{if(!a){var b=1/0;for(i=0;i=c)&&Object.keys(r.O).every((e=>r.O[e](a[o])))?a.splice(o--,1):(t=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[a,d,c]},r.n=e=>{var f=e&&e.__esModule?()=>e.default:()=>e;return r.d(f,{a:f}),f},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var c=Object.create(null);r.r(c);var b={};f=f||[null,a({}),a([]),a(a)];for(var t=2&d&&e;"object"==typeof t&&!~f.indexOf(t);t=a(t))Object.getOwnPropertyNames(t).forEach((f=>b[f]=()=>e[f]));return b.default=()=>e,r.d(c,b),c},r.d=(e,f)=>{for(var a in f)r.o(f,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:f[a]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((f,a)=>(r.f[a](e,f),f)),[])),r.u=e=>"assets/js/"+({51:"c25f9d34",236:"2c6d2c9f",340:"552cf059",551:"3496df51",584:"3e875788",787:"15ee9d98",793:"5ef14c48",987:"0531aaa8",1199:"22243546",1235:"a7456010",1244:"8ac603f8",1296:"deb174ca",1321:"b2f714bf",1337:"2053dccf",1579:"639ea42f",1614:"229906a6",1639:"ddadeb1e",1673:"5e3e7c06",1814:"3c1fb8fb",1895:"0ca26a2c",2097:"cf2a862f",2191:"553d0fc4",2344:"ac7eac65",2493:"e59573dd",2600:"af166207",2699:"e70afa19",2759:"c24a5290",2892:"39c45f72",2970:"f1c6d0c4",3128:"425c06f9",3132:"445e7840",3169:"a7bf941b",3187:"93e1ff5a",3396:"965e8f06",3706:"8fe80541",3769:"33b26378",3873:"826679d4",4129:"577d7028",4238:"9aa17927",4312:"4c54cd24",4576:"928beb81",4583:"1df93b7f",4700:"4505c18c",4711:"ef07c418",4815:"bb909d62",4818:"dbe878d5",4912:"8d5201cb",4938:"bd6744df",5400:"5f0b1014",5655:"ed523a4b",5742:"aba21aa0",5882:"dadc47ff",5922:"287c65a9",6061:"1f391b9e",6074:"1cda0596",6234:"d2578f67",6498:"a4ef1660",6762:"7842fcd7",6786:"2cbb390d",7017:"085742ca",7098:"a7bd4aaa",7120:"5b6552f6",7260:"483f55fd",7329:"990870e6",7408:"91dfa211",7410:"4a46c1d6",7431:"8e33b65d",7478:"a0e89b48",7553:"7e459fdf",7606:"3d7bc76c",7704:"4b1d5cdf",7905:"45670f71",7968:"dc91be4e",8228:"30221500",8401:"17896441",8508:"87121257",8735:"680d5359",8900:"ae987efd",9036:"a81fd1fb",9048:"a94703ab",9118:"50781d71",9265:"93020abc",9633:"45457832",9647:"5e95c892",9716:"10b977c0",9776:"a9c4a5b0",9849:"a6961166",9893:"c4b6dfb7"}[e]||e)+"."+{51:"feef1e72",236:"1509ea53",340:"15e7d9e2",551:"f81b43cb",584:"a422020f",787:"3dbdb460",793:"e9190f05",987:"dcb28509",1169:"d4d29cfb",1176:"c653568f",1199:"7253d2cd",1235:"51a4a774",1244:"16d5731d",1245:"50338f1c",1296:"8bdbd82f",1303:"346b01be",1321:"9c0929ab",1325:"de6a4488",1331:"ed7b009c",1337:"e7ccb1d2",1398:"e7416b13",1579:"6fc20dc0",1614:"69f15711",1639:"1d4fc1d9",1673:"98ef06b6",1814:"0afeb115",1895:"fe0f9f97",1946:"e3b91785",2097:"ab66bd00",2130:"fbdd4da3",2191:"5e9bd1e2",2237:"3ee39997",2344:"7897f117",2376:"315d26e4",2453:"ac68a1bb",2493:"b7dbd427",2548:"e1456249",2600:"4f38785d",2699:"d2b65815",2759:"bc4bc886",2843:"8379bc0a",2892:"38dbb57c",2901:"ba5f1921",2925:"5f697986",2970:"97d8a7b9",2983:"477447fa",3068:"105bfc02",3128:"ee06a06d",3132:"0f897e9f",3169:"9ccfdb34",3187:"a870492d",3396:"77721ed8",3626:"62620731",3706:"e3f0aa7e",3769:"79d6bc7d",3873:"769ecae6",4129:"c6b857be",4162:"a5ce8620",4238:"9f91f4e0",4312:"024ba15e",4576:"78cc4c33",4583:"7ffaf244",4700:"71ee8d35",4711:"24ea9782",4741:"dd3174ba",4815:"79af6e05",4818:"2b4195be",4912:"e3ee0870",4938:"762ec22e",4943:"099574ac",5400:"93d07628",5655:"aee92a3d",5742:"49179dbc",5882:"c80f739c",5922:"869f871e",6061:"54ade6ce",6074:"38b53546",6234:"6d7fb5be",6420:"f1689df3",6498:"f5d7c87e",6762:"850925ee",6786:"3feb9a0b",6788:"b342e239",6803:"2cb6a173",7017:"342a571b",7098:"d266fece",7120:"49e68133",7260:"4b3f4191",7329:"67a9ee13",7408:"35fc5846",7410:"42c1e432",7426:"c26d27b7",7431:"fbd2dc3c",7478:"1e1dbecb",7553:"8ce5940e",7560:"e43b5889",7606:"3f5e3f1e",7704:"4566cd3e",7905:"3c22e742",7968:"1b46a3d9",8055:"6ed4725c",8228:"470339fb",8401:"acc1fe46",8478:"003d6999",8508:"54725cf9",8635:"3bb1ea69",8735:"cc41aac3",8810:"b4fdfbc4",8869:"5da0ea44",8900:"9f8bc493",9036:"fafc1adc",9048:"b524f7df",9118:"ca629501",9265:"f7228867",9633:"85a576a6",9647:"ad8f2bde",9689:"18f8b2ca",9716:"42671af8",9776:"06fb557b",9849:"816d55dd",9893:"ea8d7b5a"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,f)=>Object.prototype.hasOwnProperty.call(e,f),d={},c="documentation:",r.l=(e,f,a,b)=>{if(d[e])d[e].push(f);else{var t,o;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var c=d[e];if(delete d[e],t.parentNode&&t.parentNode.removeChild(t),c&&c.forEach((e=>e(a))),f)return f(a)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/tests-untp/",r.gca=function(e){return e={17896441:"8401",22243546:"1199",30221500:"8228",45457832:"9633",87121257:"8508",c25f9d34:"51","2c6d2c9f":"236","552cf059":"340","3496df51":"551","3e875788":"584","15ee9d98":"787","5ef14c48":"793","0531aaa8":"987",a7456010:"1235","8ac603f8":"1244",deb174ca:"1296",b2f714bf:"1321","2053dccf":"1337","639ea42f":"1579","229906a6":"1614",ddadeb1e:"1639","5e3e7c06":"1673","3c1fb8fb":"1814","0ca26a2c":"1895",cf2a862f:"2097","553d0fc4":"2191",ac7eac65:"2344",e59573dd:"2493",af166207:"2600",e70afa19:"2699",c24a5290:"2759","39c45f72":"2892",f1c6d0c4:"2970","425c06f9":"3128","445e7840":"3132",a7bf941b:"3169","93e1ff5a":"3187","965e8f06":"3396","8fe80541":"3706","33b26378":"3769","826679d4":"3873","577d7028":"4129","9aa17927":"4238","4c54cd24":"4312","928beb81":"4576","1df93b7f":"4583","4505c18c":"4700",ef07c418:"4711",bb909d62:"4815",dbe878d5:"4818","8d5201cb":"4912",bd6744df:"4938","5f0b1014":"5400",ed523a4b:"5655",aba21aa0:"5742",dadc47ff:"5882","287c65a9":"5922","1f391b9e":"6061","1cda0596":"6074",d2578f67:"6234",a4ef1660:"6498","7842fcd7":"6762","2cbb390d":"6786","085742ca":"7017",a7bd4aaa:"7098","5b6552f6":"7120","483f55fd":"7260","990870e6":"7329","91dfa211":"7408","4a46c1d6":"7410","8e33b65d":"7431",a0e89b48:"7478","7e459fdf":"7553","3d7bc76c":"7606","4b1d5cdf":"7704","45670f71":"7905",dc91be4e:"7968","680d5359":"8735",ae987efd:"8900",a81fd1fb:"9036",a94703ab:"9048","50781d71":"9118","93020abc":"9265","5e95c892":"9647","10b977c0":"9716",a9c4a5b0:"9776",a6961166:"9849",c4b6dfb7:"9893"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(f,a)=>{var d=r.o(e,f)?e[f]:void 0;if(0!==d)if(d)a.push(d[2]);else if(/^(1869|5354)$/.test(f))e[f]=0;else{var c=new Promise(((a,c)=>d=e[f]=[a,c]));a.push(d[2]=c);var b=r.p+r.u(f),t=new Error;r.l(b,(a=>{if(r.o(e,f)&&(0!==(d=e[f])&&(e[f]=void 0),d)){var c=a&&("load"===a.type?"missing":a.type),b=a&&a.target&&a.target.src;t.message="Loading chunk "+f+" failed.\n("+c+": "+b+")",t.name="ChunkLoadError",t.type=c,t.request=b,d[1](t)}}),"chunk-"+f,f)}},r.O.j=f=>0===e[f];var f=(f,a)=>{var d,c,b=a[0],t=a[1],o=a[2],n=0;if(b.some((f=>0!==e[f]))){for(d in t)r.o(t,d)&&(r.m[d]=t[d]);if(o)var i=o(r)}for(f&&f(a);nIntroduction | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/asset/index.html b/docs/mock-apps/common/asset/index.html
index 3acfa775..900fbd09 100644
--- a/docs/mock-apps/common/asset/index.html
+++ b/docs/mock-apps/common/asset/index.html
@@ -4,7 +4,7 @@
Asset | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/component-type/index.html b/docs/mock-apps/common/component-type/index.html
index acec02f1..9e6066cb 100644
--- a/docs/mock-apps/common/component-type/index.html
+++ b/docs/mock-apps/common/component-type/index.html
@@ -4,7 +4,7 @@
Component Type | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/construct-data/index.html b/docs/mock-apps/common/construct-data/index.html
index 395628a4..ac2e7da7 100644
--- a/docs/mock-apps/common/construct-data/index.html
+++ b/docs/mock-apps/common/construct-data/index.html
@@ -4,7 +4,7 @@
Construct Data | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/credential/index.html b/docs/mock-apps/common/credential/index.html
index 45e07d0b..399686cc 100644
--- a/docs/mock-apps/common/credential/index.html
+++ b/docs/mock-apps/common/credential/index.html
@@ -4,7 +4,7 @@
Credential | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/default-verification-service-link/index.html b/docs/mock-apps/common/default-verification-service-link/index.html
index 54fffde6..e6663bfa 100644
--- a/docs/mock-apps/common/default-verification-service-link/index.html
+++ b/docs/mock-apps/common/default-verification-service-link/index.html
@@ -4,7 +4,7 @@
Default Verification Service Link | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/identifier-key-path/index.html b/docs/mock-apps/common/identifier-key-path/index.html
index 99f65f4b..d9c9caef 100644
--- a/docs/mock-apps/common/identifier-key-path/index.html
+++ b/docs/mock-apps/common/identifier-key-path/index.html
@@ -4,7 +4,7 @@
Identify Key Path | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/identify-provider/index.html b/docs/mock-apps/common/identify-provider/index.html
index f5a29765..4ce33ae8 100644
--- a/docs/mock-apps/common/identify-provider/index.html
+++ b/docs/mock-apps/common/identify-provider/index.html
@@ -4,7 +4,7 @@
Identify Provider | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/idr/index.html b/docs/mock-apps/common/idr/index.html
index 4b6fa458..4d70ba44 100644
--- a/docs/mock-apps/common/idr/index.html
+++ b/docs/mock-apps/common/idr/index.html
@@ -4,7 +4,7 @@
IDR | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/index.html b/docs/mock-apps/common/index.html
index 8733c552..f26edf22 100644
--- a/docs/mock-apps/common/index.html
+++ b/docs/mock-apps/common/index.html
@@ -4,7 +4,7 @@
Common | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/issuing-credential/index.html b/docs/mock-apps/common/issuing-credential/index.html
index 7af3d9b3..d9451abc 100644
--- a/docs/mock-apps/common/issuing-credential/index.html
+++ b/docs/mock-apps/common/issuing-credential/index.html
@@ -4,7 +4,7 @@
Issuing Credential | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/local-storage/index.html b/docs/mock-apps/common/local-storage/index.html
index 5911b353..b5677c38 100644
--- a/docs/mock-apps/common/local-storage/index.html
+++ b/docs/mock-apps/common/local-storage/index.html
@@ -4,7 +4,7 @@
Local Storage | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/render-template/index.html b/docs/mock-apps/common/render-template/index.html
index 46f9464b..e6bb434a 100644
--- a/docs/mock-apps/common/render-template/index.html
+++ b/docs/mock-apps/common/render-template/index.html
@@ -4,7 +4,7 @@
Render Template | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/storage/index.html b/docs/mock-apps/common/storage/index.html
index f2fe4300..b9d00a38 100644
--- a/docs/mock-apps/common/storage/index.html
+++ b/docs/mock-apps/common/storage/index.html
@@ -4,7 +4,7 @@
Storage | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/style/index.html b/docs/mock-apps/common/style/index.html
index feb7ec57..001bbbcd 100644
--- a/docs/mock-apps/common/style/index.html
+++ b/docs/mock-apps/common/style/index.html
@@ -4,7 +4,7 @@
Style | UN Transparency Protocol Test Suite
-
+
diff --git a/docs/mock-apps/common/vckit/index.html b/docs/mock-apps/common/vckit/index.html
index bc604104..0f634a0e 100644
--- a/docs/mock-apps/common/vckit/index.html
+++ b/docs/mock-apps/common/vckit/index.html
@@ -4,7 +4,7 @@
VCkit | UN Transparency Protocol Test Suite
-
+
@@ -12,6 +12,6 @@