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

feat: add tabelas de pagamento

Gustavo Mantovani 3 недель назад
Родитель
Сommit
cd902f249d
58 измененных файлов с 894 добавлено и 156 удалено
  1. 2 2
      app/Http/Controllers/AuthController.php
  2. 1 1
      app/Http/Controllers/CityController.php
  3. 2 2
      app/Http/Controllers/ClientController.php
  4. 1 1
      app/Http/Controllers/CountryController.php
  5. 1 1
      app/Http/Controllers/DashboardController.php
  6. 1 1
      app/Http/Controllers/ImprovementTypeController.php
  7. 1 1
      app/Http/Controllers/MediaController.php
  8. 45 0
      app/Http/Controllers/PaymentController.php
  9. 45 0
      app/Http/Controllers/PaymentTransferController.php
  10. 2 1
      app/Http/Controllers/PermissionController.php
  11. 2 2
      app/Http/Controllers/ProviderController.php
  12. 1 1
      app/Http/Controllers/ServiceTypeController.php
  13. 1 1
      app/Http/Controllers/SpecialityController.php
  14. 1 1
      app/Http/Controllers/StateController.php
  15. 1 1
      app/Http/Controllers/UserController.php
  16. 60 0
      app/Http/Requests/PaymentRequest.php
  17. 54 0
      app/Http/Requests/PaymentTransferRequest.php
  18. 66 0
      app/Http/Resources/PaymentResource.php
  19. 61 0
      app/Http/Resources/PaymentTransferResource.php
  20. 91 0
      app/Models/Payment.php
  21. 66 0
      app/Models/PaymentTransfer.php
  22. 51 0
      app/Services/PaymentService.php
  23. 51 0
      app/Services/PaymentTransferService.php
  24. 64 0
      database/migrations/2026_05_19_150134_create_payments_table.php
  25. 57 0
      database/migrations/2026_05_19_150138_create_payment_transfers_table.php
  26. 4 4
      routes/authRoutes/address.php
  27. 1 1
      routes/authRoutes/auth.php
  28. 8 7
      routes/authRoutes/city.php
  29. 4 4
      routes/authRoutes/client.php
  30. 5 5
      routes/authRoutes/client_favorite_provider.php
  31. 4 4
      routes/authRoutes/client_payment_method.php
  32. 3 3
      routes/authRoutes/client_provider_block.php
  33. 5 5
      routes/authRoutes/country.php
  34. 12 10
      routes/authRoutes/custom_schedule.php
  35. 2 0
      routes/authRoutes/dashboard.php
  36. 5 5
      routes/authRoutes/improvement_type.php
  37. 5 5
      routes/authRoutes/media.php
  38. 10 0
      routes/authRoutes/payment.php
  39. 10 0
      routes/authRoutes/payment_transfer.php
  40. 4 4
      routes/authRoutes/permission.php
  41. 8 8
      routes/authRoutes/provider.php
  42. 4 4
      routes/authRoutes/provider_blocked_day.php
  43. 3 3
      routes/authRoutes/provider_client_block.php
  44. 4 4
      routes/authRoutes/provider_payment_method.php
  45. 3 3
      routes/authRoutes/provider_services_type.php
  46. 3 3
      routes/authRoutes/provider_speciality.php
  47. 2 2
      routes/authRoutes/provider_working_day.php
  48. 9 8
      routes/authRoutes/review.php
  49. 2 2
      routes/authRoutes/review_improvement.php
  50. 9 9
      routes/authRoutes/schedule.php
  51. 5 5
      routes/authRoutes/service_type.php
  52. 5 5
      routes/authRoutes/speciality.php
  53. 6 6
      routes/authRoutes/state.php
  54. 8 8
      routes/authRoutes/user.php
  55. 1 1
      routes/authRoutes/user_type_permission.php
  56. 10 10
      routes/noAuthRoutes/auth.php
  57. 1 1
      routes/noAuthRoutes/service_type.php
  58. 1 1
      routes/noAuthRoutes/user_type_permission.php

+ 2 - 2
app/Http/Controllers/AuthController.php

@@ -3,13 +3,13 @@
 namespace App\Http\Controllers;
 
 use App\Http\Requests\AuthRequest;
-use App\Http\Requests\RefreshTokenRequest;
 use App\Http\Requests\RefreshTokenAppRequest;
+use App\Http\Requests\RefreshTokenRequest;
 use App\Http\Requests\UserAppsRequest;
 use App\Http\Requests\UserAppsValidateCodeRequest;
-use Illuminate\Http\JsonResponse;
 use App\Http\Resources\AuthResource;
 use App\Services\AuthService;
+use Illuminate\Http\JsonResponse;
 use Illuminate\Support\Facades\Log;
 
 class AuthController extends Controller

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

@@ -2,9 +2,9 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\CityService;
 use App\Http\Requests\CityRequest;
 use App\Http\Resources\CityResource;
+use App\Services\CityService;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Http\Request;
 

+ 2 - 2
app/Http/Controllers/ClientController.php

@@ -4,11 +4,11 @@ namespace App\Http\Controllers;
 
 use App\Http\Requests\ClientRequest;
 use App\Http\Requests\RegisterClientRequest;
+use App\Http\Resources\AuthResource;
 use App\Http\Resources\ClientResource;
 use App\Services\ClientService;
-use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
 use Illuminate\Http\JsonResponse;
-use App\Http\Resources\AuthResource;
+use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
 use Illuminate\Support\Facades\Log;
 
 class ClientController extends Controller

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

@@ -2,9 +2,9 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\CountryService;
 use App\Http\Requests\CountryRequest;
 use App\Http\Resources\CountryResource;
+use App\Services\CountryService;
 use Illuminate\Http\JsonResponse;
 
 class CountryController extends Controller

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

@@ -2,9 +2,9 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\DashboardService;
 use App\Http\Resources\DashboardClienteResource;
 use App\Http\Resources\DashboardPrestadorResource;
+use App\Services\DashboardService;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Log;

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

@@ -2,9 +2,9 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\ImprovementTypeService;
 use App\Http\Requests\ImprovementTypeRequest;
 use App\Http\Resources\ImprovementTypeResource;
+use App\Services\ImprovementTypeService;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Support\Facades\Log;
 

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

@@ -2,9 +2,9 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\MediaService;
 use App\Http\Requests\MediaRequest;
 use App\Http\Resources\MediaResource;
+use App\Services\MediaService;
 use Illuminate\Http\JsonResponse;
 
 class MediaController extends Controller

+ 45 - 0
app/Http/Controllers/PaymentController.php

@@ -0,0 +1,45 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Http\Requests\PaymentRequest;
+use App\Http\Resources\PaymentResource;
+use App\Services\PaymentService;
+use Illuminate\Http\JsonResponse;
+
+class PaymentController extends Controller
+{
+    public function __construct(
+        protected PaymentService $service,
+    ) {}
+
+    public function index(): JsonResponse
+    {
+        $items = $this->service->getAll();
+        return $this->successResponse(payload: PaymentResource::collection($items));
+    }
+
+    public function store(PaymentRequest $request): JsonResponse
+    {
+        $item = $this->service->create($request->validated());
+        return $this->successResponse(payload: new PaymentResource($item), message: __('messages.created'), code: 201);
+    }
+
+    public function show(int $id): JsonResponse
+    {
+        $item = $this->service->findById($id);
+        return $this->successResponse(payload: new PaymentResource($item));
+    }
+
+    public function update(PaymentRequest $request, int $id): JsonResponse
+    {
+        $item = $this->service->update($id, $request->validated());
+        return $this->successResponse(payload: new PaymentResource($item), message: __('messages.updated'));
+    }
+
+    public function destroy(int $id): JsonResponse
+    {
+        $this->service->delete($id);
+        return $this->successResponse(message: __('messages.deleted'), code: 204);
+    }
+}

+ 45 - 0
app/Http/Controllers/PaymentTransferController.php

@@ -0,0 +1,45 @@
+<?php
+
+namespace App\Http\Controllers;
+
+use App\Http\Requests\PaymentTransferRequest;
+use App\Http\Resources\PaymentTransferResource;
+use App\Services\PaymentTransferService;
+use Illuminate\Http\JsonResponse;
+
+class PaymentTransferController extends Controller
+{
+    public function __construct(
+        protected PaymentTransferService $service,
+    ) {}
+
+    public function index(): JsonResponse
+    {
+        $items = $this->service->getAll();
+        return $this->successResponse(payload: PaymentTransferResource::collection($items));
+    }
+
+    public function store(PaymentTransferRequest $request): JsonResponse
+    {
+        $item = $this->service->create($request->validated());
+        return $this->successResponse(payload: new PaymentTransferResource($item), message: __('messages.created'), code: 201);
+    }
+
+    public function show(int $id): JsonResponse
+    {
+        $item = $this->service->findById($id);
+        return $this->successResponse(payload: new PaymentTransferResource($item));
+    }
+
+    public function update(PaymentTransferRequest $request, int $id): JsonResponse
+    {
+        $item = $this->service->update($id, $request->validated());
+        return $this->successResponse(payload: new PaymentTransferResource($item), message: __('messages.updated'));
+    }
+
+    public function destroy(int $id): JsonResponse
+    {
+        $this->service->delete($id);
+        return $this->successResponse(message: __('messages.deleted'), code: 204);
+    }
+}

