123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- <?php
- namespace Base\OAuthServerBundle\Controller;
- use Symfony\Bundle\FrameworkBundle\Controller\Controller;
- use Symfony\Component\HttpFoundation\JsonResponse;
- use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
- class OAuthController extends Controller
- {
- /**
- * @Route("/api/user/me", name="user_data_json")
- *
- * @return JsonResponse
- */
- public function getUserDataJsonAction()
- {
- $user = $this->getUser();
- $data = array();
- if ($user) {
- $data['id'] = $user->getId();
- $data['username'] = $user->getUsername();
- $data['firstname'] = $user->getFirstname();
- $data['lastname'] = $user->getLastname();
- $data['roles'] = $user->getRoles();
- $data['hasIntercom'] = $user->getHasIntercom();
- // Tenancies del usuario
- if ($this->has('base_tenancy.tenancy_service') && method_exists($user, 'getTenancyCurrent')) {
- $tenancies = $this->get('base_tenancy.tenancy_service')->getTenancies();
- $t = array();
- foreach ($tenancies as $tenancy) {
- $id = $tenancy->getId();
- $name = $tenancy->getName();
- $t[] = compact('id', 'name');
- }
- $data['tenancies'] = $t;
- $tenancyCurrent = $user->getTenancyCurrent();
- $data['tenancyCurrent'] = array();
- if (!is_null($tenancyCurrent)) {
- $data['tenancyCurrent']['id'] = $tenancyCurrent->getId();
- $data['tenancyCurrent']['name'] = $tenancyCurrent->getName();
- }
- }
- }
- return new JsonResponse($data);
- }
- }
|