ソースを参照

refactor: concede permissoes para os partners no seeder de development (teste)

Gustavo Mantovani 1 日 前
コミット
a235dd57b7
1 ファイル変更24 行追加0 行削除
  1. 24 0
      database/seeders/DeveloperTestSeeder.php

+ 24 - 0
database/seeders/DeveloperTestSeeder.php

@@ -3,12 +3,15 @@
 namespace Database\Seeders;
 
 use App\Models\City;
+use App\Models\Permission;
 use App\Models\Unit;
 use App\Models\UnitPartner;
 use App\Models\UnitUser;
 use App\Models\User;
 use App\Models\UserType;
+use App\Models\UserTypePermission;
 use Illuminate\Database\Seeder;
+use Illuminate\Support\Facades\Cache;
 
 class DeveloperTestSeeder extends Seeder
 {
@@ -23,6 +26,8 @@ public function run(): void
 
         $accessPassword = 'S@ft2080.';
 
+        $franchiseePermissions = Permission::where('scope', 'like', 'franchisee_%')->get();
+
         $units = [
             [
                 'city' => 'São Paulo',
@@ -163,6 +168,25 @@ public function run(): void
                 ],
             );
 
+            foreach ($franchiseePermissions as $permission) {
+                $userTypePermission = UserTypePermission::withTrashed()->updateOrCreate(
+                    [
+                        'user_type_id'  => $userType->id,
+                        'permission_id' => $permission->id,
+                    ],
+                    [
+                        'user_type' => $userType->slug,
+                        'bits'      => Permission::ALL_PERMS,
+                    ],
+                );
+
+                if ($userTypePermission->trashed()) {
+                    $userTypePermission->restore();
+                }
+            }
+
+            Cache::forget("permissions_role_id_{$userType->id}");
+
             foreach ($unitData['partners'] as $partnerData) {
                 $partner = UnitPartner::withTrashed()->updateOrCreate(
                     [