Expose PUT /api/service/project-members for external apps that authenticate with only the API key, reusing portal validation while keeping acting-based writes unchanged. Co-authored-by: Cursor <cursoragent@cursor.com>
1.3 KiB
1.3 KiB
1. Service write endpoint
- 1.1 Создать
app/project_members_service.pyсPUT /api/service/project-members - 1.2 Переиспользовать
ProjectMemberWrite,validate_member_write,upsert_team_member,fetch_member_itemиз существующих модулей - 1.3 Авторизация только через
require_api_key; не вызыватьparse_acting_emp_idиcan_write_project_member - 1.4 Подключить роутер в
main.py
2. Tests
- 2.1 Unit/API-тесты: успешный insert и update без
X-Acting-Emp-Id - 2.2 Тесты валидации: invalid section, archived emp, unknown project/emp, invalid role
- 2.3 Тест: без API-ключа →
401(когда ключ включён) - 2.4 Регрессия:
PUT /api/project-membersпо-прежнему требует acting и права
3. Documentation
- 3.1 Обновить матрицу доступа и раздел записи в
docs/user-reader-api.md - 3.2 Кратко отразить эндпоинт в
DEVELOPERS.md(таблица API / сценарий внешней интеграции) - 3.3 Добавить пример curl для service PUT в docs