35 lines
1.0 KiB
TypeScript
35 lines
1.0 KiB
TypeScript
/** The signed-in user's profile as rendered by the Profile page and the
|
|
* sidebar -- nulls mean "not set". */
|
|
export interface ProfileDTO {
|
|
firstName: string | null;
|
|
lastName: string | null;
|
|
avatar: string | null;
|
|
}
|
|
|
|
/** A shared identity display: name when the account set one (profile or
|
|
* sign-up name), otherwise null and the email stands on its own. */
|
|
export interface LinkAccountIdentity {
|
|
id: string;
|
|
email: string;
|
|
name: string | null;
|
|
avatar: string | null;
|
|
}
|
|
|
|
/** A pending link request addressed to the signed-in account (they asked,
|
|
* we decide). */
|
|
export interface PendingLinkRequestDTO extends LinkAccountIdentity {
|
|
requestId: string;
|
|
requestedAtLabel: string;
|
|
}
|
|
|
|
/** A confirmed link: the other account in the pair. */
|
|
export interface LinkedAccountDTO extends LinkAccountIdentity {
|
|
linkId: string;
|
|
}
|
|
|
|
/** An account the signed-in account blocked from sending link requests. */
|
|
export interface BlockedRequesterDTO extends LinkAccountIdentity {
|
|
blockId: string;
|
|
blockedAtLabel: string;
|
|
}
|