diff --git a/src/main/java/com/coderscampus/cp/domain/Checkin.java b/src/main/java/com/coderscampus/cp/domain/Checkin.java index d220726c..6e72d468 100644 --- a/src/main/java/com/coderscampus/cp/domain/Checkin.java +++ b/src/main/java/com/coderscampus/cp/domain/Checkin.java @@ -4,6 +4,8 @@ import java.time.Instant; import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; @Entity public class Checkin { @@ -28,6 +30,9 @@ public class Checkin { @JoinColumn(name = "student_id") private Student student; + @OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + private List tag = new ArrayList(); + // ID public Long getId() { return id; @@ -155,25 +160,19 @@ public String getComment() { public void setComment(String comment) { this.comment = comment; } - + + public List getTag() { + return tag; + } + public void setTag(List tag) { + this.tag = tag; + } @Override public String toString() { - return "Checkin{" + - "id=" + id + - ", uid='" + uid + '\'' + - ", date=" + date + - ", nextAssignment=" + nextAssignment + - ", blockers=" + blockers + - ", blockerDescription='" + blockerDescription + '\'' + - ", isSetUp=" + isSetUp + - ", available=" + available + - ", role=" + role + - ", startTime=" + startTime + - ", endTime=" + endTime + - ", codingType=" + codingType + - ", issueNumber=" + issueNumber + - ", comment='" + comment + '\'' + - ", student=" + student + - '}'; + return "Checkin [id=" + id + ", uid=" + uid + ", date=" + date + ", nextAssignment=" + nextAssignment + + ", blockers=" + blockers + ", blockerDescription=" + blockerDescription + ", isSetUp=" + isSetUp + + ", available=" + available + ", role=" + role + ", startTime=" + startTime + ", endTime=" + endTime + + ", codingType=" + codingType + ", issueNumber=" + issueNumber + ", comment=" + comment + ", student=" + + student + ", tag=" + tag + "]"; } } diff --git a/src/main/java/com/coderscampus/cp/domain/Tag.java b/src/main/java/com/coderscampus/cp/domain/Tag.java new file mode 100644 index 00000000..f6cc44a5 --- /dev/null +++ b/src/main/java/com/coderscampus/cp/domain/Tag.java @@ -0,0 +1,47 @@ +package com.coderscampus.cp.domain; + +import jakarta.persistence.*; + +@Entity +public class Tag { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Long id; + + @Column(nullable = false, unique = true) + private String name; + + @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) + @JoinColumn(name = "checkin_id") + private Checkin checkin; + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Checkin getCheckin() { + return checkin; + } + + public void setCheckin(Checkin checkin) { + this.checkin = checkin; + } + + @Override + public String toString() { + return "Tag [id=" + id + ", name=" + name + ", checkin=" + checkin + "]"; + } + +} diff --git a/src/main/java/com/coderscampus/cp/repository/TagRepository.java b/src/main/java/com/coderscampus/cp/repository/TagRepository.java new file mode 100644 index 00000000..28e1c597 --- /dev/null +++ b/src/main/java/com/coderscampus/cp/repository/TagRepository.java @@ -0,0 +1,9 @@ +package com.coderscampus.cp.repository; + +import com.coderscampus.cp.domain.Tag; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface TagRepository extends JpaRepository { +} diff --git a/src/main/java/com/coderscampus/cp/service/TagService.java b/src/main/java/com/coderscampus/cp/service/TagService.java new file mode 100644 index 00000000..d9992a93 --- /dev/null +++ b/src/main/java/com/coderscampus/cp/service/TagService.java @@ -0,0 +1,7 @@ +package com.coderscampus.cp.service; + +import org.springframework.stereotype.Service; + +@Service +public class TagService { +}