Procházet zdrojové kódy

feat(permission-scope): rename 'franchisee' scope to 'franchisor_franchisee' and update related routes

ebagabee před 1 týdnem
rodič
revize
25f429c51c

+ 24 - 0
database/migrations/2026_07_17_000003_rename_franchisee_permission_scope.php

@@ -0,0 +1,24 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Support\Facades\DB;
+
+return new class extends Migration
+{
+    public function up(): void
+    {
+        DB::table('permissions')
+            ->where('scope', 'franchisee')
+            ->update([
+                'scope' => 'franchisor_franchisee',
+                'description' => 'Franqueados',
+            ]);
+    }
+
+    public function down(): void
+    {
+        DB::table('permissions')
+            ->where('scope', 'franchisor_franchisee')
+            ->update(['scope' => 'franchisee']);
+    }
+};

+ 3 - 16
database/seeders/PermissionSeeder.php

@@ -22,23 +22,10 @@ public function run(): void
                 "children"    => [],
             ],
             [
-                "scope"       => "franchisee",
+                "scope"       => "franchisor_franchisee",
                 "description" => "Franqueados",
-                "bits"        => Permission::MENU | Permission::VIEW,
-                "children"    => [
-                    [
-                        "scope"       => "unit",
-                        "description" => "Unidades",
-                        "bits"        => Permission::ALL_PERMS,
-                        "children"    => [],
-                    ],
-                    [
-                        "scope"       => "franchisee-unit",
-                        "description" => "Unidades do Franqueado",
-                        "bits"        => Permission::ALL_PERMS,
-                        "children"    => [],
-                    ],
-                ],
+                "bits"        => Permission::ALL_PERMS,
+                "children"    => [],
             ],
             // Pacotes / Aulas
             [

+ 0 - 16
routes/authRoutes/franchisee.php

@@ -1,16 +0,0 @@
-<?php
-
-use Illuminate\Support\Facades\Route;
-use App\Http\Controllers\FranchiseeController;
-
-Route::controller(FranchiseeController::class)->prefix('franchisee')->group(function () {
-    Route::get('/', 'index')->middleware('permission:franchisee,view');
-
-    Route::post('/', 'store')->middleware('permission:franchisee,add');
-
-    Route::get('/{id}', 'show')->middleware('permission:franchisee,view');
-
-    Route::put('/{id}', 'update')->middleware('permission:franchisee,edit');
-
-    Route::delete('/{id}', 'destroy')->middleware('permission:franchisee,delete');
-});

+ 0 - 20
routes/authRoutes/franchisee_contract.php

@@ -8,24 +8,4 @@
 
     Route::get('/me/{id}/tax-history', 'taxHistoryMe');
 
-    Route::get('/active', 'active')
-        ->middleware('permission:unit,view');
-
-    Route::get('/', 'index')
-        ->middleware('permission:unit,view');
-
-    Route::post('/', 'store')
-        ->middleware('permission:unit,add');
-
-    Route::get('/{id}', 'show')
-        ->middleware('permission:unit,view');
-
-    Route::get('/{id}/tax-history', 'taxHistory')
-        ->middleware('permission:unit,view');
-
-    Route::put('/{id}', 'update')
-        ->middleware('permission:unit,edit');
-
-    Route::delete('/{id}', 'destroy')
-        ->middleware('permission:unit,delete');
 });

+ 0 - 16
routes/authRoutes/franchisee_unit.php

@@ -1,16 +0,0 @@
-<?php
-
-use Illuminate\Support\Facades\Route;
-use App\Http\Controllers\FranchiseeUnitController;
-
-Route::controller(FranchiseeUnitController::class)->prefix('franchisee-unit')->group(function () {
-    Route::get('/', 'index')->middleware('permission:franchisee-unit,view');
-
-    Route::post('/', 'store')->middleware('permission:franchisee-unit,add');
-
-    Route::get('/{id}', 'show')->middleware('permission:franchisee-unit,view');
-
-    Route::put('/{id}', 'update')->middleware('permission:franchisee-unit,edit');
-
-    Route::delete('/{id}', 'destroy')->middleware('permission:franchisee-unit,delete');
-});

+ 86 - 0
routes/authRoutes/franchisor_franchisee.php

