<?php

namespace Renysh\Turismo\Providers;

use Illuminate\Contracts\Auth\Access\Gate as GateContract;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    /**
     * The policy mappings for the package.
     *
     * @var array
     */
    protected $policies = [
        // Bind Catalogo policy
        \Renysh\Turismo\Models\Catalogo::class => \Renysh\Turismo\Policies\CatalogoPolicy::class,// Bind Catalogoitem policy
        \Renysh\Turismo\Models\Catalogoitem::class => \Renysh\Turismo\Policies\CatalogoitemPolicy::class,// Bind Sitioevento policy
        \Renysh\Turismo\Models\Sitioevento::class => \Renysh\Turismo\Policies\SitioeventoPolicy::class,// Bind Ubicacion policy
        \Renysh\Turismo\Models\Ubicacion::class => \Renysh\Turismo\Policies\UbicacionPolicy::class,// Bind Horarioatencion policy
        \Renysh\Turismo\Models\Horarioatencion::class => \Renysh\Turismo\Policies\HorarioatencionPolicy::class,// Bind Calificacion policy
        \Renysh\Turismo\Models\Calificacion::class => \Renysh\Turismo\Policies\CalificacionPolicy::class,// Bind Recurso policy
        \Renysh\Turismo\Models\Recurso::class => \Renysh\Turismo\Policies\RecursoPolicy::class,// Bind Itinerario policy
        \Renysh\Turismo\Models\Itinerario::class => \Renysh\Turismo\Policies\ItinerarioPolicy::class,// Bind Itinerarioitem policy
        \Renysh\Turismo\Models\Itinerarioitem::class => \Renysh\Turismo\Policies\ItinerarioitemPolicy::class,// Bind Ruta policy
        \Renysh\Turismo\Models\Ruta::class => \Renysh\Turismo\Policies\RutaPolicy::class,// Bind Rutaitem policy
        \Renysh\Turismo\Models\Rutaitem::class => \Renysh\Turismo\Policies\RutaitemPolicy::class,
    ];

    /**
     * Register any package authentication / authorization services.
     *
     * @param \Illuminate\Contracts\Auth\Access\Gate $gate
     *
     * @return void
     */
    public function boot(GateContract $gate)
    {
        parent::registerPolicies($gate);
    }
}