diff --git a/schemas/contributor.json b/schemas/contributor.json new file mode 100644 index 0000000..9627475 --- /dev/null +++ b/schemas/contributor.json @@ -0,0 +1,75 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "id": "http://schema.kosmos.org/Contributor", + "properties": { + "@context": { + "type": "string", + "enum": "https://schema.kosmos.org/", + "default": "https://schema.kosmos.org/" + }, + "@type": { + "type": "string", + "enum": "Contributor", + "default": "Contributor" + }, + "kind": { + "type": "string", + "title": "Kind", + "description": "Type/category of contribution", + "enum": [ + "person", + "organization", + "robot" + ] + }, + "name": { + "type": "string", + "title": "Name", + "description": "Display name of the person, organisation, robot, or whatever entity might conribute in the future" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL", + "description": "A URL pointing to the contributor's website or profile page on the Web" + }, + "accounts": { + "items": { + "properties": { + "site": { + "type": "string", + "title": "Site", + "description": "Site name or domain, e.g. 'github.com'" + }, + "username": { + "type": "string", + "title": "Username", + "description": "Publicly visible nickname/handle of the user" + }, + "uid": { + "type": "integer", + "title": "User ID", + "description": "A numeric account ID" + }, + "url": { + "type": "string", + "format": "uri", + "title": "URL", + "description": "A URL pointing to the account's public profile" + } + }, + "required": [ + "site", + "username" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "kind", + "name" + ], + "type": "object" +}