Move the query event handlers into a subfolder and name them in a consistent way

This commit is contained in:
Oliver 2025-11-20 22:14:43 -07:00
parent 6a2cc1170d
commit c113c326c6
6 changed files with 38 additions and 32 deletions

View file

@ -1,15 +1,15 @@
import { cancelRequest } from "./cancelRequest.mjs";
import { createNotif } from "./createNotif.mjs";
import { dataRequest } from "./dataRequest.mjs";
import { Logger } from "../utils/Logger.mjs";
import { submitRequest } from "./submitRequest.mjs";
import { queryCancel } from "./query/cancel.mjs";
import { queryNotify } from "./query/notify.mjs";
import { queryPrompt } from "./query/prompt.mjs";
import { querySubmit } from "./query/submit.mjs";
const events = {
// Data Request sockets
"query.cancel": cancelRequest,
"query.notify": createNotif,
"query.prompt": dataRequest,
"query.submit": submitRequest,
"query.cancel": queryCancel,
"query.notify": queryNotify,
"query.prompt": queryPrompt,
"query.submit": querySubmit,
};
export function registerSockets() {

View file

@ -1 +0,0 @@
export function cancelRequest() {};

View file

@ -1,19 +0,0 @@
export function createNotif(payload) {
const { userID, content, includeGM } = payload;
if (userID !== game.user.id) { return };
// TODO: prevent this from working if the user hasn't submitted a query response
let whisper = [game.user.id];
if (includeGM) {
whisper = game.users.filter(u => u.isGM).map(u => u.id);
};
ChatMessage.implementation.create({
flavor: `Data Query Notification`,
content,
whisper,
style: CONST.CHAT_MESSAGE_STYLES.OOC,
});
};

View file

@ -0,0 +1,24 @@
import { respondedToQueries } from "../../utils/QueryManager.mjs";
export function queryNotify(payload) {
const { id, userID, content, includeGM } = payload;
if (userID !== game.user.id) { return };
// Ensure that each user can only get one notification about a query
if (!respondedToQueries.has(id)) { return };
let whisper = [game.user.id];
if (includeGM) {
whisper = game.users.filter(u => u.isGM).map(u => u.id);
};
ChatMessage.implementation.create({
flavor: `Data Query Notification`,
content,
whisper,
style: CONST.CHAT_MESSAGE_STYLES.OOC,
});
respondedToQueries.delete(id);
};

View file

@ -1,6 +1,7 @@
import { DialogManager } from "../utils/DialogManager.mjs";
import { DialogManager } from "../../utils/DialogManager.mjs";
import { respondedToQueries } from "../../utils/QueryManager.mjs";
export async function dataRequest(payload) {
export async function queryPrompt(payload) {
const {
id,
users,
@ -40,6 +41,7 @@ export async function dataRequest(payload) {
} else if (result.state === `errored`) {
ui.notifications.error(result.error);
} else if (result.state === `prompted`) {
respondedToQueries.add(request.id);
game.socket.emit(`system.taf`, {
event: `query.submit`,
payload: {

View file

@ -1,6 +1,6 @@
import { addResponse, has as hasQuery } from "../utils/QueryManager.mjs";
import { addResponse, has as hasQuery } from "../../utils/QueryManager.mjs";
export function submitRequest(payload, user) {
export function querySubmit(payload, user) {
const {
id,
answers,