<?php

namespace Bixo\Payment\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 Detail policy
        \Bixo\Payment\Models\Detail::class 
        => \Bixo\Payment\Policies\DetailPolicy::class,// Bind Refund policy
        \Bixo\Payment\Models\Refund::class 
        => \Bixo\Payment\Policies\RefundPolicy::class,// Bind Invoice policy
        \Bixo\Payment\Models\Invoice::class 
        => \Bixo\Payment\Policies\InvoicePolicy::class,// Bind Gateway policy
        \Bixo\Payment\Models\Gateway::class 
        => \Bixo\Payment\Policies\GatewayPolicy::class,// Bind Payment policy
        \Bixo\Payment\Models\Payment::class 
        => \Bixo\Payment\Policies\PaymentPolicy::class,
    ];

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