apxtrib/nationchains/socialworld/objects/schema/pagans.json
2023-03-27 07:52:21 +02:00

87 lines
2.6 KiB
JSON
Executable File

{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "socialworld/schema/pagans",
"title":"Pagan definition",
"description": "A pagan is an uuid to manage identity by deliver a way to its owner to proof he owns from a privatekey in the socialworld of apXtrib and manage access keys deliver by druid or mayor to interact physical ressource (CRUD on it).",
"type": "objects",
"properties":{
"paganId":{
"description": "|Pagans|paganiddesc",
"apxdesclong": "|Pagans|paganiddesclong"
"apxinfo":"|Pagans|paganidinfo",
"type": "string",
"apxtype":"uuidv4"
},
"login":{
"description": "|Pagans|logindesc",
"type": "string",
"pattern":"^[a-z0-9]*$",
"apxinfo": "|Pagans|logininfo"
},
"password":{
"description": "|Pagans|pswdesc",
"type": "string"
},
"townId":{
"description":"",
"type":"string",
"$apxenumkey": "socialworld/objects/nations/searchindex/towns_townId_all.json"
},
"tribeId":{
"description":"",
"type":"string",
"$apxenumkey": "tribes/objects/tribes/searchindex/tribes_tribeId_all.json"
},
"publicKey":{
"description": "|Pagans|publickeydesc",
"type":"string",
"apxinfo": "|Pagans|publickeyinfo"
},
"biography":{
"description": "|Pagans|biographydesc",
"type":"string",
"pattern":"^.{O,150}$"
},
"imgavatar":{
"description": "|Pagans|imgavatardesc",
"apxinfo": "|Pagans|imgavatarinfo",
"type":"string",
"apxtype":"file"
},
"emailrecup":{
"description":"|Pagans|emaildesc",
"tpl": "input",
"type": "email",
"check": ["emailadress", "unique"],
},
"dtcreate":{
"description": "|Pagans|dtcreatedesc",
"type":"string",
"pattern":"^[0-9]{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$",
"default": "moment(new Date()).format('YYYY-MM-DD')"
},"dtupdate": {
"description": "|Pagans|dtupdatedesc",
"type":"string",
"pattern":"^[0-9]{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$",
"default": "moment(new Date()).format('YYYY-MM-DD')"
},"dtlastlogin" {
"description": "|Pagans|dtlastlogindesc",
"type":"string",
"pattern":"^[0-9]{4}-(0?[1-9]|1[012])-(0?[1-9]|[12][0-9]|3[01])$",
"default": "moment(new Date()).format('YYYY-MM-DD')"
},"accessrights": {
"description": "|Pagans|accessrightsdesc",
"type":"object",
"$ref":"socialworld/schema/accessright.json"
}
},
"required": ["paganId","login","townId", "tribeId"],
"apxprimarykey": "paganId",
"apxunique":["login"],
"apxsearchindex": [
{ "key": "login", "value": "paganId" },
{ "key": "email", "value": "paganId" },
{ "key": "token", "value": "paganId" }
]
}