model
This commit is contained in:
parent
8ae10007bb
commit
0fb27f8d13
77
src/main/java/com/webproglabs/lab1/lab34/model/Category.java
Normal file
77
src/main/java/com/webproglabs/lab1/lab34/model/Category.java
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
package com.webproglabs.lab1.lab34.model;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
public class Category {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||||
|
private Long Id;
|
||||||
|
|
||||||
|
@Column(unique = true)
|
||||||
|
private String Name;
|
||||||
|
|
||||||
|
@OneToMany(mappedBy = "Category")
|
||||||
|
private List<Product> Products = new ArrayList<>();
|
||||||
|
|
||||||
|
public Category(String Name) {
|
||||||
|
this.Name = Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Category(){}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Product> getProducts() {
|
||||||
|
return Products;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String Name) {
|
||||||
|
this.Name = Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addProduct(Product Product) {
|
||||||
|
this.Products.add(Product);
|
||||||
|
Product.setCategory(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeProduct(Product Product) {
|
||||||
|
this.Products.remove(Product);
|
||||||
|
Product.setCategory(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProducts (List<Product> Products) {
|
||||||
|
this.Products = Products;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
Category category = (Category) o;
|
||||||
|
return Objects.equals(Id, category.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Category{" +
|
||||||
|
"Id=" + Id +
|
||||||
|
", Name='" + Name +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
}
|
103
src/main/java/com/webproglabs/lab1/lab34/model/Product.java
Normal file
103
src/main/java/com/webproglabs/lab1/lab34/model/Product.java
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
package com.webproglabs.lab1.lab34.model;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
public class Product {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||||
|
private Long Id;
|
||||||
|
|
||||||
|
private String Name;
|
||||||
|
|
||||||
|
public Double Cost;
|
||||||
|
|
||||||
|
@ManyToOne()
|
||||||
|
private Shop Shop;
|
||||||
|
|
||||||
|
@ManyToOne()
|
||||||
|
private Category Category;
|
||||||
|
|
||||||
|
@ManyToMany()
|
||||||
|
private List<User> Users = new ArrayList<>();
|
||||||
|
|
||||||
|
public Product (String Name, Double Cost, Shop Shop, Category Category) {
|
||||||
|
this.Name = Name;
|
||||||
|
this.Shop = Shop;
|
||||||
|
this.Cost = Cost;
|
||||||
|
this.Category = Category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Product(){}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Double getCost(){ return Cost; }
|
||||||
|
|
||||||
|
public Shop getShop() {
|
||||||
|
return Shop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Category getCategory() {
|
||||||
|
return Category;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<User> getUsers() {
|
||||||
|
return Users;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String Name) {
|
||||||
|
this.Name = Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCost(Double Cost) { this.Cost = Cost; }
|
||||||
|
|
||||||
|
public void setShop(Shop Shop) {
|
||||||
|
this.Shop.removeProduct(this);
|
||||||
|
Shop.addProduct(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCategory(Category Category) {
|
||||||
|
this.Category.removeProduct(this);
|
||||||
|
Category.addProduct(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addUser(User User) {
|
||||||
|
Users.add(User);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeUser(User User) {
|
||||||
|
Users.remove(User);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
Product product = (Product) o;
|
||||||
|
return Objects.equals(Id, product.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Product{" +
|
||||||
|
"Id=" + Id +
|
||||||
|
", name='" + Name +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
75
src/main/java/com/webproglabs/lab1/lab34/model/Shop.java
Normal file
75
src/main/java/com/webproglabs/lab1/lab34/model/Shop.java
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
package com.webproglabs.lab1.lab34.model;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
public class Shop {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||||
|
private Long Id;
|
||||||
|
@Column(unique = true)
|
||||||
|
private String Name;
|
||||||
|
@OneToMany(mappedBy = "Shop")
|
||||||
|
private List<Product> Products = new ArrayList<>();
|
||||||
|
|
||||||
|
public Shop(String Name) {
|
||||||
|
this.Name = Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Shop(){}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<Product> getProducts() {
|
||||||
|
return Products;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String Name) {
|
||||||
|
this.Name = Name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addProduct(Product Product) {
|
||||||
|
this.Products.add(Product);
|
||||||
|
Product.setShop(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeProduct(Product Product) {
|
||||||
|
this.Products.remove(Product);
|
||||||
|
Product.setShop(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProducts (List<Product> Products) {
|
||||||
|
this.Products = Products;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
Shop shop = (Shop) o;
|
||||||
|
return Objects.equals(Id, shop.Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(Id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Shop{" +
|
||||||
|
"Id=" + Id +
|
||||||
|
", Name='" + Name +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
100
src/main/java/com/webproglabs/lab1/lab34/model/User.java
Normal file
100
src/main/java/com/webproglabs/lab1/lab34/model/User.java
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
package com.webproglabs.lab1.lab34.model;
|
||||||
|
|
||||||
|
import com.webproglabs.lab1.lab34.model.enums.UserRole;
|
||||||
|
|
||||||
|
import javax.persistence.*;
|
||||||
|
import javax.validation.constraints.NotBlank;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
@Entity
|
||||||
|
@Table(name = "users")
|
||||||
|
public class User {
|
||||||
|
@Id
|
||||||
|
@GeneratedValue(strategy = GenerationType.AUTO)
|
||||||
|
private Long Id;
|
||||||
|
|
||||||
|
@Column(nullable = false, unique = true, length = 64)
|
||||||
|
@NotBlank
|
||||||
|
@Size(min = 3, max = 32)
|
||||||
|
private String login;
|
||||||
|
|
||||||
|
@Column(nullable = false, length = 64)
|
||||||
|
@NotBlank
|
||||||
|
@Size(min = 6, max = 32)
|
||||||
|
private String Password;
|
||||||
|
|
||||||
|
@ManyToMany(mappedBy = "Users")
|
||||||
|
private List<Product> Products = new ArrayList<>();
|
||||||
|
|
||||||
|
private UserRole Role;
|
||||||
|
|
||||||
|
public User(String login, String password, UserRole role) {
|
||||||
|
this.login = login;
|
||||||
|
this.Password = password;
|
||||||
|
this.Role = role;
|
||||||
|
}
|
||||||
|
|
||||||
|
public User(String Login, String Password) {
|
||||||
|
this(Login, Password, UserRole.USER);
|
||||||
|
}
|
||||||
|
|
||||||
|
public User() {}
|
||||||
|
|
||||||
|
public Long getId() {
|
||||||
|
return Id;
|
||||||
|
}
|
||||||
|
|
||||||
|
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 List<Product> getProducts() {
|
||||||
|
return Products;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void addProduct(Product Product) {
|
||||||
|
this.Products.add(Product);
|
||||||
|
Product.addUser(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeProduct(Product Product) {
|
||||||
|
this.Products.remove(Product);
|
||||||
|
Product.removeUser(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserRole getRole() {
|
||||||
|
return Role;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRole(UserRole Role) {
|
||||||
|
this.Role = Role;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (this == o) return true;
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
User user = (User) o;
|
||||||
|
return Objects.equals(Id, user.Id) && Objects.equals(login, user.login);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
return Objects.hash(Id, login);
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,23 @@
|
|||||||
|
package com.webproglabs.lab1.lab34.model.enums;
|
||||||
|
|
||||||
|
import org.springframework.security.core.GrantedAuthority;
|
||||||
|
|
||||||
|
public enum UserRole implements GrantedAuthority {
|
||||||
|
ADMIN,
|
||||||
|
USER,
|
||||||
|
;
|
||||||
|
|
||||||
|
private static final String PREFIX = "ROLE_";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String getAuthority() {
|
||||||
|
return PREFIX + this.name();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static final class AsString {
|
||||||
|
public static final String ADMIN = PREFIX + "ADMIN";
|
||||||
|
public static final String USER = PREFIX + "USER";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user