Просмотр исходного кода

refactor: :art: Mudando nome de Source para Enum e padronizando uppercase

Denis 1 год назад
Родитель
Сommit
097216fb46

+ 2 - 2
app/Commands/CreateCrud.php

@@ -160,12 +160,12 @@ protected function createRoute($name): void
             ],
             replace: [
                 $name,
-                Str::snake($name)
+                Str::snake($name, '-')
             ],
             subject: $this->getStub(type: 'Route')
         );
 
-        $routePath = base_path("routes/authRoutes/" . strtolower($name) . ".php");
+        $routePath = base_path("routes/authRoutes/" . Str::snake($name) . ".php");
 
         if (!$this->files->isDirectory(base_path('routes/authRoutes'))) {
             $this->files->makeDirectory(base_path('routes/authRoutes'), 0755, true);

+ 14 - 0
app/Enums/UserLanguageEnum.php

@@ -0,0 +1,14 @@
+<?php
+
+namespace App\Enums;
+
+use App\Traits\EnumHelper;
+
+enum UserLanguageEnum: string
+{
+    use EnumHelper;
+
+    case ENGLISH = 'en';
+    case SPANISH = 'es';
+    case PORTUGUESE = 'pt';
+}

+ 0 - 14
app/Enums/UserLanguageSource.php

@@ -1,14 +0,0 @@
-<?php
-
-namespace App\Enums;
-
-use App\Traits\EnumHelper;
-
-enum UserLanguageSource: string
-{
-    use EnumHelper;
-
-    case English = 'en';
-    case Spanish = 'es';
-    case Portuguese = 'pt';
-}

+ 3 - 3
app/Enums/UserTypeSource.php → app/Enums/UserTypeEnum.php

@@ -4,10 +4,10 @@
 
 use App\Traits\EnumHelper;
 
-enum UserTypeSource: string
+enum UserTypeEnum: string
 {
     use EnumHelper;
 
-    case Admin = 'admin';
-    case Guest = 'guest';
+    case ADMIN = 'ADMIN';
+    case GUEST = 'GUEST';
 }

+ 3 - 3
app/Http/Middleware/SetUserLanguage.php

@@ -6,7 +6,7 @@
 use Illuminate\Http\Request;
 use Symfony\Component\HttpFoundation\Response;
 use Illuminate\Support\Facades\App;
-use App\Enums\UserLanguageSource;
+use App\Enums\UserLanguageEnum;
 
 class SetUserLanguage
 {
@@ -18,11 +18,11 @@ class SetUserLanguage
     public function handle(Request $request, Closure $next): Response
     {
         $language = substr($request->header('Accept-Language'), 0, 2);
-        $language = UserLanguageSource::fromString($language);
+        $language = UserLanguageEnum::fromString($language);
         if ($language) {
             App::setLocale($language->value);
         } else {
-            App::setLocale(UserLanguageSource::Portuguese->value);
+            App::setLocale(UserLanguageEnum::PORTUGUESE->value);
         }
         return $next($request);
     }

+ 2 - 2
app/Http/Requests/UserRequest.php

@@ -3,7 +3,7 @@
 namespace App\Http\Requests;
 
 use Illuminate\Foundation\Http\FormRequest;
-use App\Enums\UserTypeSource;
+use App\Enums\UserTypeEnum;
 use Illuminate\Validation\Rule;
 
 class UserRequest extends FormRequest
@@ -13,7 +13,7 @@ public function rules(): array
         $rules = [
             'name' => 'sometimes|string|nullable',
             'password' => 'sometimes|string|nullable',
-            'type' => ['sometimes', Rule::enum(UserTypeSource::class)],
+            'type' => ['sometimes', Rule::enum(UserTypeEnum::class)],
             'email' => 'sometimes|unique:users,email|email',
             'language' => 'sometimes|string|nullable',
         ];

+ 5 - 5
app/Models/User.php

@@ -2,8 +2,8 @@
 
 namespace App\Models;
 
-use App\Enums\UserLanguageSource;
-use App\Enums\UserTypeSource;
+use App\Enums\UserLanguageEnum;
+use App\Enums\UserTypeEnum;
 use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Foundation\Auth\User as Authenticatable;
 use Illuminate\Notifications\Notifiable;
@@ -45,14 +45,14 @@ protected function casts(): array
         return [
             'email_verified_at' => 'datetime',
             'password' => 'hashed',
-            'type' => UserTypeSource::class,
-            'language' => UserLanguageSource::class,
+            'type' => UserTypeEnum::class,
+            'language' => UserLanguageEnum::class,
         ];
     }
 
     public function isAdmin(): bool
     {
-        return $this->type === UserTypeSource::Admin;
+        return $this->type === UserTypeEnum::ADMIN;
     }
 
     public function permissions(): BelongsToMany

+ 2 - 2
app/Models/UserTypePermission.php

@@ -2,7 +2,7 @@
 
 namespace App\Models;
 
-use App\Enums\UserTypeSource;
+use App\Enums\UserTypeEnum;
 use Illuminate\Database\Eloquent\Factories\HasFactory;
 use Illuminate\Database\Eloquent\Model;
 use Illuminate\Database\Eloquent\SoftDeletes;
@@ -31,7 +31,7 @@ protected function casts(): array
     {
         return [
             'permission_id' => 'integer',
-            'user_type' => UserTypeSource::class,
+            'user_type' => UserTypeEnum::class,
         ];
     }
 

+ 3 - 3
app/Repositories/UserTypePermissionRepository.php

@@ -3,7 +3,7 @@
 namespace App\Repositories;
 
 use App\Models\UserTypePermission;
-use App\Enums\UserTypeSource;
+use App\Enums\UserTypeEnum;
 use Illuminate\Database\Eloquent\Collection;
 
 class UserTypePermissionRepository implements UserTypePermissionRepositoryInterface
@@ -15,13 +15,13 @@ public function __construct(
 
     public function allGuestPermissions(): ?Collection
     {
-        return $this->model->where('user_type', UserTypeSource::Guest)
+        return $this->model->where('user_type', UserTypeEnum::GUEST)
         ->join('permissions', 'user_type_permissions.permission_id', '=',  'permissions.id')
         ->select('permissions.*', 'user_type_permissions.bits', 'user_type_permissions.*')
         ->get();
     }
 
-    public function allPermissionsByUserType(UserTypeSource $userType): ?Collection
+    public function allPermissionsByUserType(UserTypeEnum $userType): ?Collection
     {
         return $this->model->where('user_type', $userType)
         ->join('permissions',  'user_type_permissions.permission_id',  '=',  'permissions.id')

+ 2 - 2
app/Repositories/UserTypePermissionRepositoryInterface.php

@@ -2,13 +2,13 @@
 
 namespace App\Repositories;
 
-use App\Enums\UserTypeSource;
+use App\Enums\UserTypeEnum;
 use Illuminate\Database\Eloquent\Collection;
 
 interface UserTypePermissionRepositoryInterface
 {
     public function allGuestPermissions(): ?Collection;
 
-    public function allPermissionsByUserType(UserTypeSource $userType): ?Collection
+    public function allPermissionsByUserType(UserTypeEnum $userType): ?Collection
 ;
 }

+ 2 - 2
app/Services/UserTypePermissionService.php

@@ -3,7 +3,7 @@
 namespace App\Services;
 
 use App\Repositories\UserTypePermissionRepositoryInterface;
-use App\Enums\UserTypeSource;
+use App\Enums\UserTypeEnum;
 use Illuminate\Database\Eloquent\Collection;
 
 class UserTypePermissionService
@@ -18,7 +18,7 @@ public function allGuestPermissions(): ?Collection
         return $this->userTypePermissionRepository->allGuestPermissions();
     }
 
-    public function allPermissionsByUserType(UserTypeSource $userType): ?Collection
+    public function allPermissionsByUserType(UserTypeEnum $userType): ?Collection
     {
         return $this->userTypePermissionRepository->allPermissionsByUserType(userType: $userType);
     }

+ 2 - 2
database/seeders/UserSeeder.php

@@ -4,7 +4,7 @@
 
 use App\Models\User;
 use Illuminate\Database\Seeder;
-use App\Enums\UserTypeSource;
+use App\Enums\UserTypeEnum;
 
 class UserSeeder extends Seeder
 {
@@ -17,7 +17,7 @@ public function run(): void
             'name' => 'suporte',
             'email' => 'suporte@softpar.inf.br',
             'password' => 'S@ft2080.',
-            'type' => UserTypeSource::Admin,
+            'type' => UserTypeEnum::ADMIN,
         ]);
 
         $user->save();

+ 6 - 6
database/seeders/UserTypePermissionSeeder.php

@@ -5,7 +5,7 @@
 use App\Models\Permission;
 use App\Models\UserTypePermission;
 use Illuminate\Database\Seeder;
-use App\Enums\UserTypeSource;
+use App\Enums\UserTypeEnum;
 use Illuminate\Support\Facades\Log;
 
 class UserTypePermissionSeeder extends Seeder
@@ -15,22 +15,22 @@ class UserTypePermissionSeeder extends Seeder
      */
     public function run(): void
     {
-        foreach (UserTypeSource::cases() as $userType) {
+        foreach (UserTypeEnum::cases() as $userType) {
             switch ($userType) {
-                case UserTypeSource::Admin:
+                case UserTypeEnum::ADMIN:
                     $permissions = Permission::get();
                     foreach ($permissions as $permission) {
                         $userTypePermission = UserTypePermission::firstOrNew(attributes: [
-                            'user_type' => UserTypeSource::Admin->value,
+                            'user_type' => UserTypeEnum::ADMIN->value,
                             'permission_id' => $permission->id,
                             'bits' => $permission->bits,
                         ]);
                         $userTypePermission->save();
                     }
                     break;
-                case UserTypeSource::Guest:
+                case UserTypeEnum::GUEST:
                     $userTypePermission = UserTypePermission::firstOrNew([
-                        'user_type' => UserTypeSource::Guest->value,
+                        'user_type' => UserTypeEnum::GUEST->value,
                         'permission_id' => Permission::where('scope', 'config.user')->first()->id,
                         'bits' => 5,
                     ]);