Explorar o código

feat: enhance UserSelectResource with additional user type fields

ebagabee hai 6 días
pai
achega
da586dbeb7

+ 10 - 4
app/Http/Controllers/SelectController.php

@@ -5,8 +5,8 @@
 use App\Http\Controllers\Concerns\ResolvesActiveUnit;
 use App\Http\Resources\Select\CitySelectResource;
 use App\Http\Resources\Select\CountrySelectResource;
-use App\Http\Resources\Select\GroupSelectResource;
 use App\Http\Resources\Select\FinancialPlanAccountSelectResource;
+use App\Http\Resources\Select\GroupSelectResource;
 use App\Http\Resources\Select\InhabitantClassificationSelectResource;
 use App\Http\Resources\Select\MunicipalitySizeSelectResource;
 use App\Http\Resources\Select\PackageSelectResource;
@@ -19,8 +19,8 @@
 use App\Models\City;
 use App\Models\ClassPackageUnit;
 use App\Models\Country;
-use App\Models\Group;
 use App\Models\FinancialPlanAccount;
+use App\Models\Group;
 use App\Models\InhabitantClassification;
 use App\Models\MunicipalitySize;
 use App\Models\Product;
@@ -96,7 +96,13 @@ public function franchiseeUsers(): JsonResponse
                 ->join('unit_users', fn ($join) => $join->on('unit_users.user_id', 'users.id')->where('unit_users.unit_id', $unitId))
                 ->leftJoin('user_types', 'user_types.id', 'unit_users.user_type_id')
                 ->orderBy('users.name')
-                ->get(['users.id', 'users.name', 'user_types.system_key as user_type_system_key'])
+                ->get([
+                    'users.id',
+                    'users.name',
+                    'user_types.slug as user_type',
+                    'user_types.label as user_type_label',
+                    'user_types.system_key as user_type_system_key',
+                ])
             : collect();
 
         return $this->items(UserSelectResource::collection($items));
@@ -120,7 +126,7 @@ public function userTypes(): JsonResponse
 
         $items = UserType::query()
             ->when($scope === 'unit' && $unitId, fn ($query) => $query->where('unit_id', $unitId))
-            ->when($scope === 'unit' && !$unitId, fn ($query) => $query->where('system_key', 'ADMIN_FRANCHISEE'))
+            ->when($scope === 'unit' && ! $unitId, fn ($query) => $query->where('system_key', 'ADMIN_FRANCHISEE'))
             ->when($scope === 'franchisor', fn ($query) => $query->whereNull('unit_id'))
             ->when(
                 $scope === 'unit' && $isFranchisorAssignment,

+ 2 - 0
app/Http/Resources/Select/UserSelectResource.php

@@ -12,6 +12,8 @@ public function toArray(Request $request): array
         return [
             'id' => $this->id,
             'name' => $this->name,
+            'user_type' => $this->user_type,
+            'user_type_label' => $this->user_type_label,
             'user_type_system_key' => $this->user_type_system_key,
         ];
     }