View Javadoc
1   package org.petify.backend.models;
2   
3   import jakarta.persistence.Column;
4   import jakarta.persistence.Entity;
5   import jakarta.persistence.GeneratedValue;
6   import jakarta.persistence.GenerationType;
7   import jakarta.persistence.Id;
8   import jakarta.persistence.JoinColumn;
9   import jakarta.persistence.ManyToOne;
10  import jakarta.persistence.Table;
11  import lombok.Getter;
12  import lombok.Setter;
13  
14  import java.time.LocalDateTime;
15  
16  @Entity
17  @Table(name = "volunteer_applications")
18  @Getter
19  @Setter
20  public class VolunteerApplication {
21  
22      @Id
23      @GeneratedValue(strategy = GenerationType.IDENTITY)
24      private Long id;
25  
26      @ManyToOne
27      @JoinColumn(name = "user_id", nullable = false)
28      private ApplicationUser user;
29  
30      @Column(name = "experience")
31      private String experience;
32  
33      @Column(name = "motivation")
34      private String motivation;
35  
36      @Column(name = "availability")
37      private String availability;
38  
39      @Column(name = "skills")
40      private String skills;
41  
42      @Column(name = "application_date")
43      private LocalDateTime applicationDate = LocalDateTime.now();
44  
45      @Column(name = "processed_date")
46      private LocalDateTime processedDate;
47  
48      @Column(name = "status")
49      private String status = "PENDING";
50  
51      @Column(name = "rejection_reason")
52      private String rejectionReason;
53  }