<?php

namespace Modules\TermeDePaiement\Rules;

use Helpers\Outil\Roles;
use Modules\GlobalApplication\Repository\LicenceOxalys;
use Psr\Http\Message\ServerRequestInterface;

class TermeDePaiement
{
    protected ServerRequestInterface $request;
    protected \PDO $pdo;
        
    /**
     * __construct
     *
     * @param  ServerRequestInterface $request
     * @return void
     */
    public function __construct(ServerRequestInterface  $request, \PDO $pdo)
    {
        $this->request  = $request;
        $this->pdo      = $pdo;
    }

    public function init() : bool
    {
        // la licence termes de paiement doit être actif
        return (new LicenceOxalys($this->pdo))->termPaieActive();
    }
    
    public function formUpdate() : bool
    {
        $droit = Roles::droitsUtilMulti($this->pdo, [
            'HA_TP_SAIS' // Saisie Résultat Terme Paiement
        ]);
        return $droit['HA_TP_SAIS'];
    }

    public function update() : bool
    {
        $droit = Roles::droitsUtilMulti($this->pdo, [
            'HA_TP_SAIS' // Saisie Résultat Terme Paiement
        ]);
        return $droit['HA_TP_SAIS'];
    }
    
    /**
     * visualize
     *
     * @return number|string
     */
    public function visualize()
    {
        return Roles::droitsUtilisateur($this->pdo, 'HA_TP_SAIS');
    }
}