+ 2 - 1
app/Http/Controllers/PermissionController.php

@@ -2,9 +2,10 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\PermissionService;
 use App\Http\Requests\PermissionRequest;
 use App\Http\Resources\PermissionResource;
+use App\Services\PermissionService;
+
 use Illuminate\Http\JsonResponse;
 
 class PermissionController extends Controller

+ 2 - 2
app/Http/Controllers/ProviderController.php

@@ -2,13 +2,13 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\ProviderService;
 use App\Http\Requests\ProviderRequest;
 use App\Http\Requests\RegisterProviderRequest;
+use App\Http\Resources\AuthResource;
 use App\Http\Resources\ProviderResource;
+use App\Services\ProviderService;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Http\Request;
-use App\Http\Resources\AuthResource;
 
 class ProviderController extends Controller
 {

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

@@ -2,9 +2,9 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\ServiceTypeService;
 use App\Http\Requests\ServiceTypeRequest;
 use App\Http\Resources\ServiceTypeResource;
+use App\Services\ServiceTypeService;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Support\Facades\Log;
 

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

@@ -2,9 +2,9 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\SpecialityService;
 use App\Http\Requests\SpecialityRequest;
 use App\Http\Resources\SpecialityResource;
+use App\Services\SpecialityService;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Support\Facades\Log;
 

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

@@ -2,9 +2,9 @@
 
 namespace App\Http\Controllers;
 
-use App\Services\StateService;
 use App\Http\Requests\StateRequest;
 use App\Http\Resources\StateResource;
+use App\Services\StateService;
 use Illuminate\Http\JsonResponse;
 
 class StateController extends Controller

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

@@ -3,10 +3,10 @@
 namespace App\Http\Controllers;
 
 use App\Http\Resources\UserTypeResource;
-use App\Services\UserService;
 use App\Http\Requests\UserRequest;
 use App\Http\Requests\UpdateMeRequest;
 use App\Http\Resources\UserResource;
+use App\Services\UserService;
 use Illuminate\Http\JsonResponse;
 use Illuminate\Support\Facades\Log;
 

+ 60 - 0
app/Http/Requests/PaymentRequest.php

@@ -0,0 +1,60 @@
+<?php
+
+namespace App\Http\Requests;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class PaymentRequest extends FormRequest
+{
+    public function authorize(): bool
+    {
+        return true;
+    }
+
+    public function rules(): array
+    {
+        $rules = [
+            'schedule_id'              => ['sometimes', 'integer', 'exists:schedules,id'],
+            'client_id'                => ['sometimes', 'integer', 'exists:clients,id'],
+            'provider_id'              => ['nullable', 'integer', 'exists:providers,id'],
+            'client_payment_method_id' => ['nullable', 'integer', 'exists:client_payment_methods,id'],
+
+            'gateway_provider'            => ['sometimes', 'string', 'max:255'],
+            'gateway_entity_reference'    => ['nullable', 'string', 'max:255'],
+            'gateway_entity_label'        => ['nullable', 'string', 'max:255'],
+            'gateway_operation_reference' => ['nullable', 'string', 'max:255'],
+            'gateway_operation_label'     => ['nullable', 'string', 'max:255'],
+
+            'payment_method' => ['sometimes', 'in:credit_card,pix,boleto'],
+            'status'         => ['sometimes', 'in:pending,processing,authorized,paid,failed,cancelled'],
+
+            'gross_amount'        => ['sometimes', 'numeric', 'min:0'],
+            'gateway_fee_amount'  => ['sometimes', 'numeric', 'min:0'],
+            'platform_fee_amount' => ['sometimes', 'numeric', 'min:0'],
+            'net_amount'          => ['sometimes', 'numeric', 'min:0'],
+            'currency'            => ['sometimes', 'string', 'size:3'],
+            'installments'        => ['sometimes', 'integer', 'min:1', 'max:24'],
+
+            'authorized_at' => ['nullable', 'date'],
+            'paid_at'       => ['nullable', 'date'],
+            'failed_at'     => ['nullable', 'date'],
+            'cancelled_at'  => ['nullable', 'date'],
+            'expires_at'    => ['nullable', 'date'],
+
+            'failure_code'    => ['nullable', 'string', 'max:255'],
+            'failure_message' => ['nullable', 'string'],
+            'gateway_payload' => ['nullable', 'array'],
+            'metadata'        => ['nullable', 'array'],
+        ];
+
+        if ($this->isMethod('POST')) {
+            $rules['schedule_id']    = ['required', 'integer', 'exists:schedules,id'];
+            $rules['client_id']      = ['required', 'integer', 'exists:clients,id'];
+            $rules['payment_method'] = ['required', 'in:credit_card,pix,boleto'];
+            $rules['gross_amount']   = ['required', 'numeric', 'min:0'];
+            $rules['net_amount']     = ['required', 'numeric', 'min:0'];
+        }
+
+        return $rules;
+    }
+}

+ 54 - 0
app/Http/Requests/PaymentTransferRequest.php

@@ -0,0 +1,54 @@
+<?php
+
+namespace App\Http\Requests;
+
+use Illuminate\Foundation\Http\FormRequest;
+
+class PaymentTransferRequest extends FormRequest
+{
+    public function authorize(): bool
+    {
+        return true;
+    }
+
+    public function rules(): array
+    {
+        $rules = [
+            'payment_id'  => ['sometimes', 'integer', 'exists:payments,id'],
+            'provider_id' => ['sometimes', 'integer', 'exists:providers,id'],
+
+            'gateway_provider'                  => ['sometimes', 'string', 'max:255'],
+            'gateway_entity_reference'          => ['nullable', 'string', 'max:255'],
+            'gateway_entity_label'              => ['nullable', 'string', 'max:255'],
+            'gateway_operation_reference'       => ['nullable', 'string', 'max:255'],
+            'gateway_operation_label'           => ['nullable', 'string', 'max:255'],
+            'gateway_parent_reference'          => ['nullable', 'string', 'max:255'],
+            'gateway_parent_label'              => ['nullable', 'string', 'max:255'],
+            'gateway_transfer_target_reference' => ['nullable', 'string', 'max:255'],
+            'gateway_transfer_target_label'     => ['nullable', 'string', 'max:255'],
+
+            'status' => ['sometimes', 'in:pending,processing,transferred,failed,cancelled'],
+
+            'gross_amount'       => ['sometimes', 'numeric', 'min:0'],
+            'gateway_fee_amount' => ['sometimes', 'numeric', 'min:0'],
+            'net_amount'         => ['sometimes', 'numeric', 'min:0'],
+
+            'transferred_at'  => ['nullable', 'date'],
+            'failed_at'       => ['nullable', 'date'],
+
+            'failure_code'    => ['nullable', 'string', 'max:255'],
+            'failure_message' => ['nullable', 'string'],
+            'gateway_payload' => ['nullable', 'array'],
+            'metadata'        => ['nullable', 'array'],
+        ];
+
+        if ($this->isMethod('POST')) {
+            $rules['payment_id']   = ['required', 'integer', 'exists:payments,id'];
+            $rules['provider_id']  = ['required', 'integer', 'exists:providers,id'];
+            $rules['gross_amount'] = ['required', 'numeric', 'min:0'];
+            $rules['net_amount']   = ['required', 'numeric', 'min:0'];
+        }
+
+        return $rules;
+    }
+}

+ 66 - 0
app/Http/Resources/PaymentResource.php

@@ -0,0 +1,66 @@
+<?php
+
+namespace App\Http\Resources;
+
+use App\Models\Payment;
+use Illuminate\Http\Request;
+use Illuminate\Http\Resources\Json\JsonResource;
+use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
+
+class PaymentResource extends JsonResource
+{
+    /**
+     * Transform the resource into an array.
+     *
+     * @return array<string, mixed>
+     */
+    public function toArray(Request $request): array
+    {
+        return [
+            'id'                       => $this->id,
+            'schedule_id'              => $this->schedule_id,
+            'client_id'                => $this->client_id,
+            'provider_id'              => $this->provider_id,
+            'client_payment_method_id' => $this->client_payment_method_id,
+
+            'gateway_provider'            => $this->gateway_provider,
+            'gateway_entity_reference'    => $this->gateway_entity_reference,
+            'gateway_entity_label'        => $this->gateway_entity_label,
+            'gateway_operation_reference' => $this->gateway_operation_reference,
+            'gateway_operation_label'     => $this->gateway_operation_label,
+
+            'payment_method' => $this->payment_method,
+            'status'         => $this->status,
+
+            'gross_amount'        => $this->gross_amount,
+            'gateway_fee_amount'  => $this->gateway_fee_amount,
+            'platform_fee_amount' => $this->platform_fee_amount,
+            'net_amount'          => $this->net_amount,
+            'currency'            => $this->currency,
+            'installments'        => $this->installments,
+
+            'authorized_at' => $this->authorized_at?->toISOString(),
+            'paid_at'       => $this->paid_at?->toISOString(),
+            'failed_at'     => $this->failed_at?->toISOString(),
+            'cancelled_at'  => $this->cancelled_at?->toISOString(),
+            'expires_at'    => $this->expires_at?->toISOString(),
+
+            'failure_code'    => $this->failure_code,
+            'failure_message' => $this->failure_message,
+            'gateway_payload' => $this->gateway_payload,
+            'metadata'        => $this->metadata,
+
+            'created_at' => $this->created_at?->toISOString(),
+            'updated_at' => $this->updated_at?->toISOString(),
+        ];
+    }
+
+    /**
+     * @param \Illuminate\Database\Eloquent\Collection<Payment> $resource
+     * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection<PaymentResource>
+     */
+    public static function collection($resource): AnonymousResourceCollection
+    {
+        return parent::collection($resource);
+    }
+}

+ 61 - 0
app/Http/Resources/PaymentTransferResource.php

@@ -0,0 +1,61 @@
+<?php
+
+namespace App\Http\Resources;
+
+use App\Models\PaymentTransfer;
+use Illuminate\Http\Request;
+use Illuminate\Http\Resources\Json\JsonResource;
+use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
+
+class PaymentTransferResource extends JsonResource
+{
+    /**
+     * Transform the resource into an array.
+     *
+     * @return array<string, mixed>
+     */
+    public function toArray(Request $request): array
+    {
+        return [
+            'id'          => $this->id,
+            'payment_id'  => $this->payment_id,
+            'provider_id' => $this->provider_id,
+
+            'gateway_provider'                  => $this->gateway_provider,
+            'gateway_entity_reference'          => $this->gateway_entity_reference,
+            'gateway_entity_label'              => $this->gateway_entity_label,
+            'gateway_operation_reference'       => $this->gateway_operation_reference,
+            'gateway_operation_label'           => $this->gateway_operation_label,
+            'gateway_parent_reference'          => $this->gateway_parent_reference,
+            'gateway_parent_label'              => $this->gateway_parent_label,
+            'gateway_transfer_target_reference' => $this->gateway_transfer_target_reference,
+            'gateway_transfer_target_label'     => $this->gateway_transfer_target_label,
+
+            'status' => $this->status,
+
+            'gross_amount'       => $this->gross_amount,
+            'gateway_fee_amount' => $this->gateway_fee_amount,
+            'net_amount'         => $this->net_amount,
+
+            'transferred_at'  => $this->transferred_at?->toISOString(),
+            'failed_at'       => $this->failed_at?->toISOString(),
+
+            'failure_code'    => $this->failure_code,
+            'failure_message' => $this->failure_message,
+            'gateway_payload' => $this->gateway_payload,
+            'metadata'        => $this->metadata,
+
+            'created_at' => $this->created_at?->toISOString(),
+            'updated_at' => $this->updated_at?->toISOString(),
+        ];
+    }
+
+    /**
+     * @param \Illuminate\Database\Eloquent\Collection<PaymentTransfer> $resource
+     * @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection<PaymentTransferResource>
+     */
+    public static function collection($resource): AnonymousResourceCollection
+    {
+        return parent::collection($resource);
+    }
+}

+ 91 - 0
app/Models/Payment.php

@@ -0,0 +1,91 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+/**
+ * @property int $id
+ * @property string $name
+ * @property \Carbon\Carbon $created_at
+ * @property \Carbon\Carbon $updated_at
+ */
+class Payment extends Model
+{
+    use HasFactory, SoftDeletes;
+
+    protected $table = 'payments';
+
+    protected $fillable = [
+        'schedule_id',
+        'client_id',
+        'provider_id',
+        'client_payment_method_id',
+        'gateway_provider',
+        'gateway_entity_reference',
+        'gateway_entity_label',
+        'gateway_operation_reference',
+        'gateway_operation_label',
+        'payment_method',
+        'status',
+        'gross_amount',
+        'gateway_fee_amount',
+        'platform_fee_amount',
+        'net_amount',
+        'currency',
+        'installments',
+        'authorized_at',
+        'paid_at',
+        'failed_at',
+        'cancelled_at',
+        'expires_at',
+        'failure_code',
+        'failure_message',
+        'gateway_payload',
+        'metadata',
+    ];
+
+    protected $casts = [
+        'gross_amount'        => 'decimal:2',
+        'gateway_fee_amount'  => 'decimal:2',
+        'platform_fee_amount' => 'decimal:2',
+        'net_amount'          => 'decimal:2',
+        'installments'        => 'integer',
+        'authorized_at'       => 'datetime',
+        'paid_at'             => 'datetime',
+        'failed_at'           => 'datetime',
+        'cancelled_at'        => 'datetime',
+        'expires_at'          => 'datetime',
+        'gateway_payload'     => 'array',
+        'metadata'            => 'array',
+        'created_at'          => 'datetime',
+        'updated_at'          => 'datetime',
+        'deleted_at'          => 'datetime',
+    ];
+    public function schedule()
+    {
+        return $this->belongsTo(Schedule::class);
+    }
+
+    public function client()
+    {
+        return $this->belongsTo(Client::class);
+    }
+
+    public function provider()
+    {
+        return $this->belongsTo(Provider::class);
+    }
+
+    public function clientPaymentMethod()
+    {
+        return $this->belongsTo(ClientPaymentMethod::class);
+    }
+
+    public function transfers()
+    {
+        return $this->hasMany(PaymentTransfer::class);
+    }
+}

+ 66 - 0
app/Models/PaymentTransfer.php

@@ -0,0 +1,66 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Factories\HasFactory;
+use Illuminate\Database\Eloquent\Model;
+use Illuminate\Database\Eloquent\SoftDeletes;
+
+/**
+ * @property int $id
+ * @property string $name
+ * @property \Carbon\Carbon $created_at
+ * @property \Carbon\Carbon $updated_at
+ */
+class PaymentTransfer extends Model
+{
+    use HasFactory, SoftDeletes;
+
+    protected $table = 'payment_transfers';
+
+    protected $fillable = [
+        'payment_id',
+        'provider_id',
+        'gateway_provider',
+        'gateway_entity_reference',
+        'gateway_entity_label',
+        'gateway_operation_reference',
+        'gateway_operation_label',
+        'gateway_parent_reference',
+        'gateway_parent_label',
+        'gateway_transfer_target_reference',
+        'gateway_transfer_target_label',
+        'status',
+        'gross_amount',
+        'gateway_fee_amount',
+        'net_amount',
+        'transferred_at',
+        'failed_at',
+        'failure_code',
+        'failure_message',
+        'gateway_payload',
+        'metadata',
+    ];
+
+    protected $casts = [
+        'gross_amount'       => 'decimal:2',
+        'gateway_fee_amount' => 'decimal:2',
+        'net_amount'         => 'decimal:2',
+        'transferred_at'     => 'datetime',
+        'failed_at'          => 'datetime',
+        'gateway_payload'    => 'array',
+        'metadata'           => 'array',
+        'created_at'         => 'datetime',
+        'updated_at'         => 'datetime',
+        'deleted_at'         => 'datetime',
+    ];
+    public function payment()
+    {
+        return $this->belongsTo(Payment::class);
+    }
+
+    public function provider()
+    {
+        return $this->belongsTo(Provider::class);
+    }
+}

+ 51 - 0
app/Services/PaymentService.php

@@ -0,0 +1,51 @@
+<?php
+
+namespace App\Services;
+
+use App\Models\Payment;
+use Illuminate\Database\Eloquent\Collection;
+
+class PaymentService
+{
+    public function getAll(): Collection
+    {
+        return Payment::query()
+            ->orderBy('created_at', 'desc')
+            ->get();
+    }
+
+    public function findById(int $id): ?Payment
+    {
+        return Payment::find($id);
+    }
+
+    public function create(array $data): Payment
+    {
+        return Payment::create($data);
+    }
+
+    public function update(int $id, array $data): ?Payment
+    {
+        $model = $this->findById($id);
+
+        if (!$model) {
+            return null;
+        }
+
+        $model->update($data);
+        return $model->fresh();
+    }
+
+    public function delete(int $id): bool
+    {
+        $model = $this->findById($id);
+
+        if (!$model) {
+            return false;
+        }
+
+        return $model->delete();
+    }
+
+    // Add custom business logic methods here
+}

+ 51 - 0
app/Services/PaymentTransferService.php

@@ -0,0 +1,51 @@
+<?php
+
+namespace App\Services;
+
+use App\Models\PaymentTransfer;
+use Illuminate\Database\Eloquent\Collection;
+
+class PaymentTransferService
+{
+    public function getAll(): Collection
+    {
+        return PaymentTransfer::query()
+            ->orderBy('created_at', 'desc')
+            ->get();
+    }
+
+    public function findById(int $id): ?PaymentTransfer
+    {
+        return PaymentTransfer::find($id);
+    }
+
+    public function create(array $data): PaymentTransfer
+    {
+        return PaymentTransfer::create($data);
+    }
+
+    public function update(int $id, array $data): ?PaymentTransfer
+    {
+        $model = $this->findById($id);
+
+        if (!$model) {
+            return null;
+        }
+
+        $model->update($data);
+        return $model->fresh();
+    }
+
+    public function delete(int $id): bool
+    {
+        $model = $this->findById($id);
+
+        if (!$model) {
+            return false;
+        }
+
+        return $model->delete();
+    }
+
+    // Add custom business logic methods here
+}

+ 64 - 0
database/migrations/2026_05_19_150134_create_payments_table.php

@@ -0,0 +1,64 @@
+<?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::create('payments', function (Blueprint $table) {
+            $table->id();
+            $table->foreignId('schedule_id')->constrained('schedules')->onDelete('cascade');
+            $table->foreignId('client_id')->constrained('clients')->onDelete('cascade');
+            $table->foreignId('provider_id')->nullable()->constrained('providers')->nullOnDelete();
+            $table->foreignId('client_payment_method_id')->nullable()->constrained('client_payment_methods')->nullOnDelete();
+
+            $table->string('gateway_provider')->default('pagarme');
+            $table->string('gateway_entity_reference')->nullable();
+            $table->string('gateway_entity_label')->nullable();
+            $table->string('gateway_operation_reference')->nullable();
+            $table->string('gateway_operation_label')->nullable();
+
+            $table->enum('payment_method', ['credit_card', 'pix', 'boleto']);
+            $table->enum('status', ['pending', 'processing', 'authorized', 'paid', 'failed', 'cancelled'])->default('pending');
+
+            $table->decimal('gross_amount', 10, 2)->comment('Valor bruto cobrado do cliente.');
+            $table->decimal('gateway_fee_amount', 10, 2)->default(0)->comment('Taxa cobrada pelo gateway nesta cobranca.');
+            $table->decimal('platform_fee_amount', 10, 2)->default(0)->comment('Taxa da plataforma (regra interna), sem impacto na formula de net_amount.');
+            $table->decimal('net_amount', 10, 2)->comment('Valor liquido apos taxa do gateway: net_amount = gross_amount - gateway_fee_amount.');
+            $table->string('currency', 3)->default('BRL');
+            $table->unsignedTinyInteger('installments')->default(1);
+
+            $table->timestamp('authorized_at')->nullable();
+            $table->timestamp('paid_at')->nullable();
+            $table->timestamp('failed_at')->nullable();
+            $table->timestamp('cancelled_at')->nullable();
+            $table->timestamp('expires_at')->nullable();
+
+            $table->string('failure_code')->nullable();
+            $table->text('failure_message')->nullable();
+            $table->json('gateway_payload')->nullable();
+            $table->json('metadata')->nullable();
+
+            $table->timestamps();
+            $table->softDeletes();
+
+            $table->index('schedule_id');
+            $table->index('client_id');
+            $table->index('provider_id');
+            $table->index('status');
+            $table->index('payment_method');
+            $table->index('gateway_provider');
+            $table->index('gateway_entity_reference');
+            $table->index('gateway_operation_reference');
+            $table->index('paid_at');
+        });
+    }
+
+    public function down(): void
+    {
+        Schema::dropIfExists('payments');
+    }
+};

