Handlers Directory and Universal Import Fix (#86)

* Update: split jsonHandler.ts to different files

* Add: handlers folder and moved some files there

* Update: interface file name
This commit is contained in:
Kevin Dang
2024-07-23 16:59:54 -07:00
committed by GitHub
parent b498276978
commit e60c2f88b8
13 changed files with 161 additions and 152 deletions

View File

@@ -0,0 +1,58 @@
import { UserMessage } from './events.js'
export interface UserConfiguration {
'message-stream'?: boolean,
'message-style'?: boolean,
'modify-capacity': number
}
export interface ServerConfiguration {
'toggle-chat'?: boolean,
'channel-toggle'?: boolean
}
/**
* Parent Configuration interface
*
* @see ServerConfiguration server settings per guild
* @see UserConfiguration user configurations (only for the user for any server)
*/
export interface Configuration {
readonly name: string
options: UserConfiguration | ServerConfiguration
}
/**
* User config to use outside of this file
*/
export interface UserConfig {
readonly name: string
options: UserConfiguration
}
export interface ServerConfig {
readonly name: string
options: ServerConfiguration
}
export interface Thread {
readonly id: string
readonly name: string
messages: UserMessage[]
}
export interface Channel {
readonly id: string
readonly name: string
readonly user: string
messages: UserMessage[]
}
/**
* Check if the configuration we are editing/taking from is a Server Config
* @param key name of command we ran
* @returns true if command is from Server Config, false otherwise
*/
export function isServerConfigurationKey(key: string): key is keyof ServerConfiguration {
return ['toggle-chat', 'channel-toggle'].includes(key);
}