Skip to content

Commit

Permalink
add users search endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
ahilles107 committed Feb 25, 2015
1 parent 01ecaa8 commit a16b711
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -134,8 +134,7 @@ public function getPlaylistsArticlesAction(Request $request, $id)
if ($user && $user->isAdmin()) {
$onlyPublished = false;
}
} catch (\Newscoop\NewscoopException $e) {
}
} catch (\Newscoop\NewscoopException $e) {}

$playlistArticles = $em->getRepository('Newscoop\Entity\Playlist')
->articles($playlist, null, true, null, null, $onlyPublished, true)->getResult();
Expand Down
44 changes: 44 additions & 0 deletions newscoop/src/Newscoop/GimmeBundle/Controller/UsersController.php
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,50 @@ public function getUsersAction(Request $request)
return $users;
}

/**
* Search for users
*
* Get list of users for search query
*
* @ApiDoc(
* statusCodes={
* 200="Returned when successful"
* },
* filters={
* {"name"="query", "dataType"="string", "description"="search query"}
* },
* )
*
* @Route("/search/users.{_format}", defaults={"_format"="json"}, options={"expose"=true})
* @Method("GET")
* @View(serializerGroups={"list"})
*/
public function searchUsersAction(Request $request)
{
$em = $this->container->get('em');

$onlyPublic = true;
try {
$user = $this->container->get('user')->getCurrentUser();
if ($user && $user->isAdmin()) {
$onlyPublic = null;
}
} catch (\Newscoop\NewscoopException $e) {}

$criteria = new \Newscoop\User\UserCriteria();
$criteria->is_public = $onlyPublic;
$criteria->query_name = $request->query->get('query', '');

$results = $em->getRepository('Newscoop\Entity\User')
->getListByCriteria($criteria, false);
$users = $results[0]->getQuery();

$paginator = $this->get('newscoop.paginator.paginator_service');
$users = $paginator->paginate($users, array('distinct' => false));

return $users;
}

/**
* Get user by given id
*
Expand Down

0 comments on commit a16b711

Please sign in to comment.