<?php

namespace App\Providers;

use App\Models\Area;
use App\Models\Caja;
use App\Models\ClienteCategoria;
use App\Models\Etapa;
use App\Models\GarmentType;
use App\Models\InventoryMovement;
use App\Models\InventoryTransferDocument;
use App\Models\InventoryTransferLine;
use App\Models\LaundrySaleCategory;
use App\Models\LaundrySaleProduct;
use App\Models\OrdenLavanderia;
use App\Models\TipoServicio;
use App\Policies\AreaPolicy;
use App\Policies\CajaPolicy;
use App\Policies\ClienteCategoriaPolicy;
use App\Policies\ClientePolicy;
use App\Policies\EtapaPolicy;
use App\Policies\GarmentTypePolicy;
use App\Policies\InventoryMovementPolicy;
use App\Policies\InventoryTransferDocumentPolicy;
use App\Policies\InventoryTransferLinePolicy;
use App\Policies\LaundrySaleCategoryPolicy;
use App\Policies\LaundrySaleProductPolicy;
use App\Policies\OrdenLavanderiaPolicy;
use App\Policies\TipoServicioPolicy;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The model to policy mappings for the application.
     *
     * @var array<class-string, class-string>
     */
    protected $policies = [
        Area::class => AreaPolicy::class,
        Caja::class => CajaPolicy::class,
        Cliente::class => ClientePolicy::class,
        ClienteCategoria::class => ClienteCategoriaPolicy::class,
        Etapa::class => EtapaPolicy::class,
        GarmentType::class => GarmentTypePolicy::class,
        LaundrySaleCategory::class => LaundrySaleCategoryPolicy::class,
        LaundrySaleProduct::class => LaundrySaleProductPolicy::class,
        OrdenLavanderia::class => OrdenLavanderiaPolicy::class,
        TipoServicio::class => TipoServicioPolicy::class,
        InventoryMovement::class => InventoryMovementPolicy::class,
        InventoryTransferDocument::class => InventoryTransferDocumentPolicy::class,
        InventoryTransferLine::class => InventoryTransferLinePolicy::class,
    ];

    /**
     * Register any authentication / authorization services.
     */
    public function boot(): void
    {
        //
    }
}
