api edispatcher/api/applications (fixes #31889)

This commit is contained in:
Pierre Cadeot 2021-03-11 16:17:32 +04:00
parent 0ceffe2fa3
commit 6d04f2a08e
2 changed files with 37 additions and 0 deletions

View File

@ -39,6 +39,39 @@ use Cadoles\EdispatcherBundle\Entity\Datasource;
class ApiController extends Controller 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 testAction() { public function testAction() {
$em = $this->getDoctrine()->getManager(); $em = $this->getDoctrine()->getManager();

View File

@ -25,6 +25,10 @@ cadoles_edispatcher_api_public_hello:
path: /edispatcher/api/public/hello path: /edispatcher/api/public/hello
defaults: { _controller: CadolesEdispatcherBundle:Api:hello } defaults: { _controller: CadolesEdispatcherBundle:Api:hello }
cadoles_edispatcher_api_applications:
path: /edispatcher/api/applications
defaults: { _controller: CadolesEdispatcherBundle:Api:applications }
cadoles_edispatcher_api_apps_all: cadoles_edispatcher_api_apps_all:
path: /edispatcher/api/apps/all path: /edispatcher/api/apps/all
defaults: { _controller: CadolesEdispatcherBundle:Api:hello } defaults: { _controller: CadolesEdispatcherBundle:Api:hello }