Fix imports in project
This commit is contained in:
parent
1302a98766
commit
4afbe40da5
36 changed files with 89 additions and 44 deletions
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
|
|
@ -1,3 +1,4 @@
|
|||
{
|
||||
"java.compile.nullAnalysis.mode": "disabled"
|
||||
"java.compile.nullAnalysis.mode": "disabled",
|
||||
"editor.fontFamily": "FiraCode Nerd Font Mono"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package main.java.models.enums;
|
||||
package models.enums;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package main.java.models.exceptions;
|
||||
package models.exceptions;
|
||||
|
||||
public class ResourceNotFoundException extends RuntimeException {
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
package main.java.models.exceptions;
|
||||
package models.exceptions;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@Getter
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
package main.java.models.exceptions;
|
||||
package models.exceptions;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.List;
|
||||
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
|
|
|||
|
|
@ -1,22 +1,21 @@
|
|||
package main.java.models.requests;
|
||||
package models.requests;
|
||||
|
||||
import java.util.Set;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.Email;
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.Size;
|
||||
import main.java.models.enums.ProfileEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
|
||||
import lombok.With;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import models.enums.ProfileEnum;
|
||||
|
||||
@With
|
||||
public record CreateUserRequest(
|
||||
@Schema(description = "Name of the user", example = "John Doe", required = true) @NotEmpty(message = "Name cannot be empty") @Size(min = 3, max = 50, message = "Name must contain between 3 and 50 characters") String name,
|
||||
@Schema(description = "Name of the user", example = "John Doe", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "Name cannot be empty") @Size(min = 3, max = 50, message = "Name must contain between 3 and 50 characters") String name,
|
||||
|
||||
@Schema(description = "Email of the user", example = "rayanvix@gmail.com") @Email(message = "Invalid email format") @NotBlank(message = "Email cannot be blank") @Size(min = 6, max = 50, message = "Email must contain between 6 and 50 characters") String email,
|
||||
@Schema(description = "Email of the user", example = "rayanvix@gmail.com") @Email(message = "Invalid email format") @NotBlank(message = "Email cannot be blank") @Size(min = 6, max = 50, message = "Email must contain between 6 and 50 characters") String email,
|
||||
|
||||
@Schema(description = "Password of the user", example = "P@ssw0rd!", required = true) @NotEmpty(message = "Password cannot be empty") @Size(min = 6, max = 20, message = "Password must contain between 6 and 20 characters") @NotBlank(message = "Password cannot be blank") String password,
|
||||
@Schema(description = "Password of the user", example = "P@ssw0rd!", requiredMode = Schema.RequiredMode.REQUIRED) @NotEmpty(message = "Password cannot be empty") @Size(min = 6, max = 20, message = "Password must contain between 6 and 20 characters") @NotBlank(message = "Password cannot be blank") String password,
|
||||
|
||||
@Schema(description = "Profiles assigned to the user", example = "[\" ROLE_ADMIN \", \"ROLE_CUSTOMER \" ]", required = true) Set<ProfileEnum> profiles) {
|
||||
@Schema(description = "Profiles assigned to the user", example = "[\" ROLE_ADMIN \", \"ROLE_CUSTOMER \" ]", requiredMode = Schema.RequiredMode.REQUIRED) Set<ProfileEnum> profiles) {
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
package main.java.models.responses;
|
||||
package models.responses;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Set;
|
||||
import main.java.models.enums.*;
|
||||
import models.enums.ProfileEnum;
|
||||
|
||||
public record UserResponse(
|
||||
String id,
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -1,11 +1,11 @@
|
|||
main/java/models/exceptions/ResourceNotFoundException.class
|
||||
main/java/models/exceptions/ValidationException$ValidationExceptionBuilderImpl.class
|
||||
main/java/models/exceptions/ValidationException$FieldError.class
|
||||
main/java/models/exceptions/ValidationException.class
|
||||
main/java/models/exceptions/StandardError$StandardErrorBuilder.class
|
||||
main/java/models/exceptions/StandardError$StandardErrorBuilderImpl.class
|
||||
main/java/models/responses/UserResponse.class
|
||||
main/java/models/enums/ProfileEnum.class
|
||||
main/java/models/exceptions/StandardError.class
|
||||
main/java/models/exceptions/ValidationException$ValidationExceptionBuilder.class
|
||||
main/java/models/requests/CreateUserRequest.class
|
||||
models/exceptions/ValidationException$ValidationExceptionBuilder.class
|
||||
models/exceptions/ValidationException$ValidationExceptionBuilderImpl.class
|
||||
models/exceptions/ResourceNotFoundException.class
|
||||
models/exceptions/StandardError$StandardErrorBuilderImpl.class
|
||||
models/responses/UserResponse.class
|
||||
models/requests/CreateUserRequest.class
|
||||
models/exceptions/ValidationException$FieldError.class
|
||||
models/exceptions/ValidationException.class
|
||||
models/exceptions/StandardError$StandardErrorBuilder.class
|
||||
models/enums/ProfileEnum.class
|
||||
models/exceptions/StandardError.class
|
||||
|
|
|
|||
22
rest.http
Normal file
22
rest.http
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
### Get user by id (replace {{id}} or use a concrete id like 1)
|
||||
GET http://175.15.15.91:8080/api/users/692cca264e957945b99f731a
|
||||
Accept: application/json
|
||||
# Authorization: Bearer {{token}}
|
||||
|
||||
### Find all users
|
||||
GET http://175.15.15.91:8080/api/users
|
||||
Accept: application/json
|
||||
# Authorization: Bearer {{token}}
|
||||
|
||||
### Create a new user
|
||||
POST http://175.15.15.91:8080/api/users
|
||||
Content-Type: application/json
|
||||
Accept: application/json
|
||||
# Authorization: Bearer {{token}}
|
||||
|
||||
{
|
||||
"name": "John Doe",
|
||||
"email": "john.doe@example.com",
|
||||
"password": "Pa$$w0rd",
|
||||
"role": "user"
|
||||
}
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
package br.com.rayankonecny.userserviceapi.controller;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
|
|
@ -10,15 +12,16 @@ import org.springframework.web.bind.annotation.RequestBody;
|
|||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.Parameter;
|
||||
import io.swagger.v3.oas.annotations.media.ArraySchema;
|
||||
import io.swagger.v3.oas.annotations.media.Content;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
||||
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import jakarta.validation.Valid;
|
||||
import main.java.models.exceptions.StandardError;
|
||||
import main.java.models.requests.CreateUserRequest;
|
||||
import main.java.models.responses.UserResponse;
|
||||
import models.exceptions.StandardError;
|
||||
import models.requests.CreateUserRequest;
|
||||
import models.responses.UserResponse;
|
||||
|
||||
@Tag(name = "User Controller", description = "Controller responsible for user operations")
|
||||
@RequestMapping("/api/users")
|
||||
|
|
@ -42,4 +45,12 @@ public interface UserController {
|
|||
})
|
||||
@PostMapping
|
||||
ResponseEntity<Void> save(@Valid @RequestBody final CreateUserRequest createUserRequest);
|
||||
|
||||
@Operation(summary = "Find all users", description = "Retrieve a list of all users")
|
||||
@ApiResponses(value = {
|
||||
@ApiResponse(responseCode = "200", description = "Users retrieved successfully", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, array = @ArraySchema(schema = @Schema(implementation = UserResponse.class)))),
|
||||
@ApiResponse(responseCode = "500", description = "Internal server error", content = @Content(mediaType = MediaType.APPLICATION_JSON_VALUE, schema = @Schema(implementation = StandardError.class))),
|
||||
})
|
||||
@GetMapping
|
||||
ResponseEntity<List<UserResponse>> findAll();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,12 +9,11 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
|
|||
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
|
||||
import main.java.models.exceptions.ValidationException;
|
||||
import main.java.models.exceptions.ResourceNotFoundException;
|
||||
import main.java.models.exceptions.StandardError;
|
||||
import models.exceptions.ValidationException;
|
||||
import models.exceptions.ResourceNotFoundException;
|
||||
import models.exceptions.StandardError;
|
||||
|
||||
import static java.time.LocalDateTime.now;
|
||||
import static org.springframework.http.HttpStatus.BAD_REQUEST;
|
||||
import static org.springframework.http.HttpStatus.CONFLICT;
|
||||
import static org.springframework.http.HttpStatus.NOT_FOUND;
|
||||
|
||||
|
|
|
|||
|
|
@ -6,11 +6,13 @@ import br.com.rayankonecny.userserviceapi.controller.UserController;
|
|||
import br.com.rayankonecny.userserviceapi.service.UserService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
import main.java.models.requests.CreateUserRequest;
|
||||
import main.java.models.responses.UserResponse;
|
||||
import models.requests.CreateUserRequest;
|
||||
import models.responses.UserResponse;
|
||||
|
||||
import static org.springframework.http.HttpStatus.CREATED;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class UserControllerImpl implements UserController {
|
||||
|
|
@ -28,4 +30,9 @@ public class UserControllerImpl implements UserController {
|
|||
return ResponseEntity.status(CREATED.value()).build();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ResponseEntity<List<UserResponse>> findAll() {
|
||||
return ResponseEntity.ok().body(userService.findAll());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import lombok.AllArgsConstructor;
|
|||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.With;
|
||||
import main.java.models.enums.ProfileEnum;
|
||||
import models.enums.ProfileEnum;
|
||||
|
||||
@With
|
||||
@Data
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@ import org.mapstruct.Mapper;
|
|||
import org.mapstruct.Mapping;
|
||||
|
||||
import br.com.rayankonecny.userserviceapi.entity.User;
|
||||
import main.java.models.requests.CreateUserRequest;
|
||||
import main.java.models.responses.UserResponse;
|
||||
import models.requests.CreateUserRequest;
|
||||
import models.responses.UserResponse;
|
||||
|
||||
import static org.mapstruct.NullValuePropertyMappingStrategy.IGNORE;
|
||||
import static org.mapstruct.NullValueCheckStrategy.ALWAYS;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
package br.com.rayankonecny.userserviceapi.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.springframework.dao.DataIntegrityViolationException;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import br.com.rayankonecny.userserviceapi.mapper.UserMapper;
|
||||
import br.com.rayankonecny.userserviceapi.repository.UserRepository;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import main.java.models.responses.UserResponse;
|
||||
import main.java.models.exceptions.ResourceNotFoundException;
|
||||
import main.java.models.requests.CreateUserRequest;
|
||||
import models.responses.UserResponse;
|
||||
import models.exceptions.ResourceNotFoundException;
|
||||
import models.requests.CreateUserRequest;
|
||||
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
|
|
@ -36,4 +38,10 @@ public class UserService {
|
|||
});
|
||||
}
|
||||
|
||||
}
|
||||
public List<UserResponse> findAll() {
|
||||
return userRepository.findAll()
|
||||
.stream()
|
||||
.map(user -> userMapper.fromEntity(user))
|
||||
.toList();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue