44 lines
1.1 KiB
Java

package fr.la_banquise.backend.rest;
import fr.la_banquise.backend.rest.request.UserRequest;
import fr.la_banquise.backend.services.UserService;
import jakarta.annotation.security.RolesAllowed;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.POST;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;
/**
* UserEndpoints
*/
@Path("/api/users")
@Produces(MediaType.APPLICATION_JSON)
public class UserEndpoints {
@Inject
UserService userService;
@GET
@RolesAllowed("pingouin")
public Response getAllUsers() {
return Response.ok(userService.getAllUsers()).build();
}
@GET
@RolesAllowed("pingouin")
@Path("{id}")
public Response getUser(@PathParam("id") Long id) {
return Response.ok(userService.getUser(id)).build();
}
@POST
@RolesAllowed("admin")
public Response createUser(UserRequest user) {
return Response.ok(userService.crateUser(user.firstName, user.lastName)).build();
}
}