@@ -0,0 +1,86 @@
+<?php
+
+use App\Http\Controllers\FranchiseeContractController;
+use App\Http\Controllers\FranchiseeController;
+use App\Http\Controllers\FranchiseeUnitController;
+use App\Http\Controllers\UnitController;
+use App\Http\Controllers\UnitContractController;
+use App\Http\Controllers\UnitFinancialController;
+use App\Http\Controllers\UnitHistoryController;
+use App\Http\Controllers\UnitMediaController;
+use App\Http\Controllers\UnitPartnerController;
+use Illuminate\Support\Facades\Route;
+
+// Fluxo administrativo da franqueadora para gestão de franqueados e unidades.
+// Os endpoints /me do portal da unidade permanecem nos arquivos próprios.
+$permission = 'permission:franchisor_franchisee';
+
+Route::controller(UnitController::class)->prefix('unit')->group(function () use ($permission) {
+    Route::get('/', 'index')->middleware("{$permission},view");
+    Route::post('/', 'store')->middleware("{$permission},add");
+    Route::get('/{id}', 'show')->whereNumber('id')->middleware("{$permission},view");
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware("{$permission},edit");
+    Route::post('/{id}', 'update')->whereNumber('id')->middleware("{$permission},edit");
+    Route::delete('/{id}', 'destroy')->whereNumber('id')->middleware("{$permission},delete");
+});
+
+Route::controller(FranchiseeController::class)->prefix('franchisee')->group(function () use ($permission) {
+    Route::get('/', 'index')->middleware("{$permission},view");
+    Route::post('/', 'store')->middleware("{$permission},add");
+    Route::get('/{id}', 'show')->whereNumber('id')->middleware("{$permission},view");
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware("{$permission},edit");
+    Route::delete('/{id}', 'destroy')->whereNumber('id')->middleware("{$permission},delete");
+});
+
+Route::controller(FranchiseeUnitController::class)->prefix('franchisee-unit')->group(function () use ($permission) {
+    Route::get('/', 'index')->middleware("{$permission},view");
+    Route::post('/', 'store')->middleware("{$permission},add");
+    Route::get('/{id}', 'show')->whereNumber('id')->middleware("{$permission},view");
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware("{$permission},edit");
+    Route::delete('/{id}', 'destroy')->whereNumber('id')->middleware("{$permission},delete");
+});
+
+Route::controller(UnitPartnerController::class)->prefix('unit-partner')->group(function () use ($permission) {
+    Route::get('/', 'index')->middleware("{$permission},view");
+    Route::post('/', 'store')->middleware("{$permission},add");
+    Route::get('/{id}', 'show')->whereNumber('id')->middleware("{$permission},view");
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware("{$permission},edit");
+    Route::delete('/{id}', 'destroy')->whereNumber('id')->middleware("{$permission},delete");
+});
+
+Route::controller(FranchiseeContractController::class)->prefix('franchisee-contract')->group(function () use ($permission) {
+    Route::get('/active', 'active')->middleware("{$permission},view");
+    Route::get('/', 'index')->middleware("{$permission},view");
+    Route::post('/', 'store')->middleware("{$permission},add");
+    Route::get('/{id}', 'show')->whereNumber('id')->middleware("{$permission},view");
+    Route::get('/{id}/tax-history', 'taxHistory')->whereNumber('id')->middleware("{$permission},view");
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware("{$permission},edit");
+    Route::delete('/{id}', 'destroy')->whereNumber('id')->middleware("{$permission},delete");
+});
+
+Route::controller(UnitContractController::class)->prefix('unit-contract')->group(function () use ($permission) {
+    Route::get('/', 'index')->middleware("{$permission},view");
+    Route::post('/', 'store')->middleware("{$permission},add");
+    Route::delete('/{id}', 'destroy')->whereNumber('id')->middleware("{$permission},delete");
+});
+
+Route::controller(UnitFinancialController::class)->prefix('unit-financial')->group(function () use ($permission) {
+    Route::get('/', 'show')->middleware("{$permission},view");
+    Route::post('/', 'upsert')->middleware("{$permission},edit");
+});
+
+Route::controller(UnitHistoryController::class)->prefix('unit-history')->group(function () use ($permission) {
+    Route::get('/', 'index')->middleware("{$permission},view");
+    Route::post('/', 'store')->middleware("{$permission},add");
+    Route::get('/{id}', 'show')->whereNumber('id')->middleware("{$permission},view");
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware("{$permission},edit");
+    Route::delete('/{id}', 'destroy')->whereNumber('id')->middleware("{$permission},delete");
+});
+
+Route::controller(UnitMediaController::class)->prefix('unit-media')->group(function () use ($permission) {
+    Route::get('/', 'index')->middleware("{$permission},view");
+    Route::post('/', 'store')->middleware("{$permission},add");
+    Route::get('/{id}', 'show')->whereNumber('id')->middleware("{$permission},view");
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware("{$permission},edit");
+    Route::delete('/{id}', 'destroy')->whereNumber('id')->middleware("{$permission},delete");
+});

