feat: add database backed membership tiers
This commit is contained in:
@@ -16,34 +16,71 @@ internal record OrganizationDto(
|
||||
Guid Id,
|
||||
string Name,
|
||||
string? LogoUrl,
|
||||
OrganizationMembershipTierDto? MembershipTier,
|
||||
Guid OwnerUserId,
|
||||
IReadOnlyCollection<string> CurrentUserPermissions,
|
||||
IReadOnlyCollection<OrganizationMemberDto> Members,
|
||||
IReadOnlyCollection<WorkspaceDto> Workspaces,
|
||||
OrganizationUsageDto? Usage,
|
||||
IReadOnlyCollection<OrganizationMembershipTierDto> AvailableMembershipTiers,
|
||||
DateTimeOffset CreatedAt)
|
||||
{
|
||||
public static OrganizationDto FromOrganization(
|
||||
Organization organization,
|
||||
IReadOnlyCollection<string> currentUserPermissions,
|
||||
OrganizationMembershipTierDto? membershipTier = null,
|
||||
IReadOnlyCollection<OrganizationMemberDto>? members = null,
|
||||
IReadOnlyCollection<WorkspaceDto>? workspaces = null,
|
||||
OrganizationUsageDto? usage = null)
|
||||
OrganizationUsageDto? usage = null,
|
||||
IReadOnlyCollection<OrganizationMembershipTierDto>? availableMembershipTiers = null)
|
||||
{
|
||||
return new OrganizationDto(
|
||||
organization.Id,
|
||||
organization.Name,
|
||||
organization.LogoUrl,
|
||||
membershipTier,
|
||||
organization.OwnerUserId,
|
||||
currentUserPermissions,
|
||||
members ?? [],
|
||||
workspaces ?? [],
|
||||
usage,
|
||||
availableMembershipTiers ?? [],
|
||||
organization.CreatedAt);
|
||||
}
|
||||
}
|
||||
|
||||
internal record OrganizationMembershipTierDto(
|
||||
Guid Id,
|
||||
string Key,
|
||||
string Name,
|
||||
string Description,
|
||||
int? MonthlyPriceCents,
|
||||
int? WorkspaceLimit,
|
||||
int? ActiveContentLimit,
|
||||
int? MemberLimit,
|
||||
int? ExternalReviewerLimit,
|
||||
bool IsCustom,
|
||||
int SortOrder)
|
||||
{
|
||||
public static OrganizationMembershipTierDto FromTier(OrganizationMembershipTier tier)
|
||||
{
|
||||
return new OrganizationMembershipTierDto(
|
||||
tier.Id,
|
||||
tier.Key,
|
||||
tier.Name,
|
||||
tier.Description,
|
||||
tier.MonthlyPriceCents,
|
||||
tier.WorkspaceLimit,
|
||||
tier.ActiveContentLimit,
|
||||
tier.MemberLimit,
|
||||
tier.ExternalReviewerLimit,
|
||||
tier.IsCustom,
|
||||
tier.SortOrder);
|
||||
}
|
||||
}
|
||||
|
||||
internal record OrganizationUsageDto(
|
||||
string PlanKey,
|
||||
string PlanName,
|
||||
IReadOnlyCollection<OrganizationUsageItemDto> Items);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user