@@ -3,70 +3,65 @@ package models.entities
33import models .Enums .TaskPriority .TaskPriority
44import models .Enums .TaskStatus
55import models .Enums .TaskStatus .TaskStatus
6+ import play .api .libs .json .{Json , OFormat }
67
78import java .time .{Instant , LocalDateTime }
89
9- case class Task (
10- id : Option [Int ] = None ,
11- columnId : Int ,
12- name : String ,
13- description : Option [String ] = None ,
14- startDate : Option [Instant ] = None ,
15- endDate : Option [Instant ] = None ,
16- priority : Option [TaskPriority ] = None ,
17- position : Int ,
18- createdBy : Option [Int ] = None ,
19- updatedBy : Option [Int ] = None ,
20- createdAt : Instant = Instant .now(),
21- updatedAt : Instant = Instant .now(),
22- status : TaskStatus = TaskStatus .active,
23- isCompleted : Boolean = false
24- )
10+ case class Task (id : Option [Int ] = None ,
11+ columnId : Int ,
12+ name : String ,
13+ description : Option [String ] = None ,
14+ startDate : Option [Instant ] = None ,
15+ endDate : Option [Instant ] = None ,
16+ priority : Option [TaskPriority ] = None ,
17+ position : Int ,
18+ createdBy : Option [Int ] = None ,
19+ updatedBy : Option [Int ] = None ,
20+ createdAt : Instant = Instant .now(),
21+ updatedAt : Instant = Instant .now(),
22+ status : TaskStatus = TaskStatus .active,
23+ isCompleted : Boolean = false )
2524
26- case class UserTask (
27- id : Option [Int ] = None ,
28- taskId : Int ,
29- assignedTo : Int ,
30- assignedBy : Option [Int ] = None ,
31- assignedAt : Instant = Instant .now()
32- )
25+ object Task {
26+ implicit val projectFormat : OFormat [Task ] = Json .format[Task ]
27+ }
3328
34- case class Checklist (
35- id : Option [Int ] = None ,
36- taskId : Option [Int ] = None ,
37- name : Option [String ] = None ,
38- createdAt : Option [LocalDateTime ] = None ,
39- updatedAt : Option [LocalDateTime ] = None
40- )
29+ case class UserTask (id : Option [Int ] = None ,
30+ taskId : Int ,
31+ assignedTo : Int ,
32+ assignedBy : Option [Int ] = None ,
33+ assignedAt : Instant = Instant .now())
4134
42- case class ChecklistItem (
43- id : Option [Int ] = None ,
44- checklistId : Option [Int ] = None ,
45- content : Option [String ] = None ,
46- isCompleted : Boolean = false ,
47- createdAt : Option [LocalDateTime ] = None ,
48- updatedAt : Option [LocalDateTime ] = None
49- )
35+ object UserTask {
36+ implicit val userTaskFormat : OFormat [UserTask ] = Json .format[UserTask ]
37+ }
5038
51- case class TaskComment (
52- id : Option [Int ] = None ,
53- taskId : Option [Int ] = None ,
54- userId : Option [Int ] = None ,
55- content : Option [String ] = None ,
56- createdAt : Option [LocalDateTime ] = None ,
57- updatedAt : Option [LocalDateTime ] = None
58- )
39+ case class Checklist (id : Option [Int ] = None ,
40+ taskId : Option [Int ] = None ,
41+ name : Option [String ] = None ,
42+ createdAt : Option [LocalDateTime ] = None ,
43+ updatedAt : Option [LocalDateTime ] = None )
5944
60- case class Tag (
61- id : Option [Int ] = None ,
62- projectId : Option [Int ] = None ,
63- name : Option [String ] = None ,
64- color : Option [String ] = None ,
65- createdAt : Option [LocalDateTime ] = None
66- )
45+ case class ChecklistItem (id : Option [Int ] = None ,
46+ checklistId : Option [Int ] = None ,
47+ content : Option [String ] = None ,
48+ isCompleted : Boolean = false ,
49+ createdAt : Option [LocalDateTime ] = None ,
50+ updatedAt : Option [LocalDateTime ] = None )
6751
68- case class TaskTag (
69- id : Option [Int ] = None ,
70- taskId : Option [Int ] = None ,
71- tagId : Option [Int ] = None
72- )
52+ case class TaskComment (id : Option [Int ] = None ,
53+ taskId : Option [Int ] = None ,
54+ userId : Option [Int ] = None ,
55+ content : Option [String ] = None ,
56+ createdAt : Option [LocalDateTime ] = None ,
57+ updatedAt : Option [LocalDateTime ] = None )
58+
59+ case class Tag (id : Option [Int ] = None ,
60+ projectId : Option [Int ] = None ,
61+ name : Option [String ] = None ,
62+ color : Option [String ] = None ,
63+ createdAt : Option [LocalDateTime ] = None )
64+
65+ case class TaskTag (id : Option [Int ] = None ,
66+ taskId : Option [Int ] = None ,
67+ tagId : Option [Int ] = None )
0 commit comments