This commit is contained in:
2023-06-19 19:15:02 +04:00
parent 0fb27f8d13
commit 1c8d6ccfd0
5 changed files with 197 additions and 0 deletions

View File

@@ -0,0 +1,36 @@
package com.webproglabs.lab1.lab34.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.webproglabs.lab1.lab34.model.Category;
import javax.validation.constraints.NotNull;
import java.util.List;
public class CategoryDto {
private Long Id;
@NotNull
private String Name;
@NotNull
private List<ProductDto> Products;
public CategoryDto(Category Category) {
this.Id = Category.getId();
this.Name = Category.getName();
this.Products = Category.getProducts().stream().map(ProductDto::new).toList();
}
public CategoryDto(){}
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
public Long getId() {
return Id;
}
public String getName() {
return Name;
}
public List<ProductDto> getProducts() {
return Products;
}
}

View File

@@ -0,0 +1,33 @@
package com.webproglabs.lab1.lab34.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.webproglabs.lab1.lab34.model.Product;
import javax.validation.constraints.NotNull;
public class ProductDto {
private Long Id;
@NotNull
private String Name;
@NotNull
private Double Cost;
public ProductDto(Product Product) {
this.Id = Product.getId();
this.Name = Product.getName();
this.Cost = Product.getCost();
}
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
public Long getId() {
return Id;
}
public String getName() {
return Name;
}
public Double getCost() { return Cost; }
}

View File

@@ -0,0 +1,36 @@
package com.webproglabs.lab1.lab34.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.webproglabs.lab1.lab34.model.Shop;
import javax.validation.constraints.NotNull;
import java.util.List;
public class ShopDto {
private Long Id;
@NotNull
private String Name;
@NotNull
private List<ProductDto> Products;
public ShopDto(Shop Shop) {
this.Id = Shop.getId();
this.Name = Shop.getName();
this.Products = Shop.getProducts().stream().map(ProductDto::new).toList();
}
public ShopDto() {}
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
public Long getId() {
return Id;
}
public String getName() {
return Name;
}
public List<ProductDto> getProducts() {
return Products;
}
}

View File

@@ -0,0 +1,52 @@
package com.webproglabs.lab1.lab34.dto;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.webproglabs.lab1.lab34.model.User;
import com.webproglabs.lab1.lab34.model.enums.UserRole;
import javax.validation.constraints.NotNull;
import java.util.List;
public class UserDto {
private Long Id;
@NotNull
private String Login;
@NotNull
private String Password;
@NotNull
private List<ProductDto> Products;
@NotNull
private UserRole Role;
public UserDto(User User) {
this.Id = User.getId();
this.Login = User.getLogin();
this.Password = User.getPassword();
this.Role = User.getRole();
this.Products = User.getProducts().stream().map(ProductDto::new).toList();
}
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
public Long getId() {
return Id;
}
public String getLogin() {
return Login;
}
public String getPassword() {
return Password;
}
public List<ProductDto> getProducts() {
return Products;
}
public UserRole getRole() {
return Role;
}
}

View File

@@ -0,0 +1,40 @@
package com.webproglabs.lab1.lab34.dto;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
public class UserSignUpDto {
@NotBlank
@Size(min = 3, max = 64)
private String login;
@NotBlank
@Size(min = 6, max = 64)
private String password;
@NotBlank
@Size(min = 6, max = 64)
private String passwordConfirm;
public String getLogin() {
return login;
}
public void setLogin(String login) {
this.login = login;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getPasswordConfirm() {
return passwordConfirm;
}
public void setPasswordConfirm(String passwordConfirm) {
this.passwordConfirm = passwordConfirm;
}
}