2024-05-18 15:05:40 -07:00
import { dbClient } from './client.ts' ;
import { DBGuildSettings , LfgChannelSetting } from '../types/commandTypes.ts' ;
2023-01-11 15:06:20 -08:00
export const queries = {
callIncCnt : ( cmdName : string ) = > ` CALL INC_CNT(" ${ cmdName } "); ` ,
2023-04-28 12:53:17 -07:00
selectEvents : ( notifiedFlag : number , lockedFlag : number ) = > ` SELECT * FROM active_events WHERE notifiedFlag = ${ notifiedFlag } AND lockedFlag = ${ lockedFlag } AND eventTime < ? ` ,
selectFailedEvents : 'SELECT * FROM active_events WHERE (notifiedFlag = -1 OR lockedFlag = -1) AND eventTime < ?' ,
2023-04-20 23:41:37 -07:00
insertEvent : 'INSERT INTO active_events(messageId,channelId,guildId,ownerId,eventTime) values(?,?,?,?,?)' ,
2023-04-28 12:53:17 -07:00
updateEventTime : 'UPDATE active_events SET eventTime = ? WHERE channelId = ? AND messageId = ?' ,
2023-04-28 20:27:42 -07:00
updateEventFlags : ( notifiedFlag : number , lockedFlag : number ) = > ` UPDATE active_events SET notifiedFlag = ${ notifiedFlag } , lockedFlag = ${ lockedFlag } WHERE channelId = ? AND messageId = ? ` ,
2023-04-20 23:41:37 -07:00
deleteEvent : 'DELETE FROM active_events WHERE channelId = ? AND messageId = ?' ,
2023-04-30 23:56:57 -07:00
insertCustomActivity : 'INSERT INTO custom_activities(guildId,activityTitle,activitySubtitle,maxMembers) values(?,?,?,?)' ,
2023-01-11 15:06:20 -08:00
} ;
2023-01-11 18:21:43 -08:00
2023-01-28 17:58:24 -08:00
export const lfgChannelSettings : Map < string , LfgChannelSetting > = new Map ( ) ;
2023-04-09 01:12:53 -07:00
export const generateGuildSettingKey = ( guildId : bigint , channelId : bigint ) = > ` ${ guildId } - ${ channelId } ` ;
2023-01-28 17:58:24 -08:00
const getGuildSettings = await dbClient . query ( 'SELECT * FROM guild_settings' ) ;
getGuildSettings . forEach ( ( g : DBGuildSettings ) = > {
2023-04-09 01:12:53 -07:00
lfgChannelSettings . set ( generateGuildSettingKey ( g . guildId , g . lfgChannelId ) , {
managed : g.managerRoleId !== 0 n && g . logChannelId !== 0 n ,
2023-01-28 17:58:24 -08:00
managerRoleId : g.managerRoleId ,
logChannelId : g.logChannelId ,
} ) ;
} ) ;