update schema

This commit is contained in:
2023-06-21 09:27:59 +02:00
parent 64ade17aef
commit e3b65831fd
11 changed files with 501 additions and 33 deletions

View File

@@ -1 +0,0 @@
{}

View File

@@ -0,0 +1,15 @@
{
"title": "Une Personne au niveau d'une tribut avec des informations personnelle",
"description": "Un alias peut se stoquer comme un objet Person avec des informations supplémentaire permettant de qualifier son profil",
"properties": {
"alias": {"title":"Une identité numérique d'apxtrib"},
"dt_create": {"title":"Date de creation de cette personne"},
"dt_update": { "title":"Date de derniére mise à jour"},
"dt_lastlogin": { "title":"Date de derniere authentification" },
"dt_close": { "title": "Date de fermeture de compte" },
"recoveryauth":{"title":"Information pour recuperer ses codes d'accès"},
"biography": {"title":"Description courte"},
"imgavatar": {"title":"Url de l'image utilisée comme avatar"},
"accessrights": {"title":"Droits d'accès"}
}
}

View File

@@ -0,0 +1,10 @@
{
"title": "Contiens la cle privée avec un email de recovery",
"description": "Cs trouve au niveau d'une person (sous la responsabilité d'une tribut et permet pour un alias de recevoir par email une clé privée",
"properties":{
"email": { "title":"email de recuperation" },
"alias": {"title": "Alias qui doit exister comme une Person dans une tribu"},
"privatekey": { "title": "Private key link to alias" },
"passphrase": {"title":"Passphrase to uncipher privatekey"}
}
}

View File

@@ -10,22 +10,47 @@
"minLength": 5,
"pattern": "^[a-z0-9]*$"
},
"owner": {
"title": "Alias that own this object",
"type": "string",
"format": "Alias"
},
"dt_create": {
"type": "string",
"format": "datetime",
"default": "dayjs.now()"
},
"dt_update": { "type": "string", "format": "datetime" },
"dt_lastlogin": { "type": "string", "format": "datetime" },
"dt_close": { "type": "string", "format": "datetime" },
"recovery": {
"type": "object",
"$ref": {
"email": { "type": "string", "format": "email" },
"privatekey": { "type": "string", "format": "eccCorve25519armored" }
}
"dt_update": {
"type": "string",
"format": "datetime"
},
"recoveryauth":{"type":"object","$ref":""},
"dt_lastlogin": {
"type": "string",
"format": "datetime"
},
"dt_close": {
"type": "string",
"format": "datetime"
},
"recoveryauth": {
"type": "object",
"$ref": "schema/recoveryauth.json"
},
"firstname": {
"type": "string"
},
"lastname": {
"type": "string"
},
"dt_birth":{
"type":"string",
"format":"date"
},
"gender":{
"type":"string",
"enum":[ "M","MME","OTHER"]
},
"emailcom":{"type":"string","format":"email"},
"biography": {
"type": "string",
"pattern": "^.{O,150}$"
@@ -34,15 +59,28 @@
"type": "string"
},
"accessrights": {
"type": "object",
"$ref": "nationchains/schema/accessright.json"
"title": "Accessright per Object or per Object.key belonging to tribe",
"description": "A Person has to exist and want to create read update delete, if Own means if owner = alias of user requested some CRUD action to owner then he can act on this object or object.key",
"description": "List of Object with CRUDO value like {Person:'RUDO',"Person.recoveryauth":'O',...}",
"type": "object"
}
},
"required": ["alias", "accessright"],
"required": [
"alias",
"accessright"
],
"apxprimarykey": "alias",
"apxunique": [""],
"apxunique": [
""
],
"apxsearchindex": [
{ "key": "alias", "value": [] },
{ "key": "recovery.email", "value": "alias" }
{
"key": "alias",
"value": []
},
{
"key": "recovery.email",
"value": "alias"
}
]
}
}

View File

@@ -0,0 +1,11 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "/schema/recoveryauth",
"title": "Store numeric identity to recover it by email",
"description": "This object store numeric identity alias with an email mainly used at Person level to recover by email a private and passphrase key associate to alias",
"properties":{
"email": { "type": "string", "format": "email" },
"alias": {"type": "string", "format":"Pagan"},
"privatekey": { "type": "string", "format": "eccCorve25519armored" }
}
}

View File

@@ -0,0 +1,8 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "/schema/person",
"title": "Person minimum definition to link a person to a pagan identity",
"description": "A person is a human with a apxtrib identity (Public Private Key. Information stored (not cipher) for a person are only visible from the town's Mayor and the tribe's Druid. You need at least trus the druid that trust the mayor (for sensitive data Mayor and Druid can be the same apx Identity.) Only a pagan that have the privateKey can read cipher data. The purpose of this sschema is to link a person to a tribe and manage basic activities, profil will be a tribe object if need more personnal information",
"type": "object",
"properties": {}
}

View File

@@ -0,0 +1,17 @@
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "/schema/seeker",
"title": "Data Profil of a person that is in a seek process",
"description": "All those data have to store any useffull logistical data and profil about a seeker (skill, ...) ",
"type": "object",
"properties": {
"emailseek":{"type":"string","format":"email"},
"mainlivinglocation":{"type":"object","$ref":"https://schema.org/PostalAddress"},
"secondlivinglocation":{"type":"object","$ref":"https://schema.org/PostalAddress"},
"thirdlivinglocation":{"type":"object","$ref":"https://schema.org/PostalAddress"},
"seekcriterias":{"type":"array","$ref":"schema/seekcriteria.json"},
"skills":{"type":"array","$ref":"schema/skills.json"},
"educations":{"type":"array","$ref":"schema/educations.json"},
"experiences":{"type":"array","$ref":"schema/experiences.json"}
}
}