From 5a8cd8e8bb0d05501c70e73decd4c700ddb8d659 Mon Sep 17 00:00:00 2001 From: Ean Milligan Date: Sat, 18 May 2024 18:05:40 -0400 Subject: [PATCH] restructure DB files to make initialization easier --- db/initialize.ts | 2 +- db/populateDefaults.ts | 2 +- src/buttons/event-creation/step1-gameSelection.ts | 5 +++-- .../event-creation/step1a-openCustomModal.ts | 5 +++-- src/buttons/event-creation/step2-finalize.ts | 3 ++- src/buttons/event-creation/step3-createEvent.ts | 3 ++- src/buttons/live-event/alternateEvent.ts | 5 +++-- src/buttons/live-event/alternateRequest.ts | 3 ++- src/buttons/live-event/deleteConfirmed.ts | 3 ++- src/buttons/live-event/deleteEvent.ts | 5 +++-- src/buttons/live-event/editActivity-custom.ts | 5 +++-- src/buttons/live-event/editActivity.ts | 3 ++- src/buttons/live-event/editDateTime.ts | 5 +++-- src/buttons/live-event/editDescription.ts | 3 ++- src/buttons/live-event/editEvent.ts | 5 +++-- src/buttons/live-event/joinEvent.ts | 3 ++- src/buttons/live-event/joinRequest.ts | 3 ++- src/buttons/live-event/leaveEvent.ts | 5 +++-- src/buttons/live-event/leaveViaDM.ts | 3 ++- src/buttons/live-event/toggleWLStatus.ts | 3 ++- src/buttons/live-event/updateEvent.ts | 3 ++- src/buttons/live-event/utils.ts | 5 +++-- src/commandUtils.ts | 6 +++--- src/commands/audit.ts | 6 ++++-- src/commands/delete.ts | 3 ++- src/commands/help.ts | 3 ++- src/commands/info.ts | 3 ++- src/commands/managerJLA.ts | 3 ++- src/commands/report.ts | 3 ++- src/commands/setup.ts | 3 ++- src/db/client.ts | 11 +++++++++++ src/{db.ts => db/common.ts} | 14 ++------------ src/events/guildDelete.ts | 3 ++- src/events/messageCreate.ts | 5 +++-- src/events/ready.ts | 5 +++-- src/notificationSystem.ts | 3 ++- 36 files changed, 93 insertions(+), 60 deletions(-) create mode 100644 src/db/client.ts rename src/{db.ts => db/common.ts} (78%) diff --git a/db/initialize.ts b/db/initialize.ts index 44add0a..94d6dfd 100644 --- a/db/initialize.ts +++ b/db/initialize.ts @@ -2,7 +2,7 @@ // DATA WILL BE LOST IF DB ALREADY EXISTS, RUN AT OWN RISK import config from '../config.ts'; -import { dbClient } from '../src/db.ts'; +import { dbClient } from '../src/db/client.ts'; console.log('Attempting to create DB'); await dbClient.execute(`CREATE SCHEMA IF NOT EXISTS ${config.db.name};`); diff --git a/db/populateDefaults.ts b/db/populateDefaults.ts index 102570e..e3e2f50 100644 --- a/db/populateDefaults.ts +++ b/db/populateDefaults.ts @@ -1,5 +1,5 @@ // This file will populate the tables with default values -import { dbClient } from '../src/db.ts'; +import { dbClient } from '../src/db/client.ts'; console.log('Attempting to insert default actions into command_cnt'); const actions = [ diff --git a/src/buttons/event-creation/step1-gameSelection.ts b/src/buttons/event-creation/step1-gameSelection.ts index f5ec4c1..39fe991 100644 --- a/src/buttons/event-creation/step1-gameSelection.ts +++ b/src/buttons/event-creation/step1-gameSelection.ts @@ -9,7 +9,8 @@ import utils from '../../utils.ts'; import { customId as createCustomActivityBtnId } from './step1a-openCustomModal.ts'; import { customId as finalizeEventBtnId } from './step2-finalize.ts'; import { monthsShort } from './dateTimeUtils.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { createEventSlashName } from '../../commands/slashCommandNames.ts'; export const customId = 'gameSel'; @@ -51,7 +52,7 @@ const execute = async (bot: Bot, interaction: Interaction) => { let prefillDescription = ''; if (interaction.message?.embeds[0].fields && interaction.message.embeds[0].fields[LfgEmbedIndexes.StartTime].name === lfgStartTimeName) { if (interaction.message.embeds[0].fields[LfgEmbedIndexes.StartTime].value !== invalidDateTimeStr) { - let rawEventDateTime = interaction.message.embeds[0].fields[LfgEmbedIndexes.StartTime].value.split('\n')[0].split(' '); + const rawEventDateTime = interaction.message.embeds[0].fields[LfgEmbedIndexes.StartTime].value.split('\n')[0].split(' '); const monthIdx = rawEventDateTime.findIndex((item) => monthsShort.includes(item.toUpperCase())); prefillTime = rawEventDateTime.slice(0, monthIdx - 1).join(' ').trim(); prefillTimeZone = (rawEventDateTime[monthIdx - 1] || '').trim(); diff --git a/src/buttons/event-creation/step1a-openCustomModal.ts b/src/buttons/event-creation/step1a-openCustomModal.ts index 40f7702..4c2ce15 100644 --- a/src/buttons/event-creation/step1a-openCustomModal.ts +++ b/src/buttons/event-creation/step1a-openCustomModal.ts @@ -2,11 +2,12 @@ import { Bot, Interaction, InteractionResponseTypes } from '../../../deps.ts'; import { generateCustomActivityFields, idSeparator, pathIdxSeparator } from '../eventUtils.ts'; import { customId as verifyCustomActivityId } from './step1b-verifyCustomActivity.ts'; import utils from '../../utils.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; export const customId = 'customAct'; -const execute = async (bot: Bot, interaction: Interaction) => { +const execute = (bot: Bot, interaction: Interaction) => { if (interaction.data?.customId && interaction.member && interaction.guildId && interaction.channelId) { // Light Telemetry dbClient.execute(queries.callIncCnt('btn-customAct')).catch((e) => utils.commonLoggers.dbError('step1a-openCustomModal.ts', 'call sproc INC_CNT on', e)); diff --git a/src/buttons/event-creation/step2-finalize.ts b/src/buttons/event-creation/step2-finalize.ts index 6a1403a..c0e31a7 100644 --- a/src/buttons/event-creation/step2-finalize.ts +++ b/src/buttons/event-creation/step2-finalize.ts @@ -6,7 +6,8 @@ import { addTokenToMap, deleteTokenEarly } from '../tokenCleanup.ts'; import { Activities, Activity } from './activities.ts'; import { getDateFromRawInput } from './dateTimeUtils.ts'; import utils from '../../utils.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; export const customId = 'finalize'; diff --git a/src/buttons/event-creation/step3-createEvent.ts b/src/buttons/event-creation/step3-createEvent.ts index 4252afd..e9315de 100644 --- a/src/buttons/event-creation/step3-createEvent.ts +++ b/src/buttons/event-creation/step3-createEvent.ts @@ -3,7 +3,8 @@ import { generateLFGButtons } from './utils.ts'; import { idSeparator, LfgEmbedIndexes } from '../eventUtils.ts'; import { deleteTokenEarly } from '../tokenCleanup.ts'; import { dmTestMessage, safelyDismissMsg, sendDirectMessage, somethingWentWrong, warnColor } from '../../commandUtils.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import utils from '../../utils.ts'; export const customId = 'createEvent'; diff --git a/src/buttons/live-event/alternateEvent.ts b/src/buttons/live-event/alternateEvent.ts index d3ccc12..3fb3c04 100644 --- a/src/buttons/live-event/alternateEvent.ts +++ b/src/buttons/live-event/alternateEvent.ts @@ -1,12 +1,13 @@ import { Bot, Interaction } from '../../../deps.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { somethingWentWrong } from '../../commandUtils.ts'; import utils from '../../utils.ts'; import { alternateMemberToEvent } from './utils.ts'; export const customId = 'alternateEvent'; -const execute = async (bot: Bot, interaction: Interaction) => { +const execute = (bot: Bot, interaction: Interaction) => { if (interaction.data?.customId && interaction.member && interaction.member.user && interaction.channelId && interaction.message && interaction.message.embeds[0]) { // Light Telemetry dbClient.execute(queries.callIncCnt('btn-altEvent')).catch((e) => utils.commonLoggers.dbError('alternateEvent.ts', 'call sproc INC_CNT on', e)); diff --git a/src/buttons/live-event/alternateRequest.ts b/src/buttons/live-event/alternateRequest.ts index 855bf18..f47e62f 100644 --- a/src/buttons/live-event/alternateRequest.ts +++ b/src/buttons/live-event/alternateRequest.ts @@ -1,5 +1,6 @@ import { Bot, Interaction } from '../../../deps.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { somethingWentWrong } from '../../commandUtils.ts'; import utils from '../../utils.ts'; import { alternateMemberToEvent } from './utils.ts'; diff --git a/src/buttons/live-event/deleteConfirmed.ts b/src/buttons/live-event/deleteConfirmed.ts index b1a816d..183cea8 100644 --- a/src/buttons/live-event/deleteConfirmed.ts +++ b/src/buttons/live-event/deleteConfirmed.ts @@ -1,5 +1,6 @@ import { ApplicationCommandFlags, Bot, Interaction, InteractionResponseTypes } from '../../../deps.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../../db/common.ts'; import { failColor, infoColor1, infoColor2, safelyDismissMsg, sendDirectMessage, somethingWentWrong, successColor } from '../../commandUtils.ts'; import { generateMemberList, idSeparator, pathIdxEnder, pathIdxSeparator } from '../eventUtils.ts'; import utils from '../../utils.ts'; diff --git a/src/buttons/live-event/deleteEvent.ts b/src/buttons/live-event/deleteEvent.ts index 2b3dcc1..6e29324 100644 --- a/src/buttons/live-event/deleteEvent.ts +++ b/src/buttons/live-event/deleteEvent.ts @@ -1,5 +1,6 @@ import { Bot, Interaction, InteractionResponseTypes, MessageComponentTypes, TextStyles } from '../../../deps.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../../db/common.ts'; import { somethingWentWrong, stopThat } from '../../commandUtils.ts'; import { idSeparator, pathIdxEnder, pathIdxSeparator } from '../eventUtils.ts'; import { confirmedCustomId, confirmStr, customId as deleteConfirmedCustomId } from './deleteConfirmed.ts'; @@ -7,7 +8,7 @@ import utils from '../../utils.ts'; export const customId = 'deleteEvent'; -const execute = async (bot: Bot, interaction: Interaction) => { +const execute = (bot: Bot, interaction: Interaction) => { if (interaction.data?.customId && interaction.member && interaction.member.user && interaction.channelId && interaction.guildId && interaction.message && interaction.message.embeds[0]) { // Light Telemetry dbClient.execute(queries.callIncCnt('btn-delEvent')).catch((e) => utils.commonLoggers.dbError('deleteEvent.ts', 'call sproc INC_CNT on', e)); diff --git a/src/buttons/live-event/editActivity-custom.ts b/src/buttons/live-event/editActivity-custom.ts index c9b509c..1f441e8 100644 --- a/src/buttons/live-event/editActivity-custom.ts +++ b/src/buttons/live-event/editActivity-custom.ts @@ -2,11 +2,12 @@ import { Bot, Interaction, InteractionResponseTypes } from '../../../deps.ts'; import { generateCustomActivityFields, idSeparator } from '../eventUtils.ts'; import { customId as editActivityCustomId } from './editActivity.ts'; import utils from '../../utils.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; export const customId = 'editActivityCustom'; -const execute = async (bot: Bot, interaction: Interaction) => { +const execute = (bot: Bot, interaction: Interaction) => { if (interaction.data?.customId && interaction.member && interaction.guildId && interaction.channelId) { // Light Telemetry dbClient.execute(queries.callIncCnt('btn-eeCustomAct')).catch((e) => utils.commonLoggers.dbError('step1a-openCustomModal.ts', 'call sproc INC_CNT on', e)); diff --git a/src/buttons/live-event/editActivity.ts b/src/buttons/live-event/editActivity.ts index 4f2983e..0f5b042 100644 --- a/src/buttons/live-event/editActivity.ts +++ b/src/buttons/live-event/editActivity.ts @@ -18,7 +18,8 @@ import { import { addTokenToMap, deleteTokenEarly, generateMapId, selfDestructMessage, tokenMap } from '../tokenCleanup.ts'; import utils from '../../utils.ts'; import config from '../../../config.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { customId as editActivityCustomCustomId } from './editActivity-custom.ts'; import { applyEditButtons, applyEditMessage, getEventMemberCount, getLfgMembers } from './utils.ts'; import { LFGMember } from '../../types/commandTypes.ts'; diff --git a/src/buttons/live-event/editDateTime.ts b/src/buttons/live-event/editDateTime.ts index c602393..3470c01 100644 --- a/src/buttons/live-event/editDateTime.ts +++ b/src/buttons/live-event/editDateTime.ts @@ -1,5 +1,6 @@ import { Bot, Interaction, InteractionResponseTypes } from '../../../deps.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { somethingWentWrong } from '../../commandUtils.ts'; import { dateTimeFields, idSeparator, LfgEmbedIndexes, pathIdxEnder, pathIdxSeparator } from '../eventUtils.ts'; import { monthsShort } from '../event-creation/dateTimeUtils.ts'; @@ -15,7 +16,7 @@ const execute = async (bot: Bot, interaction: Interaction) => { const [evtChannelId, evtMessageId] = (interaction.data.customId.replaceAll(pathIdxEnder, '').split(idSeparator)[1] || '').split(pathIdxSeparator).map((id) => BigInt(id || '0')); const eventMessage = await bot.helpers.getMessage(evtChannelId, evtMessageId).catch((e: Error) => utils.commonLoggers.messageGetError('editDateTime.ts', 'get eventMessage', e)); - let rawEventDateTime = eventMessage?.embeds[0].fields ? eventMessage.embeds[0].fields[LfgEmbedIndexes.StartTime].value.trim().split('\n')[0].split(' ') : []; + const rawEventDateTime = eventMessage?.embeds[0].fields ? eventMessage.embeds[0].fields[LfgEmbedIndexes.StartTime].value.trim().split('\n')[0].split(' ') : []; const monthIdx = rawEventDateTime.findIndex((item) => monthsShort.includes(item.toUpperCase())); const prefillTime = rawEventDateTime.slice(0, monthIdx - 1).join(' ').trim(); const prefillTimeZone = rawEventDateTime[monthIdx - 1].trim(); diff --git a/src/buttons/live-event/editDescription.ts b/src/buttons/live-event/editDescription.ts index 7abf790..c6e38be 100644 --- a/src/buttons/live-event/editDescription.ts +++ b/src/buttons/live-event/editDescription.ts @@ -1,5 +1,6 @@ import { Bot, Interaction, InteractionResponseTypes } from '../../../deps.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { somethingWentWrong } from '../../commandUtils.ts'; import { descriptionTextField, idSeparator, LfgEmbedIndexes, pathIdxEnder, pathIdxSeparator } from '../eventUtils.ts'; import utils from '../../utils.ts'; diff --git a/src/buttons/live-event/editEvent.ts b/src/buttons/live-event/editEvent.ts index 9b5f567..cd87667 100644 --- a/src/buttons/live-event/editEvent.ts +++ b/src/buttons/live-event/editEvent.ts @@ -1,5 +1,6 @@ import { ActionRow, ApplicationCommandFlags, Bot, ButtonStyles, Interaction, InteractionResponseTypes, MessageComponentTypes } from '../../../deps.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../../db/common.ts'; import { infoColor1, somethingWentWrong, stopThat } from '../../commandUtils.ts'; import { idSeparator, pathIdxEnder, pathIdxSeparator } from '../eventUtils.ts'; import { addTokenToMap, selfDestructMessage } from '../tokenCleanup.ts'; @@ -11,7 +12,7 @@ import { customId as toggleWLStatusCustomId } from './toggleWLStatus.ts'; export const customId = 'editEvent'; -const execute = async (bot: Bot, interaction: Interaction) => { +const execute = (bot: Bot, interaction: Interaction) => { if ( interaction.data?.customId && interaction.member && interaction.channelId && interaction.guildId && interaction.message && interaction.message.components && interaction.message.components[0].components diff --git a/src/buttons/live-event/joinEvent.ts b/src/buttons/live-event/joinEvent.ts index 53dc9dd..bdb6f0a 100644 --- a/src/buttons/live-event/joinEvent.ts +++ b/src/buttons/live-event/joinEvent.ts @@ -1,5 +1,6 @@ import { ApplicationCommandFlags, Bot, Interaction, InteractionResponseTypes } from '../../../deps.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../../db/common.ts'; import { infoColor1, safelyDismissMsg, sendDirectMessage, somethingWentWrong, successColor, warnColor } from '../../commandUtils.ts'; import { generateMemberList, idSeparator, LfgEmbedIndexes } from '../eventUtils.ts'; import utils from '../../utils.ts'; diff --git a/src/buttons/live-event/joinRequest.ts b/src/buttons/live-event/joinRequest.ts index 08d0932..9e333d5 100644 --- a/src/buttons/live-event/joinRequest.ts +++ b/src/buttons/live-event/joinRequest.ts @@ -2,7 +2,8 @@ import { Bot, ButtonStyles, Interaction, InteractionResponseTypes, MessageCompon import { sendDirectMessage, somethingWentWrong, successColor, warnColor } from '../../commandUtils.ts'; import { generateMapId, getLfgMembers, joinMemberToEvent, joinRequestMap, joinRequestResponseButtons, JoinRequestStatus } from './utils.ts'; import { alternateEventBtnStr, idSeparator } from '../eventUtils.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { customId as alternateRequestCustomId } from './alternateRequest.ts'; import utils from '../../utils.ts'; diff --git a/src/buttons/live-event/leaveEvent.ts b/src/buttons/live-event/leaveEvent.ts index cbcdbee..39317e5 100644 --- a/src/buttons/live-event/leaveEvent.ts +++ b/src/buttons/live-event/leaveEvent.ts @@ -1,12 +1,13 @@ import { Bot, Interaction } from '../../../deps.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { somethingWentWrong } from '../../commandUtils.ts'; import utils from '../../utils.ts'; import { removeMemberFromEvent } from './utils.ts'; export const customId = 'leaveEvent'; -const execute = async (bot: Bot, interaction: Interaction) => { +const execute = (bot: Bot, interaction: Interaction) => { if (interaction.data?.customId && interaction.member && interaction.channelId && interaction.guildId && interaction.message && interaction.message.embeds[0]) { // Light Telemetry dbClient.execute(queries.callIncCnt('btn-leaveEvent')).catch((e) => utils.commonLoggers.dbError('leaveEvent.ts', 'call sproc INC_CNT on', e)); diff --git a/src/buttons/live-event/leaveViaDM.ts b/src/buttons/live-event/leaveViaDM.ts index bf65f78..5ab470b 100644 --- a/src/buttons/live-event/leaveViaDM.ts +++ b/src/buttons/live-event/leaveViaDM.ts @@ -1,5 +1,6 @@ import { Bot, Interaction } from '../../../deps.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { somethingWentWrong } from '../../commandUtils.ts'; import utils from '../../utils.ts'; import { removeMemberFromEvent } from './utils.ts'; diff --git a/src/buttons/live-event/toggleWLStatus.ts b/src/buttons/live-event/toggleWLStatus.ts index 7a982d6..46166c9 100644 --- a/src/buttons/live-event/toggleWLStatus.ts +++ b/src/buttons/live-event/toggleWLStatus.ts @@ -3,7 +3,8 @@ import { dmTestMessage, safelyDismissMsg, sendDirectMessage, somethingWentWrong, import { idSeparator, pathIdxEnder, pathIdxSeparator } from '../eventUtils.ts'; import { deleteTokenEarly } from '../tokenCleanup.ts'; import utils from '../../utils.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import { generateLFGButtons } from '../event-creation/utils.ts'; export const customId = 'toggleWLStatus'; diff --git a/src/buttons/live-event/updateEvent.ts b/src/buttons/live-event/updateEvent.ts index 6f432b5..4fdb3fe 100644 --- a/src/buttons/live-event/updateEvent.ts +++ b/src/buttons/live-event/updateEvent.ts @@ -4,7 +4,8 @@ import { generateMemberList, idSeparator, LfgEmbedIndexes, pathIdxEnder, pathIdx import { deleteTokenEarly } from '../tokenCleanup.ts'; import utils from '../../utils.ts'; import config from '../../../config.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../../db/common.ts'; import { getGuildName } from './utils.ts'; export const customId = 'updateEvent'; diff --git a/src/buttons/live-event/utils.ts b/src/buttons/live-event/utils.ts index 42c71f5..d40d3c3 100644 --- a/src/buttons/live-event/utils.ts +++ b/src/buttons/live-event/utils.ts @@ -6,7 +6,8 @@ import { selfDestructMessage } from '../tokenCleanup.ts'; import { approveStr, customId as joinRequestCustomId, denyStr } from './joinRequest.ts'; import { customId as updateEventCustomId } from './updateEvent.ts'; import { customId as leaveViaDMCustomId } from './leaveViaDM.ts'; -import { dbClient, queries } from '../../db.ts'; +import { dbClient } from '../../db/client.ts'; +import { queries } from '../../db/common.ts'; import utils from '../../utils.ts'; // Join status map to prevent spamming the system @@ -128,7 +129,7 @@ ${safelyDismissMsg}`, }; // Generic no response response -const noEdit = async (bot: Bot, interaction: Interaction, loudAcknowledge: boolean) => { +const noEdit = (bot: Bot, interaction: Interaction, loudAcknowledge: boolean) => { if (loudAcknowledge) { bot.helpers.sendInteractionResponse(interaction.id, interaction.token, { type: InteractionResponseTypes.ChannelMessageWithSource, diff --git a/src/commandUtils.ts b/src/commandUtils.ts index a3b5dc7..e39b7fd 100644 --- a/src/commandUtils.ts +++ b/src/commandUtils.ts @@ -1,6 +1,6 @@ import { ApplicationCommandFlags, Bot, CreateMessage, Embed, Interaction, InteractionResponseTypes } from '../deps.ts'; import config from '../config.ts'; -import { generateGuildSettingKey, lfgChannelSettings } from './db.ts'; +import { generateGuildSettingKey, lfgChannelSettings } from './db/common.ts'; import utils from './utils.ts'; import { helpSlashName, infoSlashName, reportSlashName } from './commands/slashCommandNames.ts'; @@ -27,7 +27,7 @@ export const isLFGChannel = (guildId: bigint, channelId: bigint) => { }; // Tell user to try again or report issue -export const somethingWentWrong = async (bot: Bot, interaction: Interaction, errorCode: string) => +export const somethingWentWrong = (bot: Bot, interaction: Interaction, errorCode: string) => bot.helpers.sendInteractionResponse(interaction.id, interaction.token, { type: InteractionResponseTypes.ChannelMessageWithSource, data: { @@ -45,7 +45,7 @@ export const somethingWentWrong = async (bot: Bot, interaction: Interaction, err }).catch((e: Error) => utils.commonLoggers.interactionSendError('commandUtils.ts@somethingWentWrong', interaction, e)); // Smack the user for trying to modify an event that isn't theirs -export const stopThat = async (bot: Bot, interaction: Interaction, stopWhat: string) => +export const stopThat = (bot: Bot, interaction: Interaction, stopWhat: string) => bot.helpers.sendInteractionResponse(interaction.id, interaction.token, { type: InteractionResponseTypes.ChannelMessageWithSource, data: { diff --git a/src/commands/audit.ts b/src/commands/audit.ts index bf44dc8..2ebea8d 100644 --- a/src/commands/audit.ts +++ b/src/commands/audit.ts @@ -1,7 +1,8 @@ import config from '../../config.ts'; import { ApplicationCommandOptionTypes, ApplicationCommandTypes, Bot, DiscordEmbedField, Interaction, InteractionResponseTypes } from '../../deps.ts'; import { infoColor2, isLFGChannel, somethingWentWrong } from '../commandUtils.ts'; -import { dbClient, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { queries } from '../db/common.ts'; import { CommandDetails } from '../types/commandTypes.ts'; import utils from '../utils.ts'; import { auditSlashName } from './slashCommandNames.ts'; @@ -39,7 +40,7 @@ const execute = async (bot: Bot, interaction: Interaction) => { dbClient.execute(queries.callIncCnt('cmd-audit')).catch((e) => utils.commonLoggers.dbError('audit.ts@inc', 'call sproc INC_CNT on', e)); const auditName = interaction.data.options[0].name; switch (auditName) { - case auditDbName: + case auditDbName: { // Get DB statistics const auditQuery = await dbClient.query(`SELECT * FROM db_size;`).catch((e) => utils.commonLoggers.dbError('audit.ts@dbSize', 'query', e)); @@ -71,6 +72,7 @@ const execute = async (bot: Bot, interaction: Interaction) => { }, ).catch((e: Error) => utils.commonLoggers.interactionSendError('audit.ts@dbSize', interaction, e)); break; + } case auditCustomActivities: case auditGuildName: default: diff --git a/src/commands/delete.ts b/src/commands/delete.ts index 0996181..f30fad4 100644 --- a/src/commands/delete.ts +++ b/src/commands/delete.ts @@ -1,7 +1,8 @@ import config from '../../config.ts'; import { ApplicationCommandFlags, ApplicationCommandTypes, Bot, Interaction, InteractionResponseTypes } from '../../deps.ts'; import { failColor, safelyDismissMsg, somethingWentWrong, successColor } from '../commandUtils.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../db/common.ts'; import { CommandDetails } from '../types/commandTypes.ts'; import utils from '../utils.ts'; import { deleteSlashName, setupSlashName } from './slashCommandNames.ts'; diff --git a/src/commands/help.ts b/src/commands/help.ts index 8a6067a..d047297 100644 --- a/src/commands/help.ts +++ b/src/commands/help.ts @@ -1,7 +1,8 @@ import config from '../../config.ts'; import { ApplicationCommandTypes, Bot, Interaction, InteractionResponseTypes } from '../../deps.ts'; import { infoColor1, isLFGChannel } from '../commandUtils.ts'; -import { dbClient, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { queries } from '../db/common.ts'; import { CommandDetails } from '../types/commandTypes.ts'; import utils from '../utils.ts'; import { createEventSlashName, helpSlashName, setupSlashName } from './slashCommandNames.ts'; diff --git a/src/commands/info.ts b/src/commands/info.ts index 50a40b4..2249059 100644 --- a/src/commands/info.ts +++ b/src/commands/info.ts @@ -1,7 +1,8 @@ import config from '../../config.ts'; import { ApplicationCommandTypes, Bot, Interaction, InteractionResponseTypes } from '../../deps.ts'; import { infoEmbed, isLFGChannel } from '../commandUtils.ts'; -import { dbClient, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { queries } from '../db/common.ts'; import { CommandDetails } from '../types/commandTypes.ts'; import utils from '../utils.ts'; import { infoSlashName } from './slashCommandNames.ts'; diff --git a/src/commands/managerJLA.ts b/src/commands/managerJLA.ts index 468812b..b10a873 100644 --- a/src/commands/managerJLA.ts +++ b/src/commands/managerJLA.ts @@ -1,7 +1,8 @@ import { ApplicationCommandFlags, ApplicationCommandOptionTypes, ApplicationCommandTypes, Bot, Interaction, InteractionResponseTypes } from '../../deps.ts'; import { alternateMemberToEvent, getGuildName, joinMemberToEvent, removeMemberFromEvent } from '../buttons/live-event/utils.ts'; import { generateMemberList } from '../buttons/eventUtils.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../db/common.ts'; import { infoColor2, safelyDismissMsg, sendDirectMessage, somethingWentWrong, stopThat, warnColor } from '../commandUtils.ts'; import { CommandDetails, LFGMember } from '../types/commandTypes.ts'; import config from '../../config.ts'; diff --git a/src/commands/report.ts b/src/commands/report.ts index b941c7d..99c628d 100644 --- a/src/commands/report.ts +++ b/src/commands/report.ts @@ -1,7 +1,8 @@ import config from '../../config.ts'; import { ApplicationCommandOptionTypes, ApplicationCommandTypes, Bot, Interaction, InteractionResponseTypes } from '../../deps.ts'; import { infoColor2, isLFGChannel, somethingWentWrong, successColor } from '../commandUtils.ts'; -import { dbClient, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { queries } from '../db/common.ts'; import { CommandDetails } from '../types/commandTypes.ts'; import utils from '../utils.ts'; import { reportSlashName } from './slashCommandNames.ts'; diff --git a/src/commands/setup.ts b/src/commands/setup.ts index 564d07a..d9690af 100644 --- a/src/commands/setup.ts +++ b/src/commands/setup.ts @@ -14,7 +14,8 @@ import { OverwriteTypes, } from '../../deps.ts'; import { failColor, infoColor2, safelyDismissMsg, somethingWentWrong, successColor } from '../commandUtils.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../db/common.ts'; import { CommandDetails } from '../types/commandTypes.ts'; import utils from '../utils.ts'; import { customId as gameSelId } from '../buttons/event-creation/step1-gameSelection.ts'; diff --git a/src/db/client.ts b/src/db/client.ts new file mode 100644 index 0000000..84083f2 --- /dev/null +++ b/src/db/client.ts @@ -0,0 +1,11 @@ +import config from '../../config.ts'; +import { Client } from '../../deps.ts'; +import { LOCALMODE } from '../../flags.ts'; + +export const dbClient = await new Client().connect({ + hostname: LOCALMODE ? config.db.localhost : config.db.host, + port: config.db.port, + db: config.db.name, + username: config.db.username, + password: config.db.password, +}); diff --git a/src/db.ts b/src/db/common.ts similarity index 78% rename from src/db.ts rename to src/db/common.ts index 2fe5e79..4ca9d1d 100644 --- a/src/db.ts +++ b/src/db/common.ts @@ -1,15 +1,5 @@ -import config from '../config.ts'; -import { Client } from '../deps.ts'; -import { LOCALMODE } from '../flags.ts'; -import { DBGuildSettings, LfgChannelSetting } from './types/commandTypes.ts'; - -export const dbClient = await new Client().connect({ - hostname: LOCALMODE ? config.db.localhost : config.db.host, - port: config.db.port, - db: config.db.name, - username: config.db.username, - password: config.db.password, -}); +import { dbClient } from './client.ts'; +import { DBGuildSettings, LfgChannelSetting } from '../types/commandTypes.ts'; export const queries = { callIncCnt: (cmdName: string) => `CALL INC_CNT("${cmdName}");`, diff --git a/src/events/guildDelete.ts b/src/events/guildDelete.ts index 4f6b616..02236d7 100644 --- a/src/events/guildDelete.ts +++ b/src/events/guildDelete.ts @@ -1,7 +1,8 @@ import config from '../../config.ts'; import { Bot, log, LT } from '../../deps.ts'; import { warnColor } from '../commandUtils.ts'; -import { dbClient, lfgChannelSettings } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { lfgChannelSettings } from '../db/common.ts'; import utils from '../utils.ts'; export const guildDelete = async (bot: Bot, guildId: bigint) => { diff --git a/src/events/messageCreate.ts b/src/events/messageCreate.ts index 38b6e5a..d79feb9 100644 --- a/src/events/messageCreate.ts +++ b/src/events/messageCreate.ts @@ -2,9 +2,10 @@ import config from '../../config.ts'; import utils from '../utils.ts'; import { Bot, botId, Message } from '../../deps.ts'; import { infoEmbed } from '../commandUtils.ts'; -import { dbClient, generateGuildSettingKey, lfgChannelSettings, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { generateGuildSettingKey, lfgChannelSettings, queries } from '../db/common.ts'; -export const messageCreate = async (bot: Bot, message: Message) => { +export const messageCreate = (bot: Bot, message: Message) => { // Ignore self if (botId === message.authorId) return; diff --git a/src/events/ready.ts b/src/events/ready.ts index 06dcc01..3080c55 100644 --- a/src/events/ready.ts +++ b/src/events/ready.ts @@ -4,7 +4,8 @@ import { LOCALMODE } from '../../flags.ts'; import { getRandomStatus, successColor } from '../commandUtils.ts'; import { ActiveEvent } from '../types/commandTypes.ts'; import utils from '../utils.ts'; -import { dbClient, queries } from '../db.ts'; +import { dbClient } from '../db/client.ts'; +import { queries } from '../db/common.ts'; import { deleteEvent, handleFailures, lockEvent, notifyEventMembers, tenMinutes } from '../notificationSystem.ts'; import { updateBotListStatistics } from '../botListPoster.ts'; @@ -27,7 +28,7 @@ export const ready = (rawBot: Bot) => { // Interval to rotate the status text every 30 seconds to show off more commands if (botStatusIntervalId) clearInterval(botStatusIntervalId); - botStatusIntervalId = setInterval(async () => { + botStatusIntervalId = setInterval(() => { log(LT.LOG, 'Changing bot status'); bot.helpers.editBotStatus({ activities: [{ diff --git a/src/notificationSystem.ts b/src/notificationSystem.ts index 1e5d648..6c9f19d 100644 --- a/src/notificationSystem.ts +++ b/src/notificationSystem.ts @@ -4,7 +4,8 @@ import { LfgEmbedIndexes } from './buttons/eventUtils.ts'; import { getEventMemberCount, getGuildName, getLfgMembers } from './buttons/live-event/utils.ts'; import { failColor, infoColor1, sendDirectMessage, warnColor } from './commandUtils.ts'; import { reportSlashName } from './commands/slashCommandNames.ts'; -import { dbClient, queries } from './db.ts'; +import { dbClient } from './db/client.ts'; +import { queries } from './db/common.ts'; import { ActiveEvent } from './types/commandTypes.ts'; import utils from './utils.ts';