152 lines
3.5 KiB
JSON
152 lines
3.5 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
"$id": "members",
|
|
"title": "members",
|
|
"description": "Base members definitions",
|
|
"definitions": {
|
|
"member": {
|
|
"type": "object",
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"maxLength": 191,
|
|
"pattern": "^([^,]|$)"
|
|
},
|
|
"email": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 191,
|
|
"pattern": "^([^,]|$)"
|
|
},
|
|
"note": {
|
|
"type": "string",
|
|
"minLength": 0,
|
|
"maxLength": 2000
|
|
},
|
|
"subscribed": {
|
|
"type": "boolean"
|
|
},
|
|
"comped": {
|
|
"type": "boolean"
|
|
},
|
|
"stripe_customer_id": {
|
|
"type": "string"
|
|
},
|
|
"subscriptions": {
|
|
"type": "array"
|
|
},
|
|
"labels": {
|
|
"$ref": "#/definitions/member-labels"
|
|
},
|
|
"products": {
|
|
"$ref": "#/definitions/member-products"
|
|
},
|
|
"tiers": {
|
|
"$ref": "#/definitions/member-products"
|
|
},
|
|
"newsletters": {
|
|
"$ref": "#/definitions/member-newsletters"
|
|
}
|
|
}
|
|
},
|
|
"member-products": {
|
|
"description": "Products of the member",
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"maxLength": 24
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"maxLength": 191
|
|
},
|
|
"slug": {
|
|
"type": ["string", "null"],
|
|
"maxLength": 191
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{ "required": ["id"] },
|
|
{ "required": ["name"] },
|
|
{ "required": ["slug"] }
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"maxLength": 191
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"member-newsletters": {
|
|
"description": "Newsletters of the member",
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"maxLength": 24
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"maxLength": 191
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{ "required": ["id"] },
|
|
{ "required": ["name"] }
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"maxLength": 191
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"member-labels": {
|
|
"description": "Labels of the member",
|
|
"type": "array",
|
|
"items": {
|
|
"anyOf": [
|
|
{
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string",
|
|
"maxLength": 24
|
|
},
|
|
"name": {
|
|
"type": "string",
|
|
"maxLength": 191
|
|
},
|
|
"slug": {
|
|
"type": ["string", "null"],
|
|
"maxLength": 191
|
|
}
|
|
},
|
|
"anyOf": [
|
|
{ "required": ["id"] },
|
|
{ "required": ["name"] },
|
|
{ "required": ["slug"] }
|
|
]
|
|
},
|
|
{
|
|
"type": "string",
|
|
"maxLength": 191
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|