split sql
All checks were successful
PR Check / lint-and-format (pull_request) Successful in 29s

This commit is contained in:
Mylloon 2024-11-01 17:44:35 +01:00
parent a5bddd8c6f
commit 30968bcd5b
Signed by: Anri
GPG key ID: A82D63DFF8D1317F
9 changed files with 96 additions and 57 deletions

View file

@ -9,6 +9,7 @@ import {
setTimeoutReminder,
updateReminder,
} from "../../utils/commands/reminder";
import { readSQL } from "../../utils/db";
export const once = true;
@ -19,7 +20,7 @@ export default async (client: Client) => {
// Restart all the timeout about reminders here
new Promise((ok, ko) => {
// Fetch all reminders
client.db.all("SELECT * FROM reminder", [], (err, row) => {
client.db.all(readSQL("reminder/select"), [], (err, row) => {
if (err) {
ko(err);
}

14
src/sql/reminder/add.sql Normal file
View file

@ -0,0 +1,14 @@
INSERT INTO
reminder (
data,
expiration_date,
option_id,
channel_id,
creation_date,
user_id,
guild_id,
locale,
timeout_id
)
VALUES
(?, ?, ?, ?, ?, ?, ?, ?, ?);

13
src/sql/reminder/find.sql Normal file
View file

@ -0,0 +1,13 @@
SELECT
data,
creation_date,
expiration_date,
id
FROM
reminder
WHERE
user_id = ?
AND (
guild_id = ?
OR guild_id = 0
)

View file

@ -0,0 +1,6 @@
SELECT
*
FROM
reminder
WHERE
id = ?

View file

@ -0,0 +1,14 @@
SELECT
EXISTS (
SELECT
1
FROM
reminder
WHERE
id = ?
AND user_id = ?
AND (
guild_id = ?
OR guild_id = 0
)
)

View file

@ -0,0 +1,4 @@
DELETE FROM reminder
WHERE
creation_date = ?
AND user_id = ?

View file

@ -0,0 +1,4 @@
SELECT
*
FROM
reminder

View file

@ -0,0 +1,13 @@
UPDATE reminder
SET
data = ?,
expiration_date = ?,
option_id = ?,
channel_id = ?,
creation_date = ?,
user_id = ?,
guild_id = ?,
locale = ?,
timeout_id = ?
WHERE
ID = ?

View file

@ -3,6 +3,7 @@ import { getLocale } from "../locales";
import { blank, cleanCodeBlock } from "../misc";
import { showDate, strToSeconds, timeDeltaToString } from "../time";
import { RegexC, RegExpFlags } from "../regex";
import { readSQL } from "../db";
/**
* Option possible for reminders
@ -92,9 +93,7 @@ export const newReminder = async (client: Client, time: string, info: infoRemind
// Add the remind to the db
client.db.run(
"INSERT INTO reminder ( \
data, expiration_date, option_id, channel_id, creation_date, user_id, guild_id, locale, timeout_id \
) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ? );",
readSQL("reminder/add"),
[
info.message,
`${expiration_date}`,
@ -127,19 +126,15 @@ export const newReminder = async (client: Client, time: string, info: infoRemind
export const deleteReminder = (client: Client, createdAt: string, userId: string) => {
// Delete the reminder for the database
return new Promise((ok, ko) => {
// Add the remind to the db
client.db.run(
"DELETE FROM reminder WHERE creation_date = ? AND user_id = ?",
[createdAt, userId],
(err) => {
// Remove the remind to the db
client.db.run(readSQL("reminder/remove"), [createdAt, userId], (err) => {
if (err) {
ko(err);
}
// Send confirmation to user
ok(true);
},
);
});
});
};
@ -280,12 +275,7 @@ export const checkOwnershipReminder = async (
const data = (await new Promise((ok, ko) => {
// Check the ownership
client.db.all<returnData>(
"SELECT EXISTS ( \
SELECT 1 FROM reminder \
WHERE id = ? \
AND user_id = ? \
AND (guild_id = ? OR guild_id = 0) \
)",
readSQL("reminder/ownership_check"),
[id, userId, guildId],
(err, row) => {
if (err) {
@ -308,19 +298,14 @@ export const checkOwnershipReminder = async (
export const getReminderInfo = async (client: Client, id: number) => {
return (await new Promise((ok, ko) => {
// Check the ownership
client.db.all<dbReminder>(
"SELECT * FROM reminder \
WHERE id = ?",
[id],
(err, row) => {
client.db.all<dbReminder>(readSQL("reminder/findById"), [id], (err, row) => {
if (err) {
ko(err);
}
// Send all the current reminders
ok(row[0]);
},
);
});
})) as dbReminder;
};
@ -334,17 +319,7 @@ export const updateReminder = (client: Client, data: dbReminder) => {
return new Promise((ok, ko) => {
// Update the db
client.db.run(
"UPDATE reminder \
SET data = ?, \
expiration_date = ?, \
option_id = ?, \
channel_id = ?, \
creation_date = ?, \
user_id = ?, \
guild_id = ?, \
locale = ?, \
timeout_id = ? \
WHERE ID = ?",
readSQL("reminder/update"),
[
data.data,
data.expiration_date,
@ -378,19 +353,14 @@ export const updateReminder = (client: Client, data: dbReminder) => {
const listReminders = async (client: Client, userId: string, guildId: string | null) => {
return (await new Promise((ok, ko) => {
// Check the ownership
client.db.all<dbReminder>(
"SELECT data, creation_date, expiration_date, id FROM reminder \
WHERE user_id = ? AND (guild_id = ? OR guild_id = 0)",
[userId, guildId ?? 0],
(err, row) => {
client.db.all<dbReminder>(readSQL("reminder/find"), [userId, guildId ?? 0], (err, row) => {
if (err) {
ko(err);
}
// Send all the current reminders
ok(row);
},
);
});
})) as dbReminder[];
};