mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
refactor and rename classes
This commit is contained in:
parent
8abce5ab85
commit
d570145385
@ -11,7 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\CalendarBundle;
|
namespace Chill\CalendarBundle;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\DependencyInjection\RemoteCalendarCompilerPass;
|
use Chill\CalendarBundle\RemoteCalendar\DependencyInjection\RemoteCalendarCompilerPass;
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||||
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
use Symfony\Component\HttpKernel\Bundle\Bundle;
|
||||||
|
|
||||||
|
@ -11,7 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\CalendarBundle\Command;
|
namespace Chill\CalendarBundle\Command;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraph\MachineTokenStorage;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph\MachineTokenStorage;
|
||||||
use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
|
use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
|
||||||
use Symfony\Component\Console\Command\Command;
|
use Symfony\Component\Console\Command\Command;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
|
@ -11,7 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\CalendarBundle\Command;
|
namespace Chill\CalendarBundle\Command;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraph\MapCalendarToUser;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph\MapCalendarToUser;
|
||||||
use Chill\MainBundle\Repository\UserRepository;
|
use Chill\MainBundle\Repository\UserRepository;
|
||||||
use Doctrine\ORM\EntityManagerInterface;
|
use Doctrine\ORM\EntityManagerInterface;
|
||||||
use Symfony\Component\Console\Command\Command;
|
use Symfony\Component\Console\Command\Command;
|
||||||
|
@ -13,8 +13,8 @@ namespace Chill\CalendarBundle\Controller;
|
|||||||
|
|
||||||
use Chill\CalendarBundle\Entity\Calendar;
|
use Chill\CalendarBundle\Entity\Calendar;
|
||||||
use Chill\CalendarBundle\Form\CalendarType;
|
use Chill\CalendarBundle\Form\CalendarType;
|
||||||
|
use Chill\CalendarBundle\RemoteCalendar\Connector\RemoteCalendarConnectorInterface;
|
||||||
use Chill\CalendarBundle\Repository\CalendarRepository;
|
use Chill\CalendarBundle\Repository\CalendarRepository;
|
||||||
use Chill\CalendarBundle\Synchro\Connector\RemoteCalendarConnectorInterface;
|
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
use Chill\MainBundle\Pagination\PaginatorFactory;
|
use Chill\MainBundle\Pagination\PaginatorFactory;
|
||||||
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
use Chill\MainBundle\Security\Authorization\AuthorizationHelper;
|
||||||
|
@ -11,7 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\CalendarBundle\Controller;
|
namespace Chill\CalendarBundle\Controller;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraph\MSGraphTokenStorage;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph\OnBehalfOfUserTokenStorage;
|
||||||
use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
|
use KnpU\OAuth2ClientBundle\Client\ClientRegistry;
|
||||||
use League\OAuth2\Client\Provider\Exception\IdentityProviderException;
|
use League\OAuth2\Client\Provider\Exception\IdentityProviderException;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
@ -25,11 +25,11 @@ class RemoteCalendarConnectAzureController
|
|||||||
{
|
{
|
||||||
private ClientRegistry $clientRegistry;
|
private ClientRegistry $clientRegistry;
|
||||||
|
|
||||||
private MSGraphTokenStorage $MSGraphTokenStorage;
|
private OnBehalfOfUserTokenStorage $MSGraphTokenStorage;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
ClientRegistry $clientRegistry,
|
ClientRegistry $clientRegistry,
|
||||||
MSGraphTokenStorage $MSGraphTokenStorage
|
OnBehalfOfUserTokenStorage $MSGraphTokenStorage
|
||||||
) {
|
) {
|
||||||
$this->clientRegistry = $clientRegistry;
|
$this->clientRegistry = $clientRegistry;
|
||||||
$this->MSGraphTokenStorage = $MSGraphTokenStorage;
|
$this->MSGraphTokenStorage = $MSGraphTokenStorage;
|
||||||
|
@ -11,7 +11,7 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
namespace Chill\CalendarBundle\Controller;
|
namespace Chill\CalendarBundle\Controller;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Connector\RemoteCalendarConnectorInterface;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\RemoteCalendarConnectorInterface;
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Symfony\Component\HttpFoundation\JsonResponse;
|
use Symfony\Component\HttpFoundation\JsonResponse;
|
||||||
|
@ -36,7 +36,7 @@ class ChillCalendarExtension extends Extension implements PrependExtensionInterf
|
|||||||
$loader->load('services/fixtures.yml');
|
$loader->load('services/fixtures.yml');
|
||||||
$loader->load('services/form.yml');
|
$loader->load('services/form.yml');
|
||||||
$loader->load('services/event.yml');
|
$loader->load('services/event.yml');
|
||||||
$loader->load('services/synchro.yaml');
|
$loader->load('services/remote_calendar.yaml');
|
||||||
|
|
||||||
$container->setParameter('chill_calendar', $config);
|
$container->setParameter('chill_calendar', $config);
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector\MSGraph;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph;
|
||||||
|
|
||||||
use League\OAuth2\Client\Tool\BearerAuthorizationTrait;
|
use League\OAuth2\Client\Tool\BearerAuthorizationTrait;
|
||||||
use LogicException;
|
use LogicException;
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector\MSGraph;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph;
|
||||||
|
|
||||||
use Chill\MainBundle\Redis\ChillRedis;
|
use Chill\MainBundle\Redis\ChillRedis;
|
||||||
use League\OAuth2\Client\Token\AccessTokenInterface;
|
use League\OAuth2\Client\Token\AccessTokenInterface;
|
@ -9,9 +9,9 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector\MSGraph;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraphRemoteCalendarConnector;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraphRemoteCalendarConnector;
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
use Psr\Log\LoggerInterface;
|
use Psr\Log\LoggerInterface;
|
||||||
|
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector\MSGraph;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph;
|
||||||
|
|
||||||
use League\OAuth2\Client\Tool\BearerAuthorizationTrait;
|
use League\OAuth2\Client\Tool\BearerAuthorizationTrait;
|
||||||
use LogicException;
|
use LogicException;
|
||||||
@ -17,18 +17,18 @@ use Symfony\Contracts\HttpClient\HttpClientInterface;
|
|||||||
use Symfony\Contracts\HttpClient\ResponseInterface;
|
use Symfony\Contracts\HttpClient\ResponseInterface;
|
||||||
use Symfony\Contracts\HttpClient\ResponseStreamInterface;
|
use Symfony\Contracts\HttpClient\ResponseStreamInterface;
|
||||||
|
|
||||||
class UserHttpClient
|
class OnBehalfOfUserHttpClient
|
||||||
{
|
{
|
||||||
use BearerAuthorizationTrait;
|
use BearerAuthorizationTrait;
|
||||||
|
|
||||||
private HttpClientInterface $decoratedClient;
|
private HttpClientInterface $decoratedClient;
|
||||||
|
|
||||||
private MSGraphTokenStorage $tokenStorage;
|
private OnBehalfOfUserTokenStorage $tokenStorage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @param HttpClientInterface $decoratedClient
|
* @param HttpClientInterface $decoratedClient
|
||||||
*/
|
*/
|
||||||
public function __construct(MSGraphTokenStorage $tokenStorage, ?HttpClientInterface $decoratedClient = null)
|
public function __construct(OnBehalfOfUserTokenStorage $tokenStorage, ?HttpClientInterface $decoratedClient = null)
|
||||||
{
|
{
|
||||||
$this->decoratedClient = $decoratedClient ?? \Symfony\Component\HttpClient\HttpClient::create();
|
$this->decoratedClient = $decoratedClient ?? \Symfony\Component\HttpClient\HttpClient::create();
|
||||||
$this->tokenStorage = $tokenStorage;
|
$this->tokenStorage = $tokenStorage;
|
@ -9,14 +9,17 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector\MSGraph;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph;
|
||||||
|
|
||||||
use LogicException;
|
use LogicException;
|
||||||
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
use Symfony\Component\HttpFoundation\Session\SessionInterface;
|
||||||
use TheNetworg\OAuth2\Client\Provider\Azure;
|
use TheNetworg\OAuth2\Client\Provider\Azure;
|
||||||
use TheNetworg\OAuth2\Client\Token\AccessToken;
|
use TheNetworg\OAuth2\Client\Token\AccessToken;
|
||||||
|
|
||||||
class MSGraphTokenStorage
|
/**
|
||||||
|
* Store token obtained on behalf of a User.
|
||||||
|
*/
|
||||||
|
class OnBehalfOfUserTokenStorage
|
||||||
{
|
{
|
||||||
public const MS_GRAPH_ACCESS_TOKEN = 'msgraph_access_token';
|
public const MS_GRAPH_ACCESS_TOKEN = 'msgraph_access_token';
|
||||||
|
|
@ -9,12 +9,16 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector\MSGraph;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Model\RemoteEvent;
|
use Chill\CalendarBundle\RemoteCalendar\Model\RemoteEvent;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use DateTimeZone;
|
use DateTimeZone;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert Chill Calendar event to Remote MS Graph event, and MS Graph
|
||||||
|
* event to RemoteEvent.
|
||||||
|
*/
|
||||||
class RemoteEventConverter
|
class RemoteEventConverter
|
||||||
{
|
{
|
||||||
private const REMOTE_DATE_FORMAT = 'Y-m-d\TH:i:s.u0';
|
private const REMOTE_DATE_FORMAT = 'Y-m-d\TH:i:s.u0';
|
@ -9,12 +9,12 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraph\MachineHttpClient;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph\MachineHttpClient;
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraph\MSGraphTokenStorage;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph\OnBehalfOfUserHttpClient;
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraph\RemoteEventConverter;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph\OnBehalfOfUserTokenStorage;
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraph\UserHttpClient;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph\RemoteEventConverter;
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Symfony\Component\HttpFoundation\RedirectResponse;
|
use Symfony\Component\HttpFoundation\RedirectResponse;
|
||||||
@ -27,18 +27,18 @@ class MSGraphRemoteCalendarConnector implements RemoteCalendarConnectorInterface
|
|||||||
|
|
||||||
private RemoteEventConverter $remoteEventConverter;
|
private RemoteEventConverter $remoteEventConverter;
|
||||||
|
|
||||||
private MSGraphTokenStorage $tokenStorage;
|
private OnBehalfOfUserTokenStorage $tokenStorage;
|
||||||
|
|
||||||
private UrlGeneratorInterface $urlGenerator;
|
private UrlGeneratorInterface $urlGenerator;
|
||||||
|
|
||||||
private UserHttpClient $userHttpClient;
|
private OnBehalfOfUserHttpClient $userHttpClient;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
MachineHttpClient $machineHttpClient,
|
MachineHttpClient $machineHttpClient,
|
||||||
MSGraphTokenStorage $tokenStorage,
|
OnBehalfOfUserTokenStorage $tokenStorage,
|
||||||
|
OnBehalfOfUserHttpClient $userHttpClient,
|
||||||
RemoteEventConverter $remoteEventConverter,
|
RemoteEventConverter $remoteEventConverter,
|
||||||
UrlGeneratorInterface $urlGenerator,
|
UrlGeneratorInterface $urlGenerator
|
||||||
UserHttpClient $userHttpClient
|
|
||||||
) {
|
) {
|
||||||
$this->machineHttpClient = $machineHttpClient;
|
$this->machineHttpClient = $machineHttpClient;
|
||||||
$this->remoteEventConverter = $remoteEventConverter;
|
$this->remoteEventConverter = $remoteEventConverter;
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector;
|
||||||
|
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
@ -9,9 +9,9 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector;
|
namespace Chill\CalendarBundle\RemoteCalendar\Connector;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Model\RemoteEvent;
|
use Chill\CalendarBundle\RemoteCalendar\Model\RemoteEvent;
|
||||||
use Chill\MainBundle\Entity\User;
|
use Chill\MainBundle\Entity\User;
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Symfony\Component\HttpFoundation\Response;
|
use Symfony\Component\HttpFoundation\Response;
|
@ -9,11 +9,11 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\DependencyInjection;
|
namespace Chill\CalendarBundle\RemoteCalendar\DependencyInjection;
|
||||||
|
|
||||||
use Chill\CalendarBundle\Synchro\Connector\MSGraphRemoteCalendarConnector;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\MSGraphRemoteCalendarConnector;
|
||||||
use Chill\CalendarBundle\Synchro\Connector\NullRemoteCalendarConnector;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\NullRemoteCalendarConnector;
|
||||||
use Chill\CalendarBundle\Synchro\Connector\RemoteCalendarConnectorInterface;
|
use Chill\CalendarBundle\RemoteCalendar\Connector\RemoteCalendarConnectorInterface;
|
||||||
use RuntimeException;
|
use RuntimeException;
|
||||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Model;
|
namespace Chill\CalendarBundle\RemoteCalendar\Model;
|
||||||
|
|
||||||
use DateTimeImmutable;
|
use DateTimeImmutable;
|
||||||
use Symfony\Component\Serializer\Annotation as Serializer;
|
use Symfony\Component\Serializer\Annotation as Serializer;
|
@ -0,0 +1,15 @@
|
|||||||
|
services:
|
||||||
|
_defaults:
|
||||||
|
autoconfigure: true
|
||||||
|
autowire: true
|
||||||
|
|
||||||
|
Chill\CalendarBundle\RemoteCalendar\Connector\RemoteCalendarConnectorInterface: ~
|
||||||
|
|
||||||
|
Chill\CalendarBundle\RemoteCalendar\Connector\NullRemoteCalendarConnector: ~
|
||||||
|
|
||||||
|
Chill\CalendarBundle\RemoteCalendar\Connector\MSGraphRemoteCalendarConnector: ~
|
||||||
|
|
||||||
|
Chill\CalendarBundle\RemoteCalendar\Connector\MSGraph\:
|
||||||
|
resource: '../../RemoteCalendar/Connector/MSGraph/'
|
||||||
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
services:
|
|
||||||
_defaults:
|
|
||||||
autoconfigure: true
|
|
||||||
autowire: true
|
|
||||||
|
|
||||||
Chill\CalendarBundle\Synchro\Connector\RemoteCalendarConnectorInterface: ~
|
|
||||||
|
|
||||||
Chill\CalendarBundle\Synchro\Connector\NullRemoteCalendarConnector: ~
|
|
||||||
|
|
||||||
Chill\CalendarBundle\Synchro\Connector\MSGraphRemoteCalendarConnector: ~
|
|
||||||
|
|
||||||
Chill\CalendarBundle\Synchro\Connector\MSGraph\:
|
|
||||||
resource: '../../Synchro/Connector/MSGraph/'
|
|
||||||
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Chill is a software for social workers
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view
|
|
||||||
* the LICENSE file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
namespace Chill\CalendarBundle\Synchro\Connector\MSGraph;
|
|
||||||
|
|
||||||
use DateTimeImmutable;
|
|
||||||
use TheNetworg\OAuth2\Client\Provider\Azure;
|
|
||||||
|
|
||||||
class MSGraphClient
|
|
||||||
{
|
|
||||||
private MachineTokenStorage $machineTokenStorage;
|
|
||||||
|
|
||||||
private Azure $provider;
|
|
||||||
|
|
||||||
private MSGraphTokenStorage $tokenStorage;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @param mixed $calendar
|
|
||||||
*
|
|
||||||
* @return array as a json response
|
|
||||||
*/
|
|
||||||
public function listEventsForUserCalendar($calendar, DateTimeImmutable $startDate, DateTimeImmutable $endDate, ?int $start = null, ?int $limit = null): array
|
|
||||||
{
|
|
||||||
$from = $startDate->format(DateTimeImmutable::ATOM);
|
|
||||||
$to = $endDate->format(DateTimeImmutable::ATOM);
|
|
||||||
|
|
||||||
$response = $this->provider->getObjects("{$calendar}/calendar/calendarView?startDateTime={$from}&endDateTime={$end}");
|
|
||||||
|
|
||||||
dump($response);
|
|
||||||
|
|
||||||
return $response;
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
x
Reference in New Issue
Block a user