. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace Espo\Modules\Crm\Tools\Calendar\FreeBusy; use Espo\Core\Exceptions\Forbidden; use Espo\Entities\User; use Espo\Modules\Crm\Tools\Calendar\FetchParams as CalendarFetchParams; use Espo\Modules\Crm\Tools\Calendar\Items\BusyRange; use Espo\Modules\Crm\Tools\Calendar\Service as CalendarService; /** * @since 9.0.0 */ class Service { public function __construct( private CalendarService $service, ) {} /** * Fetch busy-ranges for user. Access is not checked by default. * * @return BusyRange[] * @throws Forbidden */ public function fetchRanges(User $user, FetchParams $params): array { $fetchParams = CalendarFetchParams::create($params->from, $params->to); return $this->service->fetchBusyRanges($user, $params, $fetchParams); } }