
* fix css focuses * #90 - wip * #90 - fix to generate PDF * #90 - wip * #90 - wip * #90 - wip * #90 - wip * #90 - fix to calendar * #90 - wip * #90 - fix * #90 - fix lint * #90 - fix * Apply suggestions from code review Co-authored-by: Krzysztof Rewak <krzysztof.rewak@gmail.com> Co-authored-by: Ewelina Lasowy <56546832+EwelinaLasowy@users.noreply.github.com> * #90 - cr fixes * #90 - fix Co-authored-by: EwelinaLasowy <ewelina.lasowy@blumilk.pl> Co-authored-by: Krzysztof Rewak <krzysztof.rewak@gmail.com> Co-authored-by: Ewelina Lasowy <56546832+EwelinaLasowy@users.noreply.github.com>
37 lines
876 B
PHP
37 lines
876 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Toby\Infrastructure\Jobs;
|
|
|
|
use Illuminate\Bus\Queueable;
|
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
|
use Illuminate\Foundation\Bus\Dispatchable;
|
|
use Spatie\GoogleCalendar\Event;
|
|
use Toby\Eloquent\Models\VacationRequest;
|
|
|
|
class ClearVacationRequestDaysInGoogleCalendar implements ShouldQueue
|
|
{
|
|
use Dispatchable;
|
|
use Queueable;
|
|
|
|
public function __construct(
|
|
protected VacationRequest $vacationRequest,
|
|
) {}
|
|
|
|
public function handle(): void
|
|
{
|
|
foreach ($this->vacationRequest->event_ids ?? [] as $eventId) {
|
|
$calendarEvent = Event::find($eventId);
|
|
|
|
if ($calendarEvent->googleEvent->getStatus() !== "cancelled") {
|
|
$calendarEvent->delete();
|
|
}
|
|
}
|
|
|
|
$this->vacationRequest->update([
|
|
"event_ids" => null,
|
|
]);
|
|
}
|
|
}
|