aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Data/Database/Todo
diff options
context:
space:
mode:
Diffstat (limited to 'code/api/src/Data/Database/Todo')
-rw-r--r--code/api/src/Data/Database/Todo/Todo.cs22
-rw-r--r--code/api/src/Data/Database/Todo/TodoCollection.cs11
-rw-r--r--code/api/src/Data/Database/Todo/TodoCollectionAccessControl.cs12
-rw-r--r--code/api/src/Data/Database/Todo/TodoComment.cs7
-rw-r--r--code/api/src/Data/Database/Todo/TodoProject.cs8
-rw-r--r--code/api/src/Data/Database/Todo/TodoProjectAccessControl.cs11
-rw-r--r--code/api/src/Data/Database/Todo/TodoStatus.cs37
7 files changed, 40 insertions, 68 deletions
diff --git a/code/api/src/Data/Database/Todo/Todo.cs b/code/api/src/Data/Database/Todo/Todo.cs
index 5fe3c9a..2d7f109 100644
--- a/code/api/src/Data/Database/Todo/Todo.cs
+++ b/code/api/src/Data/Database/Todo/Todo.cs
@@ -2,12 +2,16 @@ namespace IOL.GreatOffice.Api.Data.Database;
public class Todo : BaseWithOwner
{
- public int PublicId { get; set; }
- public TodoStatus Status { get; set; }
- public TodoProject Project { get; set; }
- public Guid? AssignedUserId { get; set; }
- public string Title { get; set; }
- public string Description { get; set; }
- public ICollection<TodoLabel> Labels { get; set; }
- public ICollection<TodoComment> Comments { get; set; }
-}
+ public string PublicId { get; set; }
+ public Guid? AssignedToId { get; set; }
+ public Guid? ClosedById { get; set; }
+ public Guid CollectionId { get; set; }
+ public DateTime? ClosedAt { get; set; }
+ public string Title { get; set; }
+ public string Description { get; set; }
+ public ICollection<TodoLabel> Labels { get; set; }
+ public ICollection<TodoComment> Comments { get; set; }
+ public User AssignedTo { get; set; }
+ public User ClosedBy { get; set; }
+ public TodoCollection Collection { get; set; }
+} \ No newline at end of file
diff --git a/code/api/src/Data/Database/Todo/TodoCollection.cs b/code/api/src/Data/Database/Todo/TodoCollection.cs
new file mode 100644
index 0000000..470e5e7
--- /dev/null
+++ b/code/api/src/Data/Database/Todo/TodoCollection.cs
@@ -0,0 +1,11 @@
+namespace IOL.GreatOffice.Api.Data.Database;
+
+public class TodoCollection : BaseWithOwner
+{
+ public string Name { get; set; }
+ public string Description { get; set; }
+ public TodoVisibility Visibility { get; set; }
+ public Guid? ProjectId { get; set; }
+ public Project Project { get; set; }
+ public ICollection<TodoCollectionAccessControl> AccessControls { get; set; }
+} \ No newline at end of file
diff --git a/code/api/src/Data/Database/Todo/TodoCollectionAccessControl.cs b/code/api/src/Data/Database/Todo/TodoCollectionAccessControl.cs
new file mode 100644
index 0000000..1676c06
--- /dev/null
+++ b/code/api/src/Data/Database/Todo/TodoCollectionAccessControl.cs
@@ -0,0 +1,12 @@
+namespace IOL.GreatOffice.Api.Data.Database;
+
+public class TodoCollectionAccessControl : Base
+{
+ public TodoCollection Collection { get; set; }
+ public User User { get; set; }
+ public Guid? UserId { get; set; }
+ public bool CanBrowse { get; set; }
+ public bool CanSubmit { get; set; }
+ public bool CanComment { get; set; }
+ public bool CanEdit { get; set; }
+} \ No newline at end of file
diff --git a/code/api/src/Data/Database/Todo/TodoComment.cs b/code/api/src/Data/Database/Todo/TodoComment.cs
index 44dcbed..32ac3a3 100644
--- a/code/api/src/Data/Database/Todo/TodoComment.cs
+++ b/code/api/src/Data/Database/Todo/TodoComment.cs
@@ -2,6 +2,7 @@ namespace IOL.GreatOffice.Api.Data.Database;
public class TodoComment : BaseWithOwner
{
- public string Value { get; set; }
- public Todo Todo { get; set; }
-}
+ public string Value { get; set; }
+ public Todo Todo { get; set; }
+ public TodoClosingStatement? ClosingStatement { get; set; }
+} \ No newline at end of file
diff --git a/code/api/src/Data/Database/Todo/TodoProject.cs b/code/api/src/Data/Database/Todo/TodoProject.cs
deleted file mode 100644
index 5e22bbe..0000000
--- a/code/api/src/Data/Database/Todo/TodoProject.cs
+++ /dev/null
@@ -1,8 +0,0 @@
-namespace IOL.GreatOffice.Api.Data.Database;
-
-public class TodoProject : BaseWithOwner
-{
- public string Name { get; set; }
- public TodoVisibility Visibility { get; set; }
- public Guid? ProjectId { get; set; }
-} \ No newline at end of file
diff --git a/code/api/src/Data/Database/Todo/TodoProjectAccessControl.cs b/code/api/src/Data/Database/Todo/TodoProjectAccessControl.cs
deleted file mode 100644
index 964f831..0000000
--- a/code/api/src/Data/Database/Todo/TodoProjectAccessControl.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace IOL.GreatOffice.Api.Data.Database;
-
-public class TodoProjectAccessControl
-{
- public TodoProject Project { get; set; }
- public Guid? UserId { get; set; }
- public bool Browse { get; set; }
- public bool Submit { get; set; }
- public bool Comment { get; set; }
- public bool Edit { get; set; }
-}
diff --git a/code/api/src/Data/Database/Todo/TodoStatus.cs b/code/api/src/Data/Database/Todo/TodoStatus.cs
deleted file mode 100644
index 9ace7d0..0000000
--- a/code/api/src/Data/Database/Todo/TodoStatus.cs
+++ /dev/null
@@ -1,37 +0,0 @@
-namespace IOL.GreatOffice.Api.Data.Database;
-
-public class TodoStatus : BaseWithOwner
-{
- public string Name { get; set; }
- public string Color { get; set; }
- public Todo Todo { get; set; }
-
- public static List<TodoStatus> GetDefaultStatusSetForTenant(Guid tenantId) {
- return new List<TodoStatus>() {
- new() {
- Name = "Reported",
- },
- new() {
- Name = "Resolved",
- },
- new() {
- Name = "Fixed",
- },
- new() {
- Name = "Implemented",
- },
- new() {
- Name = "Won't fix",
- },
- new() {
- Name = "By design",
- },
- new() {
- Name = "Invalid",
- },
- new() {
- Name = "Duplicate",
- }
- };
- }
-}