Services
Description
Services manages sellable service records inside Laravel Enso.
The package ships the service model, CRUD endpoints, validation, options lookup, form builders, and a server-side table builder for the administration UI. It is intended for Enso applications that need reusable service catalog entries alongside products and measurement units.
Installation
Install the package:
composer require laravel-enso/services
Run the package migrations:
php artisan migrate
Optional publish:
php artisan vendor:publish --tag=services-factories
Features
- CRUD endpoints for service records.
- Form builders for create and edit flows backed by
service.json. - Server-side table builder backed by
services.json. - Options endpoint for async selects through
OptionsBuilder. - Supplier pivot payload support in the form builder and validator.
- Factories and feature coverage for forms, options, and datatable flows.
Usage
The package mounts its routes automatically through AppServiceProvider.
Main flows:
- create and edit forms through
LaravelEnso\Services\Forms\Builders\Service - datatable bootstrap and rows through
LaravelEnso\Services\Tables\Builders\Service - select options through
LaravelEnso\Services\Http\Controllers\Options
Validation is handled by LaravelEnso\Services\Http\Requests\ValidateService, which requires:
measurement_unit_idname- unique
code - positive
list_price - integer
vat_percent - optional supplier rows with acquisition prices
API
Mounted under api/services:
GET createPOST /GET {service}/editPATCH {service}DELETE {service}GET initTableGET tableDataGET exportExcelGET options
Depends On
Required Enso packages:
laravel-enso/core↗laravel-enso/dynamic-methods↗laravel-enso/forms↗laravel-enso/helpers↗laravel-enso/measurement-units↗laravel-enso/tables↗
Companion frontend package:
Contributions
are welcome. Pull requests are great, but issues are good too.
Thank you to all the people who already contributed to Enso!