diff --git a/docs/credentials-with-issuer-dependent-terms.json b/docs/credentials-with-issuer-dependent-terms.json index 017987d68..7a3402e03 100644 --- a/docs/credentials-with-issuer-dependent-terms.json +++ b/docs/credentials-with-issuer-dependent-terms.json @@ -91,6 +91,10 @@ "type": "MultiModalBillOfLadingCredential", "count": 0 }, + { + "type": "MonthlyAggregateDeliveryStatementCredential", + "count": 4 + }, { "type": "MonthlyAdvanceManifestCredential", "count": 26 diff --git a/docs/openapi/components/schemas/credentials/MonthlyAggregateDeliveryStatements.yml b/docs/openapi/components/schemas/credentials/MonthlyAggregateDeliveryStatements.yml new file mode 100644 index 000000000..2f89235c3 --- /dev/null +++ b/docs/openapi/components/schemas/credentials/MonthlyAggregateDeliveryStatements.yml @@ -0,0 +1,155 @@ +$linkedData: + term: MonthlyAggregateDeliveryStatementCredential + '@id': https://w3id.org/traceability#MonthlyAggregateDeliveryStatementCredential +title: Monthly Aggregate Delivery Statement Credential +tags: + - Oil and Gas +description: >- + Credential containing aggregate statements indicating item(s) delivered during the month +type: object +properties: + '@context': + type: array + readOnly: true + const: + - https://www.w3.org/2018/credentials/v1 + - https://w3id.org/traceability/v1 + default: + - https://www.w3.org/2018/credentials/v1 + - https://w3id.org/traceability/v1 + items: + type: string + enum: + - https://www.w3.org/2018/credentials/v1 + - https://w3id.org/traceability/v1 + type: + type: array + readOnly: true + const: + - VerifiableCredential + - MonthlyAggregateDeliveryStatementCredential + default: + - VerifiableCredential + - MonthlyAggregateDeliveryStatementCredential + items: + type: string + enum: + - VerifiableCredential + - MonthlyAggregateDeliveryStatementCredential + id: + type: string + name: + type: string + description: + type: string + issuanceDate: + type: string + issuer: + $ref: ../common/Organization.yml + credentialSchema: + type: object + properties: + id: + title: Id + description: The URL of the schema file to use to validate the shape of the JSON object + type: string + format: uri + example: https://w3id.org/traceability/openapi/components/schemas/credentials/MonthlyAggregateDeliveryStatementCredential.yml + default: https://w3id.org/traceability/openapi/components/schemas/credentials/MonthlyAggregateDeliveryStatementCredential.yml + readonly: true + type: + title: Type + description: The type of validation to be run against the defined schema + const: OpenApiSpecificationValidator2022 + credentialSubject: + properties: + type: + type: array + readOnly: true + const: + - MonthlyAggregateDeliveryStatement + default: + - MonthlyAggregateDeliveryStatement + deliveryStatements: + type: array + readOnly: true + items: + $ref: ../common/DeliveryStatement.yml + + proof: + $ref: ../snippets/proof.yml +additionalProperties: false +required: + - '@context' + - type + - id + - issuanceDate + - issuer + - credentialSubject +example: |- + { + "type": [ + "VerifiableCredential", + "MonthlyAggregateDeliveryStatementCredential" + ], + "@context": [ + "https://www.w3.org/2018/credentials/v1", + "https://w3id.org/traceability/v1" + ], + "id": "urn:credential:123", + "issuer": { + "type": [ + "Organization" + ], + "id": "did:web:organization.example.com", + "name": "Everything Garden Stuff" + }, + "issuanceDate": "2022-01-13T09:16:46Z", + "credentialSubject": { + "type": [ + "MonthlyAggregateDeliveryStatement" + ], + "deliveryStatements": [ + { + "type": [ + "DeliveryStatement" + ], + "commodity": { + "type": [ + "Commodity" + ], + "commodityCode": "2714.10.00.00", + "commodityCodeType": "HTS" + }, + "deliveredDate": "2019-12-11T03:50:55Z", + "deliveredVolume": { + "type": [ + "MeasuredValue" + ], + "value": "8806", + "unitCode": "dth" + }, + "observation": [ + { + "type": [ + "Observation" + ], + "property": { + "type": [ + "ChemicalProperty" + ], + "name": "Heat Content" + }, + "measurement": { + "type": [ + "MeasuredValue" + ], + "value": "50000", + "unitCode": "BTU" + } + } + ] + } + ] + } + } \ No newline at end of file diff --git a/docs/openapi/components/schemas/credentials/environmentalImpactCredential.yml b/docs/openapi/components/schemas/credentials/environmentalImpactCredential.yml index 0bc97fc4f..584550897 100644 --- a/docs/openapi/components/schemas/credentials/environmentalImpactCredential.yml +++ b/docs/openapi/components/schemas/credentials/environmentalImpactCredential.yml @@ -142,4 +142,4 @@ example: |- }, "CO2e": "1190" } - } + } \ No newline at end of file diff --git a/docs/openapi/openapi.yml b/docs/openapi/openapi.yml index 5096b8fba..3a7c485b9 100644 --- a/docs/openapi/openapi.yml +++ b/docs/openapi/openapi.yml @@ -2720,6 +2720,18 @@ paths: $ref: './components/schemas/credentials/MonthlyAdvanceManifestCredential.yml' + /schemas/credentials/MonthlyAggregateDeliveryStatements.yml: + get: + tags: + - credentials + responses: + '200': + content: + application/yml: + schema: + $ref: './components/schemas/credentials/MonthlyAggregateDeliveryStatements.yml' + + /schemas/credentials/MultiModalBillOfLadingCredential.yml: get: tags: diff --git a/packages/traceability-tests/examples/v2.json b/packages/traceability-tests/examples/v2.json index 60d5a0411..537ce535a 100644 --- a/packages/traceability-tests/examples/v2.json +++ b/packages/traceability-tests/examples/v2.json @@ -9,7 +9,7 @@ }, "examples": [ { - "issued": "eyJpc3MiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNemcwSWl3aVlXeG5Jam9pUlZNek9EUWlMQ0o0SWpvaU9XcHpSbEpXVm1weFNsazFTa2w1U25JMU9HZEZRblZ5YW10emFreHdUVUp2V1ZaRFpUWmxNRUo2VXpoQlV6Tk1RWGx5TjNoTGVGTm5VRTlwVUdOSFRTSXNJbmtpT2lKaWRIUk1YMlpWYTNSa2NpMU1hSGhOWTNwSmFtbDBaRnBXY0c5cGFYcHBVR2xuT0cxbk9ERmlkR1ZVVW0welFtcGFMV3c0ZFU1cWRrcExZV3RuVWpOQ0luMCIsImtpZCI6IiMwIiwiYWxnIjoiRVMzODQiLCJjdHkiOiJ2YytsZCtqc29uIn0.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9hY3Rpdml0eXN0cmVhbXMiXSwiaWQiOiJ1cm46dXVpZDpjNjc3ZmNhOS1jOTU1LTQxM2MtYWVmMy00YTM4ZDUzMzAyYTkiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiQWN0aXZpdHlQdWJBY3RvckNhcmQiXSwiY3JlZGVudGlhbFNjaGVtYSI6eyJpZCI6Imh0dHBzOi8vdzNjLWNjZy5naXRodWIuaW8vdHJhY2VhYmlsaXR5LXZvY2FiL29wZW5hcGkvY29tcG9uZW50cy9zY2hlbWFzL2NyZWRlbnRpYWxzL0FjdGl2aXR5UHViQWN0b3JDYXJkLnltbCIsInR5cGUiOiJKc29uU2NoZW1hIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjMtMDUtMjFUMTU6Mzk6NTcuOTQ0WiIsImlzc3VlciI6eyJpZCI6ImRpZDpqd2s6ZXlKcmRIa2lPaUpGUXlJc0ltTnlkaUk2SWxBdE16ZzBJaXdpWVd4bklqb2lSVk16T0RRaUxDSjRJam9pT1dwelJsSldWbXB4U2xrMVNrbDVTbkkxT0dkRlFuVnlhbXR6YWt4d1RVSnZXVlpEWlRabE1FSjZVemhCVXpOTVFYbHlOM2hMZUZOblVFOXBVR05IVFNJc0lua2lPaUppZEhSTVgyWlZhM1JrY2kxTWFIaE5ZM3BKYW1sMFpGcFdjRzlwYVhwcFVHbG5PRzFuT0RGaWRHVlVVbTB6UW1wYUxXdzRkVTVxZGtwTFlXdG5Vak5DSW4wIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7InR5cGUiOlsiUGVyc29uIl0sImlkIjoiaHR0cHM6Ly9rZW56b2lzaGlpLmV4YW1wbGUuY29tLyIsImZvbGxvd2luZyI6Imh0dHBzOi8va2Vuem9pc2hpaS5leGFtcGxlLmNvbS9mb2xsb3dpbmcuanNvbiIsImZvbGxvd2VycyI6Imh0dHBzOi8va2Vuem9pc2hpaS5leGFtcGxlLmNvbS9mb2xsb3dlcnMuanNvbiIsImxpa2VkIjoiaHR0cHM6Ly9rZW56b2lzaGlpLmV4YW1wbGUuY29tL2xpa2VkLmpzb24iLCJpbmJveCI6Imh0dHBzOi8va2Vuem9pc2hpaS5leGFtcGxlLmNvbS9pbmJveC5qc29uIiwib3V0Ym94IjoiaHR0cHM6Ly9rZW56b2lzaGlpLmV4YW1wbGUuY29tL2ZlZWQuanNvbiIsInByZWZlcnJlZFVzZXJuYW1lIjoia2Vuem9pc2hpaSIsIm5hbWUiOiLnn7PkupXlgaXolLUiLCJzdW1tYXJ5Ijoi44GT44Gu5pa544Gv44Gf44Gg44Gu5L6L44Gn44GZIiwiaWNvbiI6WyJodHRwczovL2tlbnpvaXNoaWkuZXhhbXBsZS5jb20vaW1hZ2UvMTY1OTg3YWtscmU0Il19fQ.UZ6CHaJ43KMUvc-3J91fAsKeZVCQdodBnj_6439fHHuH8xlSAWv-naZGpfADakzBXKAOwlkTLzm83EXY2AioxvB8IB4zciFN6_NsNYODjaoMPTCclJLxaTpCgppdu_iR", + "issued": "eyJpc3MiOiJkaWQ6andrOmV5SnJkSGtpT2lKRlF5SXNJbU55ZGlJNklsQXRNemcwSWl3aVlXeG5Jam9pUlZNek9EUWlMQ0o0SWpvaU9XcHpSbEpXVm1weFNsazFTa2w1U25JMU9HZEZRblZ5YW10emFreHdUVUp2V1ZaRFpUWmxNRUo2VXpoQlV6Tk1RWGx5TjNoTGVGTm5VRTlwVUdOSFRTSXNJbmtpT2lKaWRIUk1YMlpWYTNSa2NpMU1hSGhOWTNwSmFtbDBaRnBXY0c5cGFYcHBVR2xuT0cxbk9ERmlkR1ZVVW0welFtcGFMV3c0ZFU1cWRrcExZV3RuVWpOQ0luMCIsImtpZCI6IiMwIiwiYWxnIjoiRVMzODQiLCJjdHkiOiJ2YytsZCtqc29uIn0.eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vd3d3LnczLm9yZy9ucy9hY3Rpdml0eXN0cmVhbXMiXSwiaWQiOiJ1cm46dXVpZDpkODY2MDEwMS0xYjAxLTQ1NjgtODQ3ZC0zZTA3MGI1OTFmZDIiLCJ0eXBlIjpbIlZlcmlmaWFibGVDcmVkZW50aWFsIiwiQWN0aXZpdHlQdWJBY3RvckNhcmQiXSwiY3JlZGVudGlhbFNjaGVtYSI6eyJpZCI6Imh0dHBzOi8vdzNjLWNjZy5naXRodWIuaW8vdHJhY2VhYmlsaXR5LXZvY2FiL29wZW5hcGkvY29tcG9uZW50cy9zY2hlbWFzL2NyZWRlbnRpYWxzL0FjdGl2aXR5UHViQWN0b3JDYXJkLnltbCIsInR5cGUiOiJKc29uU2NoZW1hIn0sImlzc3VhbmNlRGF0ZSI6IjIwMjMtMDUtMjFUMTU6Mzk6NTcuOTQ0WiIsImlzc3VlciI6eyJpZCI6ImRpZDpqd2s6ZXlKcmRIa2lPaUpGUXlJc0ltTnlkaUk2SWxBdE16ZzBJaXdpWVd4bklqb2lSVk16T0RRaUxDSjRJam9pT1dwelJsSldWbXB4U2xrMVNrbDVTbkkxT0dkRlFuVnlhbXR6YWt4d1RVSnZXVlpEWlRabE1FSjZVemhCVXpOTVFYbHlOM2hMZUZOblVFOXBVR05IVFNJc0lua2lPaUppZEhSTVgyWlZhM1JrY2kxTWFIaE5ZM3BKYW1sMFpGcFdjRzlwYVhwcFVHbG5PRzFuT0RGaWRHVlVVbTB6UW1wYUxXdzRkVTVxZGtwTFlXdG5Vak5DSW4wIn0sImNyZWRlbnRpYWxTdWJqZWN0Ijp7InR5cGUiOlsiUGVyc29uIl0sImlkIjoiaHR0cHM6Ly9rZW56b2lzaGlpLmV4YW1wbGUuY29tLyIsImZvbGxvd2luZyI6Imh0dHBzOi8va2Vuem9pc2hpaS5leGFtcGxlLmNvbS9mb2xsb3dpbmcuanNvbiIsImZvbGxvd2VycyI6Imh0dHBzOi8va2Vuem9pc2hpaS5leGFtcGxlLmNvbS9mb2xsb3dlcnMuanNvbiIsImxpa2VkIjoiaHR0cHM6Ly9rZW56b2lzaGlpLmV4YW1wbGUuY29tL2xpa2VkLmpzb24iLCJpbmJveCI6Imh0dHBzOi8va2Vuem9pc2hpaS5leGFtcGxlLmNvbS9pbmJveC5qc29uIiwib3V0Ym94IjoiaHR0cHM6Ly9rZW56b2lzaGlpLmV4YW1wbGUuY29tL2ZlZWQuanNvbiIsInByZWZlcnJlZFVzZXJuYW1lIjoia2Vuem9pc2hpaSIsIm5hbWUiOiLnn7PkupXlgaXolLUiLCJzdW1tYXJ5Ijoi44GT44Gu5pa544Gv44Gf44Gg44Gu5L6L44Gn44GZIiwiaWNvbiI6WyJodHRwczovL2tlbnpvaXNoaWkuZXhhbXBsZS5jb20vaW1hZ2UvMTY1OTg3YWtscmU0Il19fQ.4hqkQXf6HcF1cEK32hl5rPU_rDNQEWhu74lDoK3BJgqgLRKapZ7kQJ9ygkhfzkdWC68LExZfzxxj9d4x1yfdVAeUItL0CgNk2AOVfu7e83F6tynLqiiVanUCuPg5yz6D", "verified": { "protectedHeader": { "iss": "did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMzg0IiwiYWxnIjoiRVMzODQiLCJ4IjoiOWpzRlJWVmpxSlk1Skl5SnI1OGdFQnVyamtzakxwTUJvWVZDZTZlMEJ6UzhBUzNMQXlyN3hLeFNnUE9pUGNHTSIsInkiOiJidHRMX2ZVa3Rkci1MaHhNY3pJaml0ZFpWcG9paXppUGlnOG1nODFidGVUUm0zQmpaLWw4dU5qdkpLYWtnUjNCIn0", @@ -22,7 +22,7 @@ "https://www.w3.org/2018/credentials/v1", "https://www.w3.org/ns/activitystreams" ], - "id": "urn:uuid:c677fca9-c955-413c-aef3-4a38d53302a9", + "id": "urn:uuid:d8660101-1b01-4568-847d-3e070b591fd2", "type": [ "VerifiableCredential", "ActivityPubActorCard"