feat: Reorder and update permissions list in RolePermissionSeeder, and adjust role permission syncing.

This commit is contained in:
Yoga Pangestu 2026-01-05 22:51:47 +07:00
parent fefad3f6b1
commit b508deb76c

View File

@ -21,78 +21,16 @@ public function run(): void
'view account', 'view account',
'update account', 'update account',
'view profile', 'manage adjustment',
'update profile',
'view password',
'update password',
'view studio overview',
'view analysis', 'view analysis',
'view outlet', 'view application settings',
'create outlet',
'update outlet',
'delete outlet',
'view user', 'view article',
'create user', 'create article',
'update user', 'update article',
'delete user', 'delete article',
'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 bottle', 'view bottle',
'create bottle', 'create bottle',
@ -100,240 +38,127 @@ public function run(): void
'delete bottle', 'delete bottle',
'audit bottle', 'audit bottle',
'view expense', 'view brand',
'create expense', 'create brand',
'update expense', 'update brand',
'delete expense', 'delete brand',
'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 broadcast', 'view broadcast',
'create broadcast', 'create broadcast',
'delete broadcast', 'delete broadcast',
'view warehouse', 'view category',
'show warehouse', 'create category',
'create warehouse', 'update category',
'update warehouse', 'delete category',
'delete warehouse',
'view restock',
'create restock',
'update restock',
'delete restock',
'view perfume feature',
'create perfume feature',
'update perfume feature',
'delete perfume feature',
'view choose us', 'view choose us',
'create choose us', 'create choose us',
'update choose us', 'update choose us',
'delete choose us', 'delete choose us',
'view application settings',
'view general settings',
'update general settings',
'view contact settings', 'view contact settings',
'update contact settings', 'update contact settings',
'view seo settings', 'view customer',
'update seo settings', 'create customer',
'update customer',
'delete customer',
'view social settings', 'view expense',
'update social settings', 'create expense',
'update expense',
'view redemption', 'delete expense',
'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 faq', 'view faq',
'create faq', 'create faq',
'update faq', 'update faq',
'delete faq', 'delete faq',
'view perfume feature', 'view formula',
'create perfume feature', 'create formula',
'update perfume feature', 'update formula',
'delete perfume feature', 'delete formula',
'view choose us',
'create choose us',
'update choose us',
'delete choose us',
'view application settings',
'view general settings', 'view general settings',
'update 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 membership',
'view member overview',
'view member reward', 'view member reward',
'view order',
'create order',
'show order',
'update order',
'delete order',
'view outlet', 'view outlet',
'create outlet', 'create outlet',
'update outlet', 'update outlet',
'delete outlet', 'delete outlet',
'view warehouse', 'view partner overview',
'show warehouse',
'create warehouse',
'update warehouse',
'delete warehouse',
'view user', 'view password',
'create user', 'update password',
'update user',
'delete user',
'reset password user',
'create formula', 'view payroll',
'update formula',
'delete formula', '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', 'view tier',
'create tier', 'create tier',
@ -345,45 +170,226 @@ public function run(): void
'update tier reward', 'update tier reward',
'delete tier reward', 'delete tier reward',
'view user',
'create user',
'update user',
'delete user',
'reset password user',
'view voucher', 'view voucher',
'create voucher', 'create voucher',
'update voucher', 'update voucher',
'delete 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', 'create reward',
'update reward', 'update reward',
'delete 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', 'view customer',
'create customer', 'create customer',
'update customer', 'update customer',
'delete customer', 'delete customer',
'create category', 'view faq',
'update category', 'create faq',
'delete category', 'update faq',
'delete faq',
'create brand', 'create formula',
'update brand', 'update formula',
'delete brand', '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', 'create perfume',
'update perfume', 'update perfume',
'delete perfume', 'delete perfume',
'view perfume feature',
'create perfume feature',
'update perfume feature',
'delete perfume feature',
'create product', 'create product',
'update product', 'update product',
'delete product', 'delete product',
'create bottle',
'update bottle',
'delete bottle',
'manage adjustment',
'delete order',
'view purchase', 'view purchase',
'create purchase', 'create purchase',
'delete purchase', 'delete purchase',
@ -393,44 +399,10 @@ public function run(): void
'update restock', 'update restock',
'delete restock', 'delete restock',
'view stock opname', 'view reward',
'manage stock opname', 'create reward',
'show stock opname', 'update reward',
'delete reward',
'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 seo settings', 'view seo settings',
'update seo settings', 'update seo settings',
@ -438,36 +410,70 @@ public function run(): void
'view social settings', 'view social settings',
'update 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([ $partner->syncPermissions([
'view account', 'view account',
'update account', 'update account',
'view profile', 'view partner overview',
'update profile',
'view password', 'view password',
'update password', 'update password',
'view partner overview', 'view profile',
'update profile',
]); ]);
$customer->syncPermissions([ $customer->syncPermissions([
'view account', 'view account',
'update account', 'update account',
'view profile', 'view member membership',
'update profile',
'view member overview',
'view member reward',
'view password', 'view password',
'update password', 'update password',
'view member overview', 'view profile',
'update profile',
'view member membership',
'view member reward',
]); ]);
} }
} }