diff --git a/src/main/java/me/jweissen/aeticket/dto/response/UserResponseDto.java b/src/main/java/me/jweissen/aeticket/dto/response/UserResponseDto.java index 3f307b2..b3fb24a 100644 --- a/src/main/java/me/jweissen/aeticket/dto/response/UserResponseDto.java +++ b/src/main/java/me/jweissen/aeticket/dto/response/UserResponseDto.java @@ -1,4 +1,4 @@ package me.jweissen.aeticket.dto.response; -public record UserResponseDto(int id, String firstname, String lastname, String email) { +public record UserResponseDto(Long id, String firstname, String lastname, String email) { } diff --git a/src/main/java/me/jweissen/aeticket/model/Cart.java b/src/main/java/me/jweissen/aeticket/model/Cart.java index 1d2f913..50c97d3 100644 --- a/src/main/java/me/jweissen/aeticket/model/Cart.java +++ b/src/main/java/me/jweissen/aeticket/model/Cart.java @@ -16,7 +16,7 @@ public class Cart { private Long id; @OneToMany(mappedBy = "cart") - @JoinColumn(nullable = false) + @Column(nullable = false) private List cartEntries; @ManyToOne diff --git a/src/main/java/me/jweissen/aeticket/model/Category.java b/src/main/java/me/jweissen/aeticket/model/Category.java index d8ec6d1..1658cbe 100644 --- a/src/main/java/me/jweissen/aeticket/model/Category.java +++ b/src/main/java/me/jweissen/aeticket/model/Category.java @@ -33,6 +33,5 @@ public class Category { private Event event; @OneToMany(mappedBy = "category") - @JoinColumn private List cartEntries; } \ No newline at end of file diff --git a/src/main/java/me/jweissen/aeticket/model/User.java b/src/main/java/me/jweissen/aeticket/model/User.java index 9432d09..3a319a1 100644 --- a/src/main/java/me/jweissen/aeticket/model/User.java +++ b/src/main/java/me/jweissen/aeticket/model/User.java @@ -42,6 +42,5 @@ public class User { private Role role; @OneToMany(mappedBy = "user") - @JoinColumn(nullable = false) private List carts; } \ No newline at end of file diff --git a/src/main/java/me/jweissen/aeticket/repository/UserRepository.java b/src/main/java/me/jweissen/aeticket/repository/UserRepository.java index 24cd7df..54a309f 100644 --- a/src/main/java/me/jweissen/aeticket/repository/UserRepository.java +++ b/src/main/java/me/jweissen/aeticket/repository/UserRepository.java @@ -4,5 +4,6 @@ import me.jweissen.aeticket.model.User; import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository { + User findByToken(String token); User findByEmail(String email); } diff --git a/src/main/java/me/jweissen/aeticket/service/AuthService.java b/src/main/java/me/jweissen/aeticket/service/AuthService.java index e8487a9..f0327d0 100644 --- a/src/main/java/me/jweissen/aeticket/service/AuthService.java +++ b/src/main/java/me/jweissen/aeticket/service/AuthService.java @@ -1,6 +1,7 @@ package me.jweissen.aeticket.service; import me.jweissen.aeticket.dto.response.LoginResponseDto; +import me.jweissen.aeticket.model.Role; import me.jweissen.aeticket.model.User; import me.jweissen.aeticket.repository.UserRepository; import org.springframework.stereotype.Service; @@ -10,12 +11,10 @@ import java.util.Optional; @Service public class AuthService { private final JwtService jwtService; - private final UserService userService; private final UserRepository userRepository; - public AuthService(JwtService jwtService, UserService userService, UserRepository userRepository) { + public AuthService(JwtService jwtService, UserRepository userRepository) { this.jwtService = jwtService; - this.userService = userService; this.userRepository = userRepository; } @@ -31,5 +30,13 @@ public class AuthService { return Optional.of(new LoginResponseDto(username)); } + public Optional getRole(String token) { + User user = userRepository.findByToken(token); + if (user == null) { + return Optional.empty(); + } + return Optional.of(user.getRole()); + } + } diff --git a/src/main/java/me/jweissen/aeticket/service/JwtService.java b/src/main/java/me/jweissen/aeticket/service/JwtService.java index 866605d..daab216 100644 --- a/src/main/java/me/jweissen/aeticket/service/JwtService.java +++ b/src/main/java/me/jweissen/aeticket/service/JwtService.java @@ -14,17 +14,12 @@ import java.util.Optional; @Service public class JwtService { - @Value("${token.secret}") - private String secret; - @Value("${token.validForHours}") - private Long tokenValidForHours; - private final JWTVerifier jwtVerifier; private final Algorithm algorithm; private final String userIdClaimKey = "userId"; private final Long tokenValidForMillis; - public JwtService() { + public JwtService(@Value("${token.secret}") String secret, @Value("${token.validForHours}") Long tokenValidForHours) { tokenValidForMillis = 1000L * 3600 * tokenValidForHours; algorithm = Algorithm.HMAC256(secret); jwtVerifier = JWT.require(algorithm).build();