$permission]); } // Create Owner role if not exists $ownerRole = Role::firstOrCreate(['name' => 'Owner']); // Give Owner role specific permissions $ownerPermissions = [ // Dashboard permissions 'show_total_stats', 'show_month_overview', 'show_weekly_sales_purchases', 'show_monthly_cashflow', 'show_notifications', // Sales permissions 'access_sales', 'show_sales', // Purchases permissions 'access_purchases', 'show_purchases', // Reports permissions 'access_reports', // Currencies permissions 'access_currencies', // Settings permissions 'access_settings', // Branch permissions 'access_branches', 'show_branches', 'switch_branches' ]; $ownerRole->syncPermissions($ownerPermissions); // Create Kasir role if not exists $kasirRole = Role::firstOrCreate(['name' => 'Kasir']); // Give Kasir role specific permissions $kasirPermissions = [ // Products permissions 'access_products', 'show_products', // Sales permissions 'access_sales', 'create_sales', 'show_sales', 'create_pos_sales', // Customers permissions 'access_customers', 'create_customers', 'show_customers', 'edit_customers', 'delete_customers', // Branch permissions 'access_branches', 'show_branches', 'switch_branches', // Expenses permissions 'access_expenses', 'create_expenses', 'edit_expenses', 'delete_expenses', 'access_expense_categories' ]; $kasirRole->syncPermissions($kasirPermissions); // Create Admin role if not exists $adminRole = Role::firstOrCreate(['name' => 'Admin']); // Give Admin role all permissions $adminRole->givePermissionTo($permissions); } }