#166 - Slack and Google Calendar feature flags (#167)

* slack and google calendar feature flags

* cs fix

* update .env.example
This commit is contained in:
Adrian Hopek
2022-06-13 13:50:23 +02:00
committed by GitHub
parent 31a6d287c8
commit 68e32ad930
5 changed files with 18 additions and 3 deletions

View File

@@ -21,6 +21,10 @@ class ClearVacationRequestDaysInGoogleCalendar implements ShouldQueue
public function handle(): void
{
if (!config("services.google.calendar_enabled")) {
return;
}
foreach ($this->vacationRequest->event_ids ?? [] as $eventId) {
$calendarEvent = Event::find($eventId);

View File

@@ -23,6 +23,10 @@ class SendVacationRequestDaysToGoogleCalendar implements ShouldQueue
public function handle(): void
{
if (!config("services.google.calendar_enabled")) {
return;
}
$days = $this->vacationRequest
->vacations()
->orderBy("date")

View File

@@ -4,22 +4,25 @@ declare(strict_types=1);
namespace Toby\Infrastructure\Slack\Channels;
use Illuminate\Http\Client\Response;
use Illuminate\Notifications\Notification;
use Illuminate\Support\Facades\Http;
use Toby\Domain\Notifications\Notifiable;
class SlackApiChannel
{
public function send(Notifiable $notifiable, Notification $notification): Response
public function send(Notifiable $notifiable, Notification $notification): void
{
if (!config("services.slack.enabled")) {
return;
}
$baseUrl = $this->getBaseUrl();
$url = "{$baseUrl}/chat.postMessage";
$channel = $notifiable->routeNotificationFor("slack", $notification);
$message = $notification->toSlack($notifiable);
return Http::withToken($this->getClientToken())
Http::withToken($this->getClientToken())
->post($url, array_merge($message->getPayload(), [
"channel" => $channel,
]));