Changeset ef41e8d


Ignore:
Timestamp:
01/22/25 02:37:38 (3 months ago)
Author:
Nikola Jordanoski <nikolaj_koko@…>
Branches:
master
Children:
e45288f
Parents:
113c963
Message:

Changed pom.xml and updated model

Location:
ReserveNGo-backend
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • ReserveNGo-backend/pom.xml

    r113c963 ref41e8d  
    4747        </dependency>
    4848
    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>
    5353
    5454        <dependency>
     
    6969        </dependency>
    7070
    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>
    7676    </dependencies>
    7777
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Admin.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
     3import jakarta.persistence.*;
     4import lombok.AllArgsConstructor;
     5import lombok.Data;
     6import lombok.NoArgsConstructor;
     7import mk.ukim.finki.it.reservengo.model.enumerations.Role;
     8
     9@Data
     10@Entity
     11@AllArgsConstructor
     12@NoArgsConstructor
    313public 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;
    431}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Contact.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
     3import jakarta.persistence.Column;
     4import jakarta.persistence.ElementCollection;
     5import jakarta.persistence.Embeddable;
     6import jakarta.persistence.MapKeyColumn;
     7import lombok.AllArgsConstructor;
     8import lombok.Data;
     9import lombok.NoArgsConstructor;
     10
     11import java.util.Map;
     12
     13@Data
     14@NoArgsConstructor
     15@Embeddable
    316public 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;
    429}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Customer.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
    3 public class Customer {
     3import jakarta.persistence.CascadeType;
     4import jakarta.persistence.Entity;
     5import jakarta.persistence.OneToMany;
     6import lombok.AllArgsConstructor;
     7import lombok.Data;
     8import lombok.EqualsAndHashCode;
     9import lombok.NoArgsConstructor;
     10import mk.ukim.finki.it.reservengo.model.enumerations.Role;
     11
     12import java.util.List;
     13
     14
     15@EqualsAndHashCode(callSuper = true)
     16@Data
     17@Entity
     18@AllArgsConstructor
     19@NoArgsConstructor
     20public 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;
    430}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Event.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
     3import jakarta.persistence.*;
     4import lombok.AllArgsConstructor;
     5import lombok.Data;
     6import lombok.NoArgsConstructor;
     7import mk.ukim.finki.it.reservengo.model.enumerations.EventStatus;
     8
     9import java.time.LocalDateTime;
     10
     11@Data
     12@Entity
     13@AllArgsConstructor
     14@NoArgsConstructor
    315public 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;
    442}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Local.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
     3import jakarta.persistence.*;
     4import lombok.AllArgsConstructor;
     5import lombok.Data;
     6import lombok.NoArgsConstructor;
     7import mk.ukim.finki.it.reservengo.model.enumerations.Service;
     8
     9import java.util.List;
     10import java.util.Map;
     11
     12@Data
     13@Entity
     14@AllArgsConstructor
     15@Table(name = "local_")
    316public 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;
    474}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/LocalManager.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
    3 public class LocalManager {
     3import jakarta.persistence.Entity;
     4import lombok.AllArgsConstructor;
     5import lombok.Data;
     6import lombok.EqualsAndHashCode;
     7import lombok.NoArgsConstructor;
     8import mk.ukim.finki.it.reservengo.model.enumerations.Position;
     9import mk.ukim.finki.it.reservengo.model.enumerations.Role;
     10
     11@EqualsAndHashCode(callSuper = true)
     12@Data
     13@Entity
     14@AllArgsConstructor
     15@NoArgsConstructor
     16public 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    }
    420}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/LocalWorker.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
    3 public class LocalWorker {
     3import jakarta.persistence.*;
     4import lombok.AllArgsConstructor;
     5import lombok.Data;
     6import lombok.EqualsAndHashCode;
     7import lombok.NoArgsConstructor;
     8import mk.ukim.finki.it.reservengo.model.enumerations.Position;
     9import mk.ukim.finki.it.reservengo.model.enumerations.Role;
     10
     11@EqualsAndHashCode(callSuper = true)
     12@Data
     13@Entity
     14@AllArgsConstructor
     15@NoArgsConstructor
     16public 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;
    428}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/Reservation.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
     3import jakarta.persistence.*;
     4import lombok.AllArgsConstructor;
     5import lombok.Data;
     6import lombok.NoArgsConstructor;
     7import mk.ukim.finki.it.reservengo.model.enumerations.ReservationStatus;
     8
     9import java.time.LocalDateTime;
     10import java.util.Map;
     11
     12@Data
     13@Entity
     14@AllArgsConstructor
     15@NoArgsConstructor
    316public 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;
    444}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/User.java

    r113c963 ref41e8d  
    11package mk.ukim.finki.it.reservengo.model;
    22
     3import jakarta.persistence.*;
     4import lombok.AllArgsConstructor;
     5import lombok.Data;
     6import lombok.NoArgsConstructor;
     7import 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")
    315public 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;
    442}
  • ReserveNGo-backend/src/main/java/mk/ukim/finki/it/reservengo/model/enumerations/Role.java

    r113c963 ref41e8d  
    33public enum Role {
    44    ADMIN,
    5     USER,
     5    CUSTOMER,
    66    RESTAURANT_MANAGER,
    77    RESTAURANT_WORKER
Note: See TracChangeset for help on using the changeset viewer.