55 lines
1.3 KiB
Java
55 lines
1.3 KiB
Java
package fr.la_banquise.backend.rest;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
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.createUser(user.name)).build();
|
|
}
|
|
|
|
@POST
|
|
@RolesAllowed("root")
|
|
@Path("/jdmi")
|
|
public Response createJdmiUsers(List<UserRequest> users) {
|
|
userService.createJdmiUser(users);
|
|
return Response.ok().build();
|
|
}
|
|
}
|