aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Models/Database/Todo
diff options
context:
space:
mode:
Diffstat (limited to 'code/api/src/Models/Database/Todo')
-rw-r--r--code/api/src/Models/Database/Todo/Todo.cs17
-rw-r--r--code/api/src/Models/Database/Todo/TodoCollection.cs11
-rw-r--r--code/api/src/Models/Database/Todo/TodoCollectionAccessControl.cs12
-rw-r--r--code/api/src/Models/Database/Todo/TodoComment.cs8
-rw-r--r--code/api/src/Models/Database/Todo/TodoLabel.cs8
5 files changed, 56 insertions, 0 deletions
diff --git a/code/api/src/Models/Database/Todo/Todo.cs b/code/api/src/Models/Database/Todo/Todo.cs
new file mode 100644
index 0000000..2d7f109
--- /dev/null
+++ b/code/api/src/Models/Database/Todo/Todo.cs
@@ -0,0 +1,17 @@
+namespace IOL.GreatOffice.Api.Data.Database;
+
+public class Todo : BaseWithOwner
+{
+ 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/Models/Database/Todo/TodoCollection.cs b/code/api/src/Models/Database/Todo/TodoCollection.cs
new file mode 100644
index 0000000..470e5e7
--- /dev/null
+++ b/code/api/src/Models/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/Models/Database/Todo/TodoCollectionAccessControl.cs b/code/api/src/Models/Database/Todo/TodoCollectionAccessControl.cs
new file mode 100644
index 0000000..1676c06
--- /dev/null
+++ b/code/api/src/Models/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/Models/Database/Todo/TodoComment.cs b/code/api/src/Models/Database/Todo/TodoComment.cs
new file mode 100644
index 0000000..32ac3a3
--- /dev/null
+++ b/code/api/src/Models/Database/Todo/TodoComment.cs
@@ -0,0 +1,8 @@
+namespace IOL.GreatOffice.Api.Data.Database;
+
+public class TodoComment : BaseWithOwner
+{
+ 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/Models/Database/Todo/TodoLabel.cs b/code/api/src/Models/Database/Todo/TodoLabel.cs
new file mode 100644
index 0000000..7753ade
--- /dev/null
+++ b/code/api/src/Models/Database/Todo/TodoLabel.cs
@@ -0,0 +1,8 @@
+namespace IOL.GreatOffice.Api.Data.Database;
+
+public class TodoLabel : BaseWithOwner
+{
+ public string Name { get; set; }
+ public string Color { get; set; }
+ public Todo Todo { get; set; }
+}