+ 57 - 0
database/migrations/2026_05_19_150138_create_payment_transfers_table.php

@@ -0,0 +1,57 @@
+<?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::create('payment_transfers', function (Blueprint $table) {
+            $table->id();
+            $table->foreignId('payment_id')->constrained('payments')->onDelete('cascade');
+            $table->foreignId('provider_id')->constrained('providers')->onDelete('cascade');
+
+            $table->string('gateway_provider')->default('pagarme');
+            $table->string('gateway_entity_reference')->nullable();
+            $table->string('gateway_entity_label')->nullable();
+            $table->string('gateway_operation_reference')->nullable();
+            $table->string('gateway_operation_label')->nullable();
+            $table->string('gateway_parent_reference')->nullable();
+            $table->string('gateway_parent_label')->nullable();
+            $table->string('gateway_transfer_target_reference')->nullable();
+            $table->string('gateway_transfer_target_label')->nullable();
+
+            $table->enum('status', ['pending', 'processing', 'transferred', 'failed', 'cancelled'])->default('pending');
+            $table->decimal('gross_amount', 10, 2)->comment('Valor bruto destinado ao repasse do provider.');
+            $table->decimal('gateway_fee_amount', 10, 2)->default(0)->comment('Custo do gateway associado ao repasse.');
+            $table->decimal('net_amount', 10, 2)->comment('Valor liquido do repasse: net_amount = gross_amount - gateway_fee_amount.');
+
+            $table->timestamp('transferred_at')->nullable();
+            $table->timestamp('failed_at')->nullable();
+            $table->string('failure_code')->nullable();
+            $table->text('failure_message')->nullable();
+            $table->json('gateway_payload')->nullable();
+            $table->json('metadata')->nullable();
+
+            $table->timestamps();
+            $table->softDeletes();
+
+            $table->index('payment_id');
+            $table->index('provider_id');
+            $table->index('status');
+            $table->index('gateway_provider');
+            $table->index('gateway_entity_reference');
+            $table->index('gateway_operation_reference');
+            $table->index('gateway_parent_reference');
+            $table->index('gateway_transfer_target_reference');
+            $table->index('transferred_at');
+        });
+    }
+
+    public function down(): void
+    {
+        Schema::dropIfExists('payment_transfers');
+    }
+};

