Changeset ef41e8d
- Timestamp:
- 01/22/25 02:37:38 (3 months ago)
- Branches:
- master
- Children:
- e45288f
- Parents:
- 113c963
- Location:
- ReserveNGo-backend
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
ReserveNGo-backend/pom.xml
r113c963 ref41e8d 47 47 </dependency> 48 48 49 <!-- <dependency>-->50 <!-- <groupId>org.springframework.boot</groupId>-->51 <!-- <artifactId>spring-boot-starter-security</artifactId>-->52 <!-- </dependency>-->49 <dependency> 50 <groupId>org.springframework.boot</groupId> 51 <artifactId>spring-boot-starter-security</artifactId> 52 </dependency> 53 53 54 54 <dependency> … … 69 69 </dependency> 70 70 71 <!-- <dependency>-->72 <!-- <groupId>org.springframework.security</groupId>-->73 <!-- <artifactId>spring-security-test</artifactId>-->74 <!-- <scope>test</scope>-->75 <!-- </dependency>-->71 <dependency> 72 <groupId>org.springframework.security</groupId> 73 <artifactId>spring-security-test</artifactId> 74 <scope>test</scope> 75 </dependency> 76 76 </dependencies> 77 77 -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Admin.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 import jakarta.persistence.*; 4 import lombok.AllArgsConstructor; 5 import lombok.Data; 6 import lombok.NoArgsConstructor; 7 import mk.ukim.finki.it.reservengo.model.enumerations.Role; 8 9 @Data 10 @Entity 11 @AllArgsConstructor 12 @NoArgsConstructor 3 13 public class Admin { 14 public Admin(String username, String password, Role userRole) { 15 this.username = username; 16 this.password = password; 17 this.userRole = userRole; 18 } 19 20 @Id 21 @GeneratedValue(strategy = GenerationType.IDENTITY) 22 private Long id; 23 24 @Column(unique = true) 25 private String username; 26 27 private String password; 28 29 @Enumerated(EnumType.STRING) 30 private Role userRole = Role.ADMIN; 4 31 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Contact.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 import jakarta.persistence.Column; 4 import jakarta.persistence.ElementCollection; 5 import jakarta.persistence.Embeddable; 6 import jakarta.persistence.MapKeyColumn; 7 import lombok.AllArgsConstructor; 8 import lombok.Data; 9 import lombok.NoArgsConstructor; 10 11 import java.util.Map; 12 13 @Data 14 @NoArgsConstructor 15 @Embeddable 3 16 public class Contact { 17 public Contact(String phone, String email, Map<String, String> socialLinks) { 18 this.phone = phone; 19 this.email = email; 20 this.socialLinks = socialLinks; 21 } 22 23 private String phone; 24 private String email; 25 @ElementCollection 26 @MapKeyColumn(name = "soical_app_name") 27 @Column(name = "social_app_link") 28 private Map<String, String> socialLinks; 4 29 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Customer.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 public class Customer { 3 import jakarta.persistence.CascadeType; 4 import jakarta.persistence.Entity; 5 import jakarta.persistence.OneToMany; 6 import lombok.AllArgsConstructor; 7 import lombok.Data; 8 import lombok.EqualsAndHashCode; 9 import lombok.NoArgsConstructor; 10 import mk.ukim.finki.it.reservengo.model.enumerations.Role; 11 12 import java.util.List; 13 14 15 @EqualsAndHashCode(callSuper = true) 16 @Data 17 @Entity 18 @AllArgsConstructor 19 @NoArgsConstructor 20 public class Customer extends User { 21 public Customer(String firstName, String lastName, String email, String password, String phoneNumber, Role userRole) { 22 super(firstName, lastName, email, password, phoneNumber, userRole); 23 } 24 25 @OneToMany(mappedBy = "customer", cascade = CascadeType.ALL) 26 private List<Reservation> reservations; 27 28 @OneToMany 29 private List<Local> favouriteLocals; 4 30 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Event.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 import jakarta.persistence.*; 4 import lombok.AllArgsConstructor; 5 import lombok.Data; 6 import lombok.NoArgsConstructor; 7 import mk.ukim.finki.it.reservengo.model.enumerations.EventStatus; 8 9 import java.time.LocalDateTime; 10 11 @Data 12 @Entity 13 @AllArgsConstructor 14 @NoArgsConstructor 3 15 public class Event { 16 public Event(String name, String description, LocalDateTime eventStart, LocalDateTime eventEnd, Local local, EventStatus status) { 17 this.name = name; 18 this.description = description; 19 this.eventStart = eventStart; 20 this.eventEnd = eventEnd; 21 this.local = local; 22 this.status = status; 23 } 24 25 @Id 26 @GeneratedValue(strategy = GenerationType.IDENTITY) 27 private Long id; 28 29 private String name; 30 31 private String description; 32 33 private LocalDateTime eventStart; 34 35 private LocalDateTime eventEnd; 36 37 @ManyToOne 38 private Local local; 39 40 @Enumerated(EnumType.STRING) 41 private EventStatus status; 4 42 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Local.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 import jakarta.persistence.*; 4 import lombok.AllArgsConstructor; 5 import lombok.Data; 6 import lombok.NoArgsConstructor; 7 import mk.ukim.finki.it.reservengo.model.enumerations.Service; 8 9 import java.util.List; 10 import java.util.Map; 11 12 @Data 13 @Entity 14 @AllArgsConstructor 15 @Table(name = "local_") 3 16 public class Local { 17 public Local(String name, String description, String address, String workingHours, List<Service> availableServices, Map<Long, Integer> ratings, List<Event> events, List<String> localPhotos, String menuPhoto, String menuLink, Contact contact, List<Reservation> reservations, List<LocalWorker> workers) { 18 this.name = name; 19 this.description = description; 20 this.address = address; 21 this.workingHours = workingHours; 22 this.availableServices = availableServices; 23 this.ratings = ratings; 24 this.events = events; 25 this.localPhotos = localPhotos; 26 this.menuPhoto = menuPhoto; 27 this.menuLink = menuLink; 28 this.contact = contact; 29 this.reservations = reservations; 30 this.workers = workers; 31 } 32 33 public Local() { 34 } 35 36 @Id 37 @GeneratedValue(strategy = GenerationType.IDENTITY) 38 private Long id; 39 40 private String name; 41 42 private String description; 43 44 private String address; 45 46 private String workingHours; 47 48 @Enumerated(EnumType.STRING) 49 @ElementCollection 50 private List<Service> availableServices; 51 52 @ElementCollection 53 @MapKeyColumn(name = "customer_id") 54 private Map<Long, Integer> ratings; 55 56 @OneToMany(mappedBy = "local", cascade = CascadeType.ALL) 57 private List<Event> events; 58 59 @ElementCollection 60 private List<String> localPhotos; 61 62 private String menuPhoto; 63 64 private String menuLink; 65 66 @Embedded 67 private Contact contact; 68 69 @OneToMany(mappedBy = "local", cascade = CascadeType.ALL) 70 private List<Reservation> reservations; 71 72 @OneToMany(mappedBy = "local") 73 private List<LocalWorker> workers; 4 74 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/LocalManager.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 public class LocalManager { 3 import jakarta.persistence.Entity; 4 import lombok.AllArgsConstructor; 5 import lombok.Data; 6 import lombok.EqualsAndHashCode; 7 import lombok.NoArgsConstructor; 8 import mk.ukim.finki.it.reservengo.model.enumerations.Position; 9 import mk.ukim.finki.it.reservengo.model.enumerations.Role; 10 11 @EqualsAndHashCode(callSuper = true) 12 @Data 13 @Entity 14 @AllArgsConstructor 15 @NoArgsConstructor 16 public class LocalManager extends LocalWorker{ 17 public LocalManager(String firstName, String lastName, String email, String password, String phoneNumber, Role userRole, Local local, Position position) { 18 super(firstName, lastName, email, password, phoneNumber, userRole, local, position); 19 } 4 20 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/LocalWorker.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 public class LocalWorker { 3 import jakarta.persistence.*; 4 import lombok.AllArgsConstructor; 5 import lombok.Data; 6 import lombok.EqualsAndHashCode; 7 import lombok.NoArgsConstructor; 8 import mk.ukim.finki.it.reservengo.model.enumerations.Position; 9 import mk.ukim.finki.it.reservengo.model.enumerations.Role; 10 11 @EqualsAndHashCode(callSuper = true) 12 @Data 13 @Entity 14 @AllArgsConstructor 15 @NoArgsConstructor 16 public class LocalWorker extends User{ 17 public LocalWorker(String firstName, String lastName, String email, String password, String phoneNumber, Role userRole, Local local, Position position) { 18 super(firstName, lastName, email, password, phoneNumber, userRole); 19 this.local = local; 20 this.position = position; 21 } 22 23 @ManyToOne 24 private Local local; 25 26 @Enumerated(EnumType.STRING) 27 private Position position; 4 28 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Reservation.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 import jakarta.persistence.*; 4 import lombok.AllArgsConstructor; 5 import lombok.Data; 6 import lombok.NoArgsConstructor; 7 import mk.ukim.finki.it.reservengo.model.enumerations.ReservationStatus; 8 9 import java.time.LocalDateTime; 10 import java.util.Map; 11 12 @Data 13 @Entity 14 @AllArgsConstructor 15 @NoArgsConstructor 3 16 public class Reservation { 17 public Reservation(Customer customer, Local local, LocalDateTime timeOfRes, Map<Integer, Integer> reservedTables, ReservationStatus status) { 18 this.customer = customer; 19 this.local = local; 20 this.timeOfRes = timeOfRes; 21 this.reservedTables = reservedTables; 22 this.status = status; 23 } 24 25 @Id 26 @GeneratedValue(strategy = GenerationType.IDENTITY) 27 private Long id; 28 29 @ManyToOne 30 private Customer customer; 31 32 @ManyToOne 33 private Local local; 34 35 private LocalDateTime timeOfRes; 36 37 @ElementCollection 38 @MapKeyColumn(name = "table_id") 39 @Column(name = "num_people") 40 private Map<Integer, Integer> reservedTables; 41 42 @Enumerated(EnumType.STRING) 43 private ReservationStatus status; 4 44 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/User.java
r113c963 ref41e8d 1 1 package mk.ukim.finki.it.reservengo.model; 2 2 3 import jakarta.persistence.*; 4 import lombok.AllArgsConstructor; 5 import lombok.Data; 6 import lombok.NoArgsConstructor; 7 import mk.ukim.finki.it.reservengo.model.enumerations.Role; 8 9 @Data 10 @Entity 11 @AllArgsConstructor 12 @NoArgsConstructor 13 @Inheritance(strategy = InheritanceType.JOINED) 14 @Table(name = "app_user") 3 15 public class User { 16 public User(String firstName, String lastName, String email, String password, String phoneNumber, Role userRole) { 17 this.firstName = firstName; 18 this.lastName = lastName; 19 this.email = email; 20 this.password = password; 21 this.phoneNumber = phoneNumber; 22 this.userRole = userRole; 23 } 24 25 @Id 26 @GeneratedValue(strategy = GenerationType.IDENTITY) 27 private Long id; 28 29 private String firstName; 30 31 private String lastName; 32 33 @Column(unique = true) 34 private String email; 35 36 private String password; 37 38 private String phoneNumber; 39 40 @Enumerated(EnumType.STRING) 41 private Role userRole; 4 42 } -
ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/enumerations/Role.java
r113c963 ref41e8d 3 3 public enum Role { 4 4 ADMIN, 5 USER,5 CUSTOMER, 6 6 RESTAURANT_MANAGER, 7 7 RESTAURANT_WORKER
Note:
See TracChangeset
for help on using the changeset viewer.