meraproject/openspec/changes/labor-api-write/design.md

21 lines
682 B
Markdown
Raw Normal View History

# Design: Labor API Write
## Modules
| Модуль | Назначение |
|--------|------------|
| `labor_identity.py` | `X-Acting-Emp-Id`, resolve target |
| `labor_day.py` | `get_work_hours_by_date`, calendar days |
| `labor_cache.py` | `invalidate_time_cache` |
| `labor_permissions.py` | admin, self+team, delegate (sub-depts) |
| `labor_write.py` | PUT endpoints |
| `labor_calendar.py` | GET time-calendar, summary, справочники |
## DB
Прямой MySQL через pymysql; имена колонок через `_prefixed_col` как в `labor.py`.
## Auth
`USER_READER_API_KEY` + обязательный `X-Acting-Emp-Id` на write/permission routes.