+ 4 - 4
routes/authRoutes/address.php

@@ -3,9 +3,9 @@
 use App\Http\Controllers\AddressController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/addresses', [AddressController::class, 'showBySource'])->middleware('permission:config.address,view');
-Route::get('/addresses/{id}', [AddressController::class, 'show'])->middleware('permission:config.address,view');
-Route::post('/addresses', [AddressController::class, 'store'])->middleware('permission:config.address,add');
-Route::put('/addresses/{id}', [AddressController::class, 'update'])->middleware('permission:config.address,edit');
+Route::get('/addresses',         [AddressController::class, 'showBySource'])->middleware('permission:config.address,view');
+Route::get('/addresses/{id}',    [AddressController::class, 'show'])->middleware('permission:config.address,view');
+Route::post('/addresses',        [AddressController::class, 'store'])->middleware('permission:config.address,add');
+Route::put('/addresses/{id}',    [AddressController::class, 'update'])->middleware('permission:config.address,edit');
 Route::delete('/addresses/{id}', [AddressController::class, 'destroy'])->middleware('permission:config.address,delete');
 Route::get('/addresses-primary', [AddressController::class, 'showPrimaryBySource'])->middleware('permission:config.address,view');

+ 1 - 1
routes/authRoutes/auth.php

@@ -1,6 +1,6 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\AuthController;
+use Illuminate\Support\Facades\Route;
 
 Route::post('/logout', [AuthController::class, 'logout']);

+ 8 - 7
routes/authRoutes/city.php

@@ -1,13 +1,14 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\CityController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/city', [CityController::class, 'index'])->middleware('permission:config.city,view');
-Route::post('/city', [CityController::class, 'store'])->middleware('permission:config.city,add');
-Route::get('/city/{id}', [CityController::class, 'show'])->middleware('permission:config.city,view');
-Route::put('/city/{id}', [CityController::class, 'update'])->middleware('permission:config.city,edit');
-Route::delete('/city/{id}', [CityController::class, 'destroy'])->middleware('permission:config.city,delete');
-Route::get('/city-state/{id}', [CityController::class, 'allByStateId'])->middleware('permission:config.city,view');
+Route::get('/city',              [CityController::class, 'index'])->middleware('permission:config.city,view');
+Route::post('/city',             [CityController::class, 'store'])->middleware('permission:config.city,add');
+Route::get('/city/{id}',         [CityController::class, 'show'])->middleware('permission:config.city,view');
+Route::put('/city/{id}',         [CityController::class, 'update'])->middleware('permission:config.city,edit');
+Route::delete('/city/{id}',      [CityController::class, 'destroy'])->middleware('permission:config.city,delete');
+Route::get('/city-state/{id}',   [CityController::class, 'allByStateId'])->middleware('permission:config.city,view');
 Route::get('/city-country/{id}', [CityController::class, 'allByCountryId'])->middleware('permission:config.city,view');
+
 Route::get('/busca-estado-cidade-por-descricao', [CityController::class, 'searchStateCityByDescription'])->middleware('permission:config.city,view');

+ 4 - 4
routes/authRoutes/client.php

@@ -3,8 +3,8 @@
 use App\Http\Controllers\ClientController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/client', [ClientController::class, 'index'])->middleware('permission:config.client,view');
-Route::post('/client', [ClientController::class, 'store'])->middleware('permission:config.client,add');
-Route::get('/client/{id}', [ClientController::class, 'show'])->middleware('permission:config.client,view');
-Route::put('/client/{id}', [ClientController::class, 'update'])->middleware('permission:config.client,edit');
+Route::get('/client',         [ClientController::class, 'index'])->middleware('permission:config.client,view');
+Route::post('/client',        [ClientController::class, 'store'])->middleware('permission:config.client,add');
+Route::get('/client/{id}',    [ClientController::class, 'show'])->middleware('permission:config.client,view');
+Route::put('/client/{id}',    [ClientController::class, 'update'])->middleware('permission:config.client,edit');
 Route::delete('/client/{id}', [ClientController::class, 'destroy'])->middleware('permission:config.client,delete');

+ 5 - 5
routes/authRoutes/client_favorite_provider.php

@@ -3,9 +3,9 @@
 use App\Http\Controllers\ClientFavoriteProviderController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/client/favorite-providers/{clientId}', [ClientFavoriteProviderController::class, 'index'])->middleware('permission:config.client_favorite_provider,view');
+Route::get('/client/favorite-providers/{clientId}',  [ClientFavoriteProviderController::class, 'index'])->middleware('permission:config.client_favorite_provider,view');
 Route::get('/client/favorited-providers/{clientId}', [ClientFavoriteProviderController::class, 'getFavoritedProviders'])->middleware('permission:config.client_favorite_provider,view');
