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