Remove TenantPropController, TenantProp model, and related requests; update API routes and migrations

This commit is contained in:
2026-06-22 16:50:02 -03:00
parent 3bb8fbfd2f
commit 0847fe1a26
7 changed files with 0 additions and 204 deletions

View File

@@ -1,45 +0,0 @@
<?php
namespace App\Domains\Tenant\Controllers;
use App\Domains\Tenant\Models\TenantProp;
use App\Domains\Tenant\Requests\StoreTenantPropRequest;
use App\Domains\Tenant\Requests\UpdateTenantPropRequest;
use App\Domains\Tenant\Resources\TenantPropResource;
use App\Http\Controllers\Controller;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Response;
class TenantPropController extends Controller
{
public function index(): JsonResponse
{
return TenantPropResource::collection(TenantProp::query()->latest()->get())->response();
}
public function store(StoreTenantPropRequest $request): JsonResponse
{
$tenantProp = TenantProp::create($request->validated());
return TenantPropResource::make($tenantProp)->response()->setStatusCode(201);
}
public function show(TenantProp $tenantProp): TenantPropResource
{
return TenantPropResource::make($tenantProp);
}
public function update(UpdateTenantPropRequest $request, TenantProp $tenantProp): TenantPropResource
{
$tenantProp->update($request->validated());
return TenantPropResource::make($tenantProp);
}
public function destroy(TenantProp $tenantProp): Response
{
$tenantProp->delete();
return response()->noContent();
}
}

View File

@@ -1,27 +0,0 @@
<?php
namespace App\Domains\Tenant\Models;
use Illuminate\Database\Eloquent\Attributes\Fillable;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
#[Fillable([
'codigo',
'prop_type',
])]
class TenantProp extends Model
{
use HasFactory;
/**
* @return BelongsToMany<Tenant, $this>
*/
public function tenants(): BelongsToMany
{
return $this->belongsToMany(Tenant::class, 'tenant_prop_definitions', 'prop_codigo', 'tenant_codigo', 'codigo', 'codigo')
->withPivot('valor')
->withTimestamps();
}
}

View File

@@ -1,25 +0,0 @@
<?php
namespace App\Domains\Tenant\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class StoreTenantPropRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
return [
'codigo' => ['required', 'string', 'max:255', Rule::unique('tenant_props', 'codigo')],
'prop_type' => ['required', 'string', 'max:255'],
];
}
}

View File

@@ -1,34 +0,0 @@
<?php
namespace App\Domains\Tenant\Requests;
use App\Domains\Tenant\Models\TenantProp;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Validation\Rule;
class UpdateTenantPropRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
/**
* @return array<string, mixed>
*/
public function rules(): array
{
/** @var TenantProp|null $tenantProp */
$tenantProp = $this->route('tenantProp');
return [
'codigo' => [
'required',
'string',
'max:255',
Rule::unique('tenant_props', 'codigo')->ignore($tenantProp?->id),
],
'prop_type' => ['required', 'string', 'max:255'],
];
}
}

View File

@@ -1,26 +0,0 @@
<?php
namespace App\Domains\Tenant\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
/**
* @mixin \App\Domains\Tenant\Models\TenantProp
*/
class TenantPropResource extends JsonResource
{
/**
* @return array<string, mixed>
*/
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'codigo' => $this->codigo,
'prop_type' => $this->prop_type,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
];
}
}

View File

@@ -1,9 +1,6 @@
<?php
use App\Domains\Tenant\Controllers\TenantController;
use App\Domains\Tenant\Controllers\TenantPropController;
use Illuminate\Support\Facades\Route;
Route::apiResource('tenants', TenantController::class);
Route::apiResource('tenant-props', TenantPropController::class)
->parameters(['tenant-props' => 'tenantProp']);