-Route::get('/client/favorite-provider/{id}', [ClientFavoriteProviderController::class, 'show'])->middleware('permission:config.client_favorite_provider,view');
-Route::post('/client/favorite-provider', [ClientFavoriteProviderController::class, 'store'])->middleware('permission:config.client_favorite_provider,add');
-Route::put('/client/favorite-provider/{id}', [ClientFavoriteProviderController::class, 'update'])->middleware('permission:config.client_favorite_provider,edit');
-Route::delete('/client/favorite-provider/{id}', [ClientFavoriteProviderController::class, 'destroy'])->middleware('permission:config.client_favorite_provider,delete');
+Route::get('/client/favorite-provider/{id}',         [ClientFavoriteProviderController::class, 'show'])->middleware('permission:config.client_favorite_provider,view');
+Route::post('/client/favorite-provider',             [ClientFavoriteProviderController::class, 'store'])->middleware('permission:config.client_favorite_provider,add');
+Route::put('/client/favorite-provider/{id}',         [ClientFavoriteProviderController::class, 'update'])->middleware('permission:config.client_favorite_provider,edit');
+Route::delete('/client/favorite-provider/{id}',      [ClientFavoriteProviderController::class, 'destroy'])->middleware('permission:config.client_favorite_provider,delete');

+ 4 - 4
routes/authRoutes/client_payment_method.php

@@ -4,7 +4,7 @@ use App\Http\Controllers\ClientPaymentMethodController;
 use Illuminate\Support\Facades\Route;
 
 Route::get('/client/payment-methods/{clientId}', [ClientPaymentMethodController::class, 'index'])->middleware('permission:config.client_payment_method,view');
-Route::get('/client/payment-method/{id}', [ClientPaymentMethodController::class, 'show'])->middleware('permission:config.client_payment_method,view');
-Route::post('/client/payment-method', [ClientPaymentMethodController::class, 'store'])->middleware('permission:config.client_payment_method,add');
-Route::put('/client/payment-method/{id}', [ClientPaymentMethodController::class, 'update'])->middleware('permission:config.client_payment_method,edit');
-Route::delete('/client/payment-method/{id}', [ClientPaymentMethodController::class, 'destroy'])->middleware('permission:config.client_payment_method,delete');
+Route::get('/client/payment-method/{id}',        [ClientPaymentMethodController::class, 'show'])->middleware('permission:config.client_payment_method,view');
+Route::post('/client/payment-method',            [ClientPaymentMethodController::class, 'store'])->middleware('permission:config.client_payment_method,add');
+Route::put('/client/payment-method/{id}',        [ClientPaymentMethodController::class, 'update'])->middleware('permission:config.client_payment_method,edit');
+Route::delete('/client/payment-method/{id}',     [ClientPaymentMethodController::class, 'destroy'])->middleware('permission:config.client_payment_method,delete');

+ 3 - 3
routes/authRoutes/client_provider_block.php

@@ -3,7 +3,7 @@
 use App\Http\Controllers\ClientProviderBlockController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/client-provider-blocks/{clientId}', [ClientProviderBlockController::class, 'index'])->middleware('permission:config.client_provider_block,view');
+Route::get('/client-provider-blocks/{clientId}',     [ClientProviderBlockController::class, 'index'])->middleware('permission:config.client_provider_block,view');
 Route::get('/client-provider-blocks/{clientId}/ids', [ClientProviderBlockController::class, 'getBlockedProviders'])->middleware('permission:config.client_provider_block,view');
-Route::post('/client-provider-blocks', [ClientProviderBlockController::class, 'store'])->middleware('permission:config.client_provider_block,add');
-Route::delete('/client-provider-blocks/{id}', [ClientProviderBlockController::class, 'destroy'])->middleware('permission:config.client_provider_block,delete');
+Route::post('/client-provider-blocks',               [ClientProviderBlockController::class, 'store'])->middleware('permission:config.client_provider_block,add');
+Route::delete('/client-provider-blocks/{id}',        [ClientProviderBlockController::class, 'destroy'])->middleware('permission:config.client_provider_block,delete');

+ 5 - 5
routes/authRoutes/country.php

@@ -1,10 +1,10 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\CountryController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/country', [CountryController::class, 'index'])->middleware('permission:config.country,view');
-Route::post('/country', [CountryController::class, 'store'])->middleware('permission:config.country,add');
-Route::get('/country/{id}', [CountryController::class, 'show'])->middleware('permission:config.country,view');
-Route::put('/country/{id}', [CountryController::class, 'update'])->middleware('permission:config.country,edit');
+Route::get('/country',         [CountryController::class, 'index'])->middleware('permission:config.country,view');
+Route::post('/country',        [CountryController::class, 'store'])->middleware('permission:config.country,add');
+Route::get('/country/{id}',    [CountryController::class, 'show'])->middleware('permission:config.country,view');
+Route::put('/country/{id}',    [CountryController::class, 'update'])->middleware('permission:config.country,edit');
 Route::delete('/country/{id}', [CountryController::class, 'destroy'])->middleware('permission:config.country,delete');

+ 12 - 10
routes/authRoutes/custom_schedule.php

@@ -3,20 +3,22 @@
 use App\Http\Controllers\CustomScheduleController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/custom-schedule', [CustomScheduleController::class, 'index'])->middleware('permission:config.custom_schedule,view');
-Route::get('/custom-schedule/{id}', [CustomScheduleController::class, 'show'])->middleware('permission:config.custom_schedule,view');
-Route::post('/custom-schedule', [CustomScheduleController::class, 'store'])->middleware('permission:config.custom_schedule,add');
-Route::put('/custom-schedule/{id}', [CustomScheduleController::class, 'update'])->middleware('permission:config.custom_schedule,edit');
+Route::get('/custom-schedule',         [CustomScheduleController::class, 'index'])->middleware('permission:config.custom_schedule,view');
+Route::get('/custom-schedule/{id}',    [CustomScheduleController::class, 'show'])->middleware('permission:config.custom_schedule,view');
+Route::post('/custom-schedule',        [CustomScheduleController::class, 'store'])->middleware('permission:config.custom_schedule,add');
+Route::put('/custom-schedule/{id}',    [CustomScheduleController::class, 'update'])->middleware('permission:config.custom_schedule,edit');
 Route::delete('/custom-schedule/{id}', [CustomScheduleController::class, 'destroy'])->middleware('permission:config.custom_schedule,delete');
+
 Route::get('/schedules/grouped-by-client/custom', [CustomScheduleController::class, 'groupedByClientCustom']);
 
-Route::get('/custom-schedule-available', [CustomScheduleController::class, 'available'])->middleware('permission:config.custom_schedule,view');
-Route::get('/custom-schedule-provider-proposals', [CustomScheduleController::class, 'providerProposals'])->middleware('permission:config.custom_schedule,view');
+Route::get('/custom-schedule-available',              [CustomScheduleController::class, 'available'])->middleware('permission:config.custom_schedule,view');
+Route::get('/custom-schedule-provider-proposals',     [CustomScheduleController::class, 'providerProposals'])->middleware('permission:config.custom_schedule,view');
 Route::get('/custom-schedule/{scheduleId}/proposals', [CustomScheduleController::class, 'opportunityProposals'])->middleware('permission:config.custom_schedule,view');
-Route::post('/custom-schedule/{scheduleId}/propose', [CustomScheduleController::class, 'propose'])->middleware('permission:config.custom_schedule,add');
-Route::post('/custom-schedule/{proposalId}/accept', [CustomScheduleController::class, 'acceptProposal'])->middleware('permission:config.custom_schedule,edit');
-Route::post('/custom-schedule/{proposalId}/refuse', [CustomScheduleController::class, 'refuseProposal'])->middleware('permission:config.custom_schedule,delete');
+Route::post('/custom-schedule/{scheduleId}/propose',  [CustomScheduleController::class, 'propose'])->middleware('permission:config.custom_schedule,add');
+Route::post('/custom-schedule/{proposalId}/accept',   [CustomScheduleController::class, 'acceptProposal'])->middleware('permission:config.custom_schedule,edit');
+Route::post('/custom-schedule/{proposalId}/refuse',   [CustomScheduleController::class, 'refuseProposal'])->middleware('permission:config.custom_schedule,delete');
+
 Route::post('/custom-schedule/{proposalId}/refuse-opportunity', [CustomScheduleController::class, 'refuseOpportunity'])->middleware('permission:config.custom_schedule,delete');
 
 Route::get('/custom-schedule-proposals-provider/{providerId}', [CustomScheduleController::class, 'getProvidersProposalsAndOpportunities'])->middleware('permission:config.custom_schedule,view');
-Route::post('/custom-schedule-verify-code/{scheduleId}', [CustomScheduleController::class, 'verifyCode'])->middleware('permission:config.custom_schedule,edit');
+Route::post('/custom-schedule-verify-code/{scheduleId}',       [CustomScheduleController::class, 'verifyCode'])->middleware('permission:config.custom_schedule,edit');

+ 2 - 0
routes/authRoutes/dashboard.php

@@ -4,5 +4,7 @@ use App\Http\Controllers\DashboardController;
 use Illuminate\Support\Facades\Route;
 
 Route::get('/dados-dashboard-cliente', [DashboardController::class, 'dadosDashboardCliente'])->middleware('permission:dashboard,view');
