All checks were successful
Auto Tag Develop / tag (push) Successful in 6s
| Numéro du ticket | Titre du ticket | |------------------|-----------------| | | | ## Description de la PR ## Modification du .env ## Check list - [x] Pas de régression - [x] TU/TI/TF rédigée - [x] TU/TI/TF OK - [ ] CHANGELOG modifié Co-authored-by: Matthieu <mtholot19@gmail.com> Reviewed-on: MALIO-DEV/Coltura#8 Co-authored-by: tristan <tristan@yuno.malio.fr> Co-committed-by: tristan <tristan@yuno.malio.fr>
32 lines
927 B
PHP
32 lines
927 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Shared\Domain\Exception;
|
|
|
|
use App\Shared\Domain\Contract\SiteInterface;
|
|
use DomainException;
|
|
|
|
/**
|
|
* Levee lorsqu'un utilisateur tente de selectionner comme site courant un
|
|
* site qui ne fait pas partie de ses sites autorises.
|
|
*
|
|
* Exception purement domaine : la traduction HTTP (403) est faite par le
|
|
* CurrentSiteProcessor via try/catch, aligne sur le pattern
|
|
* SystemRoleDeletionException du module Core.
|
|
*
|
|
* Deplacee dans Shared/Domain/Exception/ pour eviter que le module Core
|
|
* n'importe directement depuis le module Sites (violation du principe de
|
|
* non-couplage inter-modules).
|
|
*/
|
|
class SiteNotAuthorizedException extends DomainException
|
|
{
|
|
public static function forSite(SiteInterface $site): self
|
|
{
|
|
return new self(sprintf(
|
|
'Le site "%s" ne fait pas partie de vos sites autorises.',
|
|
$site->getName(),
|
|
));
|
|
}
|
|
}
|