Download the PHP package whilesmart/eloquent-brands without Composer
On this page you can find all versions of the php package whilesmart/eloquent-brands. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download whilesmart/eloquent-brands
More information about whilesmart/eloquent-brands
Files in whilesmart/eloquent-brands
Package eloquent-brands
Short Description Polymorphic branding (name, logo, contact details) attachable to any model for Laravel applications.
License MIT
Informations about the package eloquent-brands
whilesmart/eloquent-brands
A polymorphic brand kit for Laravel: attach branding (name, contact details, colors,
and image assets like logos / emblems / favicons in any format) to any model, scoped to an
owner through
whilesmart/eloquent-owner-access.
Image assets are managed by
whilesmart/eloquent-files.
A workspace, organisation, or store can hold many brands (one marked as the default used on documents); each brand carries many assets, each tagged with a role.
Install
Routes register automatically under the api prefix with auth:sanctum. Set
BRANDS_REGISTER_ROUTES=false to mount them yourself.
Attaching a brand to a model
The owner morph is the branded entity (a workspace, org, …). An owner can hold many
brands; setting is_default on one demotes the others automatically.
Assets (logos, emblems, …)
Assets are stored via eloquent-files (owned by the brand). Each carries a role
(logo, logo-dark, emblem, favicon, wordmark, … — free-form) and an optional
label, so a brand kit can hold the same mark in several versions/formats.
| Method | Endpoint | Notes |
|---|---|---|
| GET | /api/brands |
List (filter by owner_*) |
| POST | /api/brands |
Create |
| GET | /api/brands/{brand} |
Show (includes assets) |
| PUT | /api/brands/{brand} |
Update |
| DELETE | /api/brands/{brand} |
Delete |
| POST | /api/brands/{brand}/assets |
Upload an asset (asset file, role, label) |
| DELETE | /api/brands/{brand}/assets/{file} |
Remove an asset |
Custom model
The Brand model is swappable. Publish the config and point brands.model at your own
class (extend the package model to add fields/casts/behaviour):
UUID keys
Set BRANDS_UUIDS=true before migrating for UUID primary keys and uuid morph columns.
This assumes the owner model also uses UUID keys.
All versions of eloquent-brands with dependencies
laravel/framework Version ^11.0|^12.0
whilesmart/eloquent-owner-access Version ^1.0
whilesmart/eloquent-files Version ^1.0