Compare commits

..

No commits in common. "feat/strict-types-all" and "dev" have entirely different histories.

10 changed files with 37 additions and 66 deletions

View file

@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
namespace App\Providers;
use Illuminate\Support\ServiceProvider;

View file

@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
use Illuminate\Foundation\Application;
use Illuminate\Foundation\Configuration\Exceptions;
use Illuminate\Foundation\Configuration\Middleware;

View file

@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
return [
App\Providers\AppServiceProvider::class,
];

View file

@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
return [
/*
|--------------------------------------------------------------------------

View file

@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
namespace Database\Seeders;
use Illuminate\Database\Seeder;

View file

@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
use Illuminate\Http\Request;
define('LARAVEL_START', microtime(true));

View file

@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
use Illuminate\Support\Facades\Route;
// API routes are registered via Core modules

View file

@ -1,5 +1,3 @@
<?php
declare(strict_types=1);
// Console commands are registered via Core modules

View file

@ -1,7 +1,5 @@
<?php
declare(strict_types=1);
use Illuminate\Support\Facades\Route;
Route::get('/', function () {

View file

@ -13,7 +13,6 @@ namespace Core\Admin\Search;
use Core\Admin\Search\Contracts\SearchProvider;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Str;
/**
@ -112,56 +111,46 @@ class SearchProviderRegistry
$grouped = [];
foreach ($this->availableProviders($user, $workspace) as $provider) {
try {
$type = $provider->searchType();
$results = $provider->search($query, $limitPerProvider);
$type = $provider->searchType();
$results = $provider->search($query, $limitPerProvider);
// Convert results to array format with type/icon
$formattedResults = $results->map(function ($result) use ($provider) {
if ($result instanceof SearchResult) {
return $result->withTypeAndIcon(
$provider->searchType(),
$provider->searchIcon()
)->toArray();
}
// Handle array results
if (is_array($result)) {
$searchResult = SearchResult::fromArray($result);
return $searchResult->withTypeAndIcon(
$provider->searchType(),
$provider->searchIcon()
)->toArray();
}
// Handle model objects with getUrl
return [
'id' => (string) ($result->id ?? uniqid()),
'title' => (string) ($result->title ?? $result->name ?? ''),
'subtitle' => (string) ($result->subtitle ?? $result->description ?? ''),
'url' => $provider->getUrl($result),
'type' => $provider->searchType(),
'icon' => $provider->searchIcon(),
'meta' => [],
];
})->toArray();
if (! empty($formattedResults)) {
$grouped[$type] = [
'label' => $provider->searchLabel(),
'icon' => $provider->searchIcon(),
'results' => $formattedResults,
];
// Convert results to array format with type/icon
$formattedResults = $results->map(function ($result) use ($provider) {
if ($result instanceof SearchResult) {
return $result->withTypeAndIcon(
$provider->searchType(),
$provider->searchIcon()
)->toArray();
}
} catch (\Throwable $e) {
Log::warning('Search provider failed', [
'provider' => $provider::class,
'query' => $query,
'error' => $e->getMessage(),
]);
continue;
// Handle array results
if (is_array($result)) {
$searchResult = SearchResult::fromArray($result);
return $searchResult->withTypeAndIcon(
$provider->searchType(),
$provider->searchIcon()
)->toArray();
}
// Handle model objects with getUrl
return [
'id' => (string) ($result->id ?? uniqid()),
'title' => (string) ($result->title ?? $result->name ?? ''),
'subtitle' => (string) ($result->subtitle ?? $result->description ?? ''),
'url' => $provider->getUrl($result),
'type' => $provider->searchType(),
'icon' => $provider->searchIcon(),
'meta' => [],
];
})->toArray();
if (! empty($formattedResults)) {
$grouped[$type] = [
'label' => $provider->searchLabel(),
'icon' => $provider->searchIcon(),
'results' => $formattedResults,
];
}
}