Add employee-to-order assignments with FR-EM-3 conflict validation
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 17s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Successful in 6s
Docker-Images bauen und veröffentlichen / build (, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 17s
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 17s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Successful in 6s
Docker-Images bauen und veröffentlichen / build (, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 17s
Adds the Assignment core object (Order x Employee, date range) with full CRUD, soft-delete/trash integration, and generated API clients. Layers FR-EM-3 conflict checks onto assignment creation: qualification, absence/availability, working-hours approximation, cross-order overlap, and active-contract coverage. Each check's severity (Warning vs. Error) is configurable at runtime via a new AssignmentValidationSettings singleton and admin settings panel, instead of being hardcoded - lets the business tune strictness per check without a redeploy. Adds a live GET /api/assignments/check endpoint so the create-assignment dialog can preview conflicts as the user picks employee/dates, before they hit save, rather than only finding out after submitting. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
fcbf27db3c
commit
dfeb37cf33
@@ -90,6 +90,14 @@ Class | Method | HTTP request | Description
|
||||
*AdminSessionsApi* | [**apiAdminSessionsGet**](docs/Api/AdminSessionsApi.md#apiadminsessionsget) | **GET** /api/admin/sessions |
|
||||
*AdminSessionsApi* | [**apiAdminSessionsIdRevokePost**](docs/Api/AdminSessionsApi.md#apiadminsessionsidrevokepost) | **POST** /api/admin/sessions/{id}/revoke |
|
||||
*AdminSessionsApi* | [**apiAdminSessionsRevokeAllPost**](docs/Api/AdminSessionsApi.md#apiadminsessionsrevokeallpost) | **POST** /api/admin/sessions/revoke-all |
|
||||
*AssignmentValidationSettingsApi* | [**apiSettingsAssignmentValidationGet**](docs/Api/AssignmentValidationSettingsApi.md#apisettingsassignmentvalidationget) | **GET** /api/settings/assignment-validation |
|
||||
*AssignmentValidationSettingsApi* | [**apiSettingsAssignmentValidationPut**](docs/Api/AssignmentValidationSettingsApi.md#apisettingsassignmentvalidationput) | **PUT** /api/settings/assignment-validation |
|
||||
*AssignmentsApi* | [**apiAssignmentsCheckGet**](docs/Api/AssignmentsApi.md#apiassignmentscheckget) | **GET** /api/assignments/check |
|
||||
*AssignmentsApi* | [**apiAssignmentsGet**](docs/Api/AssignmentsApi.md#apiassignmentsget) | **GET** /api/assignments |
|
||||
*AssignmentsApi* | [**apiAssignmentsIdDelete**](docs/Api/AssignmentsApi.md#apiassignmentsiddelete) | **DELETE** /api/assignments/{id} |
|
||||
*AssignmentsApi* | [**apiAssignmentsIdGet**](docs/Api/AssignmentsApi.md#apiassignmentsidget) | **GET** /api/assignments/{id} |
|
||||
*AssignmentsApi* | [**apiAssignmentsIdPut**](docs/Api/AssignmentsApi.md#apiassignmentsidput) | **PUT** /api/assignments/{id} |
|
||||
*AssignmentsApi* | [**apiAssignmentsPost**](docs/Api/AssignmentsApi.md#apiassignmentspost) | **POST** /api/assignments |
|
||||
*AuditLogApi* | [**apiAuditLogGet**](docs/Api/AuditLogApi.md#apiauditlogget) | **GET** /api/audit-log |
|
||||
*AuthApi* | [**apiAuthChangePasswordPost**](docs/Api/AuthApi.md#apiauthchangepasswordpost) | **POST** /api/auth/change-password |
|
||||
*AuthApi* | [**apiAuthForgotPasswordRequestPost**](docs/Api/AuthApi.md#apiauthforgotpasswordrequestpost) | **POST** /api/auth/forgot-password/request |
|
||||
@@ -156,6 +164,8 @@ Class | Method | HTTP request | Description
|
||||
*TimeEntriesApi* | [**apiTimeEntriesPost**](docs/Api/TimeEntriesApi.md#apitimeentriespost) | **POST** /api/time-entries |
|
||||
*TrashApi* | [**apiTrashAbsencesGet**](docs/Api/TrashApi.md#apitrashabsencesget) | **GET** /api/trash/absences |
|
||||
*TrashApi* | [**apiTrashAbsencesIdRestorePost**](docs/Api/TrashApi.md#apitrashabsencesidrestorepost) | **POST** /api/trash/absences/{id}/restore |
|
||||
*TrashApi* | [**apiTrashAssignmentsGet**](docs/Api/TrashApi.md#apitrashassignmentsget) | **GET** /api/trash/assignments |
|
||||
*TrashApi* | [**apiTrashAssignmentsIdRestorePost**](docs/Api/TrashApi.md#apitrashassignmentsidrestorepost) | **POST** /api/trash/assignments/{id}/restore |
|
||||
*TrashApi* | [**apiTrashContractsGet**](docs/Api/TrashApi.md#apitrashcontractsget) | **GET** /api/trash/contracts |
|
||||
*TrashApi* | [**apiTrashContractsIdRestorePost**](docs/Api/TrashApi.md#apitrashcontractsidrestorepost) | **POST** /api/trash/contracts/{id}/restore |
|
||||
*TrashApi* | [**apiTrashEmployeeFacilityDistancesGet**](docs/Api/TrashApi.md#apitrashemployeefacilitydistancesget) | **GET** /api/trash/employee-facility-distances |
|
||||
@@ -194,6 +204,10 @@ Class | Method | HTTP request | Description
|
||||
- [AbsenceResponse](docs/Model/AbsenceResponse.md)
|
||||
- [AbsenceResponsePagedResponse](docs/Model/AbsenceResponsePagedResponse.md)
|
||||
- [AddUserPermissionOverrideRequest](docs/Model/AddUserPermissionOverrideRequest.md)
|
||||
- [AssignmentConflictResponse](docs/Model/AssignmentConflictResponse.md)
|
||||
- [AssignmentResponse](docs/Model/AssignmentResponse.md)
|
||||
- [AssignmentResponsePagedResponse](docs/Model/AssignmentResponsePagedResponse.md)
|
||||
- [AssignmentValidationSettingsResponse](docs/Model/AssignmentValidationSettingsResponse.md)
|
||||
- [AuditEventCategory](docs/Model/AuditEventCategory.md)
|
||||
- [AuditLogEntryResponse](docs/Model/AuditLogEntryResponse.md)
|
||||
- [AuditLogEntryResponsePagedResponse](docs/Model/AuditLogEntryResponsePagedResponse.md)
|
||||
@@ -201,6 +215,7 @@ Class | Method | HTTP request | Description
|
||||
- [ContractResponse](docs/Model/ContractResponse.md)
|
||||
- [ContractResponsePagedResponse](docs/Model/ContractResponsePagedResponse.md)
|
||||
- [CreateAbsenceRequest](docs/Model/CreateAbsenceRequest.md)
|
||||
- [CreateAssignmentRequest](docs/Model/CreateAssignmentRequest.md)
|
||||
- [CreateContractRequest](docs/Model/CreateContractRequest.md)
|
||||
- [CreateEmployeeFacilityDistanceRequest](docs/Model/CreateEmployeeFacilityDistanceRequest.md)
|
||||
- [CreateEmployeeRequest](docs/Model/CreateEmployeeRequest.md)
|
||||
@@ -251,6 +266,7 @@ Class | Method | HTTP request | Description
|
||||
- [TimeEntryResponse](docs/Model/TimeEntryResponse.md)
|
||||
- [TimeEntryResponsePagedResponse](docs/Model/TimeEntryResponsePagedResponse.md)
|
||||
- [TrashAbsenceResponse](docs/Model/TrashAbsenceResponse.md)
|
||||
- [TrashAssignmentResponse](docs/Model/TrashAssignmentResponse.md)
|
||||
- [TrashContractResponse](docs/Model/TrashContractResponse.md)
|
||||
- [TrashEmployeeFacilityDistanceResponse](docs/Model/TrashEmployeeFacilityDistanceResponse.md)
|
||||
- [TrashEmployeeResponse](docs/Model/TrashEmployeeResponse.md)
|
||||
@@ -260,6 +276,8 @@ Class | Method | HTTP request | Description
|
||||
- [TrashOrderResponse](docs/Model/TrashOrderResponse.md)
|
||||
- [TrashTimeEntryResponse](docs/Model/TrashTimeEntryResponse.md)
|
||||
- [UpdateAbsenceRequest](docs/Model/UpdateAbsenceRequest.md)
|
||||
- [UpdateAssignmentRequest](docs/Model/UpdateAssignmentRequest.md)
|
||||
- [UpdateAssignmentValidationSettingsRequest](docs/Model/UpdateAssignmentValidationSettingsRequest.md)
|
||||
- [UpdateContractRequest](docs/Model/UpdateContractRequest.md)
|
||||
- [UpdateDocumentRequest](docs/Model/UpdateDocumentRequest.md)
|
||||
- [UpdateEmployeeFacilityDistanceRequest](docs/Model/UpdateEmployeeFacilityDistanceRequest.md)
|
||||
|
||||
Reference in New Issue
Block a user