Moved all db logic to db functions
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import { ApplicationCommandType, ContextMenuCommandBuilder, InteractionContextType, PermissionFlagsBits, userMention } from "discord.js"
|
import { ApplicationCommandType, ContextMenuCommandBuilder, InteractionContextType, PermissionFlagsBits, userMention } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerify } from "src/drizzle/functions"
|
||||||
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
||||||
import { waitingListRole } from "~/config/roles.js"
|
import { waitingListRole } from "~/config/roles.js"
|
||||||
import { IContextMenu } from "~/interfaces"
|
import { IContextMenu } from "~/interfaces"
|
||||||
@@ -24,9 +25,7 @@ export default {
|
|||||||
const targetId = interaction.targetId
|
const targetId = interaction.targetId
|
||||||
const user = await interaction.guild!.members.fetch(targetId)
|
const user = await interaction.guild!.members.fetch(targetId)
|
||||||
const usermentioned = userMention(user.user.id)
|
const usermentioned = userMention(user.user.id)
|
||||||
const verifyData = await db.query.verifies.findFirst({
|
const verifyData = await getVerify({ userID: user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!verifyData) {
|
if (!verifyData) {
|
||||||
await user.setNickname(`${user.user.username} (X)`, "User used the update command").catch(() => {
|
await user.setNickname(`${user.user.username} (X)`, "User used the update command").catch(() => {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder } from "discord.js"
|
import { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder } from "discord.js"
|
||||||
import { eq } from "drizzle-orm"
|
import { eq } from "drizzle-orm"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { addSetting, getSetting, updateSetting } from "src/drizzle/functions"
|
||||||
import { settings } from "src/drizzle/schema.js"
|
import { settings } from "src/drizzle/schema.js"
|
||||||
import { embedColor } from "~/config/options.js"
|
import { embedColor } from "~/config/options.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
@@ -38,12 +39,10 @@ export default {
|
|||||||
|
|
||||||
const setting = interaction.options.getString("setting")!
|
const setting = interaction.options.getString("setting")!
|
||||||
const value = interaction.options.getString("value")!
|
const value = interaction.options.getString("value")!
|
||||||
const settingsData = await db.query.settings.findFirst({
|
const settingsData = await getSetting({ name: setting })
|
||||||
where: ({ name }, { eq }) => eq(name, setting)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!settingsData) {
|
if (!settingsData) {
|
||||||
await db.insert(settings).values({
|
await addSetting({
|
||||||
name: setting,
|
name: setting,
|
||||||
value: value
|
value: value
|
||||||
})
|
})
|
||||||
@@ -55,9 +54,9 @@ export default {
|
|||||||
}]
|
}]
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
await db.update(settings).set({
|
await updateSetting({
|
||||||
value: value
|
value
|
||||||
}).where(eq(settings.name, setting))
|
})
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
import { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerify } from "src/drizzle/functions"
|
||||||
import { devMessage, embedColor } from "~/config/options.js"
|
import { devMessage, embedColor } from "~/config/options.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
import { getHeadURL, getIGN, getUUID } from "~/utils/Hypixel.js"
|
import { getHeadURL, getIGN, getUUID } from "~/utils/Hypixel.js"
|
||||||
@@ -37,9 +38,7 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const verifyData = await db.query.verifies.findFirst({
|
const verifyData = await getVerify({ uuid })
|
||||||
where: ({ uuid: uuidfromdb }, { eq }) => eq(uuidfromdb, uuid)
|
|
||||||
})
|
|
||||||
if (!verifyData) {
|
if (!verifyData) {
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
||||||
import { eq } from "drizzle-orm"
|
import { eq } from "drizzle-orm"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerify, removeVerify } from "src/drizzle/functions"
|
||||||
import { verifies } from "src/drizzle/schema.js"
|
import { verifies } from "src/drizzle/schema.js"
|
||||||
import { devMessage, embedColor } from "~/config/options.js"
|
import { devMessage, embedColor } from "~/config/options.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
@@ -28,9 +29,7 @@ export default {
|
|||||||
|
|
||||||
async execute({ interaction }) {
|
async execute({ interaction }) {
|
||||||
const member = interaction.options.getMember("user") as GuildMember
|
const member = interaction.options.getMember("user") as GuildMember
|
||||||
const verifiedUser = await db.query.verifies.findFirst({
|
const verifiedUser = await getVerify({ userID: member.user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, member.user.id)
|
|
||||||
})
|
|
||||||
const mod = interaction.user
|
const mod = interaction.user
|
||||||
|
|
||||||
if (!verifiedUser) {
|
if (!verifiedUser) {
|
||||||
@@ -45,7 +44,7 @@ export default {
|
|||||||
|
|
||||||
const uuid = verifiedUser.uuid
|
const uuid = verifiedUser.uuid
|
||||||
const ign = await getIGN(uuid)
|
const ign = await getIGN(uuid)
|
||||||
await db.delete(verifies).where(eq(verifies.userID, member.user.id))
|
await removeVerify({ userID: member.user.id })
|
||||||
await member.roles.remove(
|
await member.roles.remove(
|
||||||
roleManage("all").rolesToRemove,
|
roleManage("all").rolesToRemove,
|
||||||
"User force unverified by " + interaction.user.username
|
"User force unverified by " + interaction.user.username
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerify } from "src/drizzle/functions"
|
||||||
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
||||||
import { waitingListRole } from "~/config/roles.js"
|
import { waitingListRole } from "~/config/roles.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
@@ -29,9 +30,7 @@ export default {
|
|||||||
|
|
||||||
const user = interaction.options.getMember("user") as GuildMember
|
const user = interaction.options.getMember("user") as GuildMember
|
||||||
const usermentioned = userMention(user.user.id)
|
const usermentioned = userMention(user.user.id)
|
||||||
const verifyData = await db.query.verifies.findFirst({
|
const verifyData = await getVerify({ userID: user.user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.user.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!verifyData) {
|
if (!verifyData) {
|
||||||
await user.setNickname(`${user.user.username} (X)`, "User used the update command").catch(() => {
|
await user.setNickname(`${user.user.username} (X)`, "User used the update command").catch(() => {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { addVerify, getVerify } from "src/drizzle/functions"
|
||||||
import { verifies } from "src/drizzle/schema.js"
|
import { verifies } from "src/drizzle/schema.js"
|
||||||
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
@@ -38,9 +39,7 @@ export default {
|
|||||||
const ign = interaction.options.getString("ign")!
|
const ign = interaction.options.getString("ign")!
|
||||||
const mod = interaction.user
|
const mod = interaction.user
|
||||||
|
|
||||||
const verifyData = await db.query.verifies.findFirst({
|
const verifyData = await getVerify({ userID: user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.user.id)
|
|
||||||
})
|
|
||||||
if (verifyData) {
|
if (verifyData) {
|
||||||
interaction.editReply("That user is already verified.")
|
interaction.editReply("That user is already verified.")
|
||||||
return
|
return
|
||||||
@@ -141,7 +140,7 @@ export default {
|
|||||||
// Do nothing
|
// Do nothing
|
||||||
})
|
})
|
||||||
|
|
||||||
await db.insert(verifies).values({
|
await addVerify({
|
||||||
userID: user.user.id,
|
userID: user.user.id,
|
||||||
uuid: uuid
|
uuid: uuid
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
import { GuildMember, InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
||||||
import { eq } from "drizzle-orm"
|
import { eq } from "drizzle-orm"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getWaitingList, removeWaitingList } from "src/drizzle/functions"
|
||||||
import { waitingLists } from "src/drizzle/schema.js"
|
import { waitingLists } from "src/drizzle/schema.js"
|
||||||
import { devMessage, embedColor } from "~/config/options.js"
|
import { devMessage, embedColor } from "~/config/options.js"
|
||||||
import { waitingListRole } from "~/config/roles.js"
|
import { waitingListRole } from "~/config/roles.js"
|
||||||
@@ -36,9 +37,7 @@ export default {
|
|||||||
const member = interaction.options.getMember("user") as GuildMember
|
const member = interaction.options.getMember("user") as GuildMember
|
||||||
const reason = interaction.options.getString("reason") ?? "No reason provided."
|
const reason = interaction.options.getString("reason") ?? "No reason provided."
|
||||||
const mod = interaction.user!
|
const mod = interaction.user!
|
||||||
const waiting = await db.query.waitingLists.findFirst({
|
const waiting = await getWaitingList({ userID: member.user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, member.user.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!waiting) {
|
if (!waiting) {
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
@@ -50,7 +49,7 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
await db.delete(waitingLists).where(eq(waitingLists.userID, member.user.id))
|
await removeWaitingList({ userID: member.user.id })
|
||||||
await member.roles.remove(waitingListRole, "Removed from waiting list.")
|
await member.roles.remove(waitingListRole, "Removed from waiting list.")
|
||||||
|
|
||||||
await logToChannel("mod", {
|
await logToChannel("mod", {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { ChatInputCommandInteraction, GuildMember } from "discord.js"
|
import { ChatInputCommandInteraction, GuildMember } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerifies } from "src/drizzle/functions"
|
||||||
import { embedColor, hypixelGuildID } from "~/config/options.js"
|
import { embedColor, hypixelGuildID } from "~/config/options.js"
|
||||||
import { IGuildData } from "~/interfaces"
|
import { IGuildData } from "~/interfaces"
|
||||||
import env from "~/utils/Env.js"
|
import env from "~/utils/Env.js"
|
||||||
@@ -35,7 +36,7 @@ export default async function removeGuildRoles(interaction: ChatInputCommandInte
|
|||||||
|
|
||||||
const hypixelGuildMembers = guildData.members.map(gmember => gmember.uuid)
|
const hypixelGuildMembers = guildData.members.map(gmember => gmember.uuid)
|
||||||
|
|
||||||
const verifiedUsers = await db.query.verifies.findMany()
|
const verifiedUsers = await getVerifies()
|
||||||
|
|
||||||
for (const gmember of guildMembers) {
|
for (const gmember of guildMembers) {
|
||||||
const gmemberuuid = verifiedUsers.find(user => user.userID === gmember.id)?.uuid
|
const gmemberuuid = verifiedUsers.find(user => user.userID === gmember.id)?.uuid
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { ChannelType, ChatInputCommandInteraction, GuildMember } from "discord.js"
|
import { ChannelType, ChatInputCommandInteraction, GuildMember } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerifies } from "src/drizzle/functions"
|
||||||
import { embedColor, hypixelGuildID } from "~/config/options.js"
|
import { embedColor, hypixelGuildID } from "~/config/options.js"
|
||||||
import { IGuildData } from "~/interfaces"
|
import { IGuildData } from "~/interfaces"
|
||||||
import env from "~/utils/Env.js"
|
import env from "~/utils/Env.js"
|
||||||
@@ -53,7 +54,7 @@ export default async function updateAll(interaction: ChatInputCommandInteraction
|
|||||||
})
|
})
|
||||||
const guildMemberIDs = hypixelGuildMembers.map(gmember => gmember.uuid)
|
const guildMemberIDs = hypixelGuildMembers.map(gmember => gmember.uuid)
|
||||||
|
|
||||||
const verifiedUsers = await db.query.verifies.findMany()
|
const verifiedUsers = await getVerifies()
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { GuildMember, InteractionContextType, SlashCommandBuilder } from "discord.js"
|
import { GuildMember, InteractionContextType, SlashCommandBuilder } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerify } from "src/drizzle/functions"
|
||||||
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
||||||
import { waitingListRole } from "~/config/roles.js"
|
import { waitingListRole } from "~/config/roles.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
@@ -21,9 +22,7 @@ export default {
|
|||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
const user = interaction.member as GuildMember
|
const user = interaction.member as GuildMember
|
||||||
const verifyData = await db.query.verifies.findFirst({
|
const verifyData = await getVerify({ userID: user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.user.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!verifyData) {
|
if (!verifyData) {
|
||||||
await user.setNickname(`${user.user.username} (X)`, "User used the update command").catch(() => {
|
await user.setNickname(`${user.user.username} (X)`, "User used the update command").catch(() => {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { GuildMember, InteractionContextType, SlashCommandBuilder } from "discord.js"
|
import { GuildMember, InteractionContextType, SlashCommandBuilder } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { addVerify, getVerify } from "src/drizzle/functions"
|
||||||
import { verifies } from "src/drizzle/schema.js"
|
import { verifies } from "src/drizzle/schema.js"
|
||||||
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
@@ -33,9 +34,7 @@ export default {
|
|||||||
const user = interaction.member! as GuildMember
|
const user = interaction.member! as GuildMember
|
||||||
const ign = interaction.options.getString("ign")!
|
const ign = interaction.options.getString("ign")!
|
||||||
|
|
||||||
const verifyData = await db.query.verifies.findFirst({
|
const verifyData = await getVerify({ userID: user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.id)
|
|
||||||
})
|
|
||||||
if (verifyData) {
|
if (verifyData) {
|
||||||
interaction.editReply("You are already verified.\n" + "Try running /update to update your roles.")
|
interaction.editReply("You are already verified.\n" + "Try running /update to update your roles.")
|
||||||
return
|
return
|
||||||
@@ -166,7 +165,7 @@ export default {
|
|||||||
// Do nothing
|
// Do nothing
|
||||||
})
|
})
|
||||||
|
|
||||||
await db.insert(verifies).values({
|
await addVerify({
|
||||||
userID: user.id,
|
userID: user.id,
|
||||||
uuid: uuid
|
uuid: uuid
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { InteractionContextType, SlashCommandBuilder, userMention } from "discord.js"
|
import { InteractionContextType, SlashCommandBuilder, userMention } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerify } from "src/drizzle/functions"
|
||||||
import { devMessage, embedColor } from "~/config/options.js"
|
import { devMessage, embedColor } from "~/config/options.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
import { getHeadURL, getIGN } from "~/utils/Hypixel.js"
|
import { getHeadURL, getIGN } from "~/utils/Hypixel.js"
|
||||||
@@ -19,9 +20,7 @@ export default {
|
|||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
const user = interaction.user
|
const user = interaction.user
|
||||||
const verifyData = await db.query.verifies.findFirst({
|
const verifyData = await getVerify({ userID: user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (!verifyData) {
|
if (!verifyData) {
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
import { InteractionContextType, PermissionFlagsBits, SlashCommandBuilder, userMention } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getVerify } from "src/drizzle/functions"
|
||||||
import { devMessage, embedColor } from "~/config/options.js"
|
import { devMessage, embedColor } from "~/config/options.js"
|
||||||
import { ICommand } from "~/interfaces"
|
import { ICommand } from "~/interfaces"
|
||||||
import { getHeadURL, getIGN } from "~/utils/Hypixel.js"
|
import { getHeadURL, getIGN } from "~/utils/Hypixel.js"
|
||||||
@@ -26,9 +27,7 @@ export default {
|
|||||||
await interaction.deferReply()
|
await interaction.deferReply()
|
||||||
|
|
||||||
const user = interaction.options.getUser("user")!
|
const user = interaction.options.getUser("user")!
|
||||||
const verifiedUser = await db.query.verifies.findFirst({
|
const verifiedUser = await getVerify({ userID: user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.id)
|
|
||||||
})
|
|
||||||
if (!verifiedUser) {
|
if (!verifiedUser) {
|
||||||
interaction.editReply({
|
interaction.editReply({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getGuildApp } from "src/drizzle/functions"
|
||||||
import { devMessage, embedColor } from "~/config/options.js"
|
import { devMessage, embedColor } from "~/config/options.js"
|
||||||
import { bwfkdr, bwstars, bwwins, duelswins, duelswlr, swkdr, swstars } from "~/config/reqs.js"
|
import { bwfkdr, bwstars, bwwins, duelswins, duelswlr, swkdr, swstars } from "~/config/reqs.js"
|
||||||
import { IButton } from "~/interfaces"
|
import { IButton } from "~/interfaces"
|
||||||
@@ -14,9 +15,7 @@ export default {
|
|||||||
const message = interaction.message
|
const message = interaction.message
|
||||||
const embed = message.embeds[0]
|
const embed = message.embeds[0]
|
||||||
const applicantId = embed.footer!.text.split(" ")[1]
|
const applicantId = embed.footer!.text.split(" ")[1]
|
||||||
const guildappdata = await db.query.guildApps.findFirst({
|
const guildappdata = await getGuildApp({ userID: applicantId })
|
||||||
where: ({ userID }, { eq }) => eq(userID, applicantId)
|
|
||||||
})
|
|
||||||
const uuid = guildappdata!.uuid
|
const uuid = guildappdata!.uuid
|
||||||
|
|
||||||
const player = await getPlayer(uuid)
|
const player = await getPlayer(uuid)
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, TextChannel } from "discord.js"
|
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, TextChannel } from "discord.js"
|
||||||
import { eq } from "drizzle-orm"
|
import { eq } from "drizzle-orm"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getGuildApp, removeVerify } from "src/drizzle/functions"
|
||||||
|
import { addWaitingList, getWaitingLists, removeWaitingList } from "src/drizzle/functions"
|
||||||
import { guildApps, waitingLists } from "src/drizzle/schema.js"
|
import { guildApps, waitingLists } from "src/drizzle/schema.js"
|
||||||
import { embedColor, hypixelGuildID, waitingListChannel, waitingListMessage } from "~/config/options.js"
|
import { embedColor, hypixelGuildID, waitingListChannel, waitingListMessage } from "~/config/options.js"
|
||||||
import { waitingListRole } from "~/config/roles.js"
|
import { waitingListRole } from "~/config/roles.js"
|
||||||
@@ -54,20 +56,18 @@ export default {
|
|||||||
}]
|
}]
|
||||||
})
|
})
|
||||||
|
|
||||||
const applicantEntry = await db.query.guildApps.findFirst({
|
const applicantEntry = await getGuildApp({ userID: applicantId })
|
||||||
where: ({ userID }, { eq }) => eq(userID, applicantId)
|
|
||||||
})
|
|
||||||
const applicantUUID = applicantEntry!.uuid
|
const applicantUUID = applicantEntry!.uuid
|
||||||
const time = Date.now()
|
const time = Date.now()
|
||||||
|
|
||||||
await db.insert(waitingLists).values({
|
await addWaitingList({
|
||||||
userID: applicantId,
|
userID: applicantId,
|
||||||
uuid: applicantUUID,
|
uuid: applicantUUID,
|
||||||
timestamp: time
|
timestamp: time
|
||||||
})
|
})
|
||||||
|
|
||||||
await applicant.roles.add(waitingListRole)
|
await applicant.roles.add(waitingListRole)
|
||||||
await db.delete(guildApps).where(eq(guildApps.userID, applicantId))
|
await removeVerify({ userID: applicantId })
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
@@ -90,14 +90,14 @@ export default {
|
|||||||
const wlmessage = await channel!.messages.fetch(waitingListMessage)
|
const wlmessage = await channel!.messages.fetch(waitingListMessage)
|
||||||
|
|
||||||
const wlembed = wlmessage.embeds[0]
|
const wlembed = wlmessage.embeds[0]
|
||||||
const accepted = await db.query.waitingLists.findMany()
|
const accepted = await getWaitingLists()
|
||||||
|
|
||||||
for (let i = 0; i < accepted.length; i++) {
|
for (let i = 0; i < accepted.length; i++) {
|
||||||
const uuid = accepted[i].uuid
|
const uuid = accepted[i].uuid
|
||||||
const guild = await getGuild(uuid)
|
const guild = await getGuild(uuid)
|
||||||
|
|
||||||
if (guild && guild._id === hypixelGuildID) {
|
if (guild && guild._id === hypixelGuildID) {
|
||||||
await db.delete(waitingLists).where(eq(waitingLists.uuid, uuid))
|
await removeWaitingList({ uuid })
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, GuildMember, TextChannel } from "discord.js"
|
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, GuildMember, TextChannel } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { addGuildApp, getGuildApp } from "src/drizzle/functions"
|
||||||
import { guildApps } from "src/drizzle/schema.js"
|
import { guildApps } from "src/drizzle/schema.js"
|
||||||
import { ignM, largeM, smallM } from "~/config/limitmessages.js"
|
import { ignM, largeM, smallM } from "~/config/limitmessages.js"
|
||||||
import { applicationsChannel, embedColor } from "~/config/options.js"
|
import { applicationsChannel, embedColor } from "~/config/options.js"
|
||||||
@@ -31,9 +32,7 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const application = await db.query.guildApps.findFirst({
|
const application = await getGuildApp({ userID: user.user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.user.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (application) {
|
if (application) {
|
||||||
await interaction.editReply("You already have an application in progress.")
|
await interaction.editReply("You already have an application in progress.")
|
||||||
@@ -251,7 +250,7 @@ export default {
|
|||||||
}]
|
}]
|
||||||
})
|
})
|
||||||
|
|
||||||
await db.insert(guildApps).values({
|
await addGuildApp({
|
||||||
userID: user.user.id,
|
userID: user.user.id,
|
||||||
uuid: uuid
|
uuid: uuid
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle } from "discord.js"
|
import { ActionRowBuilder, ButtonBuilder, ButtonStyle } from "discord.js"
|
||||||
import { eq } from "drizzle-orm"
|
import { eq } from "drizzle-orm"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { removeStaffApp } from "src/drizzle/functions"
|
||||||
import { staffApps } from "src/drizzle/schema.js"
|
import { staffApps } from "src/drizzle/schema.js"
|
||||||
import { embedColor } from "~/config/options.js"
|
import { embedColor } from "~/config/options.js"
|
||||||
import { IButton } from "~/interfaces"
|
import { IButton } from "~/interfaces"
|
||||||
@@ -45,7 +46,7 @@ export default {
|
|||||||
]
|
]
|
||||||
})
|
})
|
||||||
|
|
||||||
await db.delete(staffApps).where(eq(staffApps.userID, applicantId))
|
await removeStaffApp({ userID: applicantId })
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, GuildMember, TextChannel } from "discord.js"
|
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, GuildMember, TextChannel } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { addStaffApp, getSetting, getStaffApp } from "src/drizzle/functions"
|
||||||
import { staffApps } from "src/drizzle/schema.js"
|
import { staffApps } from "src/drizzle/schema.js"
|
||||||
import { ignM, largeM } from "~/config/limitmessages.js"
|
import { ignM, largeM } from "~/config/limitmessages.js"
|
||||||
import { embedColor, staffApplicationsChannel } from "~/config/options.js"
|
import { embedColor, staffApplicationsChannel } from "~/config/options.js"
|
||||||
@@ -17,9 +18,7 @@ export default {
|
|||||||
const user = interaction.member as GuildMember
|
const user = interaction.member as GuildMember
|
||||||
const guild = interaction.guild!
|
const guild = interaction.guild!
|
||||||
const userRoles = user.roles.cache
|
const userRoles = user.roles.cache
|
||||||
const setting = await db.query.settings.findFirst({
|
const setting = await getSetting({ name: "staffapplications" })
|
||||||
where: ({ name }, { eq }) => eq(name, "staffApplications")
|
|
||||||
})
|
|
||||||
const status = setting?.value || "0"
|
const status = setting?.value || "0"
|
||||||
|
|
||||||
function sq(n: number): string {
|
function sq(n: number): string {
|
||||||
@@ -50,9 +49,7 @@ export default {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const application = await db.query.staffApps.findFirst({
|
const application = await getStaffApp({ userID: user.user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.user.id)
|
|
||||||
})
|
|
||||||
|
|
||||||
if (application) {
|
if (application) {
|
||||||
await interaction.editReply("You already have an application in progress.")
|
await interaction.editReply("You already have an application in progress.")
|
||||||
@@ -225,7 +222,7 @@ export default {
|
|||||||
}]
|
}]
|
||||||
})
|
})
|
||||||
|
|
||||||
await db.insert(staffApps).values({
|
await addStaffApp({
|
||||||
userID: user.user.id,
|
userID: user.user.id,
|
||||||
uuid: uuid
|
uuid: uuid
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { eq } from "drizzle-orm"
|
import { eq } from "drizzle-orm"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { getWaitingLists, removeWaitingList } from "src/drizzle/functions"
|
||||||
import { waitingLists } from "src/drizzle/schema.js"
|
import { waitingLists } from "src/drizzle/schema.js"
|
||||||
import { hypixelGuildID } from "~/config/options.js"
|
import { hypixelGuildID } from "~/config/options.js"
|
||||||
import { IButton } from "~/interfaces"
|
import { IButton } from "~/interfaces"
|
||||||
@@ -15,14 +16,14 @@ export default {
|
|||||||
const user = interaction.user
|
const user = interaction.user
|
||||||
const message = interaction.message
|
const message = interaction.message
|
||||||
const embed = message.embeds[0]
|
const embed = message.embeds[0]
|
||||||
const accepted = await db.query.waitingLists.findMany()
|
const accepted = await getWaitingLists()
|
||||||
|
|
||||||
for (let i = 0; i < accepted.length; i++) {
|
for (let i = 0; i < accepted.length; i++) {
|
||||||
const uuid = accepted[i].uuid
|
const uuid = accepted[i].uuid
|
||||||
const guild = await getGuild(uuid)
|
const guild = await getGuild(uuid)
|
||||||
|
|
||||||
if (guild && guild._id === hypixelGuildID) {
|
if (guild && guild._id === hypixelGuildID) {
|
||||||
await db.delete(waitingLists).where(eq(waitingLists.uuid, uuid))
|
await removeWaitingList({ uuid })
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, GuildMember, Message } from "discord.js"
|
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder, GuildMember, Message } from "discord.js"
|
||||||
import { eq } from "drizzle-orm"
|
import { eq } from "drizzle-orm"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { removeGuildApp } from "src/drizzle/functions"
|
||||||
import { guildApps } from "src/drizzle/schema.js"
|
import { guildApps } from "src/drizzle/schema.js"
|
||||||
import { embedColor } from "~/config/options.js"
|
import { embedColor } from "~/config/options.js"
|
||||||
import { IModal } from "~/interfaces"
|
import { IModal } from "~/interfaces"
|
||||||
@@ -83,7 +84,7 @@ export default {
|
|||||||
responseEmbeds = [responseEmbed]
|
responseEmbeds = [responseEmbed]
|
||||||
}
|
}
|
||||||
|
|
||||||
await db.delete(guildApps).where(eq(guildApps.userID, applicantId))
|
await removeGuildApp({ userID: applicantId })
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: responseEmbeds
|
embeds: responseEmbeds
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder } from "discord.js"
|
import { ActionRowBuilder, ButtonBuilder, ButtonStyle, EmbedBuilder } from "discord.js"
|
||||||
import { eq } from "drizzle-orm"
|
import { eq } from "drizzle-orm"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { removeStaffApp } from "src/drizzle/functions"
|
||||||
import { staffApps } from "src/drizzle/schema.js"
|
import { staffApps } from "src/drizzle/schema.js"
|
||||||
import { embedColor } from "~/config/options.js"
|
import { embedColor } from "~/config/options.js"
|
||||||
import { IModal } from "~/interfaces"
|
import { IModal } from "~/interfaces"
|
||||||
@@ -45,7 +46,7 @@ export default {
|
|||||||
|
|
||||||
await applicant.send({ embeds: [dmMessage] })
|
await applicant.send({ embeds: [dmMessage] })
|
||||||
|
|
||||||
await db.delete(staffApps).where(eq(staffApps.userID, applicantId))
|
await removeStaffApp({ userID: applicantId })
|
||||||
|
|
||||||
await interaction.editReply({
|
await interaction.editReply({
|
||||||
embeds: [{
|
embeds: [{
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { GuildMember } from "discord.js"
|
import { GuildMember } from "discord.js"
|
||||||
import db from "src/drizzle/db.js"
|
import db from "src/drizzle/db.js"
|
||||||
|
import { addVerify, getVerify } from "src/drizzle/functions"
|
||||||
import { verifies } from "src/drizzle/schema.js"
|
import { verifies } from "src/drizzle/schema.js"
|
||||||
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
import { devMessage, embedColor, hypixelGuildID } from "~/config/options.js"
|
||||||
import { IModal } from "~/interfaces"
|
import { IModal } from "~/interfaces"
|
||||||
@@ -15,9 +16,7 @@ export default {
|
|||||||
|
|
||||||
const user = interaction.member as GuildMember
|
const user = interaction.member as GuildMember
|
||||||
const ign = interaction.fields.fields.get("verifyign")!.value
|
const ign = interaction.fields.fields.get("verifyign")!.value
|
||||||
const verifyData = await db.query.verifies.findFirst({
|
const verifyData = await getVerify({ userID: user.id })
|
||||||
where: ({ userID }, { eq }) => eq(userID, user.id)
|
|
||||||
})
|
|
||||||
if (verifyData) {
|
if (verifyData) {
|
||||||
interaction.editReply("You are already verified.\n" + "Try running /update to update your roles.")
|
interaction.editReply("You are already verified.\n" + "Try running /update to update your roles.")
|
||||||
return
|
return
|
||||||
@@ -147,7 +146,7 @@ export default {
|
|||||||
// Do nothing
|
// Do nothing
|
||||||
})
|
})
|
||||||
|
|
||||||
await db.insert(verifies).values({
|
await addVerify({
|
||||||
userID: user.id,
|
userID: user.id,
|
||||||
uuid: uuid
|
uuid: uuid
|
||||||
})
|
})
|
||||||
|
|||||||
5
src/drizzle/functions.ts
Normal file
5
src/drizzle/functions.ts
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
export * from "./functions/guildApps.js"
|
||||||
|
export * from "./functions/settings.js"
|
||||||
|
export * from "./functions/staffApps.js"
|
||||||
|
export * from "./functions/verifies.js"
|
||||||
|
export * from "./functions/waitingList.js"
|
||||||
32
src/drizzle/functions/guildApps.ts
Normal file
32
src/drizzle/functions/guildApps.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
import { eq, or } from "drizzle-orm"
|
||||||
|
import db from "../db.js"
|
||||||
|
import { guildApps, InsertGuildApp } from "../schema.js"
|
||||||
|
|
||||||
|
type GuildAppDBData = Partial<Pick<InsertGuildApp, "userID" | "uuid">>
|
||||||
|
|
||||||
|
export async function addGuildApp(data: InsertGuildApp) {
|
||||||
|
await db.insert(guildApps).values(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getGuildApp(data: GuildAppDBData) {
|
||||||
|
const userId = data.userID ?? ""
|
||||||
|
const uuid = data.uuid ?? ""
|
||||||
|
|
||||||
|
return await db.query.guildApps.findFirst({
|
||||||
|
where: (({ userID: dbUserId, uuid: dbUuid }, { eq, or }) =>
|
||||||
|
or(
|
||||||
|
eq(dbUuid, uuid),
|
||||||
|
eq(dbUserId, userId)
|
||||||
|
))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function removeGuildApp(data: GuildAppDBData) {
|
||||||
|
const userId = data.userID ?? ""
|
||||||
|
const uuid = data.uuid ?? ""
|
||||||
|
|
||||||
|
await db.delete(guildApps).where(or(
|
||||||
|
eq(guildApps.userID, userId),
|
||||||
|
eq(guildApps.uuid, uuid)
|
||||||
|
))
|
||||||
|
}
|
||||||
41
src/drizzle/functions/settings.ts
Normal file
41
src/drizzle/functions/settings.ts
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
import { eq, or } from "drizzle-orm"
|
||||||
|
import db from "../db.js"
|
||||||
|
import { InsertSetting, settings } from "../schema.js"
|
||||||
|
|
||||||
|
type SettingsDBData = Partial<Pick<InsertSetting, "name" | "value">>
|
||||||
|
|
||||||
|
export async function addSetting(data: InsertSetting) {
|
||||||
|
await db.insert(settings).values(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getSetting(data: SettingsDBData) {
|
||||||
|
const name = data.name ?? ""
|
||||||
|
const value = data.value ?? ""
|
||||||
|
|
||||||
|
return await db.query.settings.findFirst({
|
||||||
|
where: (({ name: dbName, value: dbValue }, { eq, or }) =>
|
||||||
|
or(
|
||||||
|
eq(dbName, name),
|
||||||
|
eq(dbValue, value)
|
||||||
|
))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function updateSetting(data: SettingsDBData) {
|
||||||
|
const name = data.name ?? ""
|
||||||
|
const value = data.value
|
||||||
|
|
||||||
|
await db.update(settings).set({
|
||||||
|
value: value
|
||||||
|
}).where(eq(settings.name, name))
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function removeSetting(data: SettingsDBData) {
|
||||||
|
const name = data.name ?? ""
|
||||||
|
const value = data.value ?? ""
|
||||||
|
|
||||||
|
await db.delete(settings).where(or(
|
||||||
|
eq(settings.name, name),
|
||||||
|
eq(settings.value, value)
|
||||||
|
))
|
||||||
|
}
|
||||||
32
src/drizzle/functions/staffApps.ts
Normal file
32
src/drizzle/functions/staffApps.ts
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
import { eq, or } from "drizzle-orm"
|
||||||
|
import db from "../db.js"
|
||||||
|
import { InsertStaffApp, staffApps } from "../schema.js"
|
||||||
|
|
||||||
|
type StaffAppDBData = Partial<Pick<InsertStaffApp, "userID" | "uuid">>
|
||||||
|
|
||||||
|
export async function addStaffApp(data: InsertStaffApp) {
|
||||||
|
await db.insert(staffApps).values(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getStaffApp(data: StaffAppDBData) {
|
||||||
|
const userId = data.userID ?? ""
|
||||||
|
const uuid = data.uuid ?? ""
|
||||||
|
|
||||||
|
return await db.query.staffApps.findFirst({
|
||||||
|
where: (({ userID: dbUserId, uuid: dbUuid }, { eq, or }) =>
|
||||||
|
or(
|
||||||
|
eq(dbUuid, uuid),
|
||||||
|
eq(dbUserId, userId)
|
||||||
|
))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function removeStaffApp(data: StaffAppDBData) {
|
||||||
|
const userId = data.userID ?? ""
|
||||||
|
const uuid = data.uuid ?? ""
|
||||||
|
|
||||||
|
await db.delete(staffApps).where(or(
|
||||||
|
eq(staffApps.userID, userId),
|
||||||
|
eq(staffApps.uuid, uuid)
|
||||||
|
))
|
||||||
|
}
|
||||||
36
src/drizzle/functions/verifies.ts
Normal file
36
src/drizzle/functions/verifies.ts
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import { eq, or } from "drizzle-orm"
|
||||||
|
import db from "../db.js"
|
||||||
|
import { InsertVerify, verifies } from "../schema.js"
|
||||||
|
|
||||||
|
type VerifyDBData = Partial<Pick<InsertVerify, "userID" | "uuid">>
|
||||||
|
|
||||||
|
export async function addVerify(data: InsertVerify) {
|
||||||
|
await db.insert(verifies).values(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getVerify(data: VerifyDBData) {
|
||||||
|
const userId = data.userID ?? ""
|
||||||
|
const uuid = data.uuid ?? ""
|
||||||
|
|
||||||
|
return await db.query.verifies.findFirst({
|
||||||
|
where: (({ userID: dbUserId, uuid: dbUuid }, { eq, or }) =>
|
||||||
|
or(
|
||||||
|
eq(dbUuid, uuid),
|
||||||
|
eq(dbUserId, userId)
|
||||||
|
))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getVerifies() {
|
||||||
|
return await db.query.verifies.findMany()
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function removeVerify(data: VerifyDBData) {
|
||||||
|
const userId = data.userID ?? ""
|
||||||
|
const uuid = data.uuid ?? ""
|
||||||
|
|
||||||
|
await db.delete(verifies).where(or(
|
||||||
|
eq(verifies.userID, userId),
|
||||||
|
eq(verifies.uuid, uuid)
|
||||||
|
))
|
||||||
|
}
|
||||||
36
src/drizzle/functions/waitingList.ts
Normal file
36
src/drizzle/functions/waitingList.ts
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
import { eq, or } from "drizzle-orm"
|
||||||
|
import db from "../db.js"
|
||||||
|
import { InsertWaitingList, waitingLists } from "../schema.js"
|
||||||
|
|
||||||
|
type WaitingListDBData = Partial<Pick<InsertWaitingList, "userID" | "uuid">>
|
||||||
|
|
||||||
|
export async function addWaitingList(data: InsertWaitingList) {
|
||||||
|
await db.insert(waitingLists).values(data)
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getWaitingList(data: WaitingListDBData) {
|
||||||
|
const userId = data.userID ?? ""
|
||||||
|
const uuid = data.uuid ?? ""
|
||||||
|
|
||||||
|
return await db.query.waitingLists.findFirst({
|
||||||
|
where: (({ userID: dbUserId, uuid: dbUuid }, { eq, or }) =>
|
||||||
|
or(
|
||||||
|
eq(dbUuid, uuid),
|
||||||
|
eq(dbUserId, userId)
|
||||||
|
))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getWaitingLists() {
|
||||||
|
return await db.query.waitingLists.findMany()
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function removeWaitingList(data: WaitingListDBData) {
|
||||||
|
const userId = data.userID ?? ""
|
||||||
|
const uuid = data.uuid ?? ""
|
||||||
|
|
||||||
|
await db.delete(waitingLists).where(or(
|
||||||
|
eq(waitingLists.userID, userId),
|
||||||
|
eq(waitingLists.uuid, uuid)
|
||||||
|
))
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user