{"id":23761842,"url":"https://github.com/tony98ms/livewire-permission-manager","last_synced_at":"2025-09-05T06:31:40.109Z","repository":{"id":40334917,"uuid":"415203078","full_name":"tony98ms/livewire-permission-manager","owner":"tony98ms","description":"Package that provides a graphical interface to manage roles and permissions.","archived":false,"fork":false,"pushed_at":"2024-12-30T15:24:29.000Z","size":106,"stargazers_count":19,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-30T12:08:10.610Z","etag":null,"topics":["laravel","laravel-permissions","livewire","permissions","php","roles"],"latest_commit_sha":null,"homepage":"","language":"Blade","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tony98ms.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOD.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-09T04:37:13.000Z","updated_at":"2024-12-27T18:37:39.000Z","dependencies_parsed_at":"2024-11-16T17:40:25.948Z","dependency_job_id":"37ec8c1a-9679-45ad-bef2-a7eaf47db0e2","html_url":"https://github.com/tony98ms/livewire-permission-manager","commit_stats":{"total_commits":23,"total_committers":2,"mean_commits":11.5,"dds":"0.17391304347826086","last_synced_commit":"8e59f4159804879346de418dbc5de09d74468993"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/tony98ms/livewire-permission-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tony98ms%2Flivewire-permission-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tony98ms%2Flivewire-permission-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tony98ms%2Flivewire-permission-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tony98ms%2Flivewire-permission-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tony98ms","download_url":"https://codeload.github.com/tony98ms/livewire-permission-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tony98ms%2Flivewire-permission-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273722711,"owners_count":25156300,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["laravel","laravel-permissions","livewire","permissions","php","roles"],"created_at":"2024-12-31T21:14:17.706Z","updated_at":"2025-09-05T06:31:39.561Z","avatar_url":"https://github.com/tony98ms.png","language":"Blade","funding_links":[],"categories":[],"sub_categories":[],"readme":"# livewire-permission-manager\n\n[![Latest Stable Version](https://img.shields.io/packagist/v/tonystore/livewire-permission-manager?label=version)](https://packagist.org/packages/tonystore/livewire-permission-manager) \n[![Packagist Downloads](https://img.shields.io/packagist/dt/tonystore/livewire-permission-manager)](https://packagist.org/packages/tonystore/livewire-permission-manager)\n[![License](https://img.shields.io/packagist/l/tonystore/livewire-permission-manager)](https://packagist.org/packages/tonystore/livewire-permission-manager) \n[![PHP Version Require](https://img.shields.io/packagist/dependency-v/tonystore/livewire-permission-manager/php)](https://packagist.org/packages/tonystore/livewire-permission-manager)\n  \n\nPackage that provides a graphical interface to manage roles and permissions.\n## REQUIREMENTS\n\n-   [PHP \u003e= ^8.0](http://php.net)\n-   [Laravel 7|8|9|10](https://laravel.com)\n-   [Livewire 2|3](https://livewire.laravel.com/)\n-   [Laravel  Permission](https://github.com/spatie/laravel-permission)\n- [Bootstrap 4.5 | 4.6 | ^5.0](https://getbootstrap.com) or [Tailwind](https://tailwindcss.com) \n\n## Version Compatibility Livewire\n\n Livewire  | Livewire Permission Manager\n:---------|:----------\n 2.x      | 0.2.x\n 3.x      | 0.3.x\n\n## INSTALLATION VIA COMPOSER\n\n### Step 1: Composer\n\nRun this command line in console.\n``` bash\ncomposer require tonystore/livewire-permission-manager\n```\n### Step 2: Publish Assets\n#### Publish Config File\n``` bash\nphp artisan vendor:publish --provider=\"Tonystore\\LivewirePermission\\LivewirePermissionProvider\" --tag=config-permission\n``` \n#### Publish Views\nPublish the views only if any modifications to the interfaces are required.\n``` bash\nphp artisan vendor:publish --provider=\"Tonystore\\LivewirePermission\\LivewirePermissionProvider\" --tag=views-permission\n``` \n\n#### Publish Migrations\nPublishes migrations, only if a new column is created for the detail of a role or permission.\n``` bash\nphp artisan vendor:publish --provider=\"Tonystore\\LivewirePermission\\LivewirePermissionProvider\" --tag=migrations-permission\n``` \n\n#### Publish Lang\nPublish the translations in case you wish to modify any of them.\n``` bash\nphp artisan vendor:publish --provider=\"Tonystore\\LivewirePermission\\LivewirePermissionProvider\" --tag=langs-permission\n``` \n## Usage\nBy default, Tailwind is used to create the role and permissions management interface, but you can also choose the Bootstrap theme.\n\n```php\n\u003c?php\nreturn [\n\t/*\n\t * Supported Theme: 'tailwind, bootstrap',\n\t */\n\t'theme'  =\u003e  'tailwind',\n];\n```\n\n### Configure templates\nYou have 2 alternatives to use with this package, using the blade directives or using the laravel components.\n```php\n\u003c?php\nreturn [\n\t'blade-template'  =\u003e [\n\t\t'type'  =\u003e  'components', //Supported Type: 'components, directives'\n\t\t'component'  =\u003e  'AppLayout', //type: components\n\t\t'directives'  =\u003e [ //type: directives\n\t\t\t'extends'  =\u003e  'layouts.app',\n\t\t\t'section-content'  =\u003e  'content',\n\t\t],\n\t],\n];\n```\n**Includes the component that contains the scripts and styles needed for the graphic interface.**\n```html\n\u003chead\u003e\n    ....\n       \u003cx-permissions::styles /\u003e\n    ....\n\u003c/head\u003e\n \u003cbody\u003e \n    ...\n    @livewireScripts\n    \n    \u003cscript src=\"//cdn.jsdelivr.net/npm/sweetalert2@10\"\u003e\u003c/script\u003e\n    //INSERT COMPONENT\n       \u003cx-permissions::scripts /\u003e\n  \n \u003c/body\u003e\n\n```\n**To remove a role, SweetAlert is used, so you must have it in your design, and it must be before the script component.**\n**Note that you must import it after the Livewire scripts.**\n\n### Select a Modal design\nYou will be able to select among the types of manners that the package will have, at the moment only a list type model is available, which is configured here:\n\n```php\n\u003c?php\nreturn [\n\t'modals'  =\u003e [\n\t\t'role'  =\u003e  'list'\n\t],\n];\n```\n\n### Customized page\nHere you define the array of numbers for the paging options.\n\n```php\n\u003c?php\n   'paginate' =\u003e [\n        'perPages' =\u003e [\n            10, 25, 50, 100, 200\n        ]\n    ]\n```\n\n###  Change tables name\nHere you assign the names of the tables to be able to run the migration. By default it uses the tables listed in the Laravel Permission package.\n\n```php\n\u003c?php\nreturn [\n\t'tables'  =\u003e [\n\t\t'roles'  =\u003e  config('permission.table_names.roles', 'roles'),\n\t\t'permissions'  =\u003e  config('permission.table_names.permissions', 'permissions'),\n\t],\n];\n```\n\n### Exclude roles\nHere you define the roles you want to exclude from Livewire queries for display and modification. By default you will have an empty array.\n```php\n\u003c?php\nreturn [\n\t'roles'  =\u003e [\n\t\t'excludes'  =\u003e []\n\t]\n];\n```\n### Column name\nHere you define the name of the new column that will be created in the roles and permissions table defined, with this you can add a description to each role or permission created, by default the name of the column is description. By default the name.\n```php\n\u003c?php\nreturn [\n\t'column_name'  =\u003e [\n\t\t'add_column' =\u003e false,\n\t\t'description'  =\u003e  null,\n\t],\n];\n```\n**If you mark as true the option to add the description column, you must have previously generated that column in the respective database table.**\n\n### Route\nSet your own prefix and midlewares and name for the role management path and permissions. By default you will have the following:\n\n```php\n\u003c?php\nreturn [\n\t'route'  =\u003e [\n\t\t'middleware'  =\u003e [\n\t\t\t'web',\n\t\t\t'auth'\n\t\t],\n\t\t'prefix'  =\u003e  'admin',\n\t\t'name'  =\u003e  'permission.index',\n\t\t'url'  =\u003e  '/roles/manager'\n\t],\n];\n```\nNow, once everything is configured, you will be able to access the path to manage your roles.\n```css\nhttp://localhost/admin/roles/manager\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftony98ms%2Flivewire-permission-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftony98ms%2Flivewire-permission-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftony98ms%2Flivewire-permission-manager/lists"}