add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
# Importe
|
|
|
|
|
|
2026-03-06 12:25:18 +01:00
|
|
|
Letzte Aktualisierung: 2026-03-06
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
|
2026-03-04 15:56:58 +01:00
|
|
|
## Ziel
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
|
2026-03-04 15:56:58 +01:00
|
|
|
CSV-Import (V1) für `users` und `departments` kurz und belastbar dokumentieren.
|
2026-02-23 12:58:19 +01:00
|
|
|
|
2026-03-04 15:56:58 +01:00
|
|
|
## Architektur
|
|
|
|
|
|
|
|
|
|
- Einstieg: `/admin/imports`
|
|
|
|
|
- Orchestrierung: `ImportService`
|
|
|
|
|
- Upload/Temp: `ImportTempFileService`
|
|
|
|
|
- CSV-Analyse/Stream: `CsvReaderService`
|
|
|
|
|
- State (tokenbasiert, Session): `ImportStateStoreService`
|
|
|
|
|
- Audit: `ImportAuditService`
|
2026-02-23 12:58:19 +01:00
|
|
|
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
## Scope (V1)
|
|
|
|
|
|
2026-03-04 15:56:58 +01:00
|
|
|
- Profile: `users`, `departments`
|
|
|
|
|
- Create-only: bestehende Datensätze werden übersprungen
|
|
|
|
|
- CSV-Delimiter: `,` oder `;`
|
|
|
|
|
- BOM wird toleriert
|
|
|
|
|
- Limits:
|
|
|
|
|
- 10 MB Upload
|
|
|
|
|
- 20.000 Datenzeilen
|
|
|
|
|
- max. 500 Fehlerzeilen in der UI
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
|
2026-03-04 15:56:58 +01:00
|
|
|
## Berechtigungen
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
|
2026-03-04 15:56:58 +01:00
|
|
|
- `imports.view`
|
|
|
|
|
- `users.import`
|
|
|
|
|
- `departments.import`
|
|
|
|
|
- `users.import_assignments` (nur wenn Assignment-Spalten gemappt werden)
|
|
|
|
|
- `imports.audit.view` (Audit lesen)
|
|
|
|
|
- `settings.update` (Audit-Purge)
|
add composer-unused, comprehensive docs, and project restructure
- Add icanhazstring/composer-unused as dev dependency for dependency hygiene checks
- Add German documentation (docs/) covering architecture, conventions, workflows, and developer checklists
- Add API layer (ApiAuth, ApiBootstrap, ApiResponse), audit, scheduler, custom fields, and SSO services
- Add Microsoft OIDC SSO, API token management, and user lifecycle features
- Add swagger-ui vendor integration and OpenAPI spec
- Add production Docker setup and bin/ scripts
- Update composer dependencies, config, templates, and frontend assets throughout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-22 15:27:35 +01:00
|
|
|
|
|
|
|
|
## Ablauf
|
|
|
|
|
|
2026-03-04 15:56:58 +01:00
|
|
|
1. Analyze: Upload + Header/Delimiter/Limit prüfen.
|
|
|
|
|
2. Mapping: CSV-Spalten auf Zielfelder mappen.
|
|
|
|
|
3. Preview: Dry-Run ohne DB-Write.
|
|
|
|
|
4. Commit: zeilenweise Verarbeitung mit Fehleraggregation.
|
|
|
|
|
|
|
|
|
|
## Assignment-Regeln (wichtig)
|
|
|
|
|
|
|
|
|
|
- Users: optionale `tenant`/`role`/`department`-Zuordnung.
|
|
|
|
|
- Users: Auflösung über UUID, numerische ID als Fallback.
|
|
|
|
|
- Departments: `tenant` ist UUID-only.
|
|
|
|
|
- Ohne gültige Assignment-Werte greifen Defaults aus Settings.
|
|
|
|
|
- Out-of-scope Tenants werden blockiert (`assignment_out_of_scope`).
|
|
|
|
|
|
|
|
|
|
## Temp-Dateien und State
|
|
|
|
|
|
|
|
|
|
- Temp-Pfad: `APP_STORAGE_PATH/imports/tmp`
|
|
|
|
|
- Alte Temp-Dateien werden opportunistisch abgeräumt (24h)
|
|
|
|
|
- Import-State-Token läuft nach 2h ab
|
|
|
|
|
|
|
|
|
|
## Audit
|
|
|
|
|
|
|
|
|
|
- Nur Commit-Läufe werden protokolliert (nicht Analyze/Preview).
|
|
|
|
|
- Gespeichert: Metadaten, Counter, Fehlercodes, User/Tenant-Kontext.
|
|
|
|
|
- Retention: 90 Tage.
|