diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-10-31 18:16:38 +0100 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-10-31 18:16:38 +0100 |
| commit | f0cea15a4f85b47bf13b6db392f4ff97449d53c2 (patch) | |
| tree | 98c0b408394970eb930e53968f153e66043a3044 /code/api/src/Data/Database/Todo | |
| parent | 0725e4f7cf4c6f723264b6d461b91c660d144cb7 (diff) | |
| download | greatoffice-f0cea15a4f85b47bf13b6db392f4ff97449d53c2.tar.xz greatoffice-f0cea15a4f85b47bf13b6db392f4ff97449d53c2.zip | |
feat: More models and schema changes
Diffstat (limited to 'code/api/src/Data/Database/Todo')
| -rw-r--r-- | code/api/src/Data/Database/Todo/Todo.cs | 22 | ||||
| -rw-r--r-- | code/api/src/Data/Database/Todo/TodoCollection.cs | 11 | ||||
| -rw-r--r-- | code/api/src/Data/Database/Todo/TodoCollectionAccessControl.cs | 12 | ||||
| -rw-r--r-- | code/api/src/Data/Database/Todo/TodoComment.cs | 7 | ||||
| -rw-r--r-- | code/api/src/Data/Database/Todo/TodoProject.cs | 8 | ||||
| -rw-r--r-- | code/api/src/Data/Database/Todo/TodoProjectAccessControl.cs | 11 | ||||
| -rw-r--r-- | code/api/src/Data/Database/Todo/TodoStatus.cs | 37 |
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", - } - }; - } -} |
