Skip to content
This repository has been archived by the owner on Jan 9, 2024. It is now read-only.

Commit

Permalink
chore(acdc): a schema template with edges and rules
Browse files Browse the repository at this point in the history
  • Loading branch information
aminbenmansour committed Oct 30, 2023
1 parent cf86e5c commit a516947
Show file tree
Hide file tree
Showing 6 changed files with 184 additions and 0 deletions.
6 changes: 6 additions & 0 deletions config/keri/acdc/credentials/attributes/child-test.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"requester": {
"customObjectAttribute": "Test"
},
"customAttribute": 2
}
Empty file.
1 change: 1 addition & 0 deletions config/keri/acdc/credentials/edges/child-edge.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"d": "", "requester": {"n": "", "s": ""}}
Empty file.
1 change: 1 addition & 0 deletions config/keri/acdc/credentials/rules/child-rule.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"d": "", "privacyDisclaimer": {"l": "It is the sole responsibility of Holders of a CustomChildCredential to present that credential in a privacy-preserving manner using the mechanisms provided in the Issuance and Presentation Exchange (IPEX) protocol specification and the Authentic Chained Data Container (ACDC) specification. https://github.com/WebOfTrust/IETF-IPEX and https://github.com/trustoverip/tswg-acdc-specification."}}
176 changes: 176 additions & 0 deletions config/keri/acdc/schemas/custom-child-schema-wth-edges-and-rules.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,176 @@
{
"$id": "",
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Custom Child Credential",
"description": "A child custom schema means that it will have dependencies to the parent schema. It will also include rules to act as a Ricardian Contract",
"type": "object",
"credentialType": "CustomChildCredential",
"version": "1.0.0",
"properties": {
"v": {
"description": "Credential Version",
"type": "string"
},
"d": {
"description": "Credential SAID",
"type": "string"
},
"u": {
"description": "One time use nonce - optional",
"type": "string"
},
"i": {
"description": "Issuer AID",
"type": "string"
},
"ri": {
"description": "Credential Registry Identifier",
"type": "string"
},
"s": {
"description": "Schema SAID",
"type": "string"
},
"a": {
"oneOf": [
{
"description": "Attributes block SAID",
"type": "string"
},
{
"$id": "",
"description": "Attributes block",
"type": "object",
"properties": {
"d": {
"description": "Attributes block SAID",
"type": "string"
},
"i": {
"description": "Issuee AID",
"type": "string"
},
"dt": {
"description": "Issuance date time",
"type": "string",
"format": "date-time"
},
"requester": {
"description": "Defining tightly related attributes together in one object. This is helpful for SD and enhances IPEX protocol interactions depending on the use case!",
"type": "object",
"properties": {
"customObjectAttribute": {
"description": "First custom attribute, it usually comes with",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"customObjectAttribute"
]
},
"customAttribute": {
"customAttribute": "A custom attribute like we defined earlier",
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"i",
"requester",
"customAttribute"
]
}
]
},
"e": {
"oneOf": [
{
"description": "Edges block SAID",
"type": "string"
},
{
"$id": "",
"description": "Edges block",
"type": "object",
"properties": {
"d": {
"description": "Edges block SAID",
"type": "string"
},
"exampleEdge": {
"description": "The custom parent schema which the authorizer is responding to.",
"type": "object",
"properties": {
"n": {
"description": "SAID of the CustomParentCredential ACDC",
"type": "string"
},
"s": {
"description": "SAID of CustomParentCredential ACDC schema",
"type": "string",
"const": ""
}
},
"additionalProperties": false,
"required": [
"n",
"s"
]
}
},
"additionalProperties": false,
"required": [
"d",
"exampleEdge"
]
}
]
},
"r": {
"oneOf": [
{
"description": "Rules block SAID",
"type": "string"
},
{
"$id": "",
"description": "Rules block",
"type": "object",
"properties": {
"d": {
"description": "Rules block SAID",
"type": "string"
},
"privacyDisclaimer": {
"description": "Privacy Disclaimer",
"type": "object",
"properties": {
"l": {
"description": "Associated legal language",
"type": "string",
"const": "It is the sole responsibility of Holders of a CustomChildCredential to present that credential in a privacy-preserving manner using the mechanisms provided in the Issuance and Presentation Exchange (IPEX) protocol specification and the Authentic Chained Data Container (ACDC) specification. https://github.com/WebOfTrust/IETF-IPEX and https://github.com/trustoverip/tswg-acdc-specification."
}
}
}
},
"additionalProperties": false,
"required": [
"d",
"privacyDisclaimer"
]
}
]
}
},
"additionalProperties": false,
"required": [
"v",
"i",
"ri",
"s",
"d",
"a",
"e"
]
}

0 comments on commit a516947

Please sign in to comment.