Adds IsPrimary to OrganizationUser (per-user flag, one primary per user).
First org created is automatically set as primary. Selecting a different
org via the UI calls PUT /organisations/{id}/primary to persist the choice
server-side. Dashboard auto-selects: localStorage org (refreshed) →
primary org → single org when no explicit selection exists.
31 lines
741 B
C#
Executable File
31 lines
741 B
C#
Executable File
namespace MicCheck.Api.Organizations;
|
|
|
|
public record OrganizationResponse(
|
|
int Id,
|
|
string Name,
|
|
DateTimeOffset CreatedAt,
|
|
bool IsPrimary
|
|
)
|
|
{
|
|
public static OrganizationResponse From(Organization org, bool isPrimary = false) => new(
|
|
org.Id, org.Name, org.CreatedAt, isPrimary);
|
|
}
|
|
|
|
public record OrganizationMemberResponse(
|
|
int UserId,
|
|
string FirstName,
|
|
string LastName,
|
|
string Email,
|
|
string Role,
|
|
DateTimeOffset? LastLoginAt
|
|
)
|
|
{
|
|
public static OrganizationMemberResponse From(OrganizationUser member) => new(
|
|
member.UserId,
|
|
member.User.FirstName,
|
|
member.User.LastName,
|
|
member.User.Email,
|
|
member.Role.ToString(),
|
|
member.User.LastLoginAt);
|
|
}
|