changes 0230092025

This commit is contained in:
Simon Pocrnjič
2025-09-30 00:06:47 +02:00
parent 1fddf959f0
commit a2bb75fdcc
31 changed files with 2729 additions and 628 deletions
+9 -5
View File
@@ -9,14 +9,18 @@
return $request->user();
})->middleware('auth:sanctum');
Route::get('/person', function(){
Route::get('/person', function () {
return new PersonCollection(Person::all());
})->middleware('auth:sanctum');
Route::get('/search', function(Request $request){
Route::get('/search', function (Request $request) {
$query = '41242523';
$persons = App\Models\Person\Person::search($query)->get();
return $persons;
})->middleware('auth:sanctum');
})->middleware('auth:sanctum');
// Import entities and suggestions
Route::get('/import-entities', [\App\Http\Controllers\ImportEntityController::class, 'index'])->name('api.importEntities.index');
Route::post('/import-entities/suggest', [\App\Http\Controllers\ImportEntityController::class, 'suggest'])->name('api.importEntities.suggest');
+21
View File
@@ -89,6 +89,27 @@
})
->get();
// Also search by contract reference and include affiliated cases ("Primeri")
$limit = (int) ($request->input('limit') ?? 8);
$query = trim((string) $request->input('query'));
if ($query !== '') {
$contractCases = \App\Models\Contract::query()
->join('client_cases', 'contracts.client_case_id', '=', 'client_cases.id')
->join('person', 'client_cases.person_id', '=', 'person.id')
// portable case-insensitive match across drivers
->whereRaw('LOWER(contracts.reference) LIKE ?', ['%'.mb_strtolower($query).'%'])
->select('person.*', 'client_cases.uuid as case_uuid')
->limit($limit)
->get();
// Merge and de-duplicate by case uuid
$clientCases = $clientCases
->concat($contractCases)
->unique('case_uuid')
->values()
->take($limit);
}
return [
'clients' => $clients,
'client_cases' => $clientCases,