Data Request API helper #10
1 changed files with 8 additions and 7 deletions
|
|
@ -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 };
|
||||
|
Oliver marked this conversation as resolved
Outdated
|
||||
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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue
Add check to ensure that the query isn't undefined