chore: move user related stuff to separate package

This commit is contained in:
Rodrigo Verdiani 2026-03-08 14:54:46 -03:00
parent 463d69582d
commit 11f7c59e64
22 changed files with 48 additions and 40 deletions

View File

@ -3,11 +3,11 @@ package com.magamochi.controller;
import com.magamochi.client.NtfyClient; import com.magamochi.client.NtfyClient;
import com.magamochi.model.dto.DefaultResponseDTO; import com.magamochi.model.dto.DefaultResponseDTO;
import com.magamochi.model.dto.UpdateMangaDataCommand; import com.magamochi.model.dto.UpdateMangaDataCommand;
import com.magamochi.model.repository.UserRepository;
import com.magamochi.queue.UpdateMangaDataProducer; import com.magamochi.queue.UpdateMangaDataProducer;
import com.magamochi.task.ImageCleanupTask; import com.magamochi.task.ImageCleanupTask;
import com.magamochi.task.MangaFollowUpdateTask; import com.magamochi.task.MangaFollowUpdateTask;
import com.magamochi.task.UpdateMangaListTask; import com.magamochi.task.UpdateMangaListTask;
import com.magamochi.user.model.repository.UserRepository;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

View File

@ -1,5 +1,6 @@
package com.magamochi.model.entity; package com.magamochi.model.entity;
import com.magamochi.user.model.entity.User;
import jakarta.persistence.*; import jakarta.persistence.*;
import java.time.Instant; import java.time.Instant;
import lombok.*; import lombok.*;

View File

@ -1,5 +1,6 @@
package com.magamochi.model.entity; package com.magamochi.model.entity;
import com.magamochi.user.model.entity.User;
import jakarta.persistence.*; import jakarta.persistence.*;
import lombok.*; import lombok.*;

View File

@ -1,5 +0,0 @@
package com.magamochi.model.enumeration;
public enum UserRole {
USER
}

View File

@ -1,8 +1,8 @@
package com.magamochi.model.repository; package com.magamochi.model.repository;
import com.magamochi.model.entity.Manga; import com.magamochi.model.entity.Manga;
import com.magamochi.model.entity.User;
import com.magamochi.model.entity.UserFavoriteManga; import com.magamochi.model.entity.UserFavoriteManga;
import com.magamochi.user.model.entity.User;
import java.util.Optional; import java.util.Optional;
import java.util.Set; import java.util.Set;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;

View File

@ -1,8 +1,8 @@
package com.magamochi.model.repository; package com.magamochi.model.repository;
import com.magamochi.model.entity.Manga; import com.magamochi.model.entity.Manga;
import com.magamochi.model.entity.User;
import com.magamochi.model.entity.UserMangaFollow; import com.magamochi.model.entity.UserMangaFollow;
import com.magamochi.user.model.entity.User;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;

View File

@ -5,7 +5,7 @@ import static java.util.Objects.nonNull;
import com.magamochi.model.dto.MangaListFilterDTO; import com.magamochi.model.dto.MangaListFilterDTO;
import com.magamochi.model.entity.Author; import com.magamochi.model.entity.Author;
import com.magamochi.model.entity.Manga; import com.magamochi.model.entity.Manga;
import com.magamochi.model.entity.User; import com.magamochi.user.model.entity.User;
import jakarta.persistence.criteria.*; import jakarta.persistence.criteria.*;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;

View File

@ -13,6 +13,7 @@ import com.magamochi.model.repository.*;
import com.magamochi.model.specification.MangaSpecification; import com.magamochi.model.specification.MangaSpecification;
import com.magamochi.queue.MangaChapterDownloadProducer; import com.magamochi.queue.MangaChapterDownloadProducer;
import com.magamochi.service.providers.ContentProviderFactory; import com.magamochi.service.providers.ContentProviderFactory;
import com.magamochi.user.service.UserService;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.Set; import java.util.Set;

View File

@ -5,6 +5,7 @@ import com.magamochi.model.entity.Manga;
import com.magamochi.model.entity.UserFavoriteManga; import com.magamochi.model.entity.UserFavoriteManga;
import com.magamochi.model.repository.MangaRepository; import com.magamochi.model.repository.MangaRepository;
import com.magamochi.model.repository.UserFavoriteMangaRepository; import com.magamochi.model.repository.UserFavoriteMangaRepository;
import com.magamochi.user.service.UserService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

View File

