2026-02-04 23:31:53 +01:00
|
|
|
<?php
|
|
|
|
|
|
2026-03-06 11:28:22 +01:00
|
|
|
use MintyPHP\Http\SessionStoreInterface;
|
2026-02-23 12:58:19 +01:00
|
|
|
use MintyPHP\I18n;
|
2026-03-04 15:56:58 +01:00
|
|
|
use MintyPHP\Service\Search\SearchDataService;
|
2026-02-04 23:31:53 +01:00
|
|
|
use MintyPHP\Support\Guard;
|
|
|
|
|
|
2026-03-06 11:28:22 +01:00
|
|
|
$session = app(SessionStoreInterface::class)->all();
|
2026-02-04 23:31:53 +01:00
|
|
|
Guard::requireLogin();
|
2026-03-04 15:56:58 +01:00
|
|
|
gridRequireGetRequest();
|
2026-02-04 23:31:53 +01:00
|
|
|
|
2026-03-06 11:28:22 +01:00
|
|
|
$userId = (int) ($session['user']['id'] ?? 0);
|
2026-03-04 15:56:58 +01:00
|
|
|
$filters = gridParseFiltersFromSchemaFile(__DIR__ . '/filter-schema.php');
|
2026-02-04 23:31:53 +01:00
|
|
|
|
2026-03-04 15:56:58 +01:00
|
|
|
if ($filters['search'] === '') {
|
|
|
|
|
gridJsonDataResult([], 0);
|
2026-02-04 23:31:53 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$locale = I18n::$locale ?? (I18n::$defaultLocale ?? 'de');
|
2026-03-04 15:56:58 +01:00
|
|
|
$result = app(SearchDataService::class)->buildResultData(
|
|
|
|
|
$userId,
|
|
|
|
|
$filters['search'],
|
|
|
|
|
$locale,
|
|
|
|
|
$filters['limit'],
|
|
|
|
|
$filters['offset']
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
gridJsonDataResult(
|
|
|
|
|
(array) ($result['data'] ?? []),
|
|
|
|
|
(int) ($result['total'] ?? 0)
|
|
|
|
|
);
|