-
Notifications
You must be signed in to change notification settings - Fork 13
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #41 from picksitquick/kanban_setup
Adding models related to Project services/KanBan
- Loading branch information
Showing
16 changed files
with
324 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
package com.gamedoora.model.dao; | ||
|
||
public enum ActivityType { | ||
DEV, | ||
NON_DEV; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
package com.gamedoora.model.dao; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import lombok.Setter; | ||
|
||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.Id; | ||
import javax.persistence.Table; | ||
import javax.persistence.Temporal; | ||
import javax.persistence.TemporalType; | ||
import java.util.Date; | ||
import java.util.List; | ||
import java.util.UUID; | ||
|
||
|
||
@Getter | ||
@Setter | ||
@Entity | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
@Table(name = "base issue") | ||
public class BaseIssue { | ||
|
||
@Id | ||
@GeneratedValue | ||
@Column(name = "issueId", nullable = false) | ||
private UUID issueId; | ||
|
||
private IssueType issueType; | ||
|
||
private ActivityType activityType; | ||
|
||
@Column(name = "title") | ||
private String title; | ||
|
||
@Column(name = "description") | ||
private String description; | ||
|
||
@Column(name = "storyPoints") // might be used in future | ||
private String storyPoints; | ||
|
||
@Column(name = "issuer") | ||
private String issuer; | ||
|
||
@Column(name = "assignee") | ||
private String assignee; | ||
|
||
private Priority priority; | ||
|
||
private List<Comments> comments; | ||
|
||
private List<IssueHistory> history; | ||
// add api for get comment and history | ||
|
||
@Temporal(TemporalType.TIMESTAMP) | ||
private Date startDate; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
package com.gamedoora.model.dao; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import lombok.Setter; | ||
|
||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.Id; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.ManyToOne; | ||
import javax.persistence.Table; | ||
import javax.persistence.Temporal; | ||
import javax.persistence.TemporalType; | ||
import java.util.Date; | ||
import java.util.UUID; | ||
|
||
@Builder | ||
@Getter | ||
@Setter | ||
@Entity | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
@Table(name = "issue history") | ||
public class IssueHistory { | ||
|
||
@Id | ||
@Column(name = "emailId",nullable = false) | ||
private UUID id; | ||
|
||
@ManyToOne | ||
@JoinColumn(name = "users_email_id") | ||
private Users users; | ||
|
||
private ActivityType activityType; | ||
|
||
@Temporal(TemporalType.TIMESTAMP) | ||
private Date startDate; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package com.gamedoora.model.dao; | ||
|
||
public enum IssueStatus { | ||
READY, | ||
IN_PROGRESS, | ||
IN_REVIEW, | ||
DONE; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package com.gamedoora.model.dao; | ||
|
||
public enum IssueType { | ||
STORY, | ||
BUG, | ||
FEATURE; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
package com.gamedoora.model.dao; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import lombok.Setter; | ||
|
||
import javax.persistence.Column; | ||
import javax.persistence.Entity; | ||
import javax.persistence.GeneratedValue; | ||
import javax.persistence.Id; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.ManyToMany; | ||
import javax.persistence.ManyToOne; | ||
import javax.persistence.Table; | ||
import java.util.Set; | ||
import java.util.UUID; | ||
|
||
@Builder | ||
@Getter | ||
@Setter | ||
@Entity | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
@Table(name = "kanban") | ||
public class KanBan { | ||
|
||
@Id | ||
@GeneratedValue | ||
@Column(name = "boardId", nullable = false) | ||
private UUID boardId; | ||
|
||
@Column(name = "boardName", nullable = false) | ||
private String boardName; | ||
|
||
@ManyToMany(mappedBy = "kanBanSet") | ||
private Set<Users> users; | ||
|
||
@ManyToOne | ||
@JoinColumn(name = "story_issue_email_id") | ||
private StoryIssue storyIssue; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
package com.gamedoora.model.dao; | ||
|
||
public enum Priority { | ||
LOW, | ||
NORMAL, | ||
HIGH, | ||
CRITICAL; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
package com.gamedoora.model.dao; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Builder; | ||
import lombok.Getter; | ||
import lombok.NoArgsConstructor; | ||
import lombok.Setter; | ||
|
||
import javax.persistence.Entity; | ||
import javax.persistence.JoinColumn; | ||
import javax.persistence.OneToMany; | ||
import javax.persistence.OneToOne; | ||
|
||
@Builder | ||
@Getter | ||
@Setter | ||
@Entity | ||
@AllArgsConstructor | ||
@NoArgsConstructor | ||
public class StoryIssue extends BaseIssue{ | ||
@OneToOne | ||
private IssueStatus status; | ||
|
||
@OneToMany(mappedBy = "storyIssue") | ||
private KanBan kanBan; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
package com.gamedoora.model.dto; | ||
|
||
import com.gamedoora.model.dao.ActivityType; | ||
import com.gamedoora.model.dao.Comments; | ||
import com.gamedoora.model.dao.IssueHistory; | ||
import com.gamedoora.model.dao.IssueType; | ||
import com.gamedoora.model.dao.Priority; | ||
|
||
import java.util.Date; | ||
import java.util.List; | ||
|
||
public class BaseIssueDTO { | ||
private IssueType issueType; | ||
|
||
private ActivityType activityType; | ||
|
||
private String title; | ||
|
||
private String description; | ||
|
||
private String storyPoints; | ||
|
||
private String issuer; | ||
|
||
private String assignee; | ||
|
||
private Priority priority; | ||
|
||
private Date startDate; | ||
} |
15 changes: 15 additions & 0 deletions
15
src/main/java/com/gamedoora/model/dto/IssueHistoryDTO.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
package com.gamedoora.model.dto; | ||
|
||
import com.gamedoora.model.dao.ActivityType; | ||
import com.gamedoora.model.dao.Users; | ||
|
||
import javax.persistence.Temporal; | ||
import javax.persistence.TemporalType; | ||
import java.util.Date; | ||
|
||
public class IssueHistoryDTO { | ||
|
||
private ActivityType activityType; | ||
|
||
private Date startDate; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
package com.gamedoora.model.dto; | ||
|
||
public class KanBanDTO { | ||
private String boardName; | ||
} |
19 changes: 19 additions & 0 deletions
19
src/main/java/com/gamedoora/model/mapper/IssueHistoryMapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.gamedoora.model.mapper; | ||
|
||
import com.gamedoora.model.dao.IssueHistory; | ||
import com.gamedoora.model.dto.IssueHistoryDTO; | ||
import org.mapstruct.Builder; | ||
import org.mapstruct.Mapper; | ||
import org.mapstruct.Mapping; | ||
|
||
@Mapper(componentModel = "spring" , builder = @Builder(disableBuilder = true)) | ||
public abstract class IssueHistoryMapper extends BaseMapper{ | ||
|
||
public abstract IssueHistoryDTO issueHistoryToIssueHistoryDTO(IssueHistory issueHistory); | ||
|
||
@Mapping(target = "createdBy" , expression = "java(getCreatedBy())") | ||
@Mapping(target = "createdOn" , expression = "java(getNewDate())") | ||
@Mapping(target = "updateBy" , expression = "java(getUpdatedBy())") | ||
@Mapping(target = "updateOn" , expression = "java(getNewDate())") | ||
public abstract IssueHistory issueHistoryDTOToIssueHistory(IssueHistoryDTO issueHistoryDTO); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
package com.gamedoora.model.mapper; | ||
|
||
import com.gamedoora.model.dao.BaseIssue; | ||
import com.gamedoora.model.dto.BaseIssueDTO; | ||
import org.mapstruct.Builder; | ||
import org.mapstruct.Mapper; | ||
import org.mapstruct.Mapping; | ||
|
||
/** | ||
* In mappers, we are using expression = "java(functionName())" instead of using @Named annotations | ||
* with qualifiedByName parameter because in case of @Named annotation the functions or utilities | ||
* are needed to be defined within the same class/interface, this approach defeats the purpose | ||
* of having a BaseMapper which follows the principle of Data Abstraction. So with the help of expression | ||
* we can define all our common utilities and functions within one class/interface and use it globally. | ||
* **/ | ||
|
||
@Mapper(componentModel = "spring", builder = @Builder(disableBuilder = true)) | ||
public abstract class IssueMapper extends BaseMapper{ | ||
|
||
public abstract BaseIssueDTO baseIssueToIssueDTO(BaseIssue baseIssue); | ||
|
||
@Mapping(target = "createdBy" , expression = "java(getCreatedBy())") | ||
@Mapping(target = "createdOn" , expression = "java(getNewDate())") | ||
@Mapping(target = "updateBy" , expression = "java(getUpdatedBy())") | ||
@Mapping(target = "updateOn" , expression = "java(getNewDate())") | ||
public abstract BaseIssue baseIssueDTOToBaseIssue(BaseIssueDTO baseIssueDTO); | ||
} |
19 changes: 19 additions & 0 deletions
19
src/main/java/com/gamedoora/model/mapper/KanBanMapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.gamedoora.model.mapper; | ||
|
||
import com.gamedoora.model.dao.KanBan; | ||
import com.gamedoora.model.dto.KanBanDTO; | ||
import org.mapstruct.Builder; | ||
import org.mapstruct.Mapper; | ||
import org.mapstruct.Mapping; | ||
|
||
@Mapper(componentModel = "spring" , builder = @Builder(disableBuilder = true)) | ||
public abstract class KanBanMapper extends BaseMapper{ | ||
|
||
public abstract KanBanDTO kanBanToKanBanDTO(KanBan kanBan); | ||
|
||
@Mapping(target = "createdBy" , expression = "java(getCreatedBy())") | ||
@Mapping(target = "createdOn" , expression = "java(getNewDate())") | ||
@Mapping(target = "updateBy" , expression = "java(getUpdatedBy())") | ||
@Mapping(target = "updateOn" , expression = "java(getNewDate())") | ||
public abstract KanBan kanBanDTOToKanBan(KanBanDTO kanBanDTO); | ||
} |