diff --git a/MIGRATION.md b/MIGRATION.md index 9eef5118..f25ea2d1 100644 --- a/MIGRATION.md +++ b/MIGRATION.md @@ -1,10 +1,20 @@ # Migration Guide +## Version `______` + +- `UserDto` class has been renamed to `AbstractBaseUserDto`. Each call to the `UserDto` class should be changed to call + `AbstractBaseUserDto`. +- `AppUserDto` classes in the subprojects `identity-model`, `sequence-model`, `uuid-model` have been renamed to + `UserDto`. + ## Version `2.7.0` -- All implementations of the `AbstractUserController` should be checked to see whether one of the methods `findById`, `updateObject`, `update`, `delete` or, `terminate` have been overwritten. If this is the case, the method signature must be adapted to the use of specifications. +- All implementations of the `AbstractUserController` should be checked to see whether one of the methods `findById`, + `updateObject`, `update`, `delete` or, `terminate` have been overwritten. If this is the case, the method signature + must be adapted to the use of specifications. Example: + ```java /* old implementation */ @Override @@ -13,7 +23,7 @@ Example: @Operation(summary = "Retrieve a user by her id") public UserRepresentation findById(@PathVariable("id") @NotNull Long id) { // do something - super.findById(id); + super.findById(id); } /* new implementation */ @@ -32,18 +42,22 @@ public UserRepresentation findById(@PathVariable("id") @NotNull Long id, ### UserService -The used super-constructor in the implementation of the `AbstractUserService` in your application has a new added parameter `AdminRightRoleCache adminRightRoleCache`. You have to change it from +The used super-constructor in the implementation of the `AbstractUserService` in your application has a new added +parameter `AdminRightRoleCache adminRightRoleCache`. You have to change it from + ```java protected UserService( - @NotNull UserRepository userRepository, - @NotNull PasswordEncoder passwordEncoder, - @NotNull UserMailService userMailService, - @NotNull RoleService roleService, - @NotNull JwtTokenService jwtTokenService) { - super(userRepository, passwordEncoder, userMailService, roleService, jwtTokenService); + @NotNull UserRepository userRepository, + @NotNull PasswordEncoder passwordEncoder, + @NotNull UserMailService userMailService, + @NotNull RoleService roleService, + @NotNull JwtTokenService jwtTokenService) { + super(userRepository, passwordEncoder, userMailService, roleService, jwtTokenService); } ``` - to + +to + ```java protected UserService( @NotNull UserRepository userRepository, @@ -52,29 +66,33 @@ protected UserService( @NotNull RoleService roleService, @NotNull AdminRightRoleCache adminRightRoleCache, @NotNull JwtTokenService jwtTokenService) { - super( - userRepository, - passwordEncoder, - userMailService, - roleService, - adminRightRoleCache, - jwtTokenService); + super( + userRepository, + passwordEncoder, + userMailService, + roleService, + adminRightRoleCache, + jwtTokenService); } ``` ### RoleInitializer -If you have your own implementation of `DefaultRoleInitializer` in your application you need to change the super-constructor call from +If you have your own implementation of `DefaultRoleInitializer` in your application you need to change the +super-constructor call from + ```java public RoleInitializer( - InitProperties initProperties, - RoleRepository roleRepository, - RoleService roleService, - RightService rightService) { -super(initProperties, roleRepository, roleService, rightService); + InitProperties initProperties, + RoleRepository roleRepository, + RoleService roleService, + RightService rightService) { + super(initProperties, roleRepository, roleService, rightService); } ``` - to + +to + ```java public RoleInitializer( InitProperties initProperties, @@ -82,13 +100,16 @@ public RoleInitializer( RoleService roleService, RightService rightService, AdminRightRoleCache adminRightRoleCache) { - super(initProperties, roleRepository, roleService, rightService, adminRightRoleCache); + super(initProperties, roleRepository, roleService, rightService, adminRightRoleCache); } ``` ### LDAP-Authentication -A new environment variable`APP_AUTH_LDAP_GROUP_SEARCH_SUBTREE` respectively `app.auth.ldap.group-search-subtree` has been introduced. If you want to enable the group subtree search, you have to set this variable to `true`. You may alter your `application.yaml` (or `application-ldap.yaml`) as follows: +A new environment variable`APP_AUTH_LDAP_GROUP_SEARCH_SUBTREE` respectively `app.auth.ldap.group-search-subtree` has +been introduced. If you want to enable the group subtree search, you have to set this variable to `true`. You may alter +your `application.yaml` (or `application-ldap.yaml`) as follows: + ```yaml app: auth: @@ -116,32 +137,40 @@ app: ## Version `2.5.13` - If your Application has its own `RightInitializer` extending `DefaultRightInitializer` you have to change the - constructor from + constructor from + ```java public MyRightInitializer(RightService rightService, RoleService roleService) { - super(rightService, roleRepository); + super(rightService, roleRepository); } ``` - to + +to + ```java public RightInitializer(RightService rightService, RoleRepository roleRepository) { - super(rightService, roleRepository); + super(rightService, roleRepository); } ``` + ## Version `2.5.4` -If `@Validated` is used, parameter annotations such as `@Email` or `@NotNull` are evaluated and violations result in a `HandlerMethodValidationException`. Since Spring Boot 3.2.2, only the error message `"Validation failure"` is output by default. Essencium therefore implements its own handler that outputs the embedded violations as an error message. Assuming that the parameter `eMail` is incorrect and the mandatory parameter `lastName` is not transmitted at all, the resulting error message is as follows: +If `@Validated` is used, parameter annotations such as `@Email` or `@NotNull` are evaluated and violations result in a +`HandlerMethodValidationException`. Since Spring Boot 3.2.2, only the error message `"Validation failure"` is output by +default. Essencium therefore implements its own handler that outputs the embedded violations as an error message. +Assuming that the parameter `eMail` is incorrect and the mandatory parameter `lastName` is not transmitted at all, the +resulting error message is as follows: ```json { - "status": 400, - "error": "400 BAD_REQUEST \"Validation failure\"", - "message": [ - "email must be a correctly formatted email address", - "lastName must not be empty" - ], - "timestamp": "2024-01-24T09:47:14.443917986", - "path": "/v1/users" + "status": 400, + "error": "400 BAD_REQUEST \"Validation failure\"", + "message": [ + "email must be a correctly formatted email address", + "lastName must not be empty" + ], + "timestamp": "2024-01-24T09:47:14.443917986", + "path": "/v1/users" } ``` @@ -151,34 +180,42 @@ The messages are always composed according to the scheme " org.postgresql postgresql ${postgresql.version} - + com.h2database h2 ${h2.version} - + org.mariadb.jdbc mariadb-java-client ${mariadb.version} - + com.microsoft.sqlserver mssql-jdbc @@ -186,13 +223,15 @@ From this version onwards, database dependencies must be defined and integrated ``` + _List is not exhaustive._ ### Users, Roles and Rights Right: Defines a singular attribute that can be checked, for example, for access control in controllers (`@Secured()`). Role: Defines a set of rights that can be assigned to users. -User: Defines a user with a set of roles. The rights of the user result from the sum of the rights of the assigned roles. +User: Defines a user with a set of roles. The rights of the user result from the sum of the rights of the assigned +roles. Roles and Users can now be created via environment variables: @@ -202,7 +241,7 @@ essencium: roles: - name: ADMIN description: Administrator - rights: [] + rights: [ ] protected: true - name: USER description: User @@ -226,9 +265,11 @@ essencium: - USER ``` -If no roles or users are defined, the default role `ADMIN` having all BasicApplicationRights assigned and no users are created. +If no roles or users are defined, the default role `ADMIN` having all BasicApplicationRights assigned and no users are +created. -**Please note that an existing database must be migrated according to the old schema (one role per user)!** For postgresql, the following migration script can be used: +**Please note that an existing database must be migrated according to the old schema (one role per user)!** For +postgresql, the following migration script can be used: ```sql ALTER TABLE IF EXISTS "FW_ROLE" @@ -238,29 +279,58 @@ ALTER TABLE IF EXISTS "FW_ROLE" CREATE TABLE IF NOT EXISTS "FW_USER_ROLES" ( - "user_id" bigint NOT NULL, - "roles_name" character varying(255) NOT NULL, - CONSTRAINT "FW_USER_ROLES_pkey" PRIMARY KEY (user_id, roles_name), - CONSTRAINT "FK5x6ca7enc8g15hxhty2s9iikp" FOREIGN KEY (roles_name) - REFERENCES "FW_ROLE" (name) MATCH SIMPLE - ON UPDATE NO ACTION - ON DELETE NO ACTION, - CONSTRAINT "FKh0k8otxier8qii1l14gvc87wi" FOREIGN KEY (user_id) - REFERENCES "FW_USER" (id) MATCH SIMPLE - ON UPDATE NO ACTION - ON DELETE NO ACTION -); - -INSERT INTO "FW_USER_ROLES" ("user_id", "roles_name") SELECT "id", "role_name" FROM "FW_USER"; + "user_id" + bigint + NOT + NULL, + "roles_name" + character + varying +( + 255 +) NOT NULL, + CONSTRAINT "FW_USER_ROLES_pkey" PRIMARY KEY +( + user_id, + roles_name +), + CONSTRAINT "FK5x6ca7enc8g15hxhty2s9iikp" FOREIGN KEY +( + roles_name +) + REFERENCES "FW_ROLE" +( + name +) MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION, + CONSTRAINT "FKh0k8otxier8qii1l14gvc87wi" FOREIGN KEY +( + user_id +) + REFERENCES "FW_USER" +( + id +) MATCH SIMPLE + ON UPDATE NO ACTION + ON DELETE NO ACTION + ); + +INSERT INTO "FW_USER_ROLES" ("user_id", "roles_name") +SELECT "id", "role_name" +FROM "FW_USER"; ALTER TABLE "FW_USER" DROP COLUMN "role_name"; ``` -This SQL script requires that the database schema corresponds at least to the schema of Essencium version 2.3.0 (Flyway Migration 2.3.2). For the migration of previous Essencium versions, see [essencium-backend-development/src/main/resources/migrations](essencium-backend-development/src/main/resources/migrations). +This SQL script requires that the database schema corresponds at least to the schema of Essencium version 2.3.0 (Flyway +Migration 2.3.2). For the migration of previous Essencium versions, +see [essencium-backend-development/src/main/resources/migrations](essencium-backend-development/src/main/resources/migrations). ### Environment -With regard to the environment variables, the previous root element 'essencium-backend' has been renamed to 'essencium'. For example, `essencium-backend.jpa.table-prefix: "FW_"` will now be `essencium.jpa.table-prefix: "FW_"`. +With regard to the environment variables, the previous root element 'essencium-backend' has been renamed to 'essencium'. +For example, `essencium-backend.jpa.table-prefix: "FW_"` will now be `essencium.jpa.table-prefix: "FW_"`. As a result, the following previous variables are completely omitted: - `essencium-backend.overrides.*` @@ -579,114 +649,241 @@ CREATE SEQUENCE IF NOT EXISTS hibernate_sequence -- create potentially non-existing tables CREATE TABLE IF NOT EXISTS "FW_USER" ( - id bigint NOT NULL, - created_at timestamp(6) without time zone, - created_by character varying(255), - updated_at timestamp(6) without time zone, - updated_by character varying(255), - email character varying(150), - enabled boolean NOT NULL, - failed_login_attempts integer NOT NULL DEFAULT 0, - first_name character varying(255), - last_name character varying(255), - locale character varying(255) NOT NULL, - login_disabled boolean NOT NULL, - mobile character varying(255), - nonce character varying(255), - password character varying(255), - password_reset_token character varying(255), - phone character varying(255), - source character varying(255), - role_id bigint NOT NULL, - CONSTRAINT "FW_USER_pkey" PRIMARY KEY (id), - CONSTRAINT uk_o5gwjnjfosht4tf5lq48rxfoj UNIQUE (email) -); + id + bigint + NOT + NULL, + created_at + timestamp +( + 6 +) without time zone, + created_by character varying +( + 255 +), + updated_at timestamp +( + 6 +) + without time zone, + updated_by character varying +( + 255 +), + email character varying +( + 150 +), + enabled boolean NOT NULL, + failed_login_attempts integer NOT NULL DEFAULT 0, + first_name character varying +( + 255 +), + last_name character varying +( + 255 +), + locale character varying +( + 255 +) NOT NULL, + login_disabled boolean NOT NULL, + mobile character varying +( + 255 +), + nonce character varying +( + 255 +), + password character varying +( + 255 +), + password_reset_token character varying +( + 255 +), + phone character varying +( + 255 +), + source character varying +( + 255 +), + role_id bigint NOT NULL, + CONSTRAINT "FW_USER_pkey" PRIMARY KEY +( + id +), + CONSTRAINT uk_o5gwjnjfosht4tf5lq48rxfoj UNIQUE +( + email +) + ); CREATE TABLE IF NOT EXISTS "FW_RIGHT" ( - id bigint NOT NULL, - created_at timestamp(6) without time zone, - created_by character varying(255), - updated_at timestamp(6) without time zone, - updated_by character varying(255), - description character varying(512), - name character varying(255) NOT NULL, - CONSTRAINT "FW_RIGHT_pkey" PRIMARY KEY (id), - CONSTRAINT uk_jep1itavphekmnphj0vp38s9u UNIQUE (name) -); + id + bigint + NOT + NULL, + created_at + timestamp +( + 6 +) without time zone, + created_by character varying +( + 255 +), + updated_at timestamp +( + 6 +) + without time zone, + updated_by character varying +( + 255 +), + description character varying +( + 512 +), + name character varying +( + 255 +) NOT NULL, + CONSTRAINT "FW_RIGHT_pkey" PRIMARY KEY +( + id +), + CONSTRAINT uk_jep1itavphekmnphj0vp38s9u UNIQUE +( + name +) + ); CREATE TABLE IF NOT EXISTS "FW_ROLE" ( - id bigint NOT NULL, - created_at timestamp(6) without time zone, - created_by character varying(255), - updated_at timestamp(6) without time zone, - updated_by character varying(255), - description character varying(255), - is_protected boolean NOT NULL, - name character varying(255) NOT NULL, - CONSTRAINT "FW_ROLE_pkey" PRIMARY KEY (id) -); + id + bigint + NOT + NULL, + created_at + timestamp +( + 6 +) without time zone, + created_by character varying +( + 255 +), + updated_at timestamp +( + 6 +) + without time zone, + updated_by character varying +( + 255 +), + description character varying +( + 255 +), + is_protected boolean NOT NULL, + name character varying +( + 255 +) NOT NULL, + CONSTRAINT "FW_ROLE_pkey" PRIMARY KEY +( + id +) + ); CREATE TABLE IF NOT EXISTS "FW_ROLE_RIGHTS" ( - role_id bigint NOT NULL, - rights_id bigint NOT NULL, - CONSTRAINT "FW_ROLE_RIGHTS_pkey" PRIMARY KEY (role_id, rights_id) -); + role_id + bigint + NOT + NULL, + rights_id + bigint + NOT + NULL, + CONSTRAINT + "FW_ROLE_RIGHTS_pkey" + PRIMARY + KEY +( + role_id, + rights_id +) + ); -- USER -> ROLE ALTER TABLE IF EXISTS "FW_USER" - ADD COLUMN "role_name" VARCHAR(255); + ADD COLUMN "role_name" VARCHAR (255); UPDATE "FW_USER" -SET role_name = role.name -FROM "FW_ROLE" role +SET role_name = role.name FROM "FW_ROLE" role WHERE role.id = "FW_USER".role_id; ALTER TABLE IF EXISTS "FW_USER" - DROP CONSTRAINT IF EXISTS "FKnpftnul0ve9guxtoqakx201de"; +DROP +CONSTRAINT IF EXISTS "FKnpftnul0ve9guxtoqakx201de"; ALTER TABLE IF EXISTS "FW_USER" - DROP COLUMN IF EXISTS role_id; +DROP +COLUMN IF EXISTS role_id; -- ROLE -> RIGHT ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" - ADD COLUMN "role_name" VARCHAR(255); + ADD COLUMN "role_name" VARCHAR (255); UPDATE "FW_ROLE_RIGHTS" -SET role_name = role.name -FROM "FW_ROLE" role +SET role_name = role.name FROM "FW_ROLE" role WHERE role.id = "FW_ROLE_RIGHTS".role_id; -- RIGHT --> ROLE ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" - ADD COLUMN "rights_authority" VARCHAR(255); + ADD COLUMN "rights_authority" VARCHAR (255); ALTER TABLE IF EXISTS "FW_RIGHT" RENAME name TO authority; UPDATE "FW_ROLE_RIGHTS" -SET rights_authority = appright.authority -FROM "FW_RIGHT" appright +SET rights_authority = appright.authority FROM "FW_RIGHT" appright WHERE appright.id = "FW_ROLE_RIGHTS".rights_id; -- Remove old Constraints ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" - DROP CONSTRAINT IF EXISTS "FK4akiafdy6sibodflxw662bf0x"; +DROP +CONSTRAINT IF EXISTS "FK4akiafdy6sibodflxw662bf0x"; ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" - DROP CONSTRAINT IF EXISTS "FKc28mpb53220tvxffq0buv1sc6"; +DROP +CONSTRAINT IF EXISTS "FKc28mpb53220tvxffq0buv1sc6"; -- Remove old Primary Keys ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" - DROP CONSTRAINT IF EXISTS "FW_ROLE_RIGHTS_pkey"; +DROP +CONSTRAINT IF EXISTS "FW_ROLE_RIGHTS_pkey"; ALTER TABLE IF EXISTS "FW_ROLE" - DROP COLUMN IF EXISTS id; +DROP +COLUMN IF EXISTS id; ALTER TABLE IF EXISTS "FW_RIGHT" - DROP COLUMN IF EXISTS id; +DROP +COLUMN IF EXISTS id; -- Remove old Columns ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" - DROP COLUMN "role_id"; +DROP +COLUMN "role_id"; ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" - DROP COLUMN "rights_id"; +DROP +COLUMN "rights_id"; -- Add new Primary Keys ALTER TABLE IF EXISTS "FW_ROLE" @@ -699,37 +896,54 @@ ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" -- Add new Constraints ALTER TABLE IF EXISTS "FW_USER" ADD CONSTRAINT "FK8xvm8eci4kcyn46nr2xd4axx9" FOREIGN KEY ("role_name") REFERENCES "FW_ROLE" ("name") MATCH SIMPLE - ON UPDATE NO ACTION - ON DELETE NO ACTION; + ON +UPDATE NO ACTION +ON +DELETE +NO ACTION; ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" ADD CONSTRAINT "FKhqod6jll49rbgohaml3pi5ofi" FOREIGN KEY ("rights_authority") - REFERENCES "FW_RIGHT" ("authority") MATCH SIMPLE - ON UPDATE NO ACTION - ON DELETE NO ACTION; + REFERENCES "FW_RIGHT" ("authority") MATCH SIMPLE + ON +UPDATE NO ACTION +ON +DELETE +NO ACTION; ALTER TABLE IF EXISTS "FW_ROLE_RIGHTS" ADD CONSTRAINT "FKillb2aaughbvyxj9j8sa9835g" FOREIGN KEY ("role_name") - REFERENCES "FW_ROLE" ("name") MATCH SIMPLE - ON UPDATE NO ACTION - ON DELETE NO ACTION; + REFERENCES "FW_ROLE" ("name") MATCH SIMPLE + ON +UPDATE NO ACTION +ON +DELETE +NO ACTION; -- Delete obsolete Columns ALTER TABLE IF EXISTS "FW_RIGHT" - DROP COLUMN IF EXISTS created_at; +DROP +COLUMN IF EXISTS created_at; ALTER TABLE IF EXISTS "FW_RIGHT" - DROP COLUMN IF EXISTS created_by; +DROP +COLUMN IF EXISTS created_by; ALTER TABLE IF EXISTS "FW_RIGHT" - DROP COLUMN IF EXISTS updated_at; +DROP +COLUMN IF EXISTS updated_at; ALTER TABLE IF EXISTS "FW_RIGHT" - DROP COLUMN IF EXISTS updated_by; +DROP +COLUMN IF EXISTS updated_by; ALTER TABLE IF EXISTS "FW_ROLE" - DROP COLUMN IF EXISTS created_at; +DROP +COLUMN IF EXISTS created_at; ALTER TABLE IF EXISTS "FW_ROLE" - DROP COLUMN IF EXISTS created_by; +DROP +COLUMN IF EXISTS created_by; ALTER TABLE IF EXISTS "FW_ROLE" - DROP COLUMN IF EXISTS updated_at; +DROP +COLUMN IF EXISTS updated_at; ALTER TABLE IF EXISTS "FW_ROLE" - DROP COLUMN IF EXISTS updated_by; +DROP +COLUMN IF EXISTS updated_by; ``` ## Migrate to `2.2.0` @@ -816,7 +1030,8 @@ public class MyUserRepresentationAssembler - Replace `org.jetbrains.annotations.Nullable` with `jakarta.annotation.Nullable` in all files - If you have overridden or extended the `DefaultRoleInitializer` you have to change the constructor from `public MyRoleInitializer(RightService rightService, RoleService roleService) ` - to `public MyRoleInitializer(RightService rightService, RoleService roleService, DefaultRoleProperties defaultRoleProperties)` + to + `public MyRoleInitializer(RightService rightService, RoleService roleService, DefaultRoleProperties defaultRoleProperties)` - If you have accessed `USER_ROLE_NAME` or `USER_ROLE_DESCRIPTION` provided by `DefaultRoleInitializer` you have to change it to `defaultRoleProperties.getName()` and `defaultRoleProperties.getDescription()` respectively. @@ -911,7 +1126,8 @@ Breaking Changes concerning openApi documentation - The Dependency `com.cosium.code.maven-git-code-format` has to be replaced by `com.cosium.code.git-code-format-maven-plugin` using version `4.2` (or higher) - - Use `mvn org.codehaus.mojo:build-helper-maven-plugin:add-test-source@add-integration-test-sources git-code-format:format-code` + Use + `mvn org.codehaus.mojo:build-helper-maven-plugin:add-test-source@add-integration-test-sources git-code-format:format-code` to format your code completely (including Integration Tests, see [README](./README.md)) :warning: Individually, the version statuses of each dependency used must be checked and updated. diff --git a/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java b/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java index 46acbc39..b0b48f1b 100644 --- a/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java +++ b/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java @@ -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; @@ -32,7 +32,7 @@ @RequestMapping("/v1/users") public class UserController extends AbstractUserController< - User, UserRepresentation, AppUserDto, BaseUserSpec, Long> { + User, UserRepresentation, UserDto, BaseUserSpec, Long> { protected UserController(UserService userService, UserAssembler assembler) { super(userService, assembler); diff --git a/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java b/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java similarity index 94% rename from essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java rename to essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java index 592fc3b7..a097aca8 100644 --- a/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java +++ b/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java @@ -26,4 +26,4 @@ @EqualsAndHashCode(callSuper = true) @Data @AllArgsConstructor -public class AppUserDto extends UserDto {} +public class UserDto extends AbstractBaseUserDto {} diff --git a/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java b/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java index a1a602a9..521fb0d2 100644 --- a/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java +++ b/essencium-backend-identity-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java @@ -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; @@ -30,7 +30,7 @@ import org.springframework.stereotype.Service; @Service -public class UserService extends AbstractUserService { +public class UserService extends AbstractUserService { protected UserService( @NotNull UserRepository userRepository, @@ -49,7 +49,7 @@ protected UserService( } @Override - protected @NotNull User convertDtoToEntity(@NotNull E entity) { + protected @NotNull User convertDtoToEntity(@NotNull E entity) { Set roles = entity.getRoles().stream().map(roleService::getByName).collect(Collectors.toSet()); return User.builder() @@ -68,7 +68,7 @@ protected UserService( } @Override - public AppUserDto getNewUser() { - return new AppUserDto(); + public UserDto getNewUser() { + return new UserDto(); } } diff --git a/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java b/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java index 46acbc39..b0b48f1b 100644 --- a/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java +++ b/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java @@ -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; @@ -32,7 +32,7 @@ @RequestMapping("/v1/users") public class UserController extends AbstractUserController< - User, UserRepresentation, AppUserDto, BaseUserSpec, Long> { + User, UserRepresentation, UserDto, BaseUserSpec, Long> { protected UserController(UserService userService, UserAssembler assembler) { super(userService, assembler); diff --git a/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java b/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java similarity index 94% rename from essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java rename to essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java index 592fc3b7..a097aca8 100644 --- a/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java +++ b/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java @@ -26,4 +26,4 @@ @EqualsAndHashCode(callSuper = true) @Data @AllArgsConstructor -public class AppUserDto extends UserDto {} +public class UserDto extends AbstractBaseUserDto {} diff --git a/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java b/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java index a1a602a9..521fb0d2 100644 --- a/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java +++ b/essencium-backend-sequence-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java @@ -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; @@ -30,7 +30,7 @@ import org.springframework.stereotype.Service; @Service -public class UserService extends AbstractUserService { +public class UserService extends AbstractUserService { protected UserService( @NotNull UserRepository userRepository, @@ -49,7 +49,7 @@ protected UserService( } @Override - protected @NotNull User convertDtoToEntity(@NotNull E entity) { + protected @NotNull User convertDtoToEntity(@NotNull E entity) { Set roles = entity.getRoles().stream().map(roleService::getByName).collect(Collectors.toSet()); return User.builder() @@ -68,7 +68,7 @@ protected UserService( } @Override - public AppUserDto getNewUser() { - return new AppUserDto(); + public UserDto getNewUser() { + return new UserDto(); } } diff --git a/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java b/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java index a55af96f..f2dc6929 100644 --- a/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java +++ b/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/controller/UserController.java @@ -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; @@ -33,7 +33,7 @@ @RequestMapping("/v1/users") public class UserController extends AbstractUserController< - User, UserRepresentation, AppUserDto, BaseUserSpec, UUID> { + User, UserRepresentation, UserDto, BaseUserSpec, UUID> { protected UserController(UserService userService, UserAssembler assembler) { super(userService, assembler); diff --git a/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java b/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java similarity index 94% rename from essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java rename to essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java index 4f482e8f..fa45b7b6 100644 --- a/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/AppUserDto.java +++ b/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java @@ -27,4 +27,4 @@ @EqualsAndHashCode(callSuper = true) @Data @AllArgsConstructor -public class AppUserDto extends UserDto {} +public class UserDto extends AbstractBaseUserDto {} diff --git a/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java b/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java index 92e679a3..44558d28 100644 --- a/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java +++ b/essencium-backend-uuid-model/src/main/java/de/frachtwerk/essencium/backend/service/UserService.java @@ -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; @@ -31,7 +31,7 @@ import org.springframework.stereotype.Service; @Service -public class UserService extends AbstractUserService { +public class UserService extends AbstractUserService { protected UserService( @NotNull UserRepository userRepository, @@ -50,7 +50,7 @@ protected UserService( } @Override - protected @NotNull User convertDtoToEntity(@NotNull E entity) { + protected @NotNull User convertDtoToEntity(@NotNull E entity) { Set roles = entity.getRoles().stream().map(roleService::getByName).collect(Collectors.toSet()); return User.builder() @@ -69,7 +69,7 @@ protected UserService( } @Override - public AppUserDto getNewUser() { - return new AppUserDto(); + public UserDto getNewUser() { + return new UserDto(); } } diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/SpecificationArgumentsResolverConfig.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/SpecificationArgumentsResolverConfig.java index cdfec416..c98c5764 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/SpecificationArgumentsResolverConfig.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/SpecificationArgumentsResolverConfig.java @@ -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; @@ -35,7 +35,9 @@ @Configuration @RequiredArgsConstructor public class SpecificationArgumentsResolverConfig< - USER extends AbstractBaseUser, T extends UserDto, ID extends Serializable> + USER extends AbstractBaseUser, + T extends AbstractBaseUserDto, + ID extends Serializable> implements WebMvcConfigurer { private final AbstractApplicationContext applicationContext; private final AbstractUserService userService; diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/WebSecurityConfig.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/WebSecurityConfig.java index 09a10537..54c1b1ea 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/WebSecurityConfig.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/WebSecurityConfig.java @@ -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; @@ -74,9 +74,9 @@ @RequiredArgsConstructor public class WebSecurityConfig< USER extends AbstractBaseUser, - T extends UserDto, + T extends AbstractBaseUserDto, ID extends Serializable, - USERDTO extends UserDto> { + USERDTO extends AbstractBaseUserDto> { private static final Logger LOG = LoggerFactory.getLogger(WebSecurityConfig.class); diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultDataInitializationConfiguration.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultDataInitializationConfiguration.java index 35537b77..32205855 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultDataInitializationConfiguration.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultDataInitializationConfiguration.java @@ -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; @@ -33,7 +33,9 @@ @Configuration @RequiredArgsConstructor public class DefaultDataInitializationConfiguration< - USER extends AbstractBaseUser, ID extends Serializable, USERDTO extends UserDto> + USER extends AbstractBaseUser, + ID extends Serializable, + USERDTO extends AbstractBaseUserDto> implements DataInitializationConfiguration { private static final Logger LOGGER = diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUserInitializer.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUserInitializer.java index b99a21c4..e57382fa 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUserInitializer.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUserInitializer.java @@ -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.*; @@ -36,7 +36,9 @@ @Configuration @RequiredArgsConstructor public class DefaultUserInitializer< - USER extends AbstractBaseUser, USERDTO extends UserDto, ID extends Serializable> + USER extends AbstractBaseUser, + USERDTO extends AbstractBaseUserDto, + ID extends Serializable> implements DataInitializer { private static final Logger LOGGER = LoggerFactory.getLogger(DefaultUserInitializer.class); diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/AbstractUserController.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/AbstractUserController.java index 583a182b..6e4150df 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/AbstractUserController.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/AbstractUserController.java @@ -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; @@ -66,7 +66,7 @@ public abstract class AbstractUserController< USER extends AbstractBaseUser, REPRESENTATION, - USERDTO extends UserDto, + USERDTO extends AbstractBaseUserDto, SPEC extends BaseUserSpec, ID extends Serializable> { diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/ResetCredentialsController.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/ResetCredentialsController.java index f4f86d06..0e7c0cc2 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/ResetCredentialsController.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/ResetCredentialsController.java @@ -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; @@ -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 extends Serializable, USERDTO extends UserDto> { + USER extends AbstractBaseUser, + ID extends Serializable, + USERDTO extends AbstractBaseUserDto> { private final AbstractUserService userService; private final Random random; diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/access/AccessAwareSpecArgResolver.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/access/AccessAwareSpecArgResolver.java index 6e1a4215..d049dc1c 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/access/AccessAwareSpecArgResolver.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/controller/access/AccessAwareSpecArgResolver.java @@ -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; @@ -41,7 +41,9 @@ import org.springframework.web.method.support.ModelAndViewContainer; public class AccessAwareSpecArgResolver< - USER extends AbstractBaseUser, ID extends Serializable, USERDTO extends UserDto> + USER extends AbstractBaseUser, + ID extends Serializable, + USERDTO extends AbstractBaseUserDto> extends SpecificationArgumentResolver { private static final Logger LOG = LoggerFactory.getLogger(AccessAwareSpecArgResolver.class); diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/model/dto/AbstractBaseUserDto.java similarity index 94% rename from essencium-backend/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java rename to essencium-backend/src/main/java/de/frachtwerk/essencium/backend/model/dto/AbstractBaseUserDto.java index 32b4bb25..69efb983 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/model/dto/UserDto.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/model/dto/AbstractBaseUserDto.java @@ -41,7 +41,7 @@ @SuperBuilder(toBuilder = true) @NoArgsConstructor @AllArgsConstructor -public class UserDto { +public class AbstractBaseUserDto { public static final Locale DEFAULT_LOCALE = Locale.GERMAN; @Nullable private ID id; @@ -66,7 +66,7 @@ public class UserDto { @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 roles = new HashSet<>(); diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/JwtAuthenticationProvider.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/JwtAuthenticationProvider.java index d6bb8dce..8cc6fbf5 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/JwtAuthenticationProvider.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/JwtAuthenticationProvider.java @@ -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; @@ -37,7 +37,9 @@ /** Provider to fetch user details for a previously extracted and validated JWT token */ public class JwtAuthenticationProvider< - USER extends AbstractBaseUser, ID extends Serializable, USERDTO extends UserDto> + USER extends AbstractBaseUser, + ID extends Serializable, + USERDTO extends AbstractBaseUserDto> extends AbstractUserDetailsAuthenticationProvider { @Autowired private AbstractUserService userService; diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/LdapUserContextMapper.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/LdapUserContextMapper.java index ada4504a..13a78593 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/LdapUserContextMapper.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/LdapUserContextMapper.java @@ -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; @@ -45,7 +45,9 @@ @Component @RequiredArgsConstructor public class LdapUserContextMapper< - USER extends AbstractBaseUser, ID extends Serializable, USERDTO extends UserDto> + USER extends AbstractBaseUser, + ID extends Serializable, + USERDTO extends AbstractBaseUserDto> implements UserDetailsContextMapper { private final AbstractUserService userService; diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/oauth2/OAuth2SuccessHandler.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/oauth2/OAuth2SuccessHandler.java index 3be5fca5..5baeb52b 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/oauth2/OAuth2SuccessHandler.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/security/oauth2/OAuth2SuccessHandler.java @@ -25,7 +25,7 @@ import de.frachtwerk.essencium.backend.model.Role; import de.frachtwerk.essencium.backend.model.SessionTokenType; 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.model.exception.checked.UserEssentialsException; import de.frachtwerk.essencium.backend.security.oauth2.util.CookieUtil; import de.frachtwerk.essencium.backend.service.AbstractUserService; @@ -54,7 +54,9 @@ @Component @RequiredArgsConstructor public class OAuth2SuccessHandler< - USER extends AbstractBaseUser, ID extends Serializable, USERDTO extends UserDto> + USER extends AbstractBaseUser, + ID extends Serializable, + USERDTO extends AbstractBaseUserDto> implements AuthenticationSuccessHandler { public static final String OIDC_FIRST_NAME_ATTR = "given_name"; diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/AbstractUserService.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/AbstractUserService.java index 78554199..6b9e4bae 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/AbstractUserService.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/AbstractUserService.java @@ -25,8 +25,8 @@ import de.frachtwerk.essencium.backend.model.Role; import de.frachtwerk.essencium.backend.model.SessionToken; import de.frachtwerk.essencium.backend.model.UserInfoEssentials; +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.NotAllowedException; import de.frachtwerk.essencium.backend.model.exception.ResourceNotFoundException; import de.frachtwerk.essencium.backend.model.exception.checked.CheckedMailException; @@ -51,7 +51,9 @@ import org.springframework.security.web.authentication.session.SessionAuthenticationException; public abstract class AbstractUserService< - USER extends AbstractBaseUser, ID extends Serializable, USERDTO extends UserDto> + USER extends AbstractBaseUser, + ID extends Serializable, + USERDTO extends AbstractBaseUserDto> extends AbstractEntityService implements UserDetailsService { private static final Logger LOG = LoggerFactory.getLogger(AbstractUserService.class); private static final SecureRandom SECURE_RANDOM = new SecureRandom(); diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/JwtTokenService.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/JwtTokenService.java index 0c3cabe9..3f101512 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/JwtTokenService.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/JwtTokenService.java @@ -23,7 +23,7 @@ import de.frachtwerk.essencium.backend.model.AbstractBaseUser; import de.frachtwerk.essencium.backend.model.SessionToken; import de.frachtwerk.essencium.backend.model.SessionTokenType; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import de.frachtwerk.essencium.backend.model.representation.TokenRepresentation; import de.frachtwerk.essencium.backend.repository.SessionTokenRepository; import de.frachtwerk.essencium.backend.security.SessionTokenKeyLocator; @@ -57,7 +57,7 @@ public class JwtTokenService implements Clock { @Setter private AbstractUserService< - ? extends AbstractBaseUser, ? extends Serializable, ? extends UserDto> + ? extends AbstractBaseUser, ? extends Serializable, ? extends AbstractBaseUserDto> userService; private final UserMailService userMailService; diff --git a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/RoleService.java b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/RoleService.java index cff7eebf..88671a90 100644 --- a/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/RoleService.java +++ b/essencium-backend/src/main/java/de/frachtwerk/essencium/backend/service/RoleService.java @@ -22,8 +22,8 @@ import de.frachtwerk.essencium.backend.model.AbstractBaseUser; import de.frachtwerk.essencium.backend.model.Right; import de.frachtwerk.essencium.backend.model.Role; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import de.frachtwerk.essencium.backend.model.dto.RoleDto; -import de.frachtwerk.essencium.backend.model.dto.UserDto; import de.frachtwerk.essencium.backend.model.exception.NotAllowedException; import de.frachtwerk.essencium.backend.model.exception.ResourceNotFoundException; import de.frachtwerk.essencium.backend.model.exception.ResourceUpdateException; @@ -52,7 +52,7 @@ public class RoleService { @Setter protected AbstractUserService< - ? extends AbstractBaseUser, ? extends Serializable, ? extends UserDto> + ? extends AbstractBaseUser, ? extends Serializable, ? extends AbstractBaseUserDto> userService; public List getAll() { diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/extension/TestObjectInjectionExtension.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/extension/TestObjectInjectionExtension.java index d8964b4e..83243d2e 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/extension/TestObjectInjectionExtension.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/extension/TestObjectInjectionExtension.java @@ -6,7 +6,7 @@ import de.frachtwerk.essencium.backend.api.data.TestObjects; import de.frachtwerk.essencium.backend.api.data.user.UserStub; import de.frachtwerk.essencium.backend.model.Role; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import java.lang.reflect.Parameter; import java.util.List; import org.junit.jupiter.api.extension.ExtensionContext; @@ -25,7 +25,7 @@ public boolean supportsParameter( Parameter parameter = parameterContext.getParameter(); return List.of( - UserDto.class, + AbstractBaseUserDto.class, UserStub.class, UsernamePasswordAuthenticationToken.class, Pageable.class, @@ -40,7 +40,7 @@ public Object resolveParameter( throws ParameterResolutionException { Parameter parameter = parameterContext.getParameter(); - if (parameter.getType().equals(UserDto.class)) { + if (parameter.getType().equals(AbstractBaseUserDto.class)) { return TestObjects.users().userDtoBuilder().buildDefaultUserDto(); } if (parameter.getType().equals(UserStub.class)) { diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStub.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStub.java index e6323248..fc3db6a4 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStub.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStub.java @@ -21,7 +21,7 @@ import de.frachtwerk.essencium.backend.api.data.user.UserStub; 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.repository.BaseUserRepository; import de.frachtwerk.essencium.backend.service.AbstractUserService; import de.frachtwerk.essencium.backend.service.AdminRightRoleCache; @@ -33,7 +33,8 @@ import java.util.stream.Collectors; import org.springframework.security.crypto.password.PasswordEncoder; -public class UserServiceStub extends AbstractUserService> { +public class UserServiceStub + extends AbstractUserService> { public UserServiceStub( @NotNull BaseUserRepository userRepository, @@ -52,7 +53,8 @@ public UserServiceStub( } @Override - public @NotNull > UserStub convertDtoToEntity(@NotNull E entity) { + public @NotNull > UserStub convertDtoToEntity( + @NotNull E entity) { HashSet roles = entity.getRoles().stream() .map(roleService::getByName) @@ -73,7 +75,7 @@ public UserServiceStub( } @Override - public UserDto getNewUser() { - return new UserDto<>(); + public AbstractBaseUserDto getNewUser() { + return new AbstractBaseUserDto<>(); } } diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStubUUID.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStubUUID.java index ce07c82e..50486ea8 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStubUUID.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/service/UserServiceStubUUID.java @@ -21,7 +21,7 @@ import de.frachtwerk.essencium.backend.api.data.user.TestUUIDUser; 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.repository.BaseUserRepository; import de.frachtwerk.essencium.backend.service.AbstractUserService; import de.frachtwerk.essencium.backend.service.AdminRightRoleCache; @@ -34,7 +34,8 @@ import java.util.stream.Collectors; import org.springframework.security.crypto.password.PasswordEncoder; -public class UserServiceStubUUID extends AbstractUserService> { +public class UserServiceStubUUID + extends AbstractUserService> { public UserServiceStubUUID( @NotNull BaseUserRepository userRepository, @@ -53,7 +54,8 @@ public UserServiceStubUUID( } @Override - public @NotNull > TestUUIDUser convertDtoToEntity(@NotNull E entity) { + public @NotNull > TestUUIDUser convertDtoToEntity( + @NotNull E entity) { HashSet roles = entity.getRoles().stream() .map(roleService::getByName) @@ -74,7 +76,7 @@ public UserServiceStubUUID( } @Override - public UserDto getNewUser() { - return new UserDto<>(); + public AbstractBaseUserDto getNewUser() { + return new AbstractBaseUserDto<>(); } } diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/TestObjectsUser.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/TestObjectsUser.java index c2c15622..d00b3dc4 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/TestObjectsUser.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/TestObjectsUser.java @@ -1,7 +1,7 @@ package de.frachtwerk.essencium.backend.api.data.user; import de.frachtwerk.essencium.backend.model.AbstractBaseUser; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import java.util.Locale; import java.util.UUID; @@ -60,7 +60,7 @@ public UserDtoBuilder userDtoBuilder() { return new UserDtoBuilder(); } - public UserDto defaultUserUpdateDto() { + public AbstractBaseUserDto defaultUserUpdateDto() { final String NEW_FIRST_NAME = "Robin"; final String NEW_LAST_NAME = "The Ripper"; final String NEW_PHONE = "018012345"; @@ -68,7 +68,7 @@ public UserDto defaultUserUpdateDto() { final Locale NEW_LOCALE = Locale.ITALY; final String NEW_PASSWORD = "hopefully not working!"; - final UserDto updates = new UserDto<>(); + final AbstractBaseUserDto updates = new AbstractBaseUserDto<>(); updates.setFirstName(NEW_FIRST_NAME); updates.setLastName(NEW_LAST_NAME); updates.setPhone(NEW_PHONE); diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/UserDtoBuilder.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/UserDtoBuilder.java index 06958359..6298cb01 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/UserDtoBuilder.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/api/data/user/UserDtoBuilder.java @@ -1,6 +1,6 @@ package de.frachtwerk.essencium.backend.api.data.user; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import java.util.Arrays; import java.util.HashSet; import java.util.Set; @@ -36,8 +36,8 @@ public UserDtoBuilder withSource(String source) { return this; } - public UserDto buildDefaultUserDto() { - UserDto userDto = new UserDto<>(); + public AbstractBaseUserDto buildDefaultUserDto() { + AbstractBaseUserDto userDto = new AbstractBaseUserDto<>(); userDto.setId(1L); userDto.setEmail(this.email); diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultLongUserInitializerTest.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultLongUserInitializerTest.java index 346f4501..104e7901 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultLongUserInitializerTest.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultLongUserInitializerTest.java @@ -25,7 +25,7 @@ import de.frachtwerk.essencium.backend.configuration.properties.InitProperties; import de.frachtwerk.essencium.backend.configuration.properties.UserProperties; import de.frachtwerk.essencium.backend.model.*; -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.util.*; import java.util.stream.Collectors; @@ -38,7 +38,7 @@ @ExtendWith(MockitoExtension.class) class DefaultLongUserInitializerTest { - @Mock AbstractUserService> userServiceMock; + @Mock AbstractUserService> userServiceMock; private InitProperties initProperties; private Random random; @@ -59,10 +59,10 @@ void greenFieldTest() { List userDB = new ArrayList<>(); when(userServiceMock.getAll()).thenReturn(userDB); - when(userServiceMock.create(any(UserDto.class))) + when(userServiceMock.create(any(AbstractBaseUserDto.class))) .thenAnswer( invocation -> { - UserDto entity = invocation.getArgument(0); + AbstractBaseUserDto entity = invocation.getArgument(0); UserStub user = UserStub.builder() .email(entity.getEmail()) @@ -82,9 +82,9 @@ void greenFieldTest() { userDB.add(user); return user; }); - when(userServiceMock.getNewUser()).thenReturn(new UserDto<>()); + when(userServiceMock.getNewUser()).thenReturn(new AbstractBaseUserDto<>()); - DefaultUserInitializer, Long> SUT = + DefaultUserInitializer, Long> SUT = new DefaultUserInitializer<>(userServiceMock, initProperties); SUT.run(); @@ -95,7 +95,7 @@ void greenFieldTest() { verify(userServiceMock, times(1)).getAll(); verify(userServiceMock, times(2)).getNewUser(); - verify(userServiceMock, times(2)).create(any(UserDto.class)); + verify(userServiceMock, times(2)).create(any(AbstractBaseUserDto.class)); verifyNoMoreInteractions(userServiceMock); } @@ -122,10 +122,10 @@ void brownFieldTest() { .build()); when(userServiceMock.getAll()).thenReturn(userDB); - when(userServiceMock.create(any(UserDto.class))) + when(userServiceMock.create(any(AbstractBaseUserDto.class))) .thenAnswer( invocation -> { - UserDto entity = invocation.getArgument(0); + AbstractBaseUserDto entity = invocation.getArgument(0); UserStub user = UserStub.builder() .email(entity.getEmail()) @@ -145,9 +145,9 @@ void brownFieldTest() { userDB.add(user); return user; }); - when(userServiceMock.getNewUser()).thenReturn(new UserDto<>()); + when(userServiceMock.getNewUser()).thenReturn(new AbstractBaseUserDto<>()); - DefaultUserInitializer, Long> SUT = + DefaultUserInitializer, Long> SUT = new DefaultUserInitializer<>(userServiceMock, initProperties); SUT.run(); @@ -157,7 +157,7 @@ void brownFieldTest() { verify(userServiceMock, times(1)).getAll(); verify(userServiceMock, times(1)).getNewUser(); - verify(userServiceMock, times(1)).create(any(UserDto.class)); + verify(userServiceMock, times(1)).create(any(AbstractBaseUserDto.class)); verify(userServiceMock, times(1)).patch(anyLong(), anyMap()); verifyNoMoreInteractions(userServiceMock); diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUUIDUserInitializerTest.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUUIDUserInitializerTest.java index 105ba826..e765579b 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUUIDUserInitializerTest.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/configuration/initialization/DefaultUUIDUserInitializerTest.java @@ -30,7 +30,7 @@ import de.frachtwerk.essencium.backend.configuration.properties.UserProperties; import de.frachtwerk.essencium.backend.model.*; 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.util.*; import java.util.stream.Collectors; @@ -42,7 +42,7 @@ @ExtendWith(MockitoExtension.class) class DefaultUUIDUserInitializerTest { - @Mock AbstractUserService> userServiceMock; + @Mock AbstractUserService> userServiceMock; private InitProperties initProperties; @BeforeEach @@ -61,10 +61,10 @@ void greenFieldTest() { List userDB = new ArrayList<>(); when(userServiceMock.getAll()).thenReturn(userDB); - when(userServiceMock.create(any(UserDto.class))) + when(userServiceMock.create(any(AbstractBaseUserDto.class))) .thenAnswer( invocation -> { - UserDto entity = invocation.getArgument(0); + AbstractBaseUserDto entity = invocation.getArgument(0); TestUUIDUser user = TestUUIDUser.builder() .email(entity.getEmail()) @@ -84,9 +84,9 @@ void greenFieldTest() { userDB.add(user); return user; }); - when(userServiceMock.getNewUser()).thenReturn(new UserDto<>()); + when(userServiceMock.getNewUser()).thenReturn(new AbstractBaseUserDto<>()); - DefaultUserInitializer, UUID> SUT = + DefaultUserInitializer, UUID> SUT = new DefaultUserInitializer<>(userServiceMock, initProperties); SUT.run(); @@ -119,10 +119,10 @@ void brownFieldTest() { .build()); when(userServiceMock.getAll()).thenReturn(userDB); - when(userServiceMock.create(any(UserDto.class))) + when(userServiceMock.create(any(AbstractBaseUserDto.class))) .thenAnswer( invocation -> { - UserDto entity = invocation.getArgument(0); + AbstractBaseUserDto entity = invocation.getArgument(0); TestUUIDUser user = TestUUIDUser.builder() .email(entity.getEmail()) @@ -142,9 +142,9 @@ void brownFieldTest() { userDB.add(user); return user; }); - when(userServiceMock.getNewUser()).thenReturn(new UserDto<>()); + when(userServiceMock.getNewUser()).thenReturn(new AbstractBaseUserDto<>()); - DefaultUserInitializer, UUID> SUT = + DefaultUserInitializer, UUID> SUT = new DefaultUserInitializer<>(userServiceMock, initProperties); SUT.run(); @@ -154,7 +154,7 @@ void brownFieldTest() { verify(userServiceMock, times(1)).getAll(); verify(userServiceMock, times(1)).getNewUser(); - verify(userServiceMock, times(1)).create(any(UserDto.class)); + verify(userServiceMock, times(1)).create(any(AbstractBaseUserDto.class)); verify(userServiceMock, times(1)).patch(any(UUID.class), anyMap()); verifyNoMoreInteractions(userServiceMock); diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongResetCredentialsControllerTest.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongResetCredentialsControllerTest.java index 9a2e2c28..3bafa333 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongResetCredentialsControllerTest.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongResetCredentialsControllerTest.java @@ -23,17 +23,17 @@ import static org.mockito.Mockito.*; import de.frachtwerk.essencium.backend.api.data.user.UserStub; +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 org.junit.jupiter.api.Test; class LongResetCredentialsControllerTest { - private final AbstractUserService> userServiceMock = + private final AbstractUserService> userServiceMock = mock(AbstractUserService.class); - private final ResetCredentialsController> testSubject = + private final ResetCredentialsController> testSubject = new ResetCredentialsController(userServiceMock); @Test diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserController.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserController.java index 5478b99b..173def6f 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserController.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserController.java @@ -22,12 +22,12 @@ import de.frachtwerk.essencium.backend.api.data.service.UserServiceStub; import de.frachtwerk.essencium.backend.api.data.user.UserStub; import de.frachtwerk.essencium.backend.model.assembler.LongUserAssembler; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import de.frachtwerk.essencium.backend.repository.specification.BaseUserSpec; public class LongUserController extends AbstractUserController< - UserStub, UserStub, UserDto, BaseUserSpec, Long> { + UserStub, UserStub, AbstractBaseUserDto, BaseUserSpec, Long> { protected LongUserController(UserServiceStub userService, LongUserAssembler assembler) { super(userService, assembler); diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserControllerTest.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserControllerTest.java index 455e77ef..64c0ab77 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserControllerTest.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/LongUserControllerTest.java @@ -29,7 +29,7 @@ import de.frachtwerk.essencium.backend.model.SessionToken; import de.frachtwerk.essencium.backend.model.SessionTokenType; import de.frachtwerk.essencium.backend.model.assembler.LongUserAssembler; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import de.frachtwerk.essencium.backend.model.exception.DuplicateResourceException; import de.frachtwerk.essencium.backend.model.representation.TokenRepresentation; import de.frachtwerk.essencium.backend.repository.specification.BaseUserSpec; @@ -91,7 +91,7 @@ void findById() { @Test void create() { final var newUserEmail = "user@example.com"; - var testCreationUser = Mockito.mock(UserDto.class); + var testCreationUser = Mockito.mock(AbstractBaseUserDto.class); when(testCreationUser.getEmail()).thenReturn(newUserEmail); var createdUserMock = Mockito.mock(UserStub.class); @@ -109,7 +109,7 @@ void create() { @Test void createAlreadyExisting() { final var newUserEmail = "user@example.com"; - var testCreationUser = Mockito.mock(UserDto.class); + var testCreationUser = Mockito.mock(AbstractBaseUserDto.class); when(testCreationUser.getEmail()).thenReturn(newUserEmail); Mockito.when(userServiceMock.loadUserByUsername(anyString())) @@ -124,7 +124,7 @@ void createAlreadyExisting() { @Test void updateObject() { var testId = 42L; - var testUpdateUser = Mockito.mock(UserDto.class); + var testUpdateUser = Mockito.mock(AbstractBaseUserDto.class); var updatedUserMock = Mockito.mock(UserStub.class); BaseUserSpec testSpecification = Mockito.mock(BaseUserSpec.class); @@ -216,7 +216,7 @@ void getCurrentLoggedInUser() { @Test void updateCurrentLoggedInUser() { - UserDto updateUserMock = mock(UserDto.class); + AbstractBaseUserDto updateUserMock = mock(AbstractBaseUserDto.class); UserStub persistedUserMock = mock(UserStub.class); when(userServiceMock.selfUpdate(persistedUserMock, updateUserMock)) diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDResetCredentialsControllerTest.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDResetCredentialsControllerTest.java index 544427da..42211ed7 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDResetCredentialsControllerTest.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDResetCredentialsControllerTest.java @@ -25,19 +25,19 @@ import static org.mockito.Mockito.when; import de.frachtwerk.essencium.backend.api.data.user.TestUUIDUser; +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 java.util.UUID; import org.junit.jupiter.api.Test; class UUIDResetCredentialsControllerTest { - private final AbstractUserService> userServiceMock = + private final AbstractUserService> userServiceMock = mock(AbstractUserService.class); - private final ResetCredentialsController> testSubject = - new ResetCredentialsController(userServiceMock); + private final ResetCredentialsController> + testSubject = new ResetCredentialsController(userServiceMock); @Test void requestResetToken() { diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserController.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserController.java index 0d122da9..e0426bb6 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserController.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserController.java @@ -22,13 +22,17 @@ import de.frachtwerk.essencium.backend.api.data.service.UserServiceStubUUID; import de.frachtwerk.essencium.backend.api.data.user.TestUUIDUser; import de.frachtwerk.essencium.backend.model.assembler.UUIDUserAssembler; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import de.frachtwerk.essencium.backend.repository.specification.BaseUserSpec; import java.util.UUID; public class UUIDUserController extends AbstractUserController< - TestUUIDUser, TestUUIDUser, UserDto, BaseUserSpec, UUID> { + TestUUIDUser, + TestUUIDUser, + AbstractBaseUserDto, + BaseUserSpec, + UUID> { protected UUIDUserController(UserServiceStubUUID userService, UUIDUserAssembler assembler) { super(userService, assembler); diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserControllerTest.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserControllerTest.java index 0cca5769..650b93a4 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserControllerTest.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/controller/UUIDUserControllerTest.java @@ -31,7 +31,7 @@ import de.frachtwerk.essencium.backend.api.data.service.UserServiceStubUUID; import de.frachtwerk.essencium.backend.api.data.user.TestUUIDUser; import de.frachtwerk.essencium.backend.model.assembler.UUIDUserAssembler; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import de.frachtwerk.essencium.backend.model.exception.DuplicateResourceException; import de.frachtwerk.essencium.backend.model.representation.assembler.UserRepresentationDefaultAssembler; import de.frachtwerk.essencium.backend.repository.specification.BaseUserSpec; @@ -87,7 +87,7 @@ void findById() { @Test void create() { final var newUserEmail = "user@example.com"; - var testCreationUser = Mockito.mock(UserDto.class); + var testCreationUser = Mockito.mock(AbstractBaseUserDto.class); when(testCreationUser.getEmail()).thenReturn(newUserEmail); var createdUserMock = Mockito.mock(TestUUIDUser.class); @@ -105,7 +105,7 @@ void create() { @Test void createAlreadyExisting() { final var newUserEmail = "user@example.com"; - var testCreationUser = Mockito.mock(UserDto.class); + var testCreationUser = Mockito.mock(AbstractBaseUserDto.class); when(testCreationUser.getEmail()).thenReturn(newUserEmail); Mockito.when(userServiceMock.loadUserByUsername(anyString())) @@ -120,7 +120,7 @@ void createAlreadyExisting() { @Test void updateObject() { var testId = UUID.randomUUID(); - var testUpdateUser = Mockito.mock(UserDto.class); + var testUpdateUser = Mockito.mock(AbstractBaseUserDto.class); var updatedUserMock = Mockito.mock(TestUUIDUser.class); BaseUserSpec testSpecification = Mockito.mock(BaseUserSpec.class); @@ -212,7 +212,7 @@ void getCurrentLoggedInUser() { @Test void updateCurrentLoggedInUser() { - var updateUserMock = mock(UserDto.class); + var updateUserMock = mock(AbstractBaseUserDto.class); var persistedUserMock = mock(TestUUIDUser.class); when(userServiceMock.selfUpdate(persistedUserMock, updateUserMock)) diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/ContactMailServiceTest.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/ContactMailServiceTest.java index 9db3a7c5..76e157d3 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/ContactMailServiceTest.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/ContactMailServiceTest.java @@ -31,8 +31,8 @@ import de.frachtwerk.essencium.backend.configuration.properties.MailConfigProperties; import de.frachtwerk.essencium.backend.model.AbstractBaseUser; import de.frachtwerk.essencium.backend.model.Mail; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import de.frachtwerk.essencium.backend.model.dto.ContactRequestDto; -import de.frachtwerk.essencium.backend.model.dto.UserDto; import de.frachtwerk.essencium.backend.model.exception.InvalidInputException; import de.frachtwerk.essencium.backend.model.exception.ResourceNotFoundException; import de.frachtwerk.essencium.backend.model.mail.ContactMessageData; @@ -52,7 +52,7 @@ class ContactMailServiceTest { private final SimpleMailService mailServiceMock = mock(SimpleMailService.class); - private final AbstractUserService> userServiceMock = + private final AbstractUserService> userServiceMock = mock(AbstractUserService.class); private final MailConfigProperties.ContactMail contactMailConfigPropertiesMock = mock(MailConfigProperties.ContactMail.class); diff --git a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/UserServiceTest.java b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/UserServiceTest.java index 968811e7..e90b6a11 100644 --- a/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/UserServiceTest.java +++ b/essencium-backend/src/test/java/de/frachtwerk/essencium/backend/service/UserServiceTest.java @@ -12,8 +12,8 @@ import de.frachtwerk.essencium.backend.api.data.user.UserStub; import de.frachtwerk.essencium.backend.model.Role; import de.frachtwerk.essencium.backend.model.UserInfoEssentials; +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.NotAllowedException; import de.frachtwerk.essencium.backend.model.exception.ResourceNotFoundException; import de.frachtwerk.essencium.backend.model.exception.ResourceUpdateException; @@ -119,7 +119,7 @@ void defaultUser() { @Test @DisplayName("Should create a User with a custom role from a UserDTO") void customRole(@TestRole(name = "SPECIAL_ROLE") Role testRole) { - UserDto userDto = + AbstractBaseUserDto userDto = TestObjects.users().userDtoBuilder().withRoles(testRole.getName()).buildDefaultUserDto(); givenMocks(configure(userRepositoryMock).returnAlwaysPassedObjectOnSave()) @@ -137,7 +137,7 @@ void customRole(@TestRole(name = "SPECIAL_ROLE") Role testRole) { @Test @DisplayName("Should create a User with password, where only the encoded String is present") void passwordPresent() { - UserDto userDto = + AbstractBaseUserDto userDto = TestObjects.users() .userDtoBuilder() .withPassword(TEST_PASSWORD_PLAIN) @@ -160,7 +160,7 @@ void passwordPresent() { @DisplayName( "Should create a new random password if password is null / empty and request is local") void passwordNullEmptyOrBlank(String password) { - UserDto userDto = + AbstractBaseUserDto userDto = TestObjects.users() .userDtoBuilder() .withPassword(password) @@ -197,7 +197,7 @@ void passwordNullEmptyOrBlank(String password) { @DisplayName("Should not send a email if User creation source is external") void externalAuth() { final String NEW_EXTERNAL_SOURCE = "ldap"; - UserDto userDto = + AbstractBaseUserDto userDto = TestObjects.users() .userDtoBuilder() .withEmail(TEST_USERNAME) @@ -226,7 +226,7 @@ void externalAuth() { class UpdateUser { @Test @DisplayName("Should throw a ResourceUpdateException when updating with an inconsistent ID") - void inconsistentId(UserDto userDto) { + void inconsistentId(AbstractBaseUserDto userDto) { givenMocks(configure(userRepositoryMock).anotherAdminExistsInTheSystem()); assertThrows( @@ -235,7 +235,7 @@ void inconsistentId(UserDto userDto) { @Test @DisplayName("Should throw a ResourceNotFoundException when updating a non existing User") - void userNotFound(UserDto userDto) { + void userNotFound(AbstractBaseUserDto userDto) { givenMocks(configure(userRepositoryMock).anotherAdminExistsInTheSystem()); assertThrows( @@ -244,7 +244,7 @@ void userNotFound(UserDto userDto) { @Test @DisplayName("Should update a Users password successfully") - void updateSuccessful(UserDto userToUpdateDto, UserStub existingUser) { + void updateSuccessful(AbstractBaseUserDto userToUpdateDto, UserStub existingUser) { userToUpdateDto.setPassword(TEST_PASSWORD_PLAIN); givenMocks( @@ -265,7 +265,7 @@ void updateSuccessful(UserDto userToUpdateDto, UserStub existingUser) { @Test @DisplayName("Should not update a Users password if the User is external") void testNoPasswordUpdateForExternalUser( - UserDto userToUpdateDto, + AbstractBaseUserDto userToUpdateDto, @TestUserStub(type = TestUserStubType.EXTERNAL) UserStub existingUser) { userToUpdateDto.setPassword(TEST_PASSWORD_PLAIN); @@ -727,7 +727,7 @@ class SelfUpdate { @Test @DisplayName("Should throw a RuntimeException if self update a null User") - void testExceptionOnNullUser(UserDto userDto) { + void testExceptionOnNullUser(AbstractBaseUserDto userDto) { assertThrows(RuntimeException.class, () -> testSubject.selfUpdate(null, userDto)); } @@ -735,7 +735,7 @@ void testExceptionOnNullUser(UserDto userDto) { @DisplayName("Should self update the logged in User by DTO") void testUpdateUserByDto( UserStub existingUser, UsernamePasswordAuthenticationToken loggedInPrincipal) { - UserDto updateDto = TestObjects.users().defaultUserUpdateDto(); + AbstractBaseUserDto updateDto = TestObjects.users().defaultUserUpdateDto(); givenMocks(configure(userRepositoryMock).returnAlwaysPassedObjectOnSave()); @@ -759,7 +759,7 @@ void testUpdateUserByDto( @DisplayName("Should self update the logged in User by fields") void testUpdateUserByFields( UserStub existingUser, UsernamePasswordAuthenticationToken loggedInPrincipal) { - UserDto updateDto = TestObjects.users().defaultUserUpdateDto(); + AbstractBaseUserDto updateDto = TestObjects.users().defaultUserUpdateDto(); PATCH_FIELDS.putAll( Map.of( diff --git a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/AuthenticationControllerIntegrationTest.java b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/AuthenticationControllerIntegrationTest.java index 8ff2da8b..cc602b68 100644 --- a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/AuthenticationControllerIntegrationTest.java +++ b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/AuthenticationControllerIntegrationTest.java @@ -37,7 +37,7 @@ import de.frachtwerk.essencium.backend.model.dto.LoginRequest; import de.frachtwerk.essencium.backend.service.RoleService; import de.frachtwerk.essencium.backend.test.integration.model.TestUser; -import de.frachtwerk.essencium.backend.test.integration.model.dto.TestUserDto; +import de.frachtwerk.essencium.backend.test.integration.model.dto.TestAbstractBaseUserDto; import de.frachtwerk.essencium.backend.test.integration.repository.TestBaseUserRepository; import de.frachtwerk.essencium.backend.test.integration.util.TestingUtils; import de.frachtwerk.essencium.backend.test.integration.util.extension.WireMockExtension; @@ -142,7 +142,7 @@ public void setupSingle() { testingUtils.createUser(testingUtils.getRandomUser()))); testingUtils.clearUsers(); testingUtils.createUser( - TestUserDto.builder() + TestAbstractBaseUserDto.builder() .email(TEST_LDAP_EXISTING_USERNAME) .firstName(TEST_LDAP_EXISTING_FIRST_NAME) .lastName(TEST_LDAP_EXISTING_LAST_NAME) @@ -441,7 +441,7 @@ public void setupSingle() { testingUtils.clearUsers(); testUser = testingUtils.createUser( - TestUserDto.builder() + TestAbstractBaseUserDto.builder() .email(TEST_OAUTH_EXISTING_USERNAME) .firstName(TEST_OAUTH_EXISTING_FIRST_NAME) .lastName(TEST_OAUTH_EXISTING_LAST_NAME) diff --git a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/TestUserController.java b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/TestUserController.java index 0c9bb247..6abf9aa8 100644 --- a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/TestUserController.java +++ b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/TestUserController.java @@ -23,14 +23,14 @@ import de.frachtwerk.essencium.backend.repository.specification.BaseUserSpec; import de.frachtwerk.essencium.backend.test.integration.model.TestUser; import de.frachtwerk.essencium.backend.test.integration.model.assembler.TestUserAssembler; -import de.frachtwerk.essencium.backend.test.integration.model.dto.TestUserDto; +import de.frachtwerk.essencium.backend.test.integration.model.dto.TestAbstractBaseUserDto; import de.frachtwerk.essencium.backend.test.integration.service.TestUserService; import org.springframework.web.bind.annotation.RestController; @RestController public class TestUserController extends AbstractUserController< - TestUser, TestUser, TestUserDto, BaseUserSpec, Long> { + TestUser, TestUser, TestAbstractBaseUserDto, BaseUserSpec, Long> { protected TestUserController(TestUserService userService, TestUserAssembler assembler) { super(userService, assembler); diff --git a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/UserControllerIntegrationTest.java b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/UserControllerIntegrationTest.java index 5b33f843..44faed25 100644 --- a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/UserControllerIntegrationTest.java +++ b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/controller/UserControllerIntegrationTest.java @@ -40,7 +40,7 @@ import de.frachtwerk.essencium.backend.model.dto.PasswordUpdateRequest; import de.frachtwerk.essencium.backend.test.integration.IntegrationTestApplication; import de.frachtwerk.essencium.backend.test.integration.model.TestUser; -import de.frachtwerk.essencium.backend.test.integration.model.dto.TestUserDto; +import de.frachtwerk.essencium.backend.test.integration.model.dto.TestAbstractBaseUserDto; import de.frachtwerk.essencium.backend.test.integration.repository.TestBaseUserRepository; import de.frachtwerk.essencium.backend.test.integration.util.TestingUtils; import jakarta.servlet.ServletContext; @@ -342,7 +342,7 @@ void checkUserControllerUpdate() throws Exception { String newMobile = "01234567889"; String newPhone = "0123456789"; - TestUserDto content = new TestUserDto(); + TestAbstractBaseUserDto content = new TestAbstractBaseUserDto(); content.setId(testUser.getId()); content.setFirstName(newFirstName); content.setLastName(newLastName); @@ -387,7 +387,7 @@ void testRemoveTheAdminRoleFromLastAdminIsForbidden() throws Exception { String newMobile = "01234567889"; String newPhone = "0123456789"; - TestUserDto content = new TestUserDto(); + TestAbstractBaseUserDto content = new TestAbstractBaseUserDto(); content.setId(adminUser.getId()); content.setFirstName(newFirstName); content.setLastName(newLastName); @@ -435,7 +435,7 @@ void testRemoveTheAdminRoleFromNotLastAdminSuccessfully() throws Exception { String newMobile = "01234567889"; String newPhone = "0123456789"; - TestUserDto content = new TestUserDto(); + TestAbstractBaseUserDto content = new TestAbstractBaseUserDto(); content.setId(secondAdmin.getId()); content.setFirstName(newFirstName); content.setLastName(newLastName); @@ -558,7 +558,7 @@ void testUnauthorizedWhenBearerPrefixMissing() throws Exception { @Test void testUpdateSelfByDto() throws Exception { - final TestUserDto updateDto = new TestUserDto(); + final TestAbstractBaseUserDto updateDto = new TestAbstractBaseUserDto(); updateDto.setFirstName("Elon"); updateDto.setLastName("Musk"); updateDto.setPhone("0123456"); @@ -606,7 +606,7 @@ void testUpdateSelfByIndividualFields() throws Exception { @Test void testUpdateSelfWithMissingProperties() throws Exception { - final TestUserDto updateDto = new TestUserDto(); + final TestAbstractBaseUserDto updateDto = new TestAbstractBaseUserDto(); updateDto.setFirstName("Elon"); // lastName missing final String updateJson = objectMapper.writeValueAsString(updateDto); @@ -640,7 +640,7 @@ void testUpdateUserPassword() throws Exception { final ObjectMapper localOm = JsonMapper.builder().configure(MapperFeature.USE_ANNOTATIONS, false).build(); - TestUserDto dto = testingUtils.getRandomUser(); + TestAbstractBaseUserDto dto = testingUtils.getRandomUser(); TestUser localTestUser = testingUtils.createUser(dto); dto.setId(localTestUser.getId()); @@ -662,7 +662,7 @@ void testUpdateUserPasswordTooWeak() throws Exception { .configure(MapperFeature.USE_ANNOTATIONS, false) .build(); // otherwise, 'password' field won't be serialized - TestUserDto dto = testingUtils.getRandomUser(); + TestAbstractBaseUserDto dto = testingUtils.getRandomUser(); TestUser localTestUser = testingUtils.createUser(dto); dto.setId(localTestUser.getId()); @@ -750,7 +750,7 @@ void testTerminateUserSession() throws Exception { @Test void testCreateUser() throws Exception { - final TestUserDto dto = testingUtils.getRandomUser(); + final TestAbstractBaseUserDto dto = testingUtils.getRandomUser(); mockMvc .perform( @@ -766,7 +766,7 @@ void testCreateUserWeakPassword() throws Exception { final ObjectMapper localOm = JsonMapper.builder().configure(MapperFeature.USE_ANNOTATIONS, false).build(); - final TestUserDto dto = testingUtils.getRandomUser(); + final TestAbstractBaseUserDto dto = testingUtils.getRandomUser(); dto.setPassword("a"); mockMvc diff --git a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/model/dto/TestUserDto.java b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/model/dto/TestAbstractBaseUserDto.java similarity index 67% rename from essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/model/dto/TestUserDto.java rename to essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/model/dto/TestAbstractBaseUserDto.java index b8ad3305..662c29b6 100644 --- a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/model/dto/TestUserDto.java +++ b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/model/dto/TestAbstractBaseUserDto.java @@ -1,6 +1,6 @@ package de.frachtwerk.essencium.backend.test.integration.model.dto; -import de.frachtwerk.essencium.backend.model.dto.UserDto; +import de.frachtwerk.essencium.backend.model.dto.AbstractBaseUserDto; import lombok.AllArgsConstructor; import lombok.Data; import lombok.EqualsAndHashCode; @@ -10,4 +10,4 @@ @AllArgsConstructor @SuperBuilder(toBuilder = true) @Data -public class TestUserDto extends UserDto {} +public class TestAbstractBaseUserDto extends AbstractBaseUserDto {} diff --git a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/security/oauth2/OAuth2SuccessHandlerTest.java b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/security/oauth2/OAuth2SuccessHandlerTest.java index bc3791ad..91371fc5 100644 --- a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/security/oauth2/OAuth2SuccessHandlerTest.java +++ b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/security/oauth2/OAuth2SuccessHandlerTest.java @@ -31,7 +31,7 @@ import de.frachtwerk.essencium.backend.service.JwtTokenService; import de.frachtwerk.essencium.backend.service.RoleService; import de.frachtwerk.essencium.backend.test.integration.model.TestUser; -import de.frachtwerk.essencium.backend.test.integration.model.dto.TestUserDto; +import de.frachtwerk.essencium.backend.test.integration.model.dto.TestAbstractBaseUserDto; import de.frachtwerk.essencium.backend.test.integration.service.TestUserService; import jakarta.servlet.ServletException; import jakarta.servlet.http.Cookie; @@ -59,7 +59,7 @@ class OAuth2SuccessHandlerTest { void testOnAuthenticationSuccessDoNothingWithoutUserEmail() throws ServletException, IOException { OAuth2ConfigProperties oAuth2ConfigProperties = new OAuth2ConfigProperties(); - OAuth2SuccessHandler oAuth2SuccessHandler = + OAuth2SuccessHandler oAuth2SuccessHandler = new OAuth2SuccessHandler<>( tokenServiceMock, userServiceMock, @@ -105,7 +105,7 @@ void testOnAuthenticationSuccessCreateUserWithGivenAndFamilyName() oAuth2ConfigProperties.setAllowSignup(true); oAuth2ConfigProperties.setDefaultRedirectUrl("http://localhost:8080"); - OAuth2SuccessHandler oAuth2SuccessHandler = + OAuth2SuccessHandler oAuth2SuccessHandler = new OAuth2SuccessHandler<>( tokenServiceMock, userServiceMock, @@ -168,7 +168,7 @@ void testOnAuthenticationSuccessCreateUserWithFullNameGiven() OAuth2ConfigProperties oAuth2ConfigProperties = new OAuth2ConfigProperties(); oAuth2ConfigProperties.setAllowSignup(true); - OAuth2SuccessHandler oAuth2SuccessHandler = + OAuth2SuccessHandler oAuth2SuccessHandler = new OAuth2SuccessHandler<>( tokenServiceMock, userServiceMock, @@ -230,7 +230,7 @@ void testOnAuthenticationSuccessCreateUserWithOutUserInfo() throws ServletExcept OAuth2ConfigProperties oAuth2ConfigProperties = new OAuth2ConfigProperties(); oAuth2ConfigProperties.setAllowSignup(true); - OAuth2SuccessHandler oAuth2SuccessHandler = + OAuth2SuccessHandler oAuth2SuccessHandler = new OAuth2SuccessHandler<>( tokenServiceMock, userServiceMock, diff --git a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/service/TestUserService.java b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/service/TestUserService.java index 0c32b106..b93d5ee7 100644 --- a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/service/TestUserService.java +++ b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/service/TestUserService.java @@ -26,7 +26,7 @@ import de.frachtwerk.essencium.backend.service.RoleService; import de.frachtwerk.essencium.backend.service.UserMailService; import de.frachtwerk.essencium.backend.test.integration.model.TestUser; -import de.frachtwerk.essencium.backend.test.integration.model.dto.TestUserDto; +import de.frachtwerk.essencium.backend.test.integration.model.dto.TestAbstractBaseUserDto; import de.frachtwerk.essencium.backend.test.integration.repository.TestBaseUserRepository; import jakarta.validation.constraints.NotNull; import java.util.HashSet; @@ -35,7 +35,7 @@ import org.springframework.stereotype.Service; @Service -public class TestUserService extends AbstractUserService { +public class TestUserService extends AbstractUserService { protected TestUserService( @NotNull TestBaseUserRepository userRepository, @@ -54,7 +54,7 @@ protected TestUserService( } @Override - protected @NotNull TestUser convertDtoToEntity(@NotNull E entity) { + protected @NotNull TestUser convertDtoToEntity(@NotNull E entity) { HashSet roles = entity.getRoles().stream() .map(roleService::getByName) @@ -74,7 +74,7 @@ protected TestUserService( } @Override - public TestUserDto getNewUser() { - return new TestUserDto(); + public TestAbstractBaseUserDto getNewUser() { + return new TestAbstractBaseUserDto(); } } diff --git a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/util/TestingUtils.java b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/util/TestingUtils.java index afa9e119..f4fb3c2d 100644 --- a/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/util/TestingUtils.java +++ b/essencium-backend/src/testIntegration/java/de/frachtwerk/essencium/backend/test/integration/util/TestingUtils.java @@ -34,7 +34,7 @@ import de.frachtwerk.essencium.backend.repository.RightRepository; import de.frachtwerk.essencium.backend.repository.RoleRepository; import de.frachtwerk.essencium.backend.test.integration.model.TestUser; -import de.frachtwerk.essencium.backend.test.integration.model.dto.TestUserDto; +import de.frachtwerk.essencium.backend.test.integration.model.dto.TestAbstractBaseUserDto; import de.frachtwerk.essencium.backend.test.integration.service.TestUserService; import jakarta.annotation.Nullable; import jakarta.validation.constraints.NotNull; @@ -111,7 +111,7 @@ public TestUser createUser( @NotNull Role role) { final String sanitizedUsername = Objects.requireNonNullElseGet(username, TestingUtils::randomUsername); - TestUserDto user = new TestUserDto(); + TestAbstractBaseUserDto user = new TestAbstractBaseUserDto(); user.setEnabled(true); user.setEmail(sanitizedUsername); user.setPassword(DEFAULT_PASSWORD); @@ -122,14 +122,14 @@ public TestUser createUser( return createUser(user); } - public TestUser createUser(TestUserDto user) { + public TestUser createUser(TestAbstractBaseUserDto user) { final TestUser createdUser = userService.create(user); registry.add(createdUser.getId()); return createdUser; } - public TestUserDto getRandomUser() { - return TestUserDto.builder() + public TestAbstractBaseUserDto getRandomUser() { + return TestAbstractBaseUserDto.builder() .email(randomUsername()) .enabled(true) .password(DEFAULT_PASSWORD)