19 lines
470 B
PHP
19 lines
470 B
PHP
<?php
|
|
|
|
use App\Http\Resources\DealResource;
|
|
use App\Models\Deal;
|
|
use App\Queries\ExplorePageDealsQuery;
|
|
|
|
Route::get('/deals/{deal}', function (Deal $deal) {
|
|
$query = (new ExplorePageDealsQuery)->builder();
|
|
if (! Auth::user()->isAdmin()) {
|
|
$query // Select only admin-approved deals
|
|
->tap(fn ($q) => (new Deal)->withActiveDeals($q));
|
|
}
|
|
$query->where('id', $deal->id);
|
|
|
|
return new DealResource(
|
|
$query->first()
|
|
);
|
|
});
|