Add methods to handle the finishing and cancellation of requests to the API
This commit is contained in:
parent
860c8b619a
commit
d60448640f
1 changed files with 23 additions and 1 deletions
|
|
@ -173,6 +173,8 @@ async function maybeResolve(requestID) {
|
||||||
if (query.users.length === finishedUserCount) {
|
if (query.users.length === finishedUserCount) {
|
||||||
query.app?.close();
|
query.app?.close();
|
||||||
query.resolve(query.responses);
|
query.resolve(query.responses);
|
||||||
|
queries.delete(requestID);
|
||||||
|
promises.delete(requestID);
|
||||||
} else {
|
} else {
|
||||||
query.app?.render({ parts: [ `users` ] });
|
query.app?.render({ parts: [ `users` ] });
|
||||||
};
|
};
|
||||||
|
|
@ -189,10 +191,30 @@ export async function notify(userID, content, { includeGM = false } = {}) {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export async function finish(requestID) {
|
||||||
|
// prevent finishing other people's queries
|
||||||
|
if (!queries.has(requestID)) { return };
|
||||||
|
|
||||||
|
const query = queries.get(requestID);
|
||||||
|
query.resolve(query.responses);
|
||||||
|
queries.delete(requestID);
|
||||||
|
promises.delete(requestID);
|
||||||
|
|
||||||
|
game.socket.emit(`system.taf`, {
|
||||||
|
event: `query.cancel`,
|
||||||
|
payload: { id: requestID },
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export async function cancel(requestID) {
|
export async function cancel(requestID) {
|
||||||
// prevent cancelling other people's queries
|
// prevent cancelling other people's queries
|
||||||
if (!queries.has(requestID)) { return };
|
if (!queries.has(requestID)) { return };
|
||||||
|
|
||||||
|
const query = queries.get(requestID);
|
||||||
|
query.resolve(null);
|
||||||
|
queries.delete(requestID);
|
||||||
|
promises.delete(requestID);
|
||||||
|
|
||||||
game.socket.emit(`system.taf`, {
|
game.socket.emit(`system.taf`, {
|
||||||
event: `query.cancel`,
|
event: `query.cancel`,
|
||||||
payload: { id: requestID },
|
payload: { id: requestID },
|
||||||
|
|
@ -234,7 +256,7 @@ export const QueryManager = {
|
||||||
query, requery,
|
query, requery,
|
||||||
addResponse,
|
addResponse,
|
||||||
notify,
|
notify,
|
||||||
cancel,
|
finish, cancel,
|
||||||
setApplication,
|
setApplication,
|
||||||
userActivity,
|
userActivity,
|
||||||
};
|
};
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue