Update OKF docs bundle, README, and CLAUDE.md for today's features
Documents the shift planning and closure/payroll modules (new tables, routes, stores), the dark redesign, and the docker-compose-broken-host workaround. Adds CLAUDE.md pointing agents at docs/. Translates README to English and keeps host-specific infrastructure details out of the repo.
This commit is contained in:
48
docs/api/shifts-routes.md
Normal file
48
docs/api/shifts-routes.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
type: API Endpoint
|
||||
title: Shift planning routes (employee)
|
||||
description: GET /api/shifts/available, GET /api/shifts/mine, POST/DELETE /api/shifts/:slotId/signup.
|
||||
resource: backend/src/routes/shifts.ts
|
||||
tags: [api, shift-planning]
|
||||
timestamp: 2026-08-16T00:00:00Z
|
||||
---
|
||||
|
||||
# Shift planning routes (employee)
|
||||
|
||||
Mounted at `/api/shifts`. Every route requires `requireAuth` +
|
||||
`requireEmployee`.
|
||||
|
||||
# Examples
|
||||
|
||||
```
|
||||
GET /api/shifts/available?period=YYYY-MM
|
||||
200 -> { "slots": AvailableSlot[] }
|
||||
```
|
||||
Open slots the employee isn't already signed up for. `period` defaults to
|
||||
the current month if omitted/invalid. Also the trigger point for lazily
|
||||
generating that month's template — see
|
||||
[shift_slots](/docs/data-model/shift-slots.md).
|
||||
|
||||
```
|
||||
GET /api/shifts/mine?period=YYYY-MM
|
||||
200 -> { "slots": MySlot[] }
|
||||
```
|
||||
|
||||
```
|
||||
POST /api/shifts/:slotId/signup
|
||||
201 -> { "ok": true }
|
||||
400 -> collision with another approved slot, already full, already signed
|
||||
up, or the slot is closed — see [shift_signups](/docs/data-model/shift-signups.md)
|
||||
```
|
||||
|
||||
```
|
||||
DELETE /api/shifts/:slotId/signup
|
||||
204 on success
|
||||
400 -> not signed up for that slot
|
||||
```
|
||||
|
||||
# Related
|
||||
|
||||
- [shift_slots](/docs/data-model/shift-slots.md), [shift_signups](/docs/data-model/shift-signups.md)
|
||||
- [Admin routes](./admin-routes.md) — the admin-side calendar, manual assignment, and month generation
|
||||
- [Frontend stores](/docs/frontend/stores.md) — `shiftPlanningStore`
|
||||
Reference in New Issue
Block a user