+
 Route::get('/dados-dashboard-cliente/schedule/{id}/detalhes', [DashboardController::class, 'scheduleClienteDetails'])->middleware('permission:dashboard,view');
+
 Route::get('/dados-dashboard-prestador', [DashboardController::class, 'dadosDashboardPrestador'])->middleware('permission:dashboard,view');

+ 5 - 5
routes/authRoutes/improvement_type.php

@@ -1,10 +1,10 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\ImprovementTypeController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/improvement-types', [ImprovementTypeController::class, 'index'])->middleware('permission:config.improvement_type,view');
-Route::post('/improvement-type', [ImprovementTypeController::class, 'store'])->middleware('permission:config.improvement_type,add');
-Route::get('/improvement-type/{id}', [ImprovementTypeController::class, 'show'])->middleware('permission:config.improvement_type,view');
-Route::put('/improvement-type/{id}', [ImprovementTypeController::class, 'update'])->middleware('permission:config.improvement_type,edit');
+Route::get('/improvement-types',        [ImprovementTypeController::class, 'index'])->middleware('permission:config.improvement_type,view');
+Route::post('/improvement-type',        [ImprovementTypeController::class, 'store'])->middleware('permission:config.improvement_type,add');
+Route::get('/improvement-type/{id}',    [ImprovementTypeController::class, 'show'])->middleware('permission:config.improvement_type,view');
+Route::put('/improvement-type/{id}',    [ImprovementTypeController::class, 'update'])->middleware('permission:config.improvement_type,edit');
 Route::delete('/improvement-type/{id}', [ImprovementTypeController::class, 'destroy'])->middleware('permission:config.improvement_type,delete');

+ 5 - 5
routes/authRoutes/media.php

@@ -1,10 +1,10 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\MediaController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/media', [MediaController::class, 'index'])->middleware('permission:config.media,view');
-Route::post('/media', [MediaController::class, 'store'])->middleware('permission:config.media,add');
-Route::get('/media/{id}', [MediaController::class, 'show'])->middleware('permission:config.media,view');
-Route::put('/media/{id}', [MediaController::class, 'update'])->middleware('permission:config.media,edit');
+Route::get('/media',         [MediaController::class, 'index'])->middleware('permission:config.media,view');
+Route::post('/media',        [MediaController::class, 'store'])->middleware('permission:config.media,add');
+Route::get('/media/{id}',    [MediaController::class, 'show'])->middleware('permission:config.media,view');
+Route::put('/media/{id}',    [MediaController::class, 'update'])->middleware('permission:config.media,edit');
 Route::delete('/media/{id}', [MediaController::class, 'destroy'])->middleware('permission:config.media,delete');

+ 10 - 0
routes/authRoutes/payment.php

@@ -0,0 +1,10 @@
+<?php
+
+use Illuminate\Support\Facades\Route;
+use App\Http\Controllers\PaymentController;
+
+Route::get('/payment',         [PaymentController::class, 'index'])->middleware('permission:payment,view');
+Route::post('/payment',        [PaymentController::class, 'store'])->middleware('permission:payment,add');
+Route::get('/payment/{id}',    [PaymentController::class, 'show'])->middleware('permission:payment,view');
+Route::put('/payment/{id}',    [PaymentController::class, 'update'])->middleware('permission:payment,edit');
+Route::delete('/payment/{id}', [PaymentController::class, 'destroy'])->middleware('permission:payment,delete');

+ 10 - 0
routes/authRoutes/payment_transfer.php

@@ -0,0 +1,10 @@
+<?php
+
+use Illuminate\Support\Facades\Route;
+use App\Http\Controllers\PaymentTransferController;
+
+Route::get('/payment-transfer',         [PaymentTransferController::class, 'index'])->middleware('permission:payment-transfer,view');
+Route::post('/payment-transfer',        [PaymentTransferController::class, 'store'])->middleware('permission:payment-transfer,add');
+Route::get('/payment-transfer/{id}',    [PaymentTransferController::class, 'show'])->middleware('permission:payment-transfer,view');
+Route::put('/payment-transfer/{id}',    [PaymentTransferController::class, 'update'])->middleware('permission:payment-transfer,edit');
+Route::delete('/payment-transfer/{id}', [PaymentTransferController::class, 'destroy'])->middleware('permission:payment-transfer,delete');

+ 4 - 4
routes/authRoutes/permission.php

@@ -3,8 +3,8 @@
 use App\Http\Controllers\PermissionController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/permission', [PermissionController::class, 'index'])->middleware('permission:config.permission,view');
+Route::get('/permission',         [PermissionController::class, 'index'])->middleware('permission:config.permission,view');
 Route::get('/permission-no-tree', [PermissionController::class, 'allNoTree'])->middleware('permission:config.permission,view');
-Route::get('/permission/{id}', [PermissionController::class, 'show'])->middleware('permission:config.permission,view');
-Route::post('/permission/{id}', [PermissionController::class, 'update'])->middleware('permission:config.permission,edit');
-Route::post('/permission', [PermissionController::class, 'store'])->middleware('permission:config.permission,add');
+Route::get('/permission/{id}',    [PermissionController::class, 'show'])->middleware('permission:config.permission,view');
+Route::post('/permission/{id}',   [PermissionController::class, 'update'])->middleware('permission:config.permission,edit');
+Route::post('/permission',        [PermissionController::class, 'store'])->middleware('permission:config.permission,add');

+ 8 - 8
routes/authRoutes/provider.php

@@ -1,13 +1,13 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\ProviderController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/provider/pending', [ProviderController::class, 'pending'])->middleware('permission:config.provider,view');
+Route::get('/provider/pending',        [ProviderController::class, 'pending'])->middleware('permission:config.provider,view');
 Route::patch('/provider/{id}/approve', [ProviderController::class, 'approve'])->middleware('permission:config.provider,edit');
-Route::patch('/provider/{id}/reject', [ProviderController::class, 'reject'])->middleware('permission:config.provider,edit');
-Route::get('/provider', [ProviderController::class, 'index'])->middleware('permission:config.provider,view');
-Route::post('/provider', [ProviderController::class, 'store'])->middleware('permission:config.provider,add');
-Route::get('/provider/{id}', [ProviderController::class, 'show'])->middleware('permission:config.provider,view');
-Route::put('/provider/{id}', [ProviderController::class, 'update'])->middleware('permission:config.provider,edit');
-Route::delete('/provider/{id}', [ProviderController::class, 'destroy'])->middleware('permission:config.provider,delete');
+Route::patch('/provider/{id}/reject',  [ProviderController::class, 'reject'])->middleware('permission:config.provider,edit');
+Route::get('/provider',                [ProviderController::class, 'index'])->middleware('permission:config.provider,view');
+Route::post('/provider',               [ProviderController::class, 'store'])->middleware('permission:config.provider,add');
+Route::get('/provider/{id}',           [ProviderController::class, 'show'])->middleware('permission:config.provider,view');
+Route::put('/provider/{id}',           [ProviderController::class, 'update'])->middleware('permission:config.provider,edit');
+Route::delete('/provider/{id}',        [ProviderController::class, 'destroy'])->middleware('permission:config.provider,delete');

+ 4 - 4
routes/authRoutes/provider_blocked_day.php

@@ -4,7 +4,7 @@ use App\Http\Controllers\ProviderBlockedDayController;
 use Illuminate\Support\Facades\Route;
 
 Route::get('/provider/blocked-days/{providerId}', [ProviderBlockedDayController::class, 'index'])->middleware('permission:config.provider_blocked_day,view');
-Route::get('/provider/blocked-day/{id}', [ProviderBlockedDayController::class, 'show'])->middleware('permission:config.provider_blocked_day,view');
-Route::post('/provider/blocked-day', [ProviderBlockedDayController::class, 'store'])->middleware('permission:config.provider_blocked_day,add');
-Route::put('/provider/blocked-day/{id}', [ProviderBlockedDayController::class, 'update'])->middleware('permission:config.provider_blocked_day,edit');
-Route::delete('/provider/blocked-day/{id}', [ProviderBlockedDayController::class, 'destroy'])->middleware('permission:config.provider_blocked_day,delete');
+Route::get('/provider/blocked-day/{id}',          [ProviderBlockedDayController::class, 'show'])->middleware('permission:config.provider_blocked_day,view');
+Route::post('/provider/blocked-day',              [ProviderBlockedDayController::class, 'store'])->middleware('permission:config.provider_blocked_day,add');
+Route::put('/provider/blocked-day/{id}',          [ProviderBlockedDayController::class, 'update'])->middleware('permission:config.provider_blocked_day,edit');
+Route::delete('/provider/blocked-day/{id}',       [ProviderBlockedDayController::class, 'destroy'])->middleware('permission:config.provider_blocked_day,delete');

+ 3 - 3
routes/authRoutes/provider_client_block.php

@@ -3,7 +3,7 @@
 use App\Http\Controllers\ProviderClientBlockController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/provider-client-blocks/{providerId}', [ProviderClientBlockController::class, 'index'])->middleware('permission:config.provider_client_block,view');
+Route::get('/provider-client-blocks/{providerId}',     [ProviderClientBlockController::class, 'index'])->middleware('permission:config.provider_client_block,view');
 Route::get('/provider-client-blocks/{providerId}/ids', [ProviderClientBlockController::class, 'getBlockedClients'])->middleware('permission:config.provider_client_block,view');
