Download the PHP package dandoetech/laravel-bff without Composer
On this page you can find all versions of the php package dandoetech/laravel-bff. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dandoetech/laravel-bff
More information about dandoetech/laravel-bff
Files in dandoetech/laravel-bff
Package laravel-bff
Short Description Laravel bridge for DanDoeTech BFF metadata: metadata endpoints, policy & visibility decorators.
License MIT
Homepage https://github.com/dandoetech/laravel-bff
Informations about the package laravel-bff
Laravel BFF
Pre-release — Architecture by senior tech lead, implementation largely AI-assisted with human review. Not fully reviewed. Architecture may change before v1.0.0.
Serves frontend-ready UI metadata from the Resource Registry via REST endpoints. Applies policy-based capabilities and visibility rules so the frontend knows what the current user can see and do.
Installation
The service provider is auto-discovered. Publish the config:
Requires dandoetech/laravel-resource-registry.
Quick Start
With resources defined and registered, the metadata endpoints are available immediately:
List Response
Single Resource Response
Computed fields (like category_name) appear as read-only table columns, excluded from forms.
Decorator Chain
Metadata flows through a decorator chain before reaching the frontend:
- DefaultMetadataBuilder — derives widgets, table, forms, actions from the resource definition
- VisibilityDecorator — applies visibility rules (e.g., hide audit fields from non-admins)
- PolicyDecorator — evaluates user permissions, adds
capabilities, marks/removes fields
Visibility Rules
Implement VisibilityRuleInterface to filter metadata based on runtime context:
Register in config:
Policy Evaluator
The default GatePolicyEvaluator uses Laravel Gates to check permissions:
- Resource level:
create,update,delete,viewAny - Field level:
editField,viewField
Results are injected into extensions.capabilities. Fields with edit: false are marked read-only; fields with view: false are removed entirely.
Swap the evaluator by implementing PolicyEvaluatorInterface:
Configuration
config/ddt_bff.php:
To scope metadata to authenticated users, add auth middleware to the route group in your app.
API Overview
| Class | Purpose |
|---|---|
BffServiceProvider |
Binds decorated MetadataProviderInterface, registers routes |
MetadataController |
index() lists resources, show() returns full metadata |
PolicyDecorator |
Adds capabilities from policy evaluator, enforces field-level access |
VisibilityDecorator |
Applies visibility rules in sequence |
GatePolicyEvaluator |
Default evaluator using Laravel Gates |
PolicyEvaluatorInterface |
Contract for custom auth adapters |
VisibilityRuleInterface |
Contract for custom visibility rules |
Testing
License
MIT
All versions of laravel-bff with dependencies
illuminate/auth Version ^11.0 || ^12.0
illuminate/cache Version ^11.0 || ^12.0
illuminate/contracts Version ^11.0 || ^12.0
illuminate/http Version ^11.0 || ^12.0
illuminate/routing Version ^11.0 || ^12.0
illuminate/support Version ^11.0 || ^12.0
dandoetech/bff-metadata Version ^0.1 || ^0.2
dandoetech/resource-registry Version ^0.1 || ^0.2
dandoetech/laravel-resource-registry Version ^0.1 || ^0.2