|
|
@@ -2,7 +2,6 @@
|
|
|
|
|
|
namespace App\Service;
|
|
|
|
|
|
-
|
|
|
use App\Entity\Film;
|
|
|
use App\Entity\User;
|
|
|
use Symfony\Bundle\SecurityBundle\Security;
|
|
|
@@ -25,93 +24,130 @@ class Mattermost
|
|
|
protected string $channelIdAdmin,
|
|
|
protected UrlGeneratorInterface $router,
|
|
|
protected RequestStack $requestStack,
|
|
|
- protected Security $security
|
|
|
- )
|
|
|
- {
|
|
|
- }
|
|
|
+ protected Security $security,
|
|
|
+ ) {}
|
|
|
|
|
|
- protected function SendNotif(string $message, bool $isChanAdmin = False) :void
|
|
|
- {
|
|
|
+ protected function sendNotif(
|
|
|
+ string $message,
|
|
|
+ bool $isChanAdmin = false,
|
|
|
+ ): void {
|
|
|
try {
|
|
|
$response = $this->mattermostClient->request(
|
|
|
- 'POST',
|
|
|
- 'api/v4/posts', [
|
|
|
- 'json' => [
|
|
|
- "channel_id" => ($isChanAdmin ? $this->channelIdAdmin : $this->channelId),
|
|
|
- "message" => $message
|
|
|
- ]
|
|
|
- ]
|
|
|
+ "POST",
|
|
|
+ "api/v4/posts",
|
|
|
+ [
|
|
|
+ "json" => [
|
|
|
+ "channel_id" => $isChanAdmin
|
|
|
+ ? $this->channelIdAdmin
|
|
|
+ : $this->channelId,
|
|
|
+ "message" => $message,
|
|
|
+ ],
|
|
|
+ ],
|
|
|
);
|
|
|
// Appeler au moins une méthode pour déclencher l'exception en cas d'erreur réseau
|
|
|
$response->getHeaders();
|
|
|
-
|
|
|
} catch (TransportExceptionInterface $e) {
|
|
|
/** @var \Symfony\Component\HttpFoundation\Session\Session $session */
|
|
|
$session = $this->requestStack->getSession();
|
|
|
- $session->getFlashBag()->add('error', "L'envoi vers mattermost a échoué.");
|
|
|
+ $session
|
|
|
+ ->getFlashBag()
|
|
|
+ ->add("error", "L'envoi vers mattermost a échoué.");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public function sendNouveauFilm(Film $film) :void
|
|
|
+ public function sendNouveauFilm(Film $film): void
|
|
|
{
|
|
|
$message =
|
|
|
- ":new: **"
|
|
|
- .$film->getAuthered()->getUserIdentifier()
|
|
|
- ."** vient d'ajouter **"
|
|
|
- ."[".$film->getTitre()."]("
|
|
|
- .$this->router->generate('videotheque_voirfilm', ['id' => $film->getId()], UrlGeneratorInterface::ABSOLUTE_URL)
|
|
|
- .")** dans la [vidéothèque]("
|
|
|
- .$this->router->generate('videotheque_liste', [], UrlGeneratorInterface::ABSOLUTE_URL)
|
|
|
- .").";
|
|
|
- $this->SendNotif($message);
|
|
|
+ ":new: **" .
|
|
|
+ $film->getAuthered()->getUserIdentifier() .
|
|
|
+ "** vient d'ajouter **" .
|
|
|
+ "[" .
|
|
|
+ $film->getTitre() .
|
|
|
+ "](" .
|
|
|
+ $this->router->generate(
|
|
|
+ "videotheque_voirfilm",
|
|
|
+ ["id" => $film->getId()],
|
|
|
+ UrlGeneratorInterface::ABSOLUTE_URL,
|
|
|
+ ) .
|
|
|
+ ")** dans la [vidéothèque](" .
|
|
|
+ $this->router->generate(
|
|
|
+ "videotheque_liste",
|
|
|
+ [],
|
|
|
+ UrlGeneratorInterface::ABSOLUTE_URL,
|
|
|
+ ) .
|
|
|
+ ").";
|
|
|
+ $this->sendNotif($message);
|
|
|
}
|
|
|
|
|
|
- public function sendNouveauCommentaire(User $user, Film $film) :void
|
|
|
+ public function sendNouveauCommentaire(User $user, Film $film): void
|
|
|
{
|
|
|
$message =
|
|
|
- ":new: **"
|
|
|
- .$user->getUserIdentifier()
|
|
|
- ."** vient d'ajouter un commentaire sur le film **"
|
|
|
- ."[".$film->getTitre()."]("
|
|
|
- .$this->router->generate('videotheque_voirfilm', ['id' => $film->getId()], UrlGeneratorInterface::ABSOLUTE_URL)
|
|
|
- .")** dans la [vidéothèque]("
|
|
|
- .$this->router->generate('videotheque_liste', [], UrlGeneratorInterface::ABSOLUTE_URL)
|
|
|
- .")."
|
|
|
- ;
|
|
|
+ ":new: **" .
|
|
|
+ $user->getUserIdentifier() .
|
|
|
+ "** vient d'ajouter un commentaire sur le film **" .
|
|
|
+ "[" .
|
|
|
+ $film->getTitre() .
|
|
|
+ "](" .
|
|
|
+ $this->router->generate(
|
|
|
+ "videotheque_voirfilm",
|
|
|
+ ["id" => $film->getId()],
|
|
|
+ UrlGeneratorInterface::ABSOLUTE_URL,
|
|
|
+ ) .
|
|
|
+ ")** dans la [vidéothèque](" .
|
|
|
+ $this->router->generate(
|
|
|
+ "videotheque_liste",
|
|
|
+ [],
|
|
|
+ UrlGeneratorInterface::ABSOLUTE_URL,
|
|
|
+ ) .
|
|
|
+ ").";
|
|
|
|
|
|
- $this->SendNotif($message);
|
|
|
+ $this->sendNotif($message);
|
|
|
}
|
|
|
|
|
|
- public function sendNewUser(string $userName) : void
|
|
|
+ public function sendNewUser(string $userName): void
|
|
|
{
|
|
|
$message =
|
|
|
- ":warning: Un utilisateur vient de s'enregistrer dans la [vidéothèque]("
|
|
|
- .$this->router->generate('videotheque_liste', [], UrlGeneratorInterface::ABSOLUTE_URL)
|
|
|
- .")** : "
|
|
|
- .$userName
|
|
|
- ."**. Accéder à la [liste des utilisateurs]("
|
|
|
- .$this->router->generate('admin_index', [], UrlGeneratorInterface::ABSOLUTE_URL)
|
|
|
- .")."
|
|
|
- ;
|
|
|
+ ":warning: Un utilisateur vient de s'enregistrer dans la [vidéothèque](" .
|
|
|
+ $this->router->generate(
|
|
|
+ "videotheque_liste",
|
|
|
+ [],
|
|
|
+ UrlGeneratorInterface::ABSOLUTE_URL,
|
|
|
+ ) .
|
|
|
+ ")** : " .
|
|
|
+ $userName .
|
|
|
+ "**. Accéder à la [liste des utilisateurs](" .
|
|
|
+ $this->router->generate(
|
|
|
+ "admin_index",
|
|
|
+ [],
|
|
|
+ UrlGeneratorInterface::ABSOLUTE_URL,
|
|
|
+ ) .
|
|
|
+ ").";
|
|
|
|
|
|
- $this->sendNotif($message, True);
|
|
|
+ $this->sendNotif($message, true);
|
|
|
}
|
|
|
|
|
|
public function sendNewMediaVideo(Film $film): void
|
|
|
{
|
|
|
$message =
|
|
|
- ":new: **"
|
|
|
- . $this->security->getToken()->getUserIdentifier()
|
|
|
- ."** vient d'ajouter une bande d'annonce sur le film **"
|
|
|
- ."[".$film->getTitre()."]("
|
|
|
- .$this->router->generate('videotheque_voirfilm', ['id' => $film->getId()], UrlGeneratorInterface::ABSOLUTE_URL)
|
|
|
- .")** dans la [vidéothèque]("
|
|
|
- .$this->router->generate('videotheque_liste', [], UrlGeneratorInterface::ABSOLUTE_URL)
|
|
|
- .")."
|
|
|
- ;
|
|
|
+ ":new: **" .
|
|
|
+ $this->security->getToken()->getUserIdentifier() .
|
|
|
+ "** vient d'ajouter une bande d'annonce sur le film **" .
|
|
|
+ "[" .
|
|
|
+ $film->getTitre() .
|
|
|
+ "](" .
|
|
|
+ $this->router->generate(
|
|
|
+ "videotheque_voirfilm",
|
|
|
+ ["id" => $film->getId()],
|
|
|
+ UrlGeneratorInterface::ABSOLUTE_URL,
|
|
|
+ ) .
|
|
|
+ ")** dans la [vidéothèque](" .
|
|
|
+ $this->router->generate(
|
|
|
+ "videotheque_liste",
|
|
|
+ [],
|
|
|
+ UrlGeneratorInterface::ABSOLUTE_URL,
|
|
|
+ ) .
|
|
|
+ ").";
|
|
|
|
|
|
- $this->SendNotif($message);
|
|
|
+ $this->sendNotif($message);
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-}
|
|
|
+}
|