Migrate omsorgapp to browser SPA, add Docker/CI build setup
Docker-Images bauen und veröffentlichen / build (, omsorgCore/Dockerfile, omsorgcore) (push) Successful in 3s
Docker-Images bauen und veröffentlichen / build (, omsorgWeb/Dockerfile, omsorgweb) (push) Failing after 4s
Docker-Images bauen und veröffentlichen / build (VITE_OMSORG_CORE_URL=${{ vars.OMSORG_CORE_PUBLIC_URL }}, omsorgapp/Dockerfile, omsorgapp) (push) Successful in 3s

- omsorgapp: drop Electron, run as a plain Vite/React browser app; refresh
  token moves to an HttpOnly cookie (omsorgCore), CORS added for the new
  browser origin, document download/preview switched to Blob-based browser
  APIs.
- Add Dockerfiles for omsorgCore, omsorgapp, and omsorgWeb, a docker-compose.yml
  wiring Postgres/MySQL/all three apps together, and a Gitea Actions workflow
  that builds and pushes images to the repo's container registry on push to
  main and on version tags.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Felix Kemmler
2026-08-10 17:42:45 +02:00
co-authored by Claude Sonnet 5
parent e9e96a57dc
commit 598dfcd38a
461 changed files with 59753 additions and 2859 deletions
@@ -0,0 +1,10 @@
# # AbsenceDecisionRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**status** | **string** | | [optional]
**admin_note** | **string** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,20 @@
# # AbsenceResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**employee_id** | **string** | | [optional]
**employee_name** | **string** | | [optional]
**type** | **string** | | [optional]
**start_date** | **\DateTime** | | [optional]
**end_date** | **\DateTime** | | [optional]
**reason** | **string** | | [optional]
**substitute** | **string** | | [optional]
**note** | **string** | | [optional]
**status** | **string** | | [optional]
**admin_note** | **string** | | [optional]
**created_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,12 @@
# # AbsenceResponsePagedResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**items** | [**\OmsorgCoreClient\Model\AbsenceResponse[]**](AbsenceResponse.md) | | [optional]
**total_count** | **int** | | [optional]
**page** | **int** | | [optional]
**page_size** | **int** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -4,8 +4,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**module** | **string** | | [optional]
**action** | **string** | | [optional]
**effect** | **string** | | [optional]
**module** | [**\OmsorgCoreClient\Model\ModuleType**](ModuleType.md) | | [optional]
**action** | [**\OmsorgCoreClient\Model\PermissionAction**](PermissionAction.md) | | [optional]
**effect** | [**\OmsorgCoreClient\Model\PermissionEffect**](PermissionEffect.md) | | [optional]
**scope** | [**\OmsorgCoreClient\Model\PermissionScope**](PermissionScope.md) | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,8 @@
# # AuditEventCategory
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,14 @@
# # CreateAbsenceRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**type** | **string** | | [optional]
**start_date** | **\DateTime** | | [optional]
**end_date** | **\DateTime** | | [optional]
**reason** | **string** | | [optional]
**substitute** | **string** | | [optional]
**note** | **string** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,10 @@
# # CreateFacilityQualificationRateRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**qualification** | **string** | | [optional]
**rate** | **float** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -6,6 +6,7 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**name** | **string** | | [optional]
**facility_type** | **string** | | [optional]
**website** | **string** | | [optional]
**street** | **string** | | [optional]
**postal_code** | **string** | | [optional]
**city** | **string** | | [optional]
@@ -0,0 +1,17 @@
# # CreateTimeEntryRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**order_id** | **string** | | [optional]
**date** | **\DateTime** | | [optional]
**start** | **string** | | [optional]
**end** | **string** | | [optional]
**break_duration** | **string** | | [optional]
**night_hours** | **float** | | [optional]
**saturday_hours** | **float** | | [optional]
**sunday_hours** | **float** | | [optional]
**holiday_hours** | **float** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -9,5 +9,6 @@ Name | Type | Description | Notes
**is_default** | **bool** | | [optional]
**is_initial** | **bool** | | [optional]
**is_terminal** | **bool** | | [optional]
**triggers_follow_up** | **bool** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,19 @@
# # DocumentResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**entity_type** | **string** | | [optional]
**entity_id** | **string** | | [optional]
**category** | **string** | | [optional]
**file_name** | **string** | | [optional]
**content_type** | **string** | | [optional]
**size_bytes** | **int** | | [optional]
**description** | **string** | | [optional]
**uploaded_by_user_id** | **string** | | [optional]
**uploaded_by_username** | **string** | | [optional]
**created_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,12 @@
# # FacilityQualificationRateResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**facility_id** | **string** | | [optional]
**qualification** | **string** | | [optional]
**rate** | **float** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
**name** | **string** | | [optional]
**crm_status** | **string** | | [optional]
**facility_type** | **string** | | [optional]
**website** | **string** | | [optional]
**street** | **string** | | [optional]
**postal_code** | **string** | | [optional]
**city** | **string** | | [optional]
@@ -16,5 +17,17 @@ Name | Type | Description | Notes
**billing_postal_code** | **string** | | [optional]
**billing_city** | **string** | | [optional]
**billing_country** | **string** | | [optional]
**follow_up_due_date** | **\DateTime** | | [optional]
**billing_rate** | **float** | | [optional]
**night_surcharge_percent** | **float** | | [optional]
**saturday_surcharge_percent** | **float** | | [optional]
**sunday_surcharge_percent** | **float** | | [optional]
**holiday_surcharge_percent** | **float** | | [optional]
**travel_cost_rate** | **float** | | [optional]
**minimum_hours** | **float** | | [optional]
**break_policy** | **string** | | [optional]
**billing_interval** | **string** | | [optional]
**payment_term_days** | **int** | | [optional]
**individual_agreements** | **string** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,8 @@
# # ModuleType
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,8 @@
# # PermissionAction
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -4,7 +4,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**module** | **string** | | [optional]
**action** | **string** | | [optional]
**module** | [**\OmsorgCoreClient\Model\ModuleType**](ModuleType.md) | | [optional]
**action** | [**\OmsorgCoreClient\Model\PermissionAction**](PermissionAction.md) | | [optional]
**scope** | [**\OmsorgCoreClient\Model\PermissionScope**](PermissionScope.md) | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,8 @@
# # PermissionEffect
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,8 @@
# # PermissionScope
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,10 @@
# # TimeEntryDecisionRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**status_id** | **string** | | [optional]
**admin_note** | **string** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,27 @@
# # TimeEntryResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**employee_id** | **string** | | [optional]
**employee_name** | **string** | | [optional]
**order_id** | **string** | | [optional]
**facility_id** | **string** | | [optional]
**facility_name** | **string** | | [optional]
**date** | **\DateTime** | | [optional]
**start** | **string** | | [optional]
**end** | **string** | | [optional]
**break_duration** | **string** | | [optional]
**night_hours** | **float** | | [optional]
**saturday_hours** | **float** | | [optional]
**sunday_hours** | **float** | | [optional]
**holiday_hours** | **float** | | [optional]
**status_id** | **string** | | [optional]
**status_name** | **string** | | [optional]
**is_editable_by_owner** | **bool** | | [optional]
**admin_note** | **string** | | [optional]
**created_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,12 @@
# # TimeEntryResponsePagedResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**items** | [**\OmsorgCoreClient\Model\TimeEntryResponse[]**](TimeEntryResponse.md) | | [optional]
**total_count** | **int** | | [optional]
**page** | **int** | | [optional]
**page_size** | **int** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,11 @@
# # TrashAbsenceResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**type** | **string** | | [optional]
**deleted_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,11 @@
# # TrashContractResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**contract_type** | **string** | | [optional]
**deleted_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,12 @@
# # TrashEmployeeResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**first_name** | **string** | | [optional]
**last_name** | **string** | | [optional]
**deleted_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,12 @@
# # TrashFacilityContactResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**facility_id** | **string** | | [optional]
**name** | **string** | | [optional]
**deleted_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,12 @@
# # TrashFacilityQualificationRateResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**facility_id** | **string** | | [optional]
**qualification** | **string** | | [optional]
**deleted_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,11 @@
# # TrashFacilityResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**name** | **string** | | [optional]
**deleted_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,11 @@
# # TrashOrderResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**required_qualification** | **string** | | [optional]
**deleted_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,11 @@
# # TrashTimeEntryResponse
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**date** | **\DateTime** | | [optional]
**deleted_at** | **\DateTime** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,14 @@
# # UpdateAbsenceRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**type** | **string** | | [optional]
**start_date** | **\DateTime** | | [optional]
**end_date** | **\DateTime** | | [optional]
**reason** | **string** | | [optional]
**substitute** | **string** | | [optional]
**note** | **string** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,11 @@
# # UpdateDocumentRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**category** | **string** | | [optional]
**description** | **string** | | [optional]
**file_name** | **string** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,10 @@
# # UpdateFacilityQualificationRateRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**qualification** | **string** | | [optional]
**rate** | **float** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
**name** | **string** | | [optional]
**crm_status** | **string** | | [optional]
**facility_type** | **string** | | [optional]
**website** | **string** | | [optional]
**street** | **string** | | [optional]
**postal_code** | **string** | | [optional]
**city** | **string** | | [optional]
@@ -15,5 +16,17 @@ Name | Type | Description | Notes
**billing_postal_code** | **string** | | [optional]
**billing_city** | **string** | | [optional]
**billing_country** | **string** | | [optional]
**follow_up_days** | **int** | | [optional]
**billing_rate** | **float** | | [optional]
**night_surcharge_percent** | **float** | | [optional]
**saturday_surcharge_percent** | **float** | | [optional]
**sunday_surcharge_percent** | **float** | | [optional]
**holiday_surcharge_percent** | **float** | | [optional]
**travel_cost_rate** | **float** | | [optional]
**minimum_hours** | **float** | | [optional]
**break_policy** | **string** | | [optional]
**billing_interval** | **string** | | [optional]
**payment_term_days** | **int** | | [optional]
**individual_agreements** | **string** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -0,0 +1,17 @@
# # UpdateTimeEntryRequest
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**order_id** | **string** | | [optional]
**date** | **\DateTime** | | [optional]
**start** | **string** | | [optional]
**end** | **string** | | [optional]
**break_duration** | **string** | | [optional]
**night_hours** | **float** | | [optional]
**saturday_hours** | **float** | | [optional]
**sunday_hours** | **float** | | [optional]
**holiday_hours** | **float** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -9,5 +9,6 @@ Name | Type | Description | Notes
**is_default** | **bool** | | [optional]
**is_initial** | **bool** | | [optional]
**is_terminal** | **bool** | | [optional]
**triggers_follow_up** | **bool** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -5,8 +5,9 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**id** | **string** | | [optional]
**module** | **string** | | [optional]
**action** | **string** | | [optional]
**effect** | **string** | | [optional]
**module** | [**\OmsorgCoreClient\Model\ModuleType**](ModuleType.md) | | [optional]
**action** | [**\OmsorgCoreClient\Model\PermissionAction**](PermissionAction.md) | | [optional]
**effect** | [**\OmsorgCoreClient\Model\PermissionEffect**](PermissionEffect.md) | | [optional]
**scope** | [**\OmsorgCoreClient\Model\PermissionScope**](PermissionScope.md) | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -10,5 +10,6 @@ Name | Type | Description | Notes
**is_default** | **bool** | | [optional]
**is_initial** | **bool** | | [optional]
**is_terminal** | **bool** | | [optional]
**triggers_follow_up** | **bool** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)
@@ -7,5 +7,6 @@ Name | Type | Description | Notes
**id** | **string** | | [optional]
**from_item_id** | **string** | | [optional]
**to_item_id** | **string** | | [optional]
**requires_approval** | **bool** | | [optional]
[[Back to Model list]](../../README.md#models) [[Back to API list]](../../README.md#endpoints) [[Back to README]](../../README.md)