Merge pull request 'docs(dev): Authorize в Swagger (после arm-core #29), путь ручки алиасов' (#33) from docs/32-swagger-authorize into main
Reviewed-on: #33
This commit is contained in:
commit
75d606bb3d
@ -143,7 +143,7 @@ alias_moved_from (uuid | null)}`.
|
|||||||
`period_year` = год конца диапазона, а `period_quarter` и `is_cumulative` — `null`. Такой документ не подходит ни одной версии
|
`period_year` = год конца диапазона, а `period_quarter` и `is_cumulative` — `null`. Такой документ не подходит ни одной версии
|
||||||
(привязка идёт по кварталу), в чек-листе и своде не участвует, подтверждать его можно. В списке документов показывайте год и
|
(привязка идёт по кварталу), в чек-листе и своде не участвует, подтверждать его можно. В списке документов показывайте год и
|
||||||
пометку «период не определён», не подставляйте квартал сами. Границы периода появятся в контракте v1.2 (Срез 2b).
|
пометку «период не определён», не подставляйте квартал сами. Границы периода появятся в контракте v1.2 (Срез 2b).
|
||||||
18. **Удаление алиаса** (`DELETE /legal-entities/{id}/aliases/{alias_id}`) во время переноса этого же алиаса ручным сопоставлением
|
18. **Удаление алиаса** (`DELETE /directories/legal-entities/{id}/aliases/{alias_id}`) во время переноса этого же алиаса ручным сопоставлением
|
||||||
(`move_alias: true`) теперь ждёт блокировку и отвечает 404 `NOT_FOUND`, если алиас уже переехал (arm-core #26, T11.3) —
|
(`move_alias: true`) теперь ждёт блокировку и отвечает 404 `NOT_FOUND`, если алиас уже переехал (arm-core #26, T11.3) —
|
||||||
это не ошибка клиента, перечитайте список алиасов.
|
это не ошибка клиента, перечитайте список алиасов.
|
||||||
|
|
||||||
|
|||||||
@ -225,7 +225,10 @@ curl -s localhost:8000/api/v1/admin/users -H "Authorization: Bearer $TOKEN"
|
|||||||
curl -s localhost:8000/api/v1/no-such-route -H "Authorization: Bearer $TOKEN"
|
curl -s localhost:8000/api/v1/no-such-route -H "Authorization: Bearer $TOKEN"
|
||||||
```
|
```
|
||||||
|
|
||||||
В Swagger (`/docs`, только при `DEBUG=true`): **Authorize** → вставить токен без слова `Bearer`.
|
В Swagger (`/docs`, только при `DEBUG=true`): **Authorize** (замок справа вверху) → вставить токен без слова `Bearer` → все
|
||||||
|
защищённые ручки получают заголовок. Кнопка есть с arm-core #29 (схема `bearerAuth` в `openapi.json`,
|
||||||
|
`components.securitySchemes`); на стенде старше этого PR кнопки нет — проверяйте curl. Публичные ручки без замка: `POST /dev/token`,
|
||||||
|
`GET /healthcheck`.
|
||||||
|
|
||||||
## 9. Открытые вопросы, которые затронут фронт
|
## 9. Открытые вопросы, которые затронут фронт
|
||||||
|
|
||||||
|
|||||||
@ -142,6 +142,9 @@ REACT_APP_API_URL=http://localhost:8000 REACT_APP_ROOT_PATH=/ npm run start
|
|||||||
|
|
||||||
### 4.5 Токен для Swagger и curl
|
### 4.5 Токен для Swagger и curl
|
||||||
|
|
||||||
|
В Swagger (`/docs`) токен подставляется кнопкой **Authorize** (замок справа вверху): вставьте значение `access_token` без слова
|
||||||
|
`Bearer`, дальше все защищённые ручки отправляют заголовок сами. Кнопка появилась с arm-core #29; если её нет — бэкенд старше, используйте curl:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
TOKEN=$(curl -s -X POST localhost:8000/api/v1/dev/token -H 'Content-Type: application/json' \
|
TOKEN=$(curl -s -X POST localhost:8000/api/v1/dev/token -H 'Content-Type: application/json' \
|
||||||
-d '{"email":"ka_go@armka.local"}' | python3 -c 'import sys,json;print(json.load(sys.stdin)["access_token"])')
|
-d '{"email":"ka_go@armka.local"}' | python3 -c 'import sys,json;print(json.load(sys.stdin)["access_token"])')
|
||||||
@ -262,7 +265,7 @@ docker compose -f ../docs/dev/docker-compose.yml exec postgres \
|
|||||||
| N5 | `PUT /consolidations/versions/{id}/members` с 501 `legal_entity_ids` (можно повторить один id) | 422, тело — массив pydantic `detail[] {loc: ["body", "legal_entity_ids"], …}`, без `code` |
|
| N5 | `PUT /consolidations/versions/{id}/members` с 501 `legal_entity_ids` (можно повторить один id) | 422, тело — массив pydantic `detail[] {loc: ["body", "legal_entity_ids"], …}`, без `code` |
|
||||||
| N6 | `POST …/status` с `comment` длиннее 1000 символов | 422, массив pydantic с `loc: ["body", "comment"]` |
|
| N6 | `POST …/status` с `comment` длиннее 1000 символов | 422, массив pydantic с `loc: ["body", "comment"]` |
|
||||||
| N7 | `GET …/osv?q=<501 символ>` и `GET …/osv/export?q=<501 символ>` | 422, массив pydantic с `loc: ["query", "q"]`; 500 символов — 200 |
|
| N7 | `GET …/osv?q=<501 символ>` и `GET …/osv/export?q=<501 символ>` | 422, массив pydantic с `loc: ["query", "q"]`; 500 символов — 200 |
|
||||||
| N8 | `DELETE /legal-entities/{id}/aliases/{alias_id}` для уже перенесённого алиаса | 404 `NOT_FOUND`, записи аудита об удалении нет |
|
| N8 | `DELETE /directories/legal-entities/{id}/aliases/{alias_id}` для уже перенесённого алиаса | 404 `NOT_FOUND`, записи аудита об удалении нет |
|
||||||
|
|
||||||
### 6.6 Загрузка ОСВ и просмотр строк через API (Срез 2c)
|
### 6.6 Загрузка ОСВ и просмотр строк через API (Срез 2c)
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user