Some of breadthread is working, added basic role tracking
This commit is contained in:
@@ -44,6 +44,7 @@ export async function insertChannel(db: SQLCommon, channel: GuildBasedChannel |
|
||||
return SQLResult.CREATED
|
||||
} catch (err) {
|
||||
//TODO Winston should handle this
|
||||
console.log("CHANNEL INSERT ERROR")
|
||||
console.log(err)
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
|
||||
@@ -39,6 +39,7 @@ export async function insertMessage(db: SQLCommon, message: OmitPartialGroupDMCh
|
||||
return SQLResult.CREATED
|
||||
} catch (err) {
|
||||
//TODO Winston should handle this
|
||||
console.log("MESSAGE INSERTION ERROR")
|
||||
console.log(err)
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
@@ -52,16 +53,22 @@ export async function updateMessageContentHistory(db: SQLCommon, message: OmitPa
|
||||
}
|
||||
|
||||
try {
|
||||
console.log([message.id, message.editedTimestamp ?? message.createdTimestamp, message.content, message.id])
|
||||
await db.runParameterized(
|
||||
"INSERT INTO message_content_changes (message_snowflake, message_change_old_timestamp, message_change_old_content) " +
|
||||
"SELECT message_snowflake, message_timestamp, message_content FROM messages WHERE message_snowflake = ?;" +
|
||||
"SELECT messages.message_snowflake, message_timestamp, message_content FROM messages WHERE message_snowflake = ?;",
|
||||
[message.id]
|
||||
)
|
||||
|
||||
await db.runParameterized(
|
||||
"UPDATE messages SET message_timestamp = ?, message_content = ? WHERE message_snowflake = ?;",
|
||||
[message.id, message.editedTimestamp, message.content, message.id]
|
||||
[message.editedTimestamp ?? message.createdTimestamp, message.content, message.id]
|
||||
)
|
||||
|
||||
return SQLResult.UPDATED
|
||||
} catch (err) {
|
||||
//TODO Winston should handle this
|
||||
console.log("MESSAGE MODIFY FAILED")
|
||||
console.log(err)
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
|
||||
75
src/utilties/discord/roles.ts
Normal file
75
src/utilties/discord/roles.ts
Normal file
@@ -0,0 +1,75 @@
|
||||
import { Role } from "discord.js";
|
||||
import { SQLCommon } from "../storage/interfaces";
|
||||
import { SQLResult } from "../storage/enumerations";
|
||||
|
||||
export async function doesRoleExist(db: SQLCommon, role : Role) : Promise<boolean> {
|
||||
const queryResult : Object[] = await db.getAllParameterized(
|
||||
"SELECT * FROM roles WHERE role_snowflake = ?",
|
||||
[role.id]
|
||||
)
|
||||
|
||||
return queryResult.length != 0
|
||||
}
|
||||
|
||||
export async function insertRole(db: SQLCommon, role: Role) : Promise<SQLResult> {
|
||||
const alreadyExists: boolean = await doesRoleExist(db, role)
|
||||
|
||||
if(alreadyExists) {
|
||||
return SQLResult.ALREADYEXISTS
|
||||
}
|
||||
|
||||
try {
|
||||
await db.runParameterized(
|
||||
"INSERT INTO roles VALUES (?, ?, ?, 0)",
|
||||
[role.id, role.guild.id, role.name]
|
||||
)
|
||||
|
||||
return SQLResult.CREATED
|
||||
} catch (err) {
|
||||
console.log("ROLE INSERT ERROR")
|
||||
console.log(err)
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
}
|
||||
|
||||
export async function updateRole(db: SQLCommon, role: Role): Promise<SQLResult> {
|
||||
const roleExists: boolean = await doesRoleExist(db, role)
|
||||
|
||||
if(!roleExists) {
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
|
||||
try {
|
||||
await db.runParameterized(
|
||||
"UPDATE roles SET role_name = ? WHERE role_snowflake = ?",
|
||||
[role.name, role.id]
|
||||
)
|
||||
|
||||
return SQLResult.UPDATED
|
||||
} catch (err) {
|
||||
console.log("ROLE UPDATE FAILED")
|
||||
console.log(err)
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
}
|
||||
|
||||
export async function markRoleDeleted(db: SQLCommon, role: Role) : Promise<SQLResult> {
|
||||
const roleExists: boolean = await doesRoleExist(db, role)
|
||||
|
||||
if(!roleExists) {
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
|
||||
try {
|
||||
await db.runParameterized(
|
||||
"UPDATE roles SET is_deleted = 1 WHERE role_snowflake = ?",
|
||||
[role.id]
|
||||
)
|
||||
|
||||
return SQLResult.UPDATED
|
||||
} catch (err) {
|
||||
console.log("ROLE DELETE FAILED")
|
||||
console.log(err)
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,7 @@ export async function insertUser(db: SQLCommon, user: User): Promise<SQLResult>
|
||||
return SQLResult.CREATED
|
||||
} catch (err) {
|
||||
//TODO Winston should handle this
|
||||
console.log("USER INSERT ERROR")
|
||||
console.log(err)
|
||||
return SQLResult.FAILED
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user