Skip to content

refactor: renamed UserDto in core project to AbstractBaseUserDto, renamed AppUserDto in subprojects to UserDto #581

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
508 changes: 362 additions & 146 deletions MIGRATION.md

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
package de.frachtwerk.essencium.backend.controller;

import de.frachtwerk.essencium.backend.model.User;
import de.frachtwerk.essencium.backend.model.dto.AppUserDto;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.representation.UserRepresentation;
import de.frachtwerk.essencium.backend.model.representation.assembler.UserAssembler;
import de.frachtwerk.essencium.backend.repository.specification.BaseUserSpec;
Expand All @@ -32,7 +32,7 @@
@RequestMapping("/v1/users")
public class UserController
extends AbstractUserController<
User, UserRepresentation, AppUserDto, BaseUserSpec<User, Long>, Long> {
User, UserRepresentation, UserDto, BaseUserSpec<User, Long>, Long> {

protected UserController(UserService userService, UserAssembler assembler) {
super(userService, assembler);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
public class AppUserDto extends UserDto<Long> {}
public class UserDto extends AbstractBaseUserDto<Long> {}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

import de.frachtwerk.essencium.backend.model.Role;
import de.frachtwerk.essencium.backend.model.User;
import de.frachtwerk.essencium.backend.model.dto.AppUserDto;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.repository.UserRepository;
import jakarta.validation.constraints.NotNull;
import java.util.Set;
Expand All @@ -30,7 +30,7 @@
import org.springframework.stereotype.Service;

@Service
public class UserService extends AbstractUserService<User, Long, AppUserDto> {
public class UserService extends AbstractUserService<User, Long, UserDto> {

protected UserService(
@NotNull UserRepository userRepository,
Expand All @@ -49,7 +49,7 @@ protected UserService(
}

@Override
protected @NotNull <E extends AppUserDto> User convertDtoToEntity(@NotNull E entity) {
protected @NotNull <E extends UserDto> User convertDtoToEntity(@NotNull E entity) {
Set<Role> roles =
entity.getRoles().stream().map(roleService::getByName).collect(Collectors.toSet());
return User.builder()
Expand All @@ -68,7 +68,7 @@ protected UserService(
}

@Override
public AppUserDto getNewUser() {
return new AppUserDto();
public UserDto getNewUser() {
return new UserDto();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
package de.frachtwerk.essencium.backend.controller;

import de.frachtwerk.essencium.backend.model.User;
import de.frachtwerk.essencium.backend.model.dto.AppUserDto;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.representation.UserRepresentation;
import de.frachtwerk.essencium.backend.model.representation.assembler.UserAssembler;
import de.frachtwerk.essencium.backend.repository.specification.BaseUserSpec;
Expand All @@ -32,7 +32,7 @@
@RequestMapping("/v1/users")
public class UserController
extends AbstractUserController<
User, UserRepresentation, AppUserDto, BaseUserSpec<User, Long>, Long> {
User, UserRepresentation, UserDto, BaseUserSpec<User, Long>, Long> {

protected UserController(UserService userService, UserAssembler assembler) {
super(userService, assembler);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,4 @@
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
public class AppUserDto extends UserDto<Long> {}
public class UserDto extends AbstractBaseUserDto<Long> {}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

import de.frachtwerk.essencium.backend.model.Role;
import de.frachtwerk.essencium.backend.model.User;
import de.frachtwerk.essencium.backend.model.dto.AppUserDto;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.repository.UserRepository;
import jakarta.validation.constraints.NotNull;
import java.util.Set;
Expand All @@ -30,7 +30,7 @@
import org.springframework.stereotype.Service;

@Service
public class UserService extends AbstractUserService<User, Long, AppUserDto> {
public class UserService extends AbstractUserService<User, Long, UserDto> {

protected UserService(
@NotNull UserRepository userRepository,
Expand All @@ -49,7 +49,7 @@ protected UserService(
}

@Override
protected @NotNull <E extends AppUserDto> User convertDtoToEntity(@NotNull E entity) {
protected @NotNull <E extends UserDto> User convertDtoToEntity(@NotNull E entity) {
Set<Role> roles =
entity.getRoles().stream().map(roleService::getByName).collect(Collectors.toSet());
return User.builder()
Expand All @@ -68,7 +68,7 @@ protected UserService(
}

@Override
public AppUserDto getNewUser() {
return new AppUserDto();
public UserDto getNewUser() {
return new UserDto();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
package de.frachtwerk.essencium.backend.controller;

import de.frachtwerk.essencium.backend.model.User;
import de.frachtwerk.essencium.backend.model.dto.AppUserDto;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.representation.UserRepresentation;
import de.frachtwerk.essencium.backend.model.representation.assembler.UserAssembler;
import de.frachtwerk.essencium.backend.repository.specification.BaseUserSpec;
Expand All @@ -33,7 +33,7 @@
@RequestMapping("/v1/users")
public class UserController
extends AbstractUserController<
User, UserRepresentation, AppUserDto, BaseUserSpec<User, UUID>, UUID> {
User, UserRepresentation, UserDto, BaseUserSpec<User, UUID>, UUID> {

protected UserController(UserService userService, UserAssembler assembler) {
super(userService, assembler);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
public class AppUserDto extends UserDto<UUID> {}
public class UserDto extends AbstractBaseUserDto<UUID> {}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

import de.frachtwerk.essencium.backend.model.Role;
import de.frachtwerk.essencium.backend.model.User;
import de.frachtwerk.essencium.backend.model.dto.AppUserDto;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.repository.UserRepository;
import jakarta.validation.constraints.NotNull;
import java.util.Set;
Expand All @@ -31,7 +31,7 @@
import org.springframework.stereotype.Service;

@Service
public class UserService extends AbstractUserService<User, UUID, AppUserDto> {
public class UserService extends AbstractUserService<User, UUID, UserDto> {

protected UserService(
@NotNull UserRepository userRepository,
Expand All @@ -50,7 +50,7 @@ protected UserService(
}

@Override
protected @NotNull <E extends AppUserDto> User convertDtoToEntity(@NotNull E entity) {
protected @NotNull <E extends UserDto> User convertDtoToEntity(@NotNull E entity) {
Set<Role> roles =
entity.getRoles().stream().map(roleService::getByName).collect(Collectors.toSet());
return User.builder()
Expand All @@ -69,7 +69,7 @@ protected UserService(
}

@Override
public AppUserDto getNewUser() {
return new AppUserDto();
public UserDto getNewUser() {
return new UserDto();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

import de.frachtwerk.essencium.backend.controller.access.AccessAwareSpecArgResolver;
import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import de.frachtwerk.essencium.backend.service.AbstractUserService;
import java.io.Serializable;
import java.util.List;
Expand All @@ -35,7 +35,9 @@
@Configuration
@RequiredArgsConstructor
public class SpecificationArgumentsResolverConfig<
USER extends AbstractBaseUser<ID>, T extends UserDto<ID>, ID extends Serializable>
USER extends AbstractBaseUser<ID>,
T extends AbstractBaseUserDto<ID>,
ID extends Serializable>
implements WebMvcConfigurer {
private final AbstractApplicationContext applicationContext;
private final AbstractUserService<USER, ID, T> userService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import de.frachtwerk.essencium.backend.configuration.properties.UserRoleMapping;
import de.frachtwerk.essencium.backend.configuration.properties.oauth.OAuth2ConfigProperties;
import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import de.frachtwerk.essencium.backend.security.*;
import de.frachtwerk.essencium.backend.security.oauth2.OAuth2AuthorizationRequestRepository;
import de.frachtwerk.essencium.backend.security.oauth2.OAuth2FailureHandler;
Expand Down Expand Up @@ -74,9 +74,9 @@
@RequiredArgsConstructor
public class WebSecurityConfig<
USER extends AbstractBaseUser<ID>,
T extends UserDto<ID>,
T extends AbstractBaseUserDto<ID>,
ID extends Serializable,
USERDTO extends UserDto<ID>> {
USERDTO extends AbstractBaseUserDto<ID>> {

private static final Logger LOG = LoggerFactory.getLogger(WebSecurityConfig.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
package de.frachtwerk.essencium.backend.configuration.initialization;

import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import jakarta.annotation.PostConstruct;
import java.io.Serializable;
import java.util.List;
Expand All @@ -33,7 +33,9 @@
@Configuration
@RequiredArgsConstructor
public class DefaultDataInitializationConfiguration<
USER extends AbstractBaseUser<ID>, ID extends Serializable, USERDTO extends UserDto<ID>>
USER extends AbstractBaseUser<ID>,
ID extends Serializable,
USERDTO extends AbstractBaseUserDto<ID>>
implements DataInitializationConfiguration {

private static final Logger LOGGER =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import de.frachtwerk.essencium.backend.configuration.properties.UserProperties;
import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.Role;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import de.frachtwerk.essencium.backend.service.AbstractUserService;
import java.io.Serializable;
import java.util.*;
Expand All @@ -36,7 +36,9 @@
@Configuration
@RequiredArgsConstructor
public class DefaultUserInitializer<
USER extends AbstractBaseUser<ID>, USERDTO extends UserDto<ID>, ID extends Serializable>
USER extends AbstractBaseUser<ID>,
USERDTO extends AbstractBaseUserDto<ID>,
ID extends Serializable>
implements DataInitializer {

private static final Logger LOGGER = LoggerFactory.getLogger(DefaultUserInitializer.class);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@

import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.Role;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import de.frachtwerk.essencium.backend.model.dto.PasswordUpdateRequest;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.exception.DuplicateResourceException;
import de.frachtwerk.essencium.backend.model.exception.ResourceNotFoundException;
import de.frachtwerk.essencium.backend.model.representation.BasicRepresentation;
Expand Down Expand Up @@ -66,7 +66,7 @@
public abstract class AbstractUserController<
USER extends AbstractBaseUser<ID>,
REPRESENTATION,
USERDTO extends UserDto<ID>,
USERDTO extends AbstractBaseUserDto<ID>,
SPEC extends BaseUserSpec<USER, ID>,
ID extends Serializable> {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
package de.frachtwerk.essencium.backend.controller;

import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import de.frachtwerk.essencium.backend.model.dto.PasswordUpdateRequest;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.service.AbstractUserService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
Expand All @@ -48,7 +48,9 @@
description =
"Set of endpoints used to reset a user's credentials, given a valid reset token as previously received via email")
public class ResetCredentialsController<
USER extends AbstractBaseUser<ID>, ID extends Serializable, USERDTO extends UserDto<ID>> {
USER extends AbstractBaseUser<ID>,
ID extends Serializable,
USERDTO extends AbstractBaseUserDto<ID>> {

private final AbstractUserService<USER, ID, USERDTO> userService;
private final Random random;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
package de.frachtwerk.essencium.backend.controller.access;

import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import de.frachtwerk.essencium.backend.service.AbstractUserService;
import java.io.Serializable;
import java.lang.annotation.Annotation;
Expand All @@ -41,7 +41,9 @@
import org.springframework.web.method.support.ModelAndViewContainer;

public class AccessAwareSpecArgResolver<
USER extends AbstractBaseUser<ID>, ID extends Serializable, USERDTO extends UserDto<ID>>
USER extends AbstractBaseUser<ID>,
ID extends Serializable,
USERDTO extends AbstractBaseUserDto<ID>>
extends SpecificationArgumentResolver {
private static final Logger LOG = LoggerFactory.getLogger(AccessAwareSpecArgResolver.class);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
@SuperBuilder(toBuilder = true)
@NoArgsConstructor
@AllArgsConstructor
public class UserDto<ID extends Serializable> {
public class AbstractBaseUserDto<ID extends Serializable> {
public static final Locale DEFAULT_LOCALE = Locale.GERMAN;

@Nullable private ID id;
Expand All @@ -66,7 +66,7 @@ public class UserDto<ID extends Serializable> {

@JsonIgnore private String passwordResetToken;

@NotNull @Builder.Default private Locale locale = UserDto.DEFAULT_LOCALE;
@NotNull @Builder.Default private Locale locale = AbstractBaseUserDto.DEFAULT_LOCALE;

@NotNull @Builder.Default private Set<String> roles = new HashSet<>();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
package de.frachtwerk.essencium.backend.security;

import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import de.frachtwerk.essencium.backend.service.AbstractUserService;
import de.frachtwerk.essencium.backend.service.JwtTokenService;
import io.jsonwebtoken.Claims;
Expand All @@ -37,7 +37,9 @@

/** Provider to fetch user details for a previously extracted and validated JWT token */
public class JwtAuthenticationProvider<
USER extends AbstractBaseUser<ID>, ID extends Serializable, USERDTO extends UserDto<ID>>
USER extends AbstractBaseUser<ID>,
ID extends Serializable,
USERDTO extends AbstractBaseUserDto<ID>>
extends AbstractUserDetailsAuthenticationProvider {

@Autowired private AbstractUserService<USER, ID, USERDTO> userService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
import de.frachtwerk.essencium.backend.model.AbstractBaseUser;
import de.frachtwerk.essencium.backend.model.Role;
import de.frachtwerk.essencium.backend.model.UserInfoEssentials;
import de.frachtwerk.essencium.backend.model.dto.UserDto;
import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto;
import de.frachtwerk.essencium.backend.service.AbstractUserService;
import de.frachtwerk.essencium.backend.service.RoleService;
import java.io.Serializable;
Expand All @@ -45,7 +45,9 @@
@Component
@RequiredArgsConstructor
public class LdapUserContextMapper<
USER extends AbstractBaseUser<ID>, ID extends Serializable, USERDTO extends UserDto<ID>>
USER extends AbstractBaseUser<ID>,
ID extends Serializable,
USERDTO extends AbstractBaseUserDto<ID>>
implements UserDetailsContextMapper {

private final AbstractUserService<USER, ID, USERDTO> userService;
Expand Down
Loading