507 lines
12 KiB
PHP
507 lines
12 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use Illuminate\Database\Seeder;
|
|
use Spatie\Permission\Models\Permission;
|
|
use Spatie\Permission\Models\Role;
|
|
|
|
class RolePermissionSeeder extends Seeder
|
|
{
|
|
public function run(): void
|
|
{
|
|
$developer = Role::firstOrCreate(['name' => 'Developer']);
|
|
$owner = Role::firstOrCreate(['name' => 'Owner']);
|
|
$leader = Role::firstOrCreate(['name' => 'Leader']);
|
|
$admin = Role::firstOrCreate(['name' => 'Admin']);
|
|
$partner = Role::firstOrCreate(['name' => 'Partner']);
|
|
$customer = Role::firstOrCreate(['name' => 'Customer']);
|
|
|
|
$permissions = [
|
|
'view account',
|
|
'update account',
|
|
|
|
'manage adjustment',
|
|
|
|
'view analysis',
|
|
|
|
'view application settings',
|
|
|
|
'view article',
|
|
'create article',
|
|
'update article',
|
|
'delete article',
|
|
|
|
'view bottle',
|
|
'create bottle',
|
|
'update bottle',
|
|
'delete bottle',
|
|
'audit bottle',
|
|
|
|
'view brand',
|
|
'create brand',
|
|
'update brand',
|
|
'delete brand',
|
|
|
|
'view broadcast',
|
|
'create broadcast',
|
|
'delete broadcast',
|
|
|
|
'view category',
|
|
'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',
|
|
|
|
'view expense',
|
|
'create expense',
|
|
'update expense',
|
|
'delete expense',
|
|
|
|
'view faq',
|
|
'create faq',
|
|
'update faq',
|
|
'delete faq',
|
|
|
|
'view formula',
|
|
'create formula',
|
|
'update formula',
|
|
'delete formula',
|
|
|
|
'view general settings',
|
|
'update general settings',
|
|
|
|
'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 partner overview',
|
|
|
|
'view password',
|
|
'update password',
|
|
|
|
'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 stock transfer',
|
|
'create stock transfer',
|
|
'update stock transfer',
|
|
'delete stock transfer',
|
|
|
|
'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',
|
|
'generate stock opname',
|
|
|
|
'view stock history',
|
|
'show stock history',
|
|
|
|
'view studio overview',
|
|
|
|
'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',
|
|
'audit stock 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',
|
|
'generate 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',
|
|
'audit stock warehouse',
|
|
|
|
'view stock history',
|
|
'show stock history',
|
|
|
|
]));
|
|
|
|
$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',
|
|
'audit 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',
|
|
|
|
'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',
|
|
|
|
'view outlet',
|
|
'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',
|
|
|
|
'view restock',
|
|
'create restock',
|
|
'update restock',
|
|
'delete restock',
|
|
|
|
'view stock transfer',
|
|
'create stock transfer',
|
|
'update stock transfer',
|
|
'delete stock transfer',
|
|
|
|
'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',
|
|
'manage stock opname',
|
|
'generate 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',
|
|
'audit stock warehouse',
|
|
|
|
'view stock history',
|
|
'show stock history',
|
|
]));
|
|
|
|
$partner->syncPermissions([
|
|
'view account',
|
|
'update account',
|
|
|
|
'view partner overview',
|
|
|
|
'view password',
|
|
'update password',
|
|
|
|
'view profile',
|
|
'update profile',
|
|
]);
|
|
|
|
$customer->syncPermissions([
|
|
'view account',
|
|
'update account',
|
|
|
|
'view member membership',
|
|
|
|
'view member overview',
|
|
|
|
'view member reward',
|
|
|
|
'view password',
|
|
'update password',
|
|
|
|
'view profile',
|
|
'update profile',
|
|
]);
|
|
}
|
|
}
|