using Socialize.Api.Modules.Organizations.Data; using Socialize.Api.Modules.Workspaces.Handlers; namespace Socialize.Api.Modules.Organizations.Handlers; public record OrganizationMemberDto( Guid UserId, string DisplayName, string Email, string? PortraitUrl, string Role, IReadOnlyCollection Permissions, DateTimeOffset CreatedAt); public record OrganizationDto( Guid Id, string Name, Guid OwnerUserId, IReadOnlyCollection CurrentUserPermissions, IReadOnlyCollection Members, IReadOnlyCollection Workspaces, DateTimeOffset CreatedAt) { public static OrganizationDto FromOrganization( Organization organization, IReadOnlyCollection currentUserPermissions, IReadOnlyCollection? members = null, IReadOnlyCollection? workspaces = null) { return new OrganizationDto( organization.Id, organization.Name, organization.OwnerUserId, currentUserPermissions, members ?? [], workspaces ?? [], organization.CreatedAt); } }