-Route::post('/provider-client-blocks', [ProviderClientBlockController::class, 'store'])->middleware('permission:config.provider_client_block,add');
-Route::delete('/provider-client-blocks/{id}', [ProviderClientBlockController::class, 'destroy'])->middleware('permission:config.provider_client_block,delete');
+Route::post('/provider-client-blocks',                 [ProviderClientBlockController::class, 'store'])->middleware('permission:config.provider_client_block,add');
+Route::delete('/provider-client-blocks/{id}',          [ProviderClientBlockController::class, 'destroy'])->middleware('permission:config.provider_client_block,delete');

+ 4 - 4
routes/authRoutes/provider_payment_method.php

@@ -3,8 +3,8 @@
 use App\Http\Controllers\ProviderPaymentMethodController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/provider/payment-methods/{id}', [ProviderPaymentMethodController::class, 'index'])->middleware('permission:config.provider_payment_method,view');
-Route::get('/provider/payment-method/{id}', [ProviderPaymentMethodController::class, 'show'])->middleware('permission:config.provider_payment_method,view');
-Route::post('/provider/payment-method', [ProviderPaymentMethodController::class, 'store'])->middleware('permission:config.provider_payment_method,add');
-Route::put('/provider/payment-method/{id}', [ProviderPaymentMethodController::class, 'update'])->middleware('permission:config.provider_payment_method,edit');
+Route::get('/provider/payment-methods/{id}',   [ProviderPaymentMethodController::class, 'index'])->middleware('permission:config.provider_payment_method,view');
+Route::get('/provider/payment-method/{id}',    [ProviderPaymentMethodController::class, 'show'])->middleware('permission:config.provider_payment_method,view');
+Route::post('/provider/payment-method',        [ProviderPaymentMethodController::class, 'store'])->middleware('permission:config.provider_payment_method,add');
+Route::put('/provider/payment-method/{id}',    [ProviderPaymentMethodController::class, 'update'])->middleware('permission:config.provider_payment_method,edit');
 Route::delete('/provider/payment-method/{id}', [ProviderPaymentMethodController::class, 'destroy'])->middleware('permission:config.provider_payment_method,delete');

+ 3 - 3
routes/authRoutes/provider_services_type.php

@@ -1,8 +1,8 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\ProviderServicesTypeController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/provider/service-types/{providerId}', [ProviderServicesTypeController::class, 'index'])->middleware('permission:config.provider_services_types,view');
-Route::post('/provider/service-types/{providerId}', [ProviderServicesTypeController::class, 'store'])->middleware('permission:config.provider_services_types,add');
+Route::get('/provider/service-types/{providerId}',         [ProviderServicesTypeController::class, 'index'])->middleware('permission:config.provider_services_types,view');
+Route::post('/provider/service-types/{providerId}',        [ProviderServicesTypeController::class, 'store'])->middleware('permission:config.provider_services_types,add');
 Route::delete('/provider/service-types/{providerId}/{id}', [ProviderServicesTypeController::class, 'destroy'])->middleware('permission:config.provider_services_types,delete');

+ 3 - 3
routes/authRoutes/provider_speciality.php

@@ -1,8 +1,8 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\ProviderSpecialityController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/provider/specialities/{providerId}', [ProviderSpecialityController::class, 'index'])->middleware('permission:config.provider_speciality,view');
-Route::post('/provider/specialities/{providerId}', [ProviderSpecialityController::class, 'store'])->middleware('permission:config.provider_speciality,add');
+Route::get('/provider/specialities/{providerId}',         [ProviderSpecialityController::class, 'index'])->middleware('permission:config.provider_speciality,view');
+Route::post('/provider/specialities/{providerId}',        [ProviderSpecialityController::class, 'store'])->middleware('permission:config.provider_speciality,add');
 Route::delete('/provider/specialities/{providerId}/{id}', [ProviderSpecialityController::class, 'destroy'])->middleware('permission:config.provider_speciality,delete');

+ 2 - 2
routes/authRoutes/provider_working_day.php

@@ -3,6 +3,6 @@
 use App\Http\Controllers\ProviderWorkingDayController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/provider/working-days/{id}', [ProviderWorkingDayController::class, 'indexByProviderId'])->middleware('permission:config.provider_working_day,view');
-Route::post('/provider/working-day', [ProviderWorkingDayController::class, 'store'])->middleware('permission:config.provider_working_day,add');
+Route::get('/provider/working-days/{id}',   [ProviderWorkingDayController::class, 'indexByProviderId'])->middleware('permission:config.provider_working_day,view');
+Route::post('/provider/working-day',        [ProviderWorkingDayController::class, 'store'])->middleware('permission:config.provider_working_day,add');
 Route::delete('/provider/working-day/{id}', [ProviderWorkingDayController::class, 'destroy'])->middleware('permission:config.provider_working_day,delete');

+ 9 - 8
routes/authRoutes/review.php

@@ -4,12 +4,13 @@ use App\Http\Controllers\ReviewController;
 use Illuminate\Support\Facades\Route;
 
 Route::get('/reviews', [ReviewController::class, 'index'])->middleware('permission:config.review,view');
-Route::get('/reviews/schedule/{scheduleId}', [ReviewController::class, 'indexBySchedule'])->middleware('permission:config.review,view');
-Route::get('/reviews/client/{clientId}/sent', [ReviewController::class, 'clientSent'])->middleware('permission:config.review,view');
-Route::get('/reviews/client/{clientId}/received', [ReviewController::class, 'clientReceived'])->middleware('permission:config.review,view');
-Route::get('/reviews/provider/{providerId}/sent', [ReviewController::class, 'providerSent'])->middleware('permission:config.review,view');
+
+Route::get('/reviews/schedule/{scheduleId}',          [ReviewController::class, 'indexBySchedule'])->middleware('permission:config.review,view');
+Route::get('/reviews/client/{clientId}/sent',         [ReviewController::class, 'clientSent'])->middleware('permission:config.review,view');
+Route::get('/reviews/client/{clientId}/received',     [ReviewController::class, 'clientReceived'])->middleware('permission:config.review,view');
+Route::get('/reviews/provider/{providerId}/sent',     [ReviewController::class, 'providerSent'])->middleware('permission:config.review,view');
 Route::get('/reviews/provider/{providerId}/received', [ReviewController::class, 'providerReceived'])->middleware('permission:config.review,view');
-Route::get('/reviews/{origin}/{originId}', [ReviewController::class, 'indexByOrigin'])->middleware('permission:config.review,view');
-Route::post('/reviews', [ReviewController::class, 'store'])->middleware('permission:config.review,add');
-Route::put('/reviews/{id}', [ReviewController::class, 'update'])->middleware('permission:config.review,edit');
-Route::delete('/reviews/{id}', [ReviewController::class, 'destroy'])->middleware('permission:config.review,delete');
+Route::get('/reviews/{origin}/{originId}',            [ReviewController::class, 'indexByOrigin'])->middleware('permission:config.review,view');
+Route::post('/reviews',                               [ReviewController::class, 'store'])->middleware('permission:config.review,add');
+Route::put('/reviews/{id}',                           [ReviewController::class, 'update'])->middleware('permission:config.review,edit');
+Route::delete('/reviews/{id}',                        [ReviewController::class, 'destroy'])->middleware('permission:config.review,delete');

+ 2 - 2
routes/authRoutes/review_improvement.php

@@ -4,5 +4,5 @@ use App\Http\Controllers\ReviewImprovementController;
 use Illuminate\Support\Facades\Route;
 
 Route::get('/review-improvements/{reviewId}', [ReviewImprovementController::class, 'index'])->middleware('permission:config.review_improvement,view');
-Route::post('/review-improvements', [ReviewImprovementController::class, 'store'])->middleware('permission:config.review_improvement,add');
-Route::delete('/review-improvements/{id}', [ReviewImprovementController::class, 'destroy'])->middleware('permission:config.review_improvement,delete');
+Route::post('/review-improvements',           [ReviewImprovementController::class, 'store'])->middleware('permission:config.review_improvement,add');
+Route::delete('/review-improvements/{id}',    [ReviewImprovementController::class, 'destroy'])->middleware('permission:config.review_improvement,delete');

+ 9 - 9
routes/authRoutes/schedule.php

@@ -3,13 +3,13 @@
 use App\Http\Controllers\ScheduleController;
 use Illuminate\Support\Facades\Route;
 
-Route::get('/schedules', [ScheduleController::class, 'index'])->middleware('permission:config.schedule,view');
-Route::get('/schedules/grouped-by-client', [ScheduleController::class, 'groupedByClient'])->middleware('permission:config.schedule,view');
-Route::get('/schedules/finished', [ScheduleController::class, 'finished'])->middleware('permission:config.schedule,view');
+Route::get('/schedules',                       [ScheduleController::class, 'index'])->middleware('permission:config.schedule,view');
+Route::get('/schedules/grouped-by-client',     [ScheduleController::class, 'groupedByClient'])->middleware('permission:config.schedule,view');
+Route::get('/schedules/finished',              [ScheduleController::class, 'finished'])->middleware('permission:config.schedule,view');
 Route::get('/schedule/client-provider-blocks', [ScheduleController::class, 'clientProviderBlocks'])->middleware('permission:config.schedule,add');
