25 lines
587 B
PHP
25 lines
587 B
PHP
<?php
|
|
|
|
namespace App\Core\Home\Calendar;
|
|
|
|
use Symfony\Contracts\HttpClient\HttpClientInterface;
|
|
|
|
class CalendarFactory
|
|
{
|
|
public function __construct(
|
|
private readonly HttpClientInterface $httpClient,
|
|
private readonly CalendarConfig $config
|
|
) {
|
|
}
|
|
|
|
public function createCalendarService(): CalendarService
|
|
{
|
|
$service = new CalendarService($this->httpClient);
|
|
|
|
foreach ($this->config->getIcsCalendars() as $name => $url) {
|
|
$service->addIcsCalendar($url, $name);
|
|
}
|
|
|
|
return $service;
|
|
}
|
|
}
|