@ -1,8 +1,8 @@
package com.magamochi.config; package com.magamochi.user.config;
import com.magamochi.security.JwtRequestFilter; import com.magamochi.user.security.JwtRequestFilter;
import com.magamochi.service.CustomUserDetailsService; import com.magamochi.user.security.util.JwtUtil;
import com.magamochi.util.JwtUtil; import com.magamochi.user.service.CustomUserDetailsService;
import java.util.List; import java.util.List;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
@ -27,7 +27,6 @@ import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
@EnableMethodSecurity @EnableMethodSecurity
@RequiredArgsConstructor @RequiredArgsConstructor
public class SecurityConfig { public class SecurityConfig {
private final CustomUserDetailsService userDetailsService; private final CustomUserDetailsService userDetailsService;
private final JwtUtil jwtUtil; private final JwtUtil jwtUtil;

View File

@ -1,7 +1,11 @@
package com.magamochi.controller; package com.magamochi.user.controller;
import com.magamochi.model.dto.*; import com.magamochi.model.dto.*;
import com.magamochi.service.UserService; import com.magamochi.user.model.dto.AuthenticationRequestDTO;
import com.magamochi.user.model.dto.AuthenticationResponseDTO;
import com.magamochi.user.model.dto.RefreshTokenRequestDTO;
import com.magamochi.user.model.dto.RegistrationRequestDTO;
import com.magamochi.user.service.UserService;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;

View File

@ -1,4 +1,4 @@
package com.magamochi.model.dto; package com.magamochi.user.model.dto;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;

View File

@ -1,6 +1,6 @@
package com.magamochi.model.dto; package com.magamochi.user.model.dto;
import com.magamochi.model.enumeration.UserRole; import com.magamochi.user.model.enumeration.UserRole;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
public record AuthenticationResponseDTO( public record AuthenticationResponseDTO(

View File

@ -1,4 +1,4 @@
package com.magamochi.model.dto; package com.magamochi.user.model.dto;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;

View File

@ -1,3 +1,3 @@
package com.magamochi.model.dto; package com.magamochi.user.model.dto;
public record RegistrationRequestDTO(String name, String email, String password) {} public record RegistrationRequestDTO(String name, String email, String password) {}

View File

@ -1,6 +1,7 @@
package com.magamochi.model.entity; package com.magamochi.user.model.entity;
import com.magamochi.model.enumeration.UserRole; import com.magamochi.model.entity.UserFavoriteManga;
import com.magamochi.user.model.enumeration.UserRole;
import jakarta.persistence.*; import jakarta.persistence.*;
import java.util.Set; import java.util.Set;
import lombok.*; import lombok.*;

View File

@ -0,0 +1,5 @@
package com.magamochi.user.model.enumeration;
public enum UserRole {
USER
}

View File

@ -1,6 +1,6 @@
package com.magamochi.model.repository; package com.magamochi.user.model.repository;
import com.magamochi.model.entity.User; import com.magamochi.user.model.entity.User;
import java.util.Optional; import java.util.Optional;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;

View File

@ -1,10 +1,10 @@
package com.magamochi.security; package com.magamochi.user.security;
import static java.util.Objects.isNull; import static java.util.Objects.isNull;
import static java.util.Objects.nonNull; import static java.util.Objects.nonNull;
import com.magamochi.service.CustomUserDetailsService; import com.magamochi.user.security.util.JwtUtil;
import com.magamochi.util.JwtUtil; import com.magamochi.user.service.CustomUserDetailsService;
import jakarta.servlet.FilterChain; import jakarta.servlet.FilterChain;
import jakarta.servlet.ServletException; import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;

View File

@ -1,4 +1,4 @@
package com.magamochi.util; package com.magamochi.user.security.util;
import io.jsonwebtoken.Claims; import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts; import io.jsonwebtoken.Jwts;

View File

@ -1,6 +1,6 @@
package com.magamochi.service; package com.magamochi.user.service;
import com.magamochi.model.repository.UserRepository; import com.magamochi.user.model.repository.UserRepository;
import java.util.Collections; import java.util.Collections;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.security.core.authority.SimpleGrantedAuthority; import org.springframework.security.core.authority.SimpleGrantedAuthority;

View File

@ -1,17 +1,17 @@
package com.magamochi.service; package com.magamochi.user.service;
import static java.util.Objects.isNull; import static java.util.Objects.isNull;
import com.magamochi.exception.ConflictException; import com.magamochi.exception.ConflictException;
import com.magamochi.exception.NotFoundException; import com.magamochi.exception.NotFoundException;
import com.magamochi.model.dto.AuthenticationRequestDTO; import com.magamochi.user.model.dto.AuthenticationRequestDTO;
import com.magamochi.model.dto.AuthenticationResponseDTO; import com.magamochi.user.model.dto.AuthenticationResponseDTO;
import com.magamochi.model.dto.RefreshTokenRequestDTO; import com.magamochi.user.model.dto.RefreshTokenRequestDTO;
import com.magamochi.model.dto.RegistrationRequestDTO; import com.magamochi.user.model.dto.RegistrationRequestDTO;
import com.magamochi.model.entity.User; import com.magamochi.user.model.entity.User;
import com.magamochi.model.enumeration.UserRole; import com.magamochi.user.model.enumeration.UserRole;
import com.magamochi.model.repository.UserRepository; import com.magamochi.user.model.repository.UserRepository;
import com.magamochi.util.JwtUtil; import com.magamochi.user.security.util.JwtUtil;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.security.authentication.AuthenticationManager; import org.springframework.security.authentication.AuthenticationManager;