Skip to content

Commit

Permalink
fix: phpstan
Browse files Browse the repository at this point in the history
  • Loading branch information
Z3d0X committed Jan 11, 2024
1 parent 809ff7e commit 4c529da
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 8 deletions.
5 changes: 3 additions & 2 deletions src/Facades/FilamentFabricator.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

namespace Z3d0X\FilamentFabricator\Facades;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Facade;
use Z3d0X\FilamentFabricator\Models\Contracts\Page as PageContract;

Expand All @@ -25,8 +26,8 @@
* @method static array getScripts()
* @method static array getStyles()
* @method static ?string getFavicon()
* @method static class-string<PageContract> getPageModel()
* @method static string getRoutingPrefix()
* @method static class-string<PageContract&Model> getPageModel()
* @method static ?string getRoutingPrefix()
* @method static array getPageUrls()
* @method static ?string getPageUrlFromId(int $id, bool $prefixSlash = false)
*
Expand Down
6 changes: 4 additions & 2 deletions src/FilamentFabricatorManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

use Closure;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Str;
use Z3d0X\FilamentFabricator\Layouts\Layout;
use Z3d0X\FilamentFabricator\Models\Contracts\Page as PageContract;
Expand Down Expand Up @@ -189,6 +188,9 @@ public function getPageUrls(): array

public function getPageUrlFromId(int $id, bool $prefixSlash = false, array $args = []): ?string
{
return $this->getPageModel()::query()->find($id)?->getUrl($args);
/** @var ?PageContract $page */
$page = $this->getPageModel()::query()->find($id);

return $page?->getUrl($args);
}
}
1 change: 1 addition & 0 deletions src/Http/Controllers/PageController.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
use Z3d0X\FilamentFabricator\Facades\FilamentFabricator;
use Z3d0X\FilamentFabricator\Layouts\Layout;
use Z3d0X\FilamentFabricator\Models\Contracts\Page;
use Z3d0X\FilamentFabricator\Services\PageRoutesService;

class PageController
{
Expand Down
1 change: 1 addition & 0 deletions src/Models/Concerns/HandlesPageUrls.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Str;
use Z3d0X\FilamentFabricator\Facades\FilamentFabricator;
use Z3d0X\FilamentFabricator\Models\Contracts\Page;

trait HandlesPageUrls {
/**
Expand Down
17 changes: 13 additions & 4 deletions src/Services/PageRoutesService.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,11 @@

namespace Z3d0X\FilamentFabricator\Services;

use Z3d0X\FilamentFabricator\Facades\FilamentFabricator;
use Z3d0X\FilamentFabricator\Models\Contracts\Page;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Str;
use Z3d0X\FilamentFabricator\Facades\FilamentFabricator;
use Z3d0X\FilamentFabricator\Models\Contracts\Page;

class PageRoutesService {
protected const URI_TO_ID_MAPPING = 'filament-fabricator::PageRoutesService::uri-to-id';
Expand All @@ -31,6 +32,12 @@ public function getPageIdFromUri(string $uri): int
public function getPageFromUri(string $uri): ?Page
{
$id = $this->getPageIdFromUri($uri);

if ($id === -1) {
return null;
}

/** @var Page&Model */
return FilamentFabricator::getPageModel()::find($id);
}

Expand All @@ -50,10 +57,12 @@ public function updateUrlsOf(Page $page): void
/**
* Get an instance of your Page model from a URI, or throw if there is none
* @param string $uri
* @return Page
* @return Page&Model
*/
public function findPageOrFail(string $uri): Page {
public function findPageOrFail(string $uri): Page&Model {
$id = $this->getPageIdFromUri($uri);

/** @var Page&Model */
return FilamentFabricator::getPageModel()::findOrFail($id);
}

Expand Down

0 comments on commit 4c529da

Please sign in to comment.