ref: project structure

This commit is contained in:
2026-08-19 23:25:08 +07:00
parent 05a93cfc09
commit a1fe31cf70
155 changed files with 3339 additions and 1007 deletions
+24
View File
@@ -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; }
}
+17
View File
@@ -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; }
}