+ 1 - 1
routes/authRoutes/municipality_size.php

@@ -8,4 +8,4 @@
         'payload' => MunicipalitySize::orderBy('id')->get(),
         'message' => null,
     ]);
-})->middleware('permission:tbr-calculation,view');
+})->middleware('permission:tbr-calculation|franchisor_franchisee,view');

+ 1 - 1
routes/authRoutes/tbr.php

@@ -4,7 +4,7 @@
 use App\Http\Controllers\TbrController;
 
 Route::controller(TbrController::class)->prefix('tbr')->group(function () {
-    Route::get('/current', 'current')->middleware('permission:tbr,view');
+    Route::get('/current', 'current')->middleware('permission:tbr|franchisor_franchisee,view');
 
     Route::get('/', 'index')->middleware('permission:tbr,view');
 

+ 0 - 19
routes/authRoutes/unit.php

@@ -12,23 +12,4 @@
     Route::post('/me', 'updateMe');
     Route::put('/me', 'updateMe');
 
-    //
-
-    Route::get('/', 'index')
-        ->middleware('permission:unit,view');
-
-    Route::post('/', 'store')
-        ->middleware('permission:unit,add');
-
-    Route::get('/{id}', 'show')
-        ->middleware('permission:unit,view');
-
-    Route::put('/{id}', 'update')
-        ->middleware('permission:unit,edit');
-
-    Route::post('/{id}', 'update')
-        ->middleware('permission:unit,edit');
-
-    Route::delete('/{id}', 'destroy')
-        ->middleware('permission:unit,delete');
 });

+ 0 - 12
routes/authRoutes/unit_contract.php

@@ -1,12 +0,0 @@
-<?php
-
-use Illuminate\Support\Facades\Route;
-use App\Http\Controllers\UnitContractController;
-
-Route::controller(UnitContractController::class)->prefix('unit-contract')->group(function () {
-    Route::get('/', 'index')->middleware('permission:unit,view');
-
-    Route::post('/', 'store')->middleware('permission:unit,add');
-
-    Route::delete('/{id}', 'destroy')->middleware('permission:unit,delete');
-});

+ 0 - 5
routes/authRoutes/unit_financial.php

@@ -7,9 +7,4 @@
     Route::get('/me', 'showMe');
     Route::post('/me', 'upsertMe');
 
-    Route::get('/', 'show')
-        ->middleware('permission:unit,view');
-
-    Route::post('/', 'upsert')
-        ->middleware('permission:unit,edit');
 });

+ 0 - 14
routes/authRoutes/unit_history.php

@@ -6,18 +6,4 @@
 Route::controller(UnitHistoryController::class)->prefix('unit-history')->group(function () {
     Route::get('/me', 'indexMe');
 
-    Route::get('/', 'index')
-        ->middleware('permission:unit,view');
-
-    Route::post('/', 'store')
-        ->middleware('permission:unit,add');
-
-    Route::get('/{id}', 'show')
-        ->middleware('permission:unit,view');
-
-    Route::put('/{id}', 'update')
-        ->middleware('permission:unit,edit');
-
-    Route::delete('/{id}', 'destroy')
-        ->middleware('permission:unit,delete');
 });

+ 0 - 14
routes/authRoutes/unit_media.php

@@ -7,18 +7,4 @@
     Route::get('/me', 'indexMe');
     Route::post('/me', 'storeMe');
 
-    Route::get('/', 'index')
-        ->middleware('permission:unit,view');
-
-    Route::post('/', 'store')
-        ->middleware('permission:unit,add');
-
-    Route::get('/{id}', 'show')
-        ->middleware('permission:unit,view');
-
-    Route::put('/{id}', 'update')
-        ->middleware('permission:unit,edit');
-
-    Route::delete('/{id}', 'destroy')
-        ->middleware('permission:unit,delete');
 });

+ 0 - 14
routes/authRoutes/unit_partner.php

@@ -9,18 +9,4 @@
     Route::put('/me/{id}', 'updateMe');
     Route::delete('/me/{id}', 'destroyMe');
 
-    Route::get('/', 'index')
-        ->middleware('permission:unit,view');
-
-    Route::post('/', 'store')
-        ->middleware('permission:unit,add');
-
-    Route::get('/{id}', 'show')
-        ->middleware('permission:unit,view');
-
-    Route::put('/{id}', 'update')
-        ->middleware('permission:unit,edit');
-
-    Route::delete('/{id}', 'destroy')
-        ->middleware('permission:unit,delete');
 });