-Route::get('/schedule/{id}', [ScheduleController::class, 'show'])->middleware('permission:config.schedule,view');
-Route::post('/schedule', [ScheduleController::class, 'store'])->middleware('permission:config.schedule,add');
-Route::put('/schedule/{id}', [ScheduleController::class, 'update'])->middleware('permission:config.schedule,edit');
-Route::patch('/schedule/{id}/status', [ScheduleController::class, 'updateStatus'])->middleware('permission:config.schedule,edit');
-Route::patch('/schedule/{id}/cancel', [ScheduleController::class, 'cancelWithReason'])->middleware('permission:config.schedule,edit');
-Route::delete('/schedule/{id}', [ScheduleController::class, 'destroy'])->middleware('permission:config.schedule,delete');
+Route::get('/schedule/{id}',                   [ScheduleController::class, 'show'])->middleware('permission:config.schedule,view');
+Route::post('/schedule',                       [ScheduleController::class, 'store'])->middleware('permission:config.schedule,add');
+Route::put('/schedule/{id}',                   [ScheduleController::class, 'update'])->middleware('permission:config.schedule,edit');
+Route::patch('/schedule/{id}/status',          [ScheduleController::class, 'updateStatus'])->middleware('permission:config.schedule,edit');
+Route::patch('/schedule/{id}/cancel',          [ScheduleController::class, 'cancelWithReason'])->middleware('permission:config.schedule,edit');
+Route::delete('/schedule/{id}',                [ScheduleController::class, 'destroy'])->middleware('permission:config.schedule,delete');

+ 5 - 5
routes/authRoutes/service_type.php

@@ -1,10 +1,10 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\ServiceTypeController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/service-types', [ServiceTypeController::class, 'index'])->middleware('permission:config.service_type,view');
-Route::post('/service-type', [ServiceTypeController::class, 'store'])->middleware('permission:config.service_type,add');
-Route::get('/service-type/{id}', [ServiceTypeController::class, 'show'])->middleware('permission:config.service_type,view');
-Route::put('/service-type/{id}', [ServiceTypeController::class, 'update'])->middleware('permission:config.service_type,edit');
+Route::get('/service-types',        [ServiceTypeController::class, 'index'])->middleware('permission:config.service_type,view');
+Route::post('/service-type',        [ServiceTypeController::class, 'store'])->middleware('permission:config.service_type,add');
+Route::get('/service-type/{id}',    [ServiceTypeController::class, 'show'])->middleware('permission:config.service_type,view');
+Route::put('/service-type/{id}',    [ServiceTypeController::class, 'update'])->middleware('permission:config.service_type,edit');
 Route::delete('/service-type/{id}', [ServiceTypeController::class, 'destroy'])->middleware('permission:config.service_type,delete');

+ 5 - 5
routes/authRoutes/speciality.php

@@ -1,10 +1,10 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\SpecialityController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/specialities', [SpecialityController::class, 'index'])->middleware('permission:config.speciality,view');
-Route::post('/speciality', [SpecialityController::class, 'store'])->middleware('permission:config.speciality,add');
-Route::get('/speciality/{id}', [SpecialityController::class, 'show'])->middleware('permission:config.speciality,view');
-Route::put('/speciality/{id}', [SpecialityController::class, 'update'])->middleware('permission:config.speciality,edit');
+Route::get('/specialities',       [SpecialityController::class, 'index'])->middleware('permission:config.speciality,view');
+Route::post('/speciality',        [SpecialityController::class, 'store'])->middleware('permission:config.speciality,add');
+Route::get('/speciality/{id}',    [SpecialityController::class, 'show'])->middleware('permission:config.speciality,view');
+Route::put('/speciality/{id}',    [SpecialityController::class, 'update'])->middleware('permission:config.speciality,edit');
 Route::delete('/speciality/{id}', [SpecialityController::class, 'destroy'])->middleware('permission:config.speciality,delete');

+ 6 - 6
routes/authRoutes/state.php

@@ -1,11 +1,11 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\StateController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/state', [StateController::class, 'index'])->middleware('permission:config.state,view');
-Route::post('/state', [StateController::class, 'store'])->middleware('permission:config.state,add');
-Route::get('/state/{id}', [StateController::class, 'show'])->middleware('permission:config.state,view');
-Route::put('/state/{id}', [StateController::class, 'update'])->middleware('permission:config.state,edit');
-Route::delete('/state/{id}', [StateController::class, 'destroy'])->middleware('permission:config.state,delete');
+Route::get('/state',              [StateController::class, 'index'])->middleware('permission:config.state,view');
+Route::post('/state',             [StateController::class, 'store'])->middleware('permission:config.state,add');
+Route::get('/state/{id}',         [StateController::class, 'show'])->middleware('permission:config.state,view');
+Route::put('/state/{id}',         [StateController::class, 'update'])->middleware('permission:config.state,edit');
+Route::delete('/state/{id}',      [StateController::class, 'destroy'])->middleware('permission:config.state,delete');
 Route::get('/state-country/{id}', [StateController::class, 'allByCountryId'])->middleware('permission:config.state,view');

+ 8 - 8
routes/authRoutes/user.php

@@ -1,13 +1,13 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\UserController;
+use Illuminate\Support\Facades\Route;
 
-Route::get('/user/me', [UserController::class, 'me']);
-Route::put('/me', [UserController::class, 'updateMe'])->middleware('permission:config.user,edit');
-Route::get('/user', [UserController::class, 'index'])->middleware('permission:config.user,view');
-Route::post('/user', [UserController::class, 'store'])->middleware('permission:config.user,add');
-Route::get('/user/{id}', [UserController::class, 'show'])->middleware('permission:config.user,view');
-Route::put('/user/{id}', [UserController::class, 'update'])->middleware('permission:config.user,edit');
+Route::get('/user/me',      [UserController::class, 'me']);
+Route::put('/me',           [UserController::class, 'updateMe'])->middleware('permission:config.user,edit');
+Route::get('/user',         [UserController::class, 'index'])->middleware('permission:config.user,view');
+Route::post('/user',        [UserController::class, 'store'])->middleware('permission:config.user,add');
+Route::get('/user/{id}',    [UserController::class, 'show'])->middleware('permission:config.user,view');
+Route::put('/user/{id}',    [UserController::class, 'update'])->middleware('permission:config.user,edit');
 Route::delete('/user/{id}', [UserController::class, 'destroy'])->middleware('permission:config.user,delete');
-Route::get('/user-types', [UserController::class, 'getUserTypes'])->middleware('permission:config.user,view');
+Route::get('/user-types',   [UserController::class, 'getUserTypes'])->middleware('permission:config.user,view');

+ 1 - 1
routes/authRoutes/user_type_permission.php

@@ -1,6 +1,6 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\UserTypePermissionController;
+use Illuminate\Support\Facades\Route;
 
 Route::get('/permissions-by-type', [UserTypePermissionController::class, 'allPermissionsByUserType']);

+ 10 - 10
routes/noAuthRoutes/auth.php

@@ -1,21 +1,21 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\AuthController;
 use App\Http\Controllers\ClientController;
 use App\Http\Controllers\ProviderController;
+use Illuminate\Support\Facades\Route;
 
 // backoffice
-Route::post('/login', [AuthController::class, 'login']);
+Route::post('/login',   [AuthController::class, 'login']);
 Route::post('/refresh', [AuthController::class, 'refresh']);
 
 // app
-Route::post('/login-app', [AuthController::class, 'loginApp']);
-Route::post('/refresh-app', [AuthController::class, 'refreshApp']);
-Route::post('/client-send-code', [AuthController::class, 'clientSendCode']);
-Route::post('/provider-send-code', [AuthController::class, 'providerSendCode']);
-Route::post('/user-validate-code', [AuthController::class, 'validateCode']);
-Route::post('/validate-code-client', [AuthController::class, 'validateCodeClient']);
+Route::post('/login-app',              [AuthController::class, 'loginApp']);
+Route::post('/refresh-app',            [AuthController::class, 'refreshApp']);
+Route::post('/client-send-code',       [AuthController::class, 'clientSendCode']);
+Route::post('/provider-send-code',     [AuthController::class, 'providerSendCode']);
+Route::post('/user-validate-code',     [AuthController::class, 'validateCode']);
+Route::post('/validate-code-client',   [AuthController::class, 'validateCodeClient']);
 Route::post('/validate-code-provider', [AuthController::class, 'validateCodeProvider']);
-Route::post('/register-client', [ClientController::class, 'register']);
-Route::post('/register-provider', [ProviderController::class, 'register']);
+Route::post('/register-client',        [ClientController::class, 'register']);
+Route::post('/register-provider',      [ProviderController::class, 'register']);

+ 1 - 1
routes/noAuthRoutes/service_type.php

@@ -1,6 +1,6 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\ServiceTypeController;
+use Illuminate\Support\Facades\Route;
 
 Route::get('/public-service-types', [ServiceTypeController::class, 'index']);

+ 1 - 1
routes/noAuthRoutes/user_type_permission.php

@@ -1,6 +1,6 @@
 <?php
 
-use Illuminate\Support\Facades\Route;
 use App\Http\Controllers\UserTypePermissionController;
+use Illuminate\Support\Facades\Route;
 
 Route::get('/permissions-by-type/guest', [UserTypePermissionController::class, 'allGuestPermissions']);