Проверка типизированного запроса Cloud
Проверьте запрос проекта, участника, источника или рабочего пространства локально и просмотрите типизированный запрос с помощью Altifigence CLI.
Используйте Altifigence CLI 0.1.9 в Linux, чтобы проверить документ типизированного запроса и просмотреть его метод, путь, заголовки и тело.
Подготовка запроса
Сохраните этот пример как request.json:
{
"schema": "altifigence.dds.cloud-request.v1",
"orgId": "11111111-1111-4111-8111-111111111111",
"action": {
"type": "project-create",
"body": {
"name": "Counter",
"slug": "counter"
}
}
}Для organizations опустите orgId и projectId. Для project-list и project-create укажите orgId. Для project-get, project-update, project-delete и каждого действия с участниками, источником и рабочим пространством укажите и orgId, и projectId. Используйте UUID в нижнем регистре в формате v1–5.
Для member-add, member-update и member-remove добавьте userId участника в action. Для member-add и member-update также укажите role: owner, editor или viewer. Для действия с рабочим пространством поместите операцию рабочего пространства в action.request.
Проверка и просмотр запроса
alti --json ide cloud contract --request request.jsonКод завершения 0 сообщает о действительном контракте. Пример создаёт следующий результат JSON:
{
"schema": "altifigence.dds.cloud-contract.v1",
"status": "contract-only",
"validated": true,
"executed": false,
"authorizationChecked": false,
"authorization": {
"kind": "native-cli-pkce",
"clientId": "altifigencecli",
"productId": "altifigence-cli",
"selectedOrganizationRequired": true,
"genericCloudTokenAccepted": false
},
"request": {
"method": "POST",
"path": "/v1/native/orgs/11111111-1111-4111-8111-111111111111/projects",
"headers": {
"Content-Type": "application/json"
},
"body": {
"name": "Counter",
"slug": "counter"
}
}
}Проверьте request.method, request.path и request.body. Квитанция фиксирует локальную проверку со значениями status: "contract-only", executed: false и authorizationChecked: false.
Чтобы прочитать тот же документ из стандартного ввода, выполните:
alti --json ide cloud contract --request - < request.jsonИсправление отклонённого запроса
Пустое имя проекта приводит к следующему результату с кодом завершения 2:
{
"schema": "altifigence.dds.cloud-receipt.v1",
"ok": false,
"executed": false,
"error": {
"code": "INVALID_PROJECT_BODY"
}
}Замените имя непустым значением, например Counter, сохраните документ и снова выполните команду проверки.
При CLOUD_IDENTITY_SCOPE_MISMATCH приведите orgId и projectId в соответствие с действием. Например, удалите projectId из запроса project-create и повторите проверку. При INVALID_CLOUD_IDENTITY укажите UUID в нижнем регистре в формате v1–5.
При INVALID_CLOUD_CONTRACT проверьте синтаксис JSON и имена полей запроса. При UNSUPPORTED_CLOUD_CONTRACT установите schema в altifigence.dds.cloud-request.v1. Размер каждого документа должен быть не более 1402200 байт.