@datamodels/identity-profile-basic
Version:
DataModel implementation of the **Basic Profile** schema and definition specified in [CIP-19](https://github.com/ceramicnetwork/CIP/blob/main/CIPs/CIP-19/CIP-19.md).
112 lines (111 loc) • 2.28 kB
JSON
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BasicProfile",
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 150
},
"image": {
"$ref": "#/definitions/imageSources"
},
"description": {
"type": "string",
"maxLength": 420
},
"emoji": {
"type": "string",
"maxLength": 2
},
"background": {
"$ref": "#/definitions/imageSources"
},
"birthDate": {
"type": "string",
"format": "date",
"maxLength": 10
},
"url": {
"type": "string",
"maxLength": 240
},
"gender": {
"type": "string",
"maxLength": 42
},
"homeLocation": {
"type": "string",
"maxLength": 140
},
"residenceCountry": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"maxLength": 2
},
"nationalities": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"pattern": "^[A-Z]{2}$",
"maxItems": 5
}
},
"affiliations": {
"type": "array",
"items": {
"type": "string",
"maxLength": 140
}
}
},
"definitions": {
"IPFSUrl": {
"type": "string",
"pattern": "^ipfs://.+",
"maxLength": 150
},
"positiveInteger": {
"type": "integer",
"minimum": 1
},
"imageMetadata": {
"type": "object",
"properties": {
"src": {
"$ref": "#/definitions/IPFSUrl"
},
"mimeType": {
"type": "string",
"maxLength": 50
},
"width": {
"$ref": "#/definitions/positiveInteger"
},
"height": {
"$ref": "#/definitions/positiveInteger"
},
"size": {
"$ref": "#/definitions/positiveInteger"
}
},
"required": ["src", "mimeType", "width", "height"]
},
"imageSources": {
"type": "object",
"properties": {
"original": {
"$ref": "#/definitions/imageMetadata"
},
"alternatives": {
"type": "array",
"items": {
"$ref": "#/definitions/imageMetadata"
}
}
},
"required": ["original"]
}
}
}