package com.porterhead.user.resource;
import com.porterhead.resource.BaseResource;
import com.porterhead.user.User;
import com.porterhead.user.api.ApiUser;
import com.porterhead.user.exception.UserNotFoundException;
import org.springframework.stereotype.Component;
import javax.annotation.security.RolesAllowed;
import javax.ws.rs.*;
import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.SecurityContext;
/**
* @version 1.0
* @author: Iain Porter
* @since 31/05/2013
*/
@Path("/v1.0/me")
@Component
@Produces({MediaType.APPLICATION_JSON})
@Consumes({MediaType.APPLICATION_JSON})
public class MeResource extends BaseResource {
@RolesAllowed({"ROLE_USER"})
@GET
public ApiUser getUser(final @Context SecurityContext securityContext) {
User requestingUser = loadUserFromSecurityContext(securityContext);
if(requestingUser == null) {
throw new UserNotFoundException();
}
return new ApiUser(requestingUser);
}
}