public Response logOut(@PathParam("login") String login,
@QueryParam("userId") String userId,
@QueryParam("userToken") String token) {
RestWrapper rw = new RestWrapper();
// check that user is logged in etc...
LoginAnswer la = Dispatcher.getInstance().isActive(userId, token);
if (!login.equals(userId)
|| LoginAnswer.INACTIVE.equals(la.getStatus())) {
rw.setLinks(unAuthorizedLinks);
return Response.status(Response.Status.UNAUTHORIZED).entity(rw)
.build();
}
// user ok
LoginAnswer laLogOut = Dispatcher.getInstance().logOutUser(userId,
token);
// TODO: make it possible for admins to see all users..
if (!login.equals(userId)
|| LoginAnswer.LOGEDOUT.equals(laLogOut.getStatus())) {
rw.setLinks(unAuthorizedLinks);
rw.setSuccess(true);
} else {
rw.setLinks(rw.addAuthorizationToLinks(authorizedLinks, userId,
userId));