88 lines
2.5 KiB
Java
88 lines
2.5 KiB
Java
package fr.la_banquise.backend.rest;
|
|
|
|
import fr.la_banquise.backend.rest.request.BulkUserRequest;
|
|
import fr.la_banquise.backend.rest.request.UserRequest;
|
|
import fr.la_banquise.backend.rest.response.LoggedUserResponse;
|
|
import fr.la_banquise.backend.services.UserService;
|
|
import io.quarkus.security.Authenticated;
|
|
import io.quarkus.security.identity.SecurityIdentity;
|
|
import jakarta.annotation.security.RolesAllowed;
|
|
import jakarta.inject.Inject;
|
|
import jakarta.ws.rs.DELETE;
|
|
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 SecurityIdentity identity;
|
|
|
|
@Inject UserService userService;
|
|
|
|
@GET
|
|
@Path("/me")
|
|
@Authenticated
|
|
public Response getCurrentUser() {
|
|
System.out.println("=== DEBUG /me endpoint ===");
|
|
System.out.println("Identity: " + identity);
|
|
System.out.println("Principal: " + identity.getPrincipal());
|
|
System.out.println("Principal name: " +
|
|
identity.getPrincipal().getName());
|
|
System.out.println("Roles: " + identity.getRoles());
|
|
LoggedUserResponse user = new LoggedUserResponse(
|
|
identity.getPrincipal().getName(), identity.getRoles());
|
|
return Response.ok(user).build();
|
|
}
|
|
|
|
@GET
|
|
@RolesAllowed("root")
|
|
public Response getAllUsers() {
|
|
return Response.ok(userService.getAllUsers()).build();
|
|
}
|
|
|
|
@GET
|
|
@RolesAllowed("root")
|
|
@Path("{id}")
|
|
public Response getUser(@PathParam("id") Long id) {
|
|
return Response.ok(userService.getUser(id)).build();
|
|
}
|
|
|
|
@POST
|
|
@RolesAllowed("root")
|
|
public Response createUser(UserRequest user) {
|
|
return Response.ok(userService.createUser(user)).build();
|
|
}
|
|
|
|
/*@POST
|
|
@RolesAllowed("root")
|
|
@Path("/jdmi")
|
|
public Response createJdmiUsers(BulkUserRequest users) {
|
|
userService.createJdmiUser(users);
|
|
return Response.ok().build();
|
|
}
|
|
|
|
@DELETE
|
|
@RolesAllowed("root")
|
|
public Response deleteJDMI() {
|
|
userService.deleteJDMI();
|
|
return Response.ok().build();
|
|
}*/
|
|
|
|
@DELETE
|
|
@RolesAllowed("root")
|
|
@Path("/{id}")
|
|
public Response deleteUser(@PathParam("id") Long id) {
|
|
userService.deleteUser(id);
|
|
return Response.ok().build();
|
|
}
|
|
}
|