Программный интерфейс
/web_api/team_member/create
/web_api/team_member/create
Страница собрана из снимка JSON Schema в репозитории документации. Снимок обновляется отдельной командой из каталога основного приложения и при сборке сайта не переписывается.
Запрос
main-app://schemas/api_elements/team_member/create.request.json
REQUEST /web_api/team_member/create
| Имя | Тип | Обязательное | Ограничение |
|---|---|---|---|
team_id | integer | Да | minimum 0 |
user_id | integer | Да | minimum 0 |
team_member_status | enum | Нет | "PENDING", "ACCEPTED", "BANNED", "REJECTED" |
member_role | enum | Нет | "ADMINISTRATOR", "MEMBER", "READONLY" |
created_at | string | Нет | - |
updated_at | string | Нет | - |
Другие поля верхнего уровня запрещены.
Ответ
main-app://schemas/api_elements/team_member/create.response.json
RESPONSE /web_api/team_member/create
| Имя | Тип | Обязательное | Ограничение |
|---|---|---|---|
api_code | integer | Да | const 200 |
api_result | object | Да | другие поля допустимы |
empty | boolean | Нет | - |
Другие поля верхнего уровня запрещены.
api_result
| Имя | Тип | Обязательное | Ограничение |
|---|---|---|---|
team_member_id | integer | Нет | minimum 0 |
team_id | integer | Нет | minimum 0 |
user_id | integer | Нет | minimum 0 |
team_member_status | enum | Нет | "PENDING", "ACCEPTED", "BANNED", "REJECTED" |
member_role | enum | Нет | "ADMINISTRATOR", "MEMBER", "READONLY" |
created_at | string | Нет | - |
updated_at | string | Нет | - |
Исходная схема
Файлы ниже скопированы из снимка без изменений. Фрагмент по $ref приведён отдельным блоком, схемы не сливаются.
Запрос: main-app://schemas/api_elements/team_member/create.request.json
json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "main-app://schemas/api_elements/team_member/create.request.json",
"title": "REQUEST /web_api/team_member/create",
"$comment": "Generated from the DB model structure_scheme. Edit the model, then run node fill-from-structure-scheme.mjs.",
"type": "object",
"additionalProperties": false,
"properties": {
"team_id": {
"type": "integer",
"minimum": 0
},
"user_id": {
"type": "integer",
"minimum": 0
},
"team_member_status": {
"type": "string",
"enum": [
"PENDING",
"ACCEPTED",
"BANNED",
"REJECTED"
]
},
"member_role": {
"type": "string",
"enum": [
"ADMINISTRATOR",
"MEMBER",
"READONLY"
]
},
"created_at": {
"type": "string",
"description": "timestamp Y-m-d H:i:s"
},
"updated_at": {
"type": "string",
"description": "timestamp Y-m-d H:i:s"
}
},
"required": [
"team_id",
"user_id"
]
}Ответ: main-app://schemas/api_elements/team_member/create.response.json
json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "main-app://schemas/api_elements/team_member/create.response.json",
"title": "RESPONSE /web_api/team_member/create",
"$comment": "Generated from the DB model structure_scheme. Edit the model, then run node fill-from-structure-scheme.mjs.",
"allOf": [
{
"$ref": "main-app://schemas/_shared/envelope-success.json"
},
{
"type": "object",
"properties": {
"api_result": {
"$ref": "main-app://schemas/api_elements/team_member/row.json"
}
}
}
]
}Фрагмент: main-app://schemas/_shared/envelope-success.json
json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "main-app://schemas/_shared/envelope-success.json",
"title": "Canonical success envelope",
"type": "object",
"required": ["api_code", "api_result"],
"properties": {
"api_code": { "const": 200 },
"api_result": true,
"empty": { "type": "boolean" }
},
"additionalProperties": false
}Фрагмент: main-app://schemas/api_elements/team_member/row.json
json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "main-app://schemas/api_elements/team_member/row.json",
"title": "Row team_member",
"$comment": "Generated from the DB model structure_scheme. Edit the model, then run node fill-from-structure-scheme.mjs.",
"type": "object",
"additionalProperties": true,
"properties": {
"team_member_id": {
"type": "integer",
"minimum": 0
},
"team_id": {
"type": "integer",
"minimum": 0
},
"user_id": {
"type": "integer",
"minimum": 0
},
"team_member_status": {
"type": "string",
"enum": [
"PENDING",
"ACCEPTED",
"BANNED",
"REJECTED"
]
},
"member_role": {
"type": "string",
"enum": [
"ADMINISTRATOR",
"MEMBER",
"READONLY"
]
},
"created_at": {
"type": "string",
"description": "timestamp Y-m-d H:i:s"
},
"updated_at": {
"type": "string",
"description": "timestamp Y-m-d H:i:s"
}
}
}Страница не помогла?