Jelajahi Sumber

feat(permission-scope): rename 'tbr' scope to 'franchisor_tbr' and update related routes

ebagabee 1 Minggu lalu
induk
melakukan
e38d04105f

+ 24 - 0
database/migrations/2026_07_17_000006_rename_tbr_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', 'tbr')->update([
+            'scope' => 'franchisor_tbr',
+            'description' => 'TBR',
+            'bits' => 256 | 1 | 2 | 4,
+        ]);
+    }
+
+    public function down(): void
+    {
+        DB::table('permissions')->where('scope', 'franchisor_tbr')->update([
+            'scope' => 'tbr',
+            'bits' => 511,
+        ]);
+    }
+};

+ 3 - 16
database/seeders/PermissionSeeder.php

@@ -310,23 +310,10 @@ public function run(): void
             ],
             // TBR
             [
-                "scope"       => "tbr",
+                "scope"       => "franchisor_tbr",
                 "description" => "TBR",
-                "bits"        => Permission::ALL_PERMS,
-                "children"    => [
-                    [
-                        "scope"       => "tbr-calculation",
-                        "description" => "Cálculo de TBR",
-                        "bits"        => Permission::VIEW | Permission::ADD,
-                        "children"    => [],
-                    ],
-                    [
-                        "scope"       => "inhabitant-classification",
-                        "description" => "Classificações de Habitantes",
-                        "bits"        => Permission::ALL_PERMS,
-                        "children"    => [],
-                    ],
-                ],
+                "bits"        => Permission::MENU | Permission::VIEW | Permission::ADD | Permission::EDIT,
+                "children"    => [],
             ],
             // Configurações
             [

+ 1 - 1
routes/authRoutes/franchisee_account_receive.php

@@ -4,5 +4,5 @@
 use App\Http\Controllers\FranchiseeAccountReceiveController;
 
 Route::controller(FranchiseeAccountReceiveController::class)->prefix('franchisee-account-receive')->group(function () {
-    Route::get('/', 'index')->middleware('permission:tbr-calculation,view');
+    Route::get('/', 'index')->middleware('permission:franchisor_tbr|financial-account-receive,view');
 });

+ 0 - 3
routes/authRoutes/franchisee_contract.php

@@ -8,7 +8,4 @@
 
     Route::get('/me/{id}/tax-history', 'taxHistoryMe');
 
-    // Consulta usada no módulo de TBR, fora da gestão de unidades.
-    Route::get('/active', 'active')->middleware('permission:tbr,view');
-
 });

+ 30 - 0
routes/authRoutes/franchisor_tbr.php

@@ -0,0 +1,30 @@
+<?php
+
+use App\Http\Controllers\FranchiseeContractController;
+use App\Http\Controllers\InhabitantClassificationController;
+use App\Http\Controllers\TbrCalculationController;
+use App\Http\Controllers\TbrController;
+use Illuminate\Support\Facades\Route;
+
+Route::controller(TbrController::class)->prefix('tbr')->group(function () {
+    Route::get('/current', 'current')->middleware('permission:franchisor_tbr|franchisor_franchisee,view');
+    Route::get('/', 'index')->middleware('permission:franchisor_tbr,view');
+    Route::post('/', 'store')->middleware('permission:franchisor_tbr,add');
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware('permission:franchisor_tbr,edit');
+});
+
+Route::controller(InhabitantClassificationController::class)->prefix('inhabitant-classification')->group(function () {
+    Route::get('/', 'index')->middleware('permission:franchisor_tbr,view');
+    Route::post('/', 'store')->middleware('permission:franchisor_tbr,add');
+    Route::put('/{id}', 'update')->whereNumber('id')->middleware('permission:franchisor_tbr,edit');
+});
+
+Route::controller(FranchiseeContractController::class)->prefix('franchisee-contract')->group(function () {
+    Route::get('/active', 'active')->middleware('permission:franchisor_tbr,view');
+});
+
+Route::controller(TbrCalculationController::class)->prefix('tbr-calculation')->group(function () {
+    Route::get('/', 'index')->middleware('permission:franchisor_tbr,view');
+    Route::post('/preview-batch', 'previewBatch')->middleware('permission:franchisor_tbr,view');
+    Route::post('/generate-batch', 'generateBatch')->middleware('permission:franchisor_tbr,add');
+});

+ 0 - 18
routes/authRoutes/inhabitant_classification.php

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

+ 1 - 1
routes/authRoutes/municipality_size.php

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

+ 0 - 18
routes/authRoutes/tbr.php

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

+ 1 - 1
routes/authRoutes/tbr_billing_preview.php

@@ -4,5 +4,5 @@
 use App\Http\Controllers\TbrBillingPreviewController;
 
 Route::controller(TbrBillingPreviewController::class)->prefix('tbr-billing-preview')->group(function () {
-    Route::get('/', 'index')->middleware('permission:tbr,view');
+    Route::get('/', 'index')->middleware('permission:franchisor_tbr,view');
 });

+ 0 - 19
routes/authRoutes/tbr_calculation.php

@@ -1,19 +0,0 @@
-<?php
-
-use App\Http\Controllers\TbrCalculationController;
-use Illuminate\Support\Facades\Route;
-
-Route::controller(TbrCalculationController::class)->prefix('tbr-calculation')->group(function () {
-    Route::get('/', 'index')->middleware('permission:tbr-calculation,view');
-
-    Route::post('/preview', 'preview')->middleware('permission:tbr-calculation,view');
-    Route::post('/preview-batch', 'previewBatch')->middleware('permission:tbr-calculation,view');
-
-    Route::post('/', 'store')->middleware('permission:tbr-calculation,add');
-    Route::post('/generate-batch', 'generateBatch')->middleware('permission:tbr-calculation,add');
-
-    Route::get('/{id}', 'show')->middleware('permission:tbr-calculation,view');
-
-    Route::post('/{id}/generate-receivable', 'generateReceivable')
-        ->middleware('permission:tbr-calculation,add');
-});