From b508deb76ca1924fae4641083e16c7b0c113f888 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Mon, 5 Jan 2026 22:51:47 +0700 Subject: [PATCH] feat: Reorder and update permissions list in RolePermissionSeeder, and adjust role permission syncing. --- database/seeders/RolePermissionSeeder.php | 666 +++++++++++----------- 1 file changed, 336 insertions(+), 330 deletions(-) diff --git a/database/seeders/RolePermissionSeeder.php b/database/seeders/RolePermissionSeeder.php index 63d956e..9c25c00 100644 --- a/database/seeders/RolePermissionSeeder.php +++ b/database/seeders/RolePermissionSeeder.php @@ -21,78 +21,16 @@ public function run(): void 'view account', 'update account', - 'view profile', - 'update profile', - - 'view password', - 'update password', - - 'view studio overview', + 'manage adjustment', 'view analysis', - 'view outlet', - 'create outlet', - 'update outlet', - 'delete outlet', + 'view application settings', - 'view user', - 'create user', - 'update user', - 'delete user', - 'reset password user', - - 'view formula', - 'create formula', - 'update formula', - 'delete formula', - - 'view tier', - 'create tier', - 'update tier', - 'delete tier', - - 'view tier reward', - 'create tier reward', - 'update tier reward', - 'delete tier reward', - - 'view voucher', - 'create voucher', - 'update voucher', - 'delete voucher', - - 'view reward', - 'create reward', - 'update reward', - 'delete reward', - - 'view customer', - 'create customer', - 'update customer', - 'delete customer', - - 'view category', - 'create category', - 'update category', - 'delete category', - - 'view brand', - 'create brand', - 'update brand', - 'delete brand', - - 'view perfume', - 'create perfume', - 'update perfume', - 'delete perfume', - 'audit perfume', - - 'view product', - 'create product', - 'update product', - 'delete product', - 'audit product', + 'view article', + 'create article', + 'update article', + 'delete article', 'view bottle', 'create bottle', @@ -100,240 +38,127 @@ public function run(): void 'delete bottle', 'audit bottle', - 'view expense', - 'create expense', - 'update expense', - 'delete expense', - - 'view payroll', - 'manage adjustment', - - 'view order', - 'create order', - 'update order', - 'delete order', - 'show order', - - 'view purchase', - 'create purchase', - 'delete purchase', - - 'view stock opname', - 'manage stock opname', - 'show stock opname', - 'approve stock opname', - - 'view article', - 'create article', - 'update article', - 'delete article', - - 'view faq', - 'create faq', - 'update faq', - 'delete faq', - - 'view testimonial', - 'delete testimonial', + 'view brand', + 'create brand', + 'update brand', + 'delete brand', 'view broadcast', 'create broadcast', 'delete broadcast', - 'view warehouse', - 'show warehouse', - 'create warehouse', - 'update warehouse', - 'delete warehouse', - - 'view restock', - 'create restock', - 'update restock', - 'delete restock', - - 'view perfume feature', - 'create perfume feature', - 'update perfume feature', - 'delete perfume feature', + 'view category', + 'create category', + 'update category', + 'delete category', 'view choose us', 'create choose us', 'update choose us', 'delete choose us', - 'view application settings', - - 'view general settings', - 'update general settings', - 'view contact settings', 'update contact settings', - 'view seo settings', - 'update seo settings', + 'view customer', + 'create customer', + 'update customer', + 'delete customer', - 'view social settings', - 'update social settings', - - 'view redemption', - 'update redemption', - - // member - 'view member overview', - - 'view member membership', - - 'view member reward', - - // partner - 'view partner overview', - ]; - - foreach ($permissions as $permission) { - Permission::firstOrCreate(['name' => $permission]); - } - - $developer->syncPermissions($permissions, array_diff($permissions, [ - 'view member overview', - 'view partner overview', - 'view member membership', - ])); - - $owner->syncPermissions($permissions, array_diff($permissions, [ - 'view member overview', - 'view partner overview', - 'view member membership', - 'view member reward', - ])); - - $leader->syncPermissions(array_diff($permissions, [ - 'view member overview', - 'view partner overview', - - 'view analysis', - 'view member membership', - 'view member reward', - - 'create outlet', - 'update outlet', - 'delete outlet', - - 'show warehouse', - 'create warehouse', - 'update warehouse', - 'delete warehouse', - - 'view user', - 'create user', - 'update user', - 'delete user', - 'reset password user', - - 'create formula', - 'update formula', - 'delete formula', - - 'create tier', - 'update tier', - 'delete tier', - - 'view tier reward', - 'create tier reward', - 'update tier reward', - 'delete tier reward', - - 'create voucher', - 'update voucher', - 'delete voucher', - - 'create reward', - 'update reward', - 'delete reward', - - 'create perfume', - 'update perfume', - 'delete perfume', - 'audit perfume', - - 'create product', - 'update product', - 'delete product', - 'audit product', - - 'create bottle', - 'update bottle', - 'delete bottle', - 'audit bottle', - - 'manage adjustment', - - 'delete order', - - 'view purchase', - 'create purchase', - 'delete purchase', - - 'approve stock opname', + 'view expense', + 'create expense', + 'update expense', + 'delete expense', 'view faq', 'create faq', 'update faq', 'delete faq', - 'view perfume feature', - 'create perfume feature', - 'update perfume feature', - 'delete perfume feature', - - 'view choose us', - 'create choose us', - 'update choose us', - 'delete choose us', - - 'view application settings', + 'view formula', + 'create formula', + 'update formula', + 'delete formula', 'view general settings', 'update general settings', - 'view contact settings', - 'update contact settings', - - 'view seo settings', - 'update seo settings', - - 'view social settings', - 'update social settings', - - ])); - - $admin->syncPermissions(array_diff($permissions, [ - 'view member overview', - 'view partner overview', - - 'view analysis', 'view member membership', + + 'view member overview', + 'view member reward', + 'view order', + 'create order', + 'show order', + 'update order', + 'delete order', + 'view outlet', 'create outlet', 'update outlet', 'delete outlet', - 'view warehouse', - 'show warehouse', - 'create warehouse', - 'update warehouse', - 'delete warehouse', + 'view partner overview', - 'view user', - 'create user', - 'update user', - 'delete user', - 'reset password user', + 'view password', + 'update password', - 'create formula', - 'update formula', - 'delete formula', + 'view payroll', + + 'view perfume', + 'create perfume', + 'update perfume', + 'delete perfume', + 'audit perfume', + + 'view perfume feature', + 'create perfume feature', + 'update perfume feature', + 'delete perfume feature', + + 'view product', + 'create product', + 'update product', + 'delete product', + 'audit product', + + 'view profile', + 'update profile', + + 'view purchase', + 'create purchase', + 'delete purchase', + + 'view redemption', + 'update redemption', + + 'view restock', + 'create restock', + 'update restock', + 'delete restock', + + 'view reward', + 'create reward', + 'update reward', + 'delete reward', + + 'view seo settings', + 'update seo settings', + + 'view social settings', + 'update social settings', + + 'view stock opname', + 'show stock opname', + 'approve stock opname', + 'manage stock opname', + + 'view studio overview', + + 'view testimonial', + 'delete testimonial', 'view tier', 'create tier', @@ -345,45 +170,226 @@ public function run(): void 'update tier reward', 'delete tier reward', + 'view user', + 'create user', + 'update user', + 'delete user', + 'reset password user', + 'view voucher', 'create voucher', 'update voucher', 'delete voucher', - 'view reward', + 'view warehouse', + 'create warehouse', + 'show warehouse', + 'update warehouse', + 'delete warehouse', + + ]; + + foreach ($permissions as $permission) { + Permission::firstOrCreate(['name' => $permission]); + } + + $developer->syncPermissions(array_diff($permissions, [ + 'view member membership', + 'view member overview', + 'view partner overview', + ])); + + $owner->syncPermissions(array_diff($permissions, [ + 'view member membership', + 'view member overview', + 'view member reward', + 'view partner overview', + ])); + + $leader->syncPermissions(array_diff($permissions, [ + 'manage adjustment', + + 'view analysis', + + 'view application settings', + + 'create bottle', + 'update bottle', + 'delete bottle', + 'audit bottle', + + 'view choose us', + 'create choose us', + 'update choose us', + 'delete choose us', + + 'view contact settings', + 'update contact settings', + + 'view faq', + 'create faq', + 'update faq', + 'delete faq', + + 'create formula', + 'update formula', + 'delete formula', + + 'view general settings', + 'update general settings', + + 'view member membership', + + 'view member overview', + + 'view member reward', + + 'delete order', + + 'create outlet', + 'update outlet', + 'delete outlet', + + 'view partner overview', + + 'create perfume', + 'update perfume', + 'delete perfume', + 'audit perfume', + + 'view perfume feature', + 'create perfume feature', + 'update perfume feature', + 'delete perfume feature', + + 'create product', + 'update product', + 'delete product', + 'audit product', + + 'view purchase', + 'create purchase', + 'delete purchase', + 'create reward', 'update reward', 'delete reward', + 'view seo settings', + 'update seo settings', + + 'view social settings', + 'update social settings', + + 'approve stock opname', + + 'create tier', + 'update tier', + 'delete tier', + + 'view tier reward', + 'create tier reward', + 'update tier reward', + 'delete tier reward', + + 'view user', + 'create user', + 'update user', + 'delete user', + 'reset password user', + + 'create voucher', + 'update voucher', + 'delete voucher', + + 'create warehouse', + 'show warehouse', + 'update warehouse', + 'delete warehouse', + + ])); + + $admin->syncPermissions(array_diff($permissions, [ + 'manage adjustment', + + 'view analysis', + + 'view application settings', + + 'view article', + 'create article', + 'update article', + 'delete article', + + 'create bottle', + 'update bottle', + 'delete bottle', + + 'create brand', + 'update brand', + 'delete brand', + + 'view broadcast', + 'create broadcast', + 'delete broadcast', + + 'create category', + 'update category', + 'delete category', + + 'view choose us', + 'create choose us', + 'update choose us', + 'delete choose us', + + 'view contact settings', + 'update contact settings', + 'view customer', 'create customer', 'update customer', 'delete customer', - 'create category', - 'update category', - 'delete category', + 'view faq', + 'create faq', + 'update faq', + 'delete faq', - 'create brand', - 'update brand', - 'delete brand', + 'create formula', + 'update formula', + 'delete formula', + + 'view general settings', + 'update general settings', + + 'view member membership', + + 'view member overview', + + 'view member reward', + + 'delete order', + + 'view outlet', + 'create outlet', + 'update outlet', + 'delete outlet', + + 'view partner overview', 'create perfume', 'update perfume', 'delete perfume', + 'view perfume feature', + 'create perfume feature', + 'update perfume feature', + 'delete perfume feature', + 'create product', 'update product', 'delete product', - 'create bottle', - 'update bottle', - 'delete bottle', - - 'manage adjustment', - - 'delete order', - 'view purchase', 'create purchase', 'delete purchase', @@ -393,44 +399,10 @@ public function run(): void 'update restock', 'delete restock', - 'view stock opname', - 'manage stock opname', - 'show stock opname', - - 'view article', - 'create article', - 'update article', - 'delete article', - - 'view faq', - 'create faq', - 'update faq', - 'delete faq', - - 'view broadcast', - 'create broadcast', - 'delete broadcast', - - 'view testimonial', - 'delete testimonial', - - 'view perfume feature', - 'create perfume feature', - 'update perfume feature', - 'delete perfume feature', - - 'view choose us', - 'create choose us', - 'update choose us', - 'delete choose us', - - 'view application settings', - - 'view general settings', - 'update general settings', - - 'view contact settings', - 'update contact settings', + 'view reward', + 'create reward', + 'update reward', + 'delete reward', 'view seo settings', 'update seo settings', @@ -438,36 +410,70 @@ public function run(): void 'view social settings', 'update social settings', + 'view stock opname', + 'show stock opname', + 'manage stock opname', + + 'view testimonial', + 'delete testimonial', + + 'view tier', + 'create tier', + 'update tier', + 'delete tier', + + 'view tier reward', + 'create tier reward', + 'update tier reward', + 'delete tier reward', + + 'view user', + 'create user', + 'update user', + 'delete user', + 'reset password user', + + 'view voucher', + 'create voucher', + 'update voucher', + 'delete voucher', + + 'view warehouse', + 'create warehouse', + 'show warehouse', + 'update warehouse', + 'delete warehouse', + ])); $partner->syncPermissions([ 'view account', 'update account', - 'view profile', - 'update profile', + 'view partner overview', 'view password', 'update password', - 'view partner overview', + 'view profile', + 'update profile', ]); $customer->syncPermissions([ 'view account', 'update account', - 'view profile', - 'update profile', + 'view member membership', + + 'view member overview', + + 'view member reward', 'view password', 'update password', - 'view member overview', - - 'view member membership', - - 'view member reward', + 'view profile', + 'update profile', ]); } }