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',
'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',
]);
}
}