aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/src/Models/Database/Todo
diff options
context:
space:
mode:
authorivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
committerivarlovlie <git@ivarlovlie.no>2023-02-25 13:15:44 +0100
commit900bb5e845c3ad44defbd427cae3d44a4a43321f (patch)
treedf3d96a93771884add571e82336c29fc3d9c7a1c /code/api/src/Models/Database/Todo
downloadgreatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.tar.xz
greatoffice-900bb5e845c3ad44defbd427cae3d44a4a43321f.zip
feat: Initial commit
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; }
+}