| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package it.pcdev.dokskan.central.controller;
- import it.pcdev.dokskan.central.dto.UserDto;
- import it.pcdev.dokskan.central.service.impl.AuthenticationServiceImpl;
- import it.pcdev.dokskan.central.service.impl.strategy.docupload.DocumentUploadServiceAiImpl;
- import it.pcdev.dokskan.central.service.impl.UserServiceImpl;
- import jakarta.annotation.security.RolesAllowed;
- import jakarta.enterprise.context.ApplicationScoped;
- import jakarta.inject.Inject;
- import jakarta.persistence.PersistenceException;
- import jakarta.ws.rs.*;
- import jakarta.ws.rs.core.Response;
- import jakarta.ws.rs.core.SecurityContext;
- @ApplicationScoped
- @Path("/api/v1/auth")
- public class AuthenticationController {
- @Inject
- UserServiceImpl userService;
- @Inject
- AuthenticationServiceImpl authenticationServiceImpl;
- @Inject
- DocumentUploadServiceAiImpl documentUploadServiceImpl;
- @Inject
- SecurityContext securityContext;
- @POST
- @Path("/signup")
- public Response createUser(UserDto userDto) {
- userService.persist(userDto);
- return Response.status(Response.Status.CREATED).build();
- }
- @GET
- @Path("/signin")
- public Response signIn(@HeaderParam("USERNAME") String username, @HeaderParam("PASSWORD") String password) {
- try {
- return Response.status(Response.Status.OK).entity(authenticationServiceImpl.authenticate(username, password)).build();
- } catch (PersistenceException exc) {
- return Response.status(Response.Status.UNAUTHORIZED).build();
- } catch (Exception exc) {
- exc.printStackTrace();
- return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
- }
- }
- @DELETE
- @Path("/deleteUserAndRelatedData")
- @RolesAllowed("user")
- public Response deleteMe() {
- documentUploadServiceImpl.deleteDocumentDataByUser(securityContext.getUserPrincipal().getName());
- userService.deleteByUsername(securityContext.getUserPrincipal().getName());
- return Response.status(Response.Status.OK).build();
- }
- }
|