Compare commits
3 Commits
4328e7b7c8
...
1461ceca06
Author | SHA1 | Date |
---|---|---|
Arnaud Fornerot | 1461ceca06 | |
Pierre Cadeot | cf91d5c9cd | |
Pierre Cadeot | 6d04f2a08e |
|
@ -39,6 +39,72 @@ use Cadoles\EdispatcherBundle\Entity\Datasource;
|
|||
|
||||
class ApiController extends Controller
|
||||
{
|
||||
|
||||
public function applicationsAction() {
|
||||
$itemcategorys = $this->getDoctrine()->getRepository('CadolesPortalBundle:Itemcategory')->findBy(
|
||||
[], ['rowOrder' => 'asc']);
|
||||
$groups = $this->getDoctrine()->getRepository('CadolesCoreBundle:Group')->findBy([], ['label' =>
|
||||
'asc']);
|
||||
foreach($itemcategorys as $itemcategory) {
|
||||
$items = $itemcategory->getItems();
|
||||
|
||||
foreach($items as $item) {
|
||||
$output = [];
|
||||
$output["id"] = $item->getId();
|
||||
$output["name"] = $item->getTitle();
|
||||
$output["libelle"] = $item->getSubtitle();
|
||||
$output["icon"] = $item->getIcon()?$item->getIcon()->getLabel():"default";
|
||||
$output["url"] = $item->getUrl();
|
||||
$output["profils"] = [];
|
||||
|
||||
foreach($item->getGroups() as $group) {
|
||||
$output["profils"]["groupes"][] = "NINEGATE|".$group->getLabel();
|
||||
}
|
||||
foreach($item->getRoles() as $role) {
|
||||
$output["profils"]["roles"][] = "NINEGATE|".$role;
|
||||
}
|
||||
if ($item->getSsoitem()!="") $output["profils"]["SSOITEM"] = $item->getSsoitem();
|
||||
$reponse[$item->getTitle()] = $output;
|
||||
}
|
||||
}
|
||||
|
||||
return new Response(json_encode($reponse), Response::HTTP_OK);
|
||||
}
|
||||
|
||||
public function checkuserAction() {
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
$request = $this->container->get('request_stack')->getCurrentRequest();
|
||||
$id = $request->query->get('id',false);
|
||||
|
||||
if ($id) {
|
||||
|
||||
$user=$em->getRepository('CadolesCoreBundle:User')->findOneBy(["username"=>$id]);
|
||||
|
||||
if (!$user) {
|
||||
$output["error"]="id=".$id." : user not found";
|
||||
return new Response(json_encode($output), 400);
|
||||
}
|
||||
$output["username"] = $user->getUsername();
|
||||
$output["firstname"] = $user->getFirstname();
|
||||
$output["lastname"] = $user->getLastname();
|
||||
$output["email"] = $user->getEmail();
|
||||
$output["role"] = $user->getRole();
|
||||
foreach($user->getGroups() as $group) {
|
||||
$output["groupes"][] = $group->getGroup()->getLabel();
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
$output["error"]="id needed";
|
||||
return new Response(json_encode($output), 404);
|
||||
|
||||
}
|
||||
return new Response(json_encode($output), Response::HTTP_OK);
|
||||
}
|
||||
|
||||
|
||||
public function testAction() {
|
||||
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
|
|
@ -25,6 +25,14 @@ cadoles_edispatcher_api_public_hello:
|
|||
path: /edispatcher/api/public/hello
|
||||
defaults: { _controller: CadolesEdispatcherBundle:Api:hello }
|
||||
|
||||
cadoles_edispatcher_api_applications:
|
||||
path: /edispatcher/api/applications
|
||||
defaults: { _controller: CadolesEdispatcherBundle:Api:applications }
|
||||
|
||||
cadoles_edispatcher_api_checkuser:
|
||||
path: /edispatcher/api/checkuser
|
||||
defaults: { _controller: CadolesEdispatcherBundle:Api:checkuser }
|
||||
|
||||
cadoles_edispatcher_api_apps_all:
|
||||
path: /edispatcher/api/apps/all
|
||||
defaults: { _controller: CadolesEdispatcherBundle:Api:hello }
|
||||
|
|
Loading…
Reference in New Issue