Data Request API helper #10

Merged
Oliver merged 94 commits from feat/data-requests into main 2025-11-22 02:51:15 +00:00
Showing only changes of commit cb334f41de - Show all commits

View file

@ -7,7 +7,7 @@ import { QueryStatus } from "../apps/QueryStatus.mjs";
* users involved with the data request.
* @typedef {Record<
* string,
* "finished" | "waiting" | "cancelled" | "disconnected" | "unprompted"
* "finished" | "waiting" | "disconnected" | "unprompted"
* >} UserStatus
*/
@ -148,18 +148,19 @@ export async function requery(requestID, users) {
};
export async function addResponse(requestID, userID, answers) {
const data = queries.get(requestID);
if (!queries.has(requestID)) { return };
const query = queries.get(requestID);
// User closed the popup manually
if (answers == null) {
data.status[userID] = `unprompted`;
query.status[userID] = `unprompted`;
}
// User submitted the answers as expected
else {
data.responses[userID] = answers;
data.status[userID] = `finished`;
await data.onSubmit?.(requestID, userID, answers);
query.responses[userID] = answers;
query.status[userID] = `finished`;
await query.onSubmit?.(requestID, userID, answers);
};
await maybeResolve(requestID);