*/ private array $oldInvites = []; private ?int $previousCalendarRangeId = null; private ?int $previousMainUserId = null; public function __construct( Calendar $calendar, private readonly string $action, User $byUser, ) { $this->calendarId = $calendar->getId(); $this->byUserId = $byUser->getId(); $this->previousCalendarRangeId = null !== $calendar->previousCalendarRange ? $calendar->previousCalendarRange->getId() : null; $this->previousMainUserId = null !== $calendar->previousMainUser ? $calendar->previousMainUser->getId() : null; $this->newInvitesIds = array_map(static fn (Invite $i) => $i->getId(), $calendar->newInvites); $this->oldInvites = array_map(static fn (Invite $i) => [ 'inviteId' => $i->getId(), 'userId' => $i->getUser()->getId(), 'userEmail' => $i->getUser()->getEmail(), 'userLabel' => $i->getUser()->getLabel(), ], $calendar->oldInvites); } public function getAction(): string { return $this->action; } public function getByUserId(): ?int { return $this->byUserId; } public function getCalendarId(): ?int { return $this->calendarId; } /** * @return array|int[]|null[] */ public function getNewInvitesIds(): array { return $this->newInvitesIds; } /** * @return array */ public function getOldInvites(): array { return $this->oldInvites; } public function getPreviousCalendarRangeId(): ?int { return $this->previousCalendarRangeId; } public function getPreviousMainUserId(): ?int { return $this->previousMainUserId; } }