feat(zeit): Check-In/Check-Out + Kimai-Sync-Naht (ENTWICKLUN-9)
Arbeitsantritt = bestehender Lock-in (setzt checkedInAt); neu dazu: - Check-Out / Feierabend: dayEntry.checkedOutAt + Endpoint dayEntry.checkOut; Heute-Seite zeigt „Arbeitsantritt HH:MM" und einen „Feierabend / Check-Out"- Button, danach Antritt/Feierabend/Dauer. - Kimai-Anbindung (config-gated, best-effort, nicht blockierend): lib/kimai.ts mit clockIn/clockOut. Check-In startet ein Kimai-Timesheet, Check-Out stoppt es; ID + Sync-Status auf dem dayEntry (kimaiTimesheetId, kimaiSynced). No-Op solange KIMAI_BASE_URL/API_TOKEN/PROJECT_ID/ACTIVITY_ID nicht gesetzt. Migration 0014 (checkedOutAt, kimaiTimesheetId, kimaiSynced). Env-Vars als optional ergänzt + in .env.example dokumentiert. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
9942cd8e88
commit
5bbb4abffa
9 files changed
+3542
-2
No files matched your search
@@ -22,3 +22,12 @@ NODE_ENV=development
|
||||
LOG_LEVEL=info
|
||||
PORT=3000
|
||||
PUBLIC_BASE_URL=http://localhost:5173
|
||||
|
||||
# --- Kimai-Sync (optional, ENTWICKLUN-9) ---
|
||||
# Nur wenn ALLE vier gesetzt sind, synct ebw beim Check-In/Out nach Kimai
|
||||
# (sonst No-Op). API-Token in Kimai unter Benutzerprofil → API-Zugriff.
|
||||
# PROJECT/ACTIVITY = numerische IDs des Default-Projekts/-Tätigkeit in Kimai.
|
||||
# KIMAI_BASE_URL=https://kimai.tool-ctrl.de
|
||||
# KIMAI_API_TOKEN=
|
||||
# KIMAI_PROJECT_ID=
|
||||
# KIMAI_ACTIVITY_ID=
|
||||
Reference in new issue
Block a user