From 842565e0a1992eca579992fa5013ebce13c2259a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Gargalovi=C4=8D?= <xgargal@fi.muni.cz> Date: Sun, 26 Mar 2023 10:58:13 +0200 Subject: [PATCH] adding validation --- .../java/org/fuseri/model/dto/user/AddressDto.java | 11 ++++++----- .../fuseri/model/dto/user/UserAddLanguageDto.java | 4 +++- .../org/fuseri/model/dto/user/UserCreateDto.java | 14 +++++++++----- .../java/org/fuseri/model/dto/user/UserDto.java | 11 ++++++----- .../org/fuseri/model/dto/user/UserLoginDto.java | 4 +++- .../modulelanguageschool/user/UserController.java | 12 +++++++----- 6 files changed, 34 insertions(+), 22 deletions(-) diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/AddressDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/AddressDto.java index 4932d99b..ff0af999 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/AddressDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/AddressDto.java @@ -1,19 +1,20 @@ package org.fuseri.model.dto.user; +import jakarta.validation.constraints.NotBlank; import lombok.Getter; import lombok.Setter; @Getter @Setter public class AddressDto { - + @NotBlank private String country; - + @NotBlank private String city; - + @NotBlank private String street; - + @NotBlank private String houseNumber; - + @NotBlank private String zip; } diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/UserAddLanguageDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/UserAddLanguageDto.java index 23862ac0..ebe92f4f 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/UserAddLanguageDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/UserAddLanguageDto.java @@ -1,12 +1,14 @@ package org.fuseri.model.dto.user; +import jakarta.validation.constraints.NotNull; import org.fuseri.model.dto.common.DomainObjectDto; import org.fuseri.model.dto.course.LanguageTypeDto; import org.fuseri.model.dto.course.ProficiencyLevelDto; public class UserAddLanguageDto extends DomainObjectDto { + @NotNull LanguageTypeDto language; - + @NotNull ProficiencyLevelDto proficiency; } diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/UserCreateDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/UserCreateDto.java index ce561102..69059692 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/UserCreateDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/UserCreateDto.java @@ -1,5 +1,8 @@ package org.fuseri.model.dto.user; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.NonNull; import org.fuseri.model.dto.common.DomainObjectDto; import lombok.Getter; import lombok.Setter; @@ -8,15 +11,16 @@ import lombok.Setter; @Setter public class UserCreateDto extends DomainObjectDto { + @NotBlank private String username; - + @NotBlank private String password; - + @NotBlank private String email; - + @NotBlank private String firstName; - + @NotBlank private String lastName; - + @NotNull private AddressDto address; } diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/UserDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/UserDto.java index 0e260ede..fce12aab 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/UserDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/UserDto.java @@ -1,5 +1,7 @@ package org.fuseri.model.dto.user; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import org.fuseri.model.dto.common.DomainObjectDto; import lombok.Getter; import lombok.Setter; @@ -7,15 +9,14 @@ import lombok.Setter; @Getter @Setter public class UserDto extends DomainObjectDto { - + @NotBlank private String username; - + @NotBlank private String email; - + @NotBlank private String firstName; - + @NotBlank private String lastName; - private AddressDto address; diff --git a/application/model/src/main/java/org/fuseri/model/dto/user/UserLoginDto.java b/application/model/src/main/java/org/fuseri/model/dto/user/UserLoginDto.java index a028b6a5..387a9dcb 100644 --- a/application/model/src/main/java/org/fuseri/model/dto/user/UserLoginDto.java +++ b/application/model/src/main/java/org/fuseri/model/dto/user/UserLoginDto.java @@ -1,5 +1,6 @@ package org.fuseri.model.dto.user; +import jakarta.validation.constraints.NotBlank; import lombok.Getter; import lombok.Setter; import org.fuseri.model.dto.common.DomainObjectDto; @@ -7,7 +8,8 @@ import org.fuseri.model.dto.common.DomainObjectDto; @Getter @Setter public class UserLoginDto extends DomainObjectDto { + @NotBlank private String username; - + @NotBlank private String password; } diff --git a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserController.java b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserController.java index c88d4f64..31cfd86e 100644 --- a/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserController.java +++ b/application/module-language-school/src/main/java/org/fuseri/modulelanguageschool/user/UserController.java @@ -8,8 +8,10 @@ import org.fuseri.model.dto.user.UserDto; import org.fuseri.model.dto.user.UserLoginDto; import org.fuseri.modulelanguageschool.course.Course; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import jakarta.validation.Valid; +import jakarta.validation.constraints.PositiveOrZero; + import java.util.ArrayList; import java.util.List; @@ -34,7 +36,7 @@ public class UserController { } @PostMapping - public UserDto create(@RequestBody UserCreateDto dto) { + public UserDto create(@Valid @RequestBody UserCreateDto dto) { return new UserDto(dto.getUsername(),dto.getEmail(),dto.getFirstName(),dto.getLastName(),dto.getAddress()); } @@ -44,13 +46,13 @@ public class UserController { } @PutMapping("/update/{id}") - public UserDto update(@PathVariable String id, @RequestBody UserCreateDto user) { + public UserDto update(@PositiveOrZero @PathVariable String id,@Valid @RequestBody UserCreateDto user) { return new UserDto(user.getUsername(),user.getEmail(),user.getFirstName(),user.getLastName(),user.getAddress()); } @GetMapping("/all") - public Result<UserDto> findAll(@RequestParam int page) { + public Result<UserDto> findAll(@PositiveOrZero @RequestParam int page) { var res = new Result<UserDto>(); res.setItems(List.of(new UserDto("spracher","spracher@gmail.com","Sprach","MeNot",new AddressDto()) )); @@ -81,7 +83,7 @@ public class UserController { } @PutMapping("/addLanguage/{id}") - public String addLanguage(@PathVariable String id, @RequestBody UserAddLanguageDto body) { + public String addLanguage(@PathVariable String id,@Valid @RequestBody UserAddLanguageDto body) { return "added Absolutely Nothing successfully!"; } -- GitLab