{ "$schema": "http://json-schema.org/draft-07/schema#", "title": "JoinRequest", "description": "A request to join a collective.", "type": "object", "required": [ "about", "date", "evidence", "member", "motivation" ], "properties": { "about": { "description": "Bio/about section of the requester.", "type": "string" }, "date": { "description": "Date of the request.", "type": "string" }, "evidence": { "description": "Evidence to underpin the request.", "type": "array", "items": { "$ref": "#/definitions/Evidence" } }, "member": { "description": "Info about the requester that wants to join.", "allOf": [ { "$ref": "#/definitions/Member" } ] }, "motivation": { "description": "Motivation of the requester for joining the collective.", "type": "string" } }, "definitions": { "Evidence": { "description": "A specific piece of evidence to help underpin an argument.", "type": "object", "required": [ "category", "tasks", "title" ], "properties": { "category": { "description": "Topic category of the evidence.", "allOf": [ { "$ref": "#/definitions/FellowshipEvidenceCategory" } ] }, "tasks": { "description": "Tasks that are part of this evidence.", "type": "array", "items": { "$ref": "#/definitions/Tasks" } }, "title": { "description": "Title of this piece of evidence.", "type": "string" } } }, "FellowshipDevelopmentEvidence": { "type": "string", "enum": [ "sdk", "runtime", "tooling", "other" ] }, "FellowshipEvidenceCategory": { "oneOf": [ { "type": "object", "required": [ "c", "t" ], "properties": { "c": { "$ref": "#/definitions/FellowshipDevelopmentEvidence" }, "t": { "type": "string", "enum": [ "development" ] } } }, { "type": "object", "required": [ "c", "t" ], "properties": { "c": { "$ref": "#/definitions/FellowshipSpecEvidence" }, "t": { "type": "string", "enum": [ "spec" ] } } } ] }, "FellowshipRank": { "type": "integer", "enum": [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ] }, "FellowshipSpecEvidence": { "type": "string", "enum": [ "rfc", "docs" ] }, "Member": { "description": "Info about an existing or aspiring member of a collective.", "type": "object", "required": [ "address", "email", "github", "matrix", "name", "rank" ], "properties": { "address": { "description": "On-chain address of the member.\n\nCan be a Substrate, Polkadot or Collectives Address.", "type": "string" }, "email": { "description": "Email address of the member.", "type": "string" }, "github": { "description": "GitHub handle of the member.", "type": "string" }, "matrix": { "description": "Matrix chat handle.", "type": "string" }, "name": { "description": "Legal name or pseudonym of the member.", "type": "string" }, "rank": { "description": "Current rank of the member.", "allOf": [ { "$ref": "#/definitions/FellowshipRank" } ] } } }, "Tasks": { "description": "A task that was either solely completed by the reporter or in collaboration with others.", "type": "object", "required": [ "links", "title" ], "properties": { "links": { "description": "Links to the completed work.", "type": "array", "items": { "type": "string" } }, "title": { "description": "Title of the task.", "type": "string" } } } } }