diff --git a/src/app/Http/Controllers/Api/InfoPageController.php b/src/app/Http/Controllers/Api/InfoPageController.php new file mode 100644 index 00000000..f4d414f9 --- /dev/null +++ b/src/app/Http/Controllers/Api/InfoPageController.php @@ -0,0 +1,23 @@ +setViewForOther(); + // SeoFacade::setTitle($currentInfoPage['name']); + + return new PageResource($page); + } +} diff --git a/src/app/Http/Resources/Info/PageResource.php b/src/app/Http/Resources/Info/PageResource.php new file mode 100644 index 00000000..0f5914c1 --- /dev/null +++ b/src/app/Http/Resources/Info/PageResource.php @@ -0,0 +1,22 @@ + + */ + public function toArray(Request $request): array + { + return $this->only(['name', 'html']); + } +} diff --git a/src/app/Providers/AppServiceProvider.php b/src/app/Providers/AppServiceProvider.php index c7e36236..fc999d4b 100644 --- a/src/app/Providers/AppServiceProvider.php +++ b/src/app/Providers/AppServiceProvider.php @@ -14,6 +14,7 @@ use Illuminate\Database\Connection; use Illuminate\Database\Eloquent\Model; use Illuminate\Foundation\Application; +use Illuminate\Http\Resources\Json\JsonResource; use Illuminate\Notifications\ChannelManager; use Illuminate\Pagination\Paginator; use Illuminate\Support\Carbon; @@ -78,6 +79,8 @@ public function boot(): void $app['config']['filesystems.disks.public.url'] = 'https://barocco.by/media'; } + JsonResource::withoutWrapping(); + Gate::policy(Role::class, RolePolicy::class); } diff --git a/src/routes/api.php b/src/routes/api.php index eebd3437..3d3239ca 100644 --- a/src/routes/api.php +++ b/src/routes/api.php @@ -3,6 +3,7 @@ use App\Facades\Device; use App\Http\Controllers\Api\AppController; use App\Http\Controllers\Api\CatalogController; +use App\Http\Controllers\Api\InfoPageController; use Illuminate\Http\Request; use Illuminate\Support\Facades\Route; @@ -16,3 +17,5 @@ Route::get('app-init', [AppController::class, 'init']); Route::get('catalog/{path?}', [CatalogController::class, 'index'])->where('path', '[a-zA-Z0-9/_-]+'); Route::get('product/{product:slug}', [CatalogController::class, 'show'])->withTrashed()->name('product.show'); + +Route::get('info-page/{page:slug}', [InfoPageController::class, 'show']);