<?php

namespace App\Providers;

use App\Models\Category;
use App\Models\Department;
use App\Models\MovementStock;
use App\Models\Product;
use App\Models\Request;
use App\Models\Stock;
use App\Models\Supplier;
use App\Models\Unit;
use App\Policies\CategoryPolicy;
use App\Policies\DepartmentPolicy;
use App\Policies\MovementStockPolicy;
use App\Policies\ProductPolicy;
use App\Policies\RequestPolicy;
use App\Policies\StockPolicy;
use App\Policies\SupplierPolicy;
use App\Policies\UnitPolicy;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The policy mappings for the application.
     *
     * @var array<class-string, class-string>
     */
    protected $policies = [
        Category::class => CategoryPolicy::class,
        Department::class => DepartmentPolicy::class,
        Product::class => ProductPolicy::class,
        Request::class => RequestPolicy::class,
        Stock::class => StockPolicy::class,
        MovementStock::class => MovementStockPolicy::class,
        Supplier::class => SupplierPolicy::class,
        Unit::class => UnitPolicy::class,
    ];

    /**
     * Register services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap services.
     */
    public function boot(): void
    {
        $this->registerPolicies();
    }
}

