Add facilities, contracts, orders, value lists, audit log, and desktop app modules

Extends omsorgCore with full CRUD for Facility/Contract/Order plus
configurable value lists and an audit trail, and wires the omsorgapp
frontend up to the new facilities, settings, and audit-log modules;
includes a sidebar active-nav-item highlight.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
Felix Kemmler
2026-08-08 23:29:16 +02:00
co-authored by Claude Sonnet 5
parent ee74ed65f5
commit e9e96a57dc
528 changed files with 96814 additions and 456 deletions
@@ -0,0 +1,255 @@
# OmsorgCoreClient\ContractsApi
All URIs are relative to http://localhost, except if the operation defines another base path.
| Method | HTTP request | Description |
| ------------- | ------------- | ------------- |
| [**apiContractsGet()**](ContractsApi.md#apiContractsGet) | **GET** /api/contracts | |
| [**apiContractsIdGet()**](ContractsApi.md#apiContractsIdGet) | **GET** /api/contracts/{id} | |
| [**apiContractsIdPut()**](ContractsApi.md#apiContractsIdPut) | **PUT** /api/contracts/{id} | |
| [**apiContractsPost()**](ContractsApi.md#apiContractsPost) | **POST** /api/contracts | |
## `apiContractsGet()`
```php
apiContractsGet($search, $status, $employee_id, $facility_id, $page, $page_size): \OmsorgCoreClient\Model\ContractResponsePagedResponse
```
### Example
```php
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure Bearer (JWT) authorization: Bearer
$config = OmsorgCoreClient\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');
$apiInstance = new OmsorgCoreClient\Api\ContractsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$search = 'search_example'; // string
$status = 'status_example'; // string
$employee_id = 'employee_id_example'; // string
$facility_id = 'facility_id_example'; // string
$page = 1; // int
$page_size = 20; // int
try {
$result = $apiInstance->apiContractsGet($search, $status, $employee_id, $facility_id, $page, $page_size);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling ContractsApi->apiContractsGet: ', $e->getMessage(), PHP_EOL;
}
```
### Parameters
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **search** | **string**| | [optional] |
| **status** | **string**| | [optional] |
| **employee_id** | **string**| | [optional] |
| **facility_id** | **string**| | [optional] |
| **page** | **int**| | [optional] [default to 1] |
| **page_size** | **int**| | [optional] [default to 20] |
### Return type
[**\OmsorgCoreClient\Model\ContractResponsePagedResponse**](../Model/ContractResponsePagedResponse.md)
### Authorization
[Bearer](../../README.md#Bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `text/plain`, `application/json`, `text/json`
[[Back to top]](#) [[Back to API list]](../../README.md#endpoints)
[[Back to Model list]](../../README.md#models)
[[Back to README]](../../README.md)
## `apiContractsIdGet()`
```php
apiContractsIdGet($id): \OmsorgCoreClient\Model\ContractResponse
```
### Example
```php
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure Bearer (JWT) authorization: Bearer
$config = OmsorgCoreClient\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');
$apiInstance = new OmsorgCoreClient\Api\ContractsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$id = 'id_example'; // string
try {
$result = $apiInstance->apiContractsIdGet($id);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling ContractsApi->apiContractsIdGet: ', $e->getMessage(), PHP_EOL;
}
```
### Parameters
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **id** | **string**| | |
### Return type
[**\OmsorgCoreClient\Model\ContractResponse**](../Model/ContractResponse.md)
### Authorization
[Bearer](../../README.md#Bearer)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: `text/plain`, `application/json`, `text/json`
[[Back to top]](#) [[Back to API list]](../../README.md#endpoints)
[[Back to Model list]](../../README.md#models)
[[Back to README]](../../README.md)
## `apiContractsIdPut()`
```php
apiContractsIdPut($id, $update_contract_request): \OmsorgCoreClient\Model\ContractResponse
```
### Example
```php
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure Bearer (JWT) authorization: Bearer
$config = OmsorgCoreClient\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');
$apiInstance = new OmsorgCoreClient\Api\ContractsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$id = 'id_example'; // string
$update_contract_request = new \OmsorgCoreClient\Model\UpdateContractRequest(); // \OmsorgCoreClient\Model\UpdateContractRequest
try {
$result = $apiInstance->apiContractsIdPut($id, $update_contract_request);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling ContractsApi->apiContractsIdPut: ', $e->getMessage(), PHP_EOL;
}
```
### Parameters
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **id** | **string**| | |
| **update_contract_request** | [**\OmsorgCoreClient\Model\UpdateContractRequest**](../Model/UpdateContractRequest.md)| | [optional] |
### Return type
[**\OmsorgCoreClient\Model\ContractResponse**](../Model/ContractResponse.md)
### Authorization
[Bearer](../../README.md#Bearer)
### HTTP request headers
- **Content-Type**: `application/json`, `text/json`, `application/*+json`
- **Accept**: `text/plain`, `application/json`, `text/json`
[[Back to top]](#) [[Back to API list]](../../README.md#endpoints)
[[Back to Model list]](../../README.md#models)
[[Back to README]](../../README.md)
## `apiContractsPost()`
```php
apiContractsPost($create_contract_request): \OmsorgCoreClient\Model\ContractResponse
```
### Example
```php
<?php
require_once(__DIR__ . '/vendor/autoload.php');
// Configure Bearer (JWT) authorization: Bearer
$config = OmsorgCoreClient\Configuration::getDefaultConfiguration()->setAccessToken('YOUR_ACCESS_TOKEN');
$apiInstance = new OmsorgCoreClient\Api\ContractsApi(
// If you want use custom http client, pass your client which implements `GuzzleHttp\ClientInterface`.
// This is optional, `GuzzleHttp\Client` will be used as default.
new GuzzleHttp\Client(),
$config
);
$create_contract_request = new \OmsorgCoreClient\Model\CreateContractRequest(); // \OmsorgCoreClient\Model\CreateContractRequest
try {
$result = $apiInstance->apiContractsPost($create_contract_request);
print_r($result);
} catch (Exception $e) {
echo 'Exception when calling ContractsApi->apiContractsPost: ', $e->getMessage(), PHP_EOL;
}
```
### Parameters
| Name | Type | Description | Notes |
| ------------- | ------------- | ------------- | ------------- |
| **create_contract_request** | [**\OmsorgCoreClient\Model\CreateContractRequest**](../Model/CreateContractRequest.md)| | [optional] |
### Return type
[**\OmsorgCoreClient\Model\ContractResponse**](../Model/ContractResponse.md)
### Authorization
[Bearer](../../README.md#Bearer)
### HTTP request headers
- **Content-Type**: `application/json`, `text/json`, `application/*+json`
- **Accept**: `text/plain`, `application/json`, `text/json`
[[Back to top]](#) [[Back to API list]](../../README.md#endpoints)
[[Back to Model list]](../../README.md#models)
[[Back to README]](../../README.md)