add authentication
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
Marko
2023-11-10 15:12:34 +01:00
parent ae7c9df246
commit d661a2cbbc
6 changed files with 448 additions and 291 deletions

View File

@@ -3,6 +3,7 @@
namespace App\EventSubscriber;
use ApiPlatform\Symfony\EventListener\EventPriorities;
use App\Helper\Hiltes;
use App\Helper\Slack;
use App\Entity\Order;
use Maknz\Slack\Client;
@@ -23,10 +24,13 @@ class SlackNotifySubscriber implements EventSubscriberInterface
private $slackWebhookUrl;
public function __construct(string $slackWebhookUrl, LoggerInterface $logger)
private $hiltes;
public function __construct(string $slackWebhookUrl, LoggerInterface $logger, Hiltes $hiltes)
{
$this->slackWebhookUrl = $slackWebhookUrl;
$this->logger = $logger;
$this->hiltes = $hiltes;
}
public static function getSubscribedEvents(): array
@@ -46,7 +50,9 @@ class SlackNotifySubscriber implements EventSubscriberInterface
$slack = new Client($this->slackWebhookUrl, [
'username' => 'CDS-Notify',
'channel' => '#general',
'link_names' => true
'link_names' => true,
'icon' => ':robot_face:',
'allow_markdown' => true,
]);
$order = $event->getControllerResult();
@@ -57,19 +63,24 @@ class SlackNotifySubscriber implements EventSubscriberInterface
return;
}
$msg = "Bestellung {$order->getId()}: ";
$msg = "Bestellung {$order->getOrderId()}: \n";
foreach($order->getData() as $item) {
if($item['menge'] > 0 && strlen($item['sku']) > 0) {
$msg .= ' '.$item['name'];
$msg .= ' - '.$item['sku'];
$msg .= ' Menge: '.$item['menge'];
$msg .= $item['name'];
$msg .= ' '.$item['sku'];
$msg .= ' Menge: '.$item['menge']."\n";
}
}
if($order->getStatus() == 1) {
$slack->from('CDS-Notify')
->send($msg);
}elseif($order->getStatus() == 2){
//Send to Hiltes
$this->hiltes->createRequest($order);
}else{
$this->logger->error('Status ist nicht 1 oder 2');
}
}
}