6d4b8a9f17
- Migration 0024: RLS + FORCE RLS auf 18 Tabellen
- Direkte company_id-Policies: users, departments, companies, absence_types,
audit_logs, kiosk_devices, ldap_configs, smtp_configs, caldav_company_configs,
work_schedules, overtime_balances
- JOIN-Policies (user_id → company_id): absences, sessions, password_resets,
time_entries, vacation_balances, caldav_user_configs
- public_holidays ausgenommen (globale Referenztabelle)
- database.py: get_db setzt bypass_rls='on' als Default (Auth-Endpoints unverändert)
- dependencies.py: get_current_user setzt app.company_id + bypass_rls='off'
für alle nicht-SUPER_ADMIN Rollen
- migrations/env.py: Alembic-Migrationen nutzen bypass_rls='on'
- tests/conftest.py: override_get_db setzt bypass_rls='on' für Test-Session
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
641 lines
12 KiB
Markdown
641 lines
12 KiB
Markdown
# TimeMaster – Dev Log
|
||
|
||
## 2026-03-28 21:59 – 22:02 (3m)
|
||
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 21:59 – 22:02 (3m)
|
||
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 21:59 – 22:02 (3m)
|
||
**Beschreibung:** Projekte-Feature entfernen, Timetrack einbauen
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 22:22 – 22:22 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-03-28 22:24 – 22:25 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 14:31 – 19:45 (5h 14m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 19:46 – 19:47 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 19:49 – 19:49 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 19:52 – 19:52 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 19:54 – 19:56 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 19:58 – 20:00 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:06 – 20:06 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:06 – 20:08 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:11 – 20:11 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:12 – 20:12 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:12 – 20:12 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:14 – 20:14 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:15 – 20:15 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:17 – 20:17 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:19 – 20:22 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:38 – 20:38 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:39 – 20:39 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 20:46 – 20:50 (4m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 21:05 – 21:08 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 21:09 – 21:13 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 21:17 – 21:18 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-04-06 21:27 – 21:31 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:06 – 17:07 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:10 – 17:11 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:20 – 17:20 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:27 – 17:27 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:31 – 17:32 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:39 – 17:40 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:41 – 17:44 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:47 – 17:49 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 17:57 – 17:58 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 18:18 – 18:19 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 18:27 – 18:32 (5m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 19:50 – 19:52 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 19:52 – 19:53 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-05 22:43 – 10:21 (11h 37m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 17:20 – 17:34 (14m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 17:34 – 17:35 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 22:47 – 22:51 (4m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 22:54 – 22:55 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 23:00 – 23:00 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-06 23:00 – 23:10 (9m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-23 19:20 – 19:21 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-23 20:02 – 20:03 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** frontend
|
||
|
||
### Commits
|
||
- 1fedd68 Initial commit – TimeMaster Zeiterfassung & HR-Tool
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-23 20:08 – 20:09 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
Keine Änderungen ermittelbar.
|
||
|
||
---
|
||
## 2026-05-23 20:11 – 20:12 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 39a0e37 .gitignore und DEVLOG aktualisieren
|
||
|
||
### Geänderte Dateien
|
||
- .gitignore | 4 ++++
|
||
- DEVLOG.md | 22 ++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-05-23 20:33 – 21:07 (34m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- fbc04bc agent-07 phase 2: fix test isolation + CSV import UI
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 12 ++
|
||
- backend/app/services/user_import_service.py | 6 +-
|
||
- backend/tests/conftest.py | 10 +-
|
||
- backend/tests/test_personnel_number.py | 27 ++--
|
||
- frontend/src/pages/UsersPage.tsx | 186 +++++++++++++++++++++++++++-
|
||
|
||
---
|
||
## 2026-05-23 21:07 – 21:08 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 12 ++
|
||
- backend/app/services/user_import_service.py | 6 +-
|
||
- backend/tests/conftest.py | 10 +-
|
||
- backend/tests/test_personnel_number.py | 27 ++--
|
||
- frontend/src/pages/UsersPage.tsx | 186 +++++++++++++++++++++++++++-
|
||
|
||
---
|
||
## 2026-05-23 21:08 – 21:08 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 12 ++
|
||
- backend/app/services/user_import_service.py | 6 +-
|
||
- backend/tests/conftest.py | 10 +-
|
||
- backend/tests/test_personnel_number.py | 27 ++--
|
||
- frontend/src/pages/UsersPage.tsx | 186 +++++++++++++++++++++++++++-
|
||
|
||
---
|
||
## 2026-05-23 21:09 – 21:16 (7m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 8e5e76d add deployment updater scripts
|
||
|
||
### Geänderte Dateien
|
||
- scripts/check_migrations.sh | 344 +++++++++++++++
|
||
- update.sh | 1007 ++++++++++++++++++++-----------------------
|
||
|
||
---
|
||
## 2026-05-23 21:23 – 21:31 (8m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
- 3dfcff3 update.sh: switch backend sync to git pull instead of rsync
|
||
|
||
### Geänderte Dateien
|
||
- update.sh | 53 +++++++++++++++++++++++------------------------------
|
||
|
||
---
|
||
## 2026-05-23 21:47 – 21:48 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** timemaster
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- update.sh | 53 +++++++++++++++++++++++------------------------------
|
||
|
||
---
|