feat: connector on watchlist

This commit is contained in:
Maël Gangloff
2024-07-30 21:34:48 +02:00
parent 73a47c7879
commit 6f89317edc
7 changed files with 114 additions and 82 deletions

View File

@@ -48,31 +48,28 @@ final readonly class ProcessDomainTriggerHandler
/** @var Domain $domain */
$domain = $this->domainRepository->findOneBy(["ldhName" => $message->ldhName]);
$watchListTriggers = $watchList->getWatchListTriggers();
$connector = $watchList->getConnector();
if (null !== $connector && $domain->getDeleted()) {
try {
if ($connector->getProvider() === ConnectorProvider::OVH) {
$ovh = new OVHConnector($connector->getAuthData());
$isDebug = $this->kernel->isDebug();
/** @var WatchListTrigger $watchListTrigger */
foreach ($watchListTriggers->getIterator() as $watchListTrigger) {
if ($watchListTrigger->getAction() === TriggerAction::BuyDomain) {
try {
if ($watchListTrigger->getConnector() === null) throw new Exception('Connector is missing');
$connector = $watchListTrigger->getConnector();
if ($connector->getProvider() === ConnectorProvider::OVH) {
$ovh = new OVHConnector($connector->getAuthData());
$isDebug = $this->kernel->isDebug();
$ovh->orderDomain($domain, $isDebug);
$this->sendEmailDomainOrdered($domain, $connector, $watchList->getUser());
} else throw new Exception("Unknown provider");
} catch (Throwable) {
$this->sendEmailDomainOrderError($domain, $watchList->getUser());
}
$ovh->orderDomain($domain, $isDebug);
$this->sendEmailDomainOrdered($domain, $connector, $watchList->getUser());
} else throw new Exception("Unknown provider");
} catch (Throwable) {
$this->sendEmailDomainOrderError($domain, $watchList->getUser());
}
}
/** @var DomainEvent $event */
foreach ($domain->getEvents()->filter(fn($event) => $message->updatedAt < $event->getDate()) as $event) {
/** @var DomainEvent $event */
foreach ($domain->getEvents()->filter(fn($event) => $message->updatedAt < $event->getDate()) as $event) {
$watchListTriggers = $watchList->getWatchListTriggers()
->filter(fn($trigger) => $trigger->getEvent() === $event->getAction());
/** @var WatchListTrigger $watchListTrigger */
foreach ($watchListTriggers->getIterator() as $watchListTrigger) {
if ($watchListTrigger->getAction() == TriggerAction::SendEmail) {
$this->sendEmailDomainUpdated($event, $watchList->getUser());
}