aimeos / pagible-jsonapi
Pagible CMS - JSON:API server
Requires
- php: ^8.2
- aimeos/pagible-core: 0.11.*
- laravel-json-api/laravel: ^5.1
Requires (Dev)
- orchestra/testbench: ^9.0||^10.0||^11.0
README
Read-only JSON:API server for Pagible CMS built on Laravel JSON:API.
This package is part of the Pagible CMS monorepo. For full installation, use:
composer require aimeos/pagible
Page access rules are applied to collections, individual resources, and included
relationships. Guests only see public pages. If the host application's active
Laravel guard resolves an authenticated user, authentication-only pages and pages
matching any frontend value supplied through the configured Access catalog and granted
by Laravel Gate are visible too.
Configuration
After installation, the configuration is available in config/cms/jsonapi.php:
| Option | Env Variable | Default | Description |
|---|---|---|---|
maxdepth |
CMS_JSONAPI_MAXDEPTH |
1 |
Maximum depth of included relationships (e.g., 1 = include=children, 2 = include=children,children.children) |
Commands
cms:install:jsonapi
Installs the Pagible JSON:API package.
php artisan cms:install:jsonapi
Publishes the Laravel JSON:API config, registers the CMS server, and adds the JSON:API exception handler to bootstrap/app.php.
cms:benchmark:jsonapi
Runs read-only JSON:API benchmarks.
php artisan cms:benchmark:jsonapi [options]
| Option | Default | Description |
|---|---|---|
--tenant |
benchmark |
Tenant ID |
--domain |
Domain name | |
--seed |
Seed benchmark data first | |
--pages |
10000 |
Number of pages to generate |
--tries |
100 |
Iterations per benchmark |
--chunk |
50 |
Rows per bulk insert batch |
--unseed |
Remove benchmark data and exit | |
--force |
Run in production |
License
MIT