Connector::class, '_api_operation_name' => 'get_all_mine', ], methods: ['GET'] )] public function getConnector(): Collection { /** @var User $user */ $user = $this->getUser(); return $user->getConnectors(); } /** * @throws \Exception */ #[Route( path: '/api/connectors', name: 'connector_create', defaults: [ '_api_resource_class' => Connector::class, '_api_operation_name' => 'create', ], methods: ['POST'] )] public function createConnector(Request $request): Connector { $connector = $this->serializer->deserialize($request->getContent(), Connector::class, 'json', ['groups' => 'connector:create']); /** @var User $user */ $user = $this->getUser(); $connector->setUser($user); if (ConnectorProvider::OVH === $connector->getProvider()) { $authData = OvhConnector::verifyAuthData($connector->getAuthData()); $connector->setAuthData($authData); } else { throw new \Exception('Unknown provider'); } $this->em->persist($connector); $this->em->flush(); return $connector; } }