瀏覽代碼

feat(unit): add automatic_protocol column and settings to units

alvesantos 1 周之前
父節點
當前提交
9a25e40f58

+ 1 - 1
app/Http/Controllers/UnitController.php

@@ -69,7 +69,7 @@ public function updateMe(UnitRequest $request): JsonResponse
             return $this->errorResponse(message: 'Unidade não encontrada', code: 404);
         }
 
-        $item = $this->service->update($unitId, $request->safe()->only(['avatar']));
+        $item = $this->service->update($unitId, $request->safe()->only(['avatar', 'automatic_protocol']));
 
         return $this->successResponse(payload: new UnitResource($item), message: __('messages.updated'));
     }

+ 1 - 0
app/Http/Requests/UnitRequest.php

@@ -30,6 +30,7 @@ public function rules(): array
             'secondary_email'    => 'sometimes|nullable|email|max:255',
             'phone_number'       => 'sometimes|nullable|string|max:20',
             'cell_number'        => 'sometimes|required|string|max:20',
+            'automatic_protocol' => 'sometimes|boolean',
             'avatar'             => 'sometimes|nullable|image|max:20480',
             'contracts'          => 'sometimes|nullable|array',
             'contracts.*'        => 'file|mimes:pdf|max:20480',

+ 1 - 0
app/Http/Resources/UnitResource.php

@@ -37,6 +37,7 @@ public function toArray(Request $request): array
             'secondary_email'    => $this->secondary_email,
             'phone_number'       => $this->phone_number,
             'cell_number'        => $this->cell_number,
+            'automatic_protocol' => (bool) ($this->automatic_protocol ?? true),
 
             'avatar_url' => $this->avatar_url
                 ? Storage::temporaryUrl($this->avatar_url, now()->addHours(24))

+ 7 - 4
app/Models/Unit.php

@@ -34,6 +34,7 @@
  * @property \Illuminate\Support\Carbon|null $deleted_at
  * @property string|null $complement
  * @property string|null $name
+ * @property bool|null $automatic_protocol
  * @property-read \App\Models\City $city
  * @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Franchisee> $franchisees
  * @property-read int|null $franchisees_count
@@ -48,6 +49,7 @@
  * @method static \Illuminate\Database\Eloquent\Builder<static>|Unit onlyTrashed()
  * @method static \Illuminate\Database\Eloquent\Builder<static>|Unit query()
  * @method static \Illuminate\Database\Eloquent\Builder<static>|Unit whereAddressNumber($value)
+ * @method static \Illuminate\Database\Eloquent\Builder<static>|Unit whereAutomaticProtocol($value)
  * @method static \Illuminate\Database\Eloquent\Builder<static>|Unit whereAvatarUrl($value)
  * @method static \Illuminate\Database\Eloquent\Builder<static>|Unit whereCellNumber($value)
  * @method static \Illuminate\Database\Eloquent\Builder<static>|Unit whereCityId($value)
@@ -82,10 +84,11 @@ class Unit extends Model
     protected $guarded = ['id'];
 
     protected $casts = [
-        'cnpj'       => Cnpj::class,
-        'created_at' => 'datetime',
-        'updated_at' => 'datetime',
-        'deleted_at' => 'datetime',
+        'automatic_protocol' => 'boolean',
+        'cnpj'               => Cnpj::class,
+        'created_at'         => 'datetime',
+        'updated_at'         => 'datetime',
+        'deleted_at'         => 'datetime',
     ];
 
     public function city(): BelongsTo

+ 22 - 0
database/migrations/2026_08_31_000001_add_automatic_protocol_to_units_table.php

@@ -0,0 +1,22 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+return new class extends Migration
+{
+    public function up(): void
+    {
+        Schema::table('units', function (Blueprint $table) {
+            $table->boolean('automatic_protocol')->default(true)->after('cell_number');
+        });
+    }
+
+    public function down(): void
+    {
+        Schema::table('units', function (Blueprint $table) {
+            $table->dropColumn('automatic_protocol');
+        });
+    }
+};