invites: add /invites/send, store more details in new SentTo field
deprecated SendTo string field for SentTo, which holds successful send addresses, and failures with a reason that isn't plain text. Will soon add an interface for sending invites after their creation. For #444 (ha).
This commit is contained in:
+38
-26
@@ -48,7 +48,7 @@ declare interface GlobalWindow extends Window {
|
||||
transitionEvent: string;
|
||||
animationEvent: string;
|
||||
tabs: Tabs;
|
||||
invites: inviteList;
|
||||
invites: InviteList;
|
||||
notifications: NotificationBox;
|
||||
language: string;
|
||||
lang: Lang;
|
||||
@@ -61,6 +61,42 @@ declare interface GlobalWindow extends Window {
|
||||
loginAppearance: string;
|
||||
}
|
||||
|
||||
declare interface InviteList {
|
||||
empty: boolean;
|
||||
invites: { [code: string]: Invite }
|
||||
add: (invite: Invite) => void;
|
||||
reload: (callback?: () => void) => void;
|
||||
isInviteURL: () => boolean;
|
||||
loadInviteURL: () => void;
|
||||
}
|
||||
|
||||
declare interface Invite {
|
||||
code?: string;
|
||||
expiresIn?: string;
|
||||
remainingUses?: string;
|
||||
send_to?: string; // DEPRECATED: use sent_to instead.
|
||||
sent_to?: SentToList;
|
||||
usedBy?: { [name: string]: number };
|
||||
created?: number;
|
||||
notifyExpiry?: boolean;
|
||||
notifyCreation?: boolean;
|
||||
profile?: string;
|
||||
label?: string;
|
||||
user_label?: string;
|
||||
userExpiry?: boolean;
|
||||
userExpiryTime?: string;
|
||||
}
|
||||
|
||||
declare interface SendFailure {
|
||||
address: string;
|
||||
reason: "CheckLogs" | "NoUser" | "MultiUser" | "InvalidAddress";
|
||||
}
|
||||
|
||||
declare interface SentToList {
|
||||
success: string[];
|
||||
failed: SendFailure[];
|
||||
}
|
||||
|
||||
declare interface Update {
|
||||
version: string;
|
||||
commit: string;
|
||||
@@ -83,6 +119,7 @@ declare interface Lang {
|
||||
strings: (key: string) => string;
|
||||
notif: (key: string) => string;
|
||||
var: (sect: string, key: string, ...subs: string[]) => string;
|
||||
template: (sect: string, key: string, subs: { [key: string]: string }) => string;
|
||||
quantity: (key: string, number: number) => string;
|
||||
}
|
||||
|
||||
@@ -131,31 +168,6 @@ declare interface Modals {
|
||||
backups?: Modal;
|
||||
}
|
||||
|
||||
interface Invite {
|
||||
code?: string;
|
||||
expiresIn?: string;
|
||||
remainingUses?: string;
|
||||
send_to?: string;
|
||||
usedBy?: { [name: string]: number };
|
||||
created?: number;
|
||||
notifyExpiry?: boolean;
|
||||
notifyCreation?: boolean;
|
||||
profile?: string;
|
||||
label?: string;
|
||||
user_label?: string;
|
||||
userExpiry?: boolean;
|
||||
userExpiryTime?: string;
|
||||
}
|
||||
|
||||
interface inviteList {
|
||||
empty: boolean;
|
||||
invites: { [code: string]: Invite }
|
||||
add: (invite: Invite) => void;
|
||||
reload: (callback?: () => void) => void;
|
||||
isInviteURL: () => boolean;
|
||||
loadInviteURL: () => void;
|
||||
}
|
||||
|
||||
interface paginatedDTO {
|
||||
last_page: boolean;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user