ref: project structure
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
namespace mws.backend.dotnet.domain.Projects;
|
||||
|
||||
public enum ProjectStatus
|
||||
{
|
||||
Active = 1,
|
||||
Archived = 2,
|
||||
}
|
||||
|
||||
public class Project
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public string Name { get; set; } = string.Empty;
|
||||
public string? Description { get; set; }
|
||||
public ProjectStatus Status { get; set; } = ProjectStatus.Active;
|
||||
public Guid CreatedBy { get; set; }
|
||||
public DateTime CreatedAt { get; set; }
|
||||
public Guid? UpdatedBy { get; set; }
|
||||
public DateTime UpdatedAt { get; set; }
|
||||
|
||||
public List<ProjectMember> Members { get; set; } = [];
|
||||
|
||||
public mws.backend.dotnet.domain.Users.User? CreatedByUser { get; set; }
|
||||
public mws.backend.dotnet.domain.Users.User? UpdatedByUser { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace mws.backend.dotnet.domain.Projects;
|
||||
|
||||
public enum MemberRole
|
||||
{
|
||||
Owner = 1,
|
||||
Member = 2,
|
||||
}
|
||||
|
||||
public class ProjectMember
|
||||
{
|
||||
public Guid ProjectId { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
public MemberRole Role { get; set; } = MemberRole.Member;
|
||||
|
||||
public Project Project { get; set; } = null!;
|
||||
public mws.backend.dotnet.domain.Users.User User { get; set; } = null!;
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
namespace mws.backend.dotnet.domain.Projects;
|
||||
|
||||
public static class ProjectPermissionScreens
|
||||
{
|
||||
public const string Documents = "documents";
|
||||
}
|
||||
|
||||
public class ProjectMemberPermission
|
||||
{
|
||||
public Guid ProjectId { get; set; }
|
||||
public Guid UserId { get; set; }
|
||||
public string Screen { get; set; } = string.Empty;
|
||||
public bool CanView { get; set; }
|
||||
public bool CanCreate { get; set; }
|
||||
public bool CanEdit { get; set; }
|
||||
public bool CanDelete { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user