Store a list of ids of events and slots that accounts have marked as being interested in, and show aggeregate counts in the schedule.
24 lines
446 B
TypeScript
24 lines
446 B
TypeScript
export interface Account {
|
|
id: number,
|
|
type: "anonymous" | "regular" | "crew" | "admin",
|
|
/** Name of the account. Not present on anonymous accounts */
|
|
name?: string,
|
|
interestedIds?: string[],
|
|
}
|
|
|
|
export interface Subscription {
|
|
type: "push",
|
|
sessionId: number,
|
|
push: PushSubscriptionJSON,
|
|
}
|
|
|
|
export interface Session {
|
|
id: number,
|
|
accountId: number,
|
|
}
|
|
|
|
export interface AccountSession {
|
|
id: number,
|
|
account: Account,
|
|
push: boolean,
|
|
}
|