Gateway: multi-select answers and a summary endpoint for the complication
This commit is contained in:
1 parent
69858d4719
commit
830bf4f139
5 files changed
+98
-7
No files matched your search
+13
-1
@@ -30,6 +30,8 @@ export interface PendingRequest {
|
||||
question: string;
|
||||
options: Array<{ label: string; value: string }>;
|
||||
allowCustomAnswer: boolean;
|
||||
/** When true, answer with an array of option values. */
|
||||
multiSelect: boolean;
|
||||
}>;
|
||||
}
|
||||
|
||||
@@ -47,6 +49,15 @@ export interface FeedItem {
|
||||
request: PendingRequest | null;
|
||||
}
|
||||
|
||||
/** Counts for the watch face complication. Cheap: no thread pages are read. */
|
||||
export interface Summary {
|
||||
needsYou: number;
|
||||
working: number;
|
||||
/** The thread that has waited longest for you, if any. */
|
||||
next: { hostId: string; threadId: string; title: string; hostLabel: string } | null;
|
||||
hostsOffline: number;
|
||||
}
|
||||
|
||||
export interface Feed {
|
||||
/** Waiting for approval or input. Oldest request first. */
|
||||
needsYou: FeedItem[];
|
||||
@@ -106,7 +117,8 @@ export interface SendMessageRequest {
|
||||
|
||||
export type RespondRequest =
|
||||
| { requestId: string; decision: ApprovalDecision }
|
||||
| { requestId: string; answers: Record<string, string> };
|
||||
/** Per question id: an option value, a typed answer, or for multi-select questions an array of option values. */
|
||||
| { requestId: string; answers: Record<string, string | string[]> };
|
||||
|
||||
export interface NewThreadRequest {
|
||||
hostId: string;
|
||||
|
||||
Reference in new issue
Block a user