Role management for Laravel Enso

Maintainers

Package info

github.com/laravel-enso/roles

pkg:composer/laravel-enso/roles

Statistics

Installs: 43 470

Dependents: 13

Suggesters: 0

Stars: 10

Open Issues: 1

5.6.5 2026-04-22 07:04 UTC

This package is auto-updated.

Last update: 2026-04-22 07:07:55 UTC


README

License Stable Downloads PHP Issues Merge Requests

Description

Roles manages role records and role-to-permission assignment in Laravel Enso.

The package exposes CRUD and table APIs for roles, companion endpoints for reading and writing role permissions, and a sync command used to propagate role configuration between environments.

It is intended for Enso applications that use permission-based route access and need roles managed from the backoffice instead of hard-coded seeds alone.

Installation

Install the package:

composer require laravel-enso/roles

Run the package migrations:

php artisan migrate

Optional publishes:

php artisan vendor:publish --tag=roles-config
php artisan vendor:publish --tag=roles-factory
php artisan vendor:publish --tag=roles-seeder

Features

  • Role CRUD, options, table init, table data, and Excel export endpoints.
  • Permission assignment endpoints for reading, setting, and writing role permissions.
  • Config publishing for role restrictions and group visibility.
  • enso:roles:sync command for syncing local role definitions from config/local/roles.

Usage

Main route groups:

  • system.roles.*
  • system.roles.permissions.*

Permission assignment flow:

  • read current role permissions through permissions.get
  • submit updates through permissions.set
  • persist config files through permissions.write

Environment sync:

php artisan enso:roles:sync

The command only runs when the local config/local/roles directory exists.

API

HTTP routes

  • GET api/system/roles/create
  • POST api/system/roles
  • GET api/system/roles/{role}/edit
  • PATCH api/system/roles/{role}
  • DELETE api/system/roles/{role}
  • GET api/system/roles/initTable
  • GET api/system/roles/tableData
  • GET api/system/roles/exportExcel
  • GET api/system/roles/options
  • GET api/system/roles/permissions/get/{role}
  • POST api/system/roles/permissions/set/{role}
  • POST api/system/roles/permissions/write/{role}

Artisan commands

  • enso:roles:sync

Depends On

Required Enso packages:

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!