This commit is contained in:
Adrian Hopek 2022-04-20 14:22:10 +02:00
parent b72258e16b
commit 39a35ba595

View File

@ -7,6 +7,7 @@ namespace Toby\Domain\Actions\VacationRequest;
use Toby\Domain\Enums\Role; use Toby\Domain\Enums\Role;
use Toby\Domain\Notifications\VacationRequestStatusChangedNotification; use Toby\Domain\Notifications\VacationRequestStatusChangedNotification;
use Toby\Domain\VacationRequestStateManager; use Toby\Domain\VacationRequestStateManager;
use Toby\Domain\VacationTypeConfigRetriever;
use Toby\Eloquent\Models\User; use Toby\Eloquent\Models\User;
use Toby\Eloquent\Models\VacationRequest; use Toby\Eloquent\Models\VacationRequest;
use Toby\Infrastructure\Jobs\ClearVacationRequestDaysInGoogleCalendar; use Toby\Infrastructure\Jobs\ClearVacationRequestDaysInGoogleCalendar;
@ -15,6 +16,7 @@ class CancelAction
{ {
public function __construct( public function __construct(
protected VacationRequestStateManager $stateManager, protected VacationRequestStateManager $stateManager,
protected VacationTypeConfigRetriever $configRetriever,
) {} ) {}
public function execute(VacationRequest $vacationRequest, User $user): void public function execute(VacationRequest $vacationRequest, User $user): void
@ -23,7 +25,9 @@ class CancelAction
ClearVacationRequestDaysInGoogleCalendar::dispatch($vacationRequest); ClearVacationRequestDaysInGoogleCalendar::dispatch($vacationRequest);
$this->notify($vacationRequest); if ($this->configRetriever->isVacation($vacationRequest->type)) {
$this->notify($vacationRequest);
}
} }
protected function notify(VacationRequest $vacationRequest): void protected function notify(VacationRequest $vacationRequest): void