refactor: replace Database type with SqliteDatabase in moderation modules

This commit is contained in:
MythEclipse
2026-05-13 19:47:44 +07:00
parent 471e3bac82
commit 9f09f5ef28
5 changed files with 78 additions and 20 deletions
+2 -2
View File
@@ -1,7 +1,7 @@
import { createChildLogger } from "../logger";
import { config } from "../config";
import { retryWithBackoff } from "../retry";
import type Database from "better-sqlite3";
import type { SqliteDatabase } from "../muxer-queue";
import { updateAttachmentAsUploaded, updateAttachmentAsFailedUpload } from "./messageStore";
const logger = createChildLogger("attachment-uploader");
@@ -109,7 +109,7 @@ export async function downloadDiscordAttachment(url: string): Promise<Buffer> {
}
export async function processAttachmentUpload(
db: Database.Database,
db: SqliteDatabase,
attachmentId: string,
discordUrl: string,
filename: string,
+3 -3
View File
@@ -1,6 +1,6 @@
import type { Client, Message, TextChannel, ThreadChannel } from "discord.js-selfbot-v13";
import type Database from "better-sqlite3";
import { createChildLogger } from "../logger";
import type { SqliteDatabase } from "../muxer-queue";
import { config } from "../config";
import { insertMessage, insertAttachment } from "./messageStore";
import { processAttachmentUpload } from "./attachmentUploader";
@@ -9,7 +9,7 @@ import type { MessageRecord, AttachmentRecord } from "./types";
const logger = createChildLogger("message-capture");
async function captureMessage(
db: Database.Database,
db: SqliteDatabase,
message: Message,
type: "text" | "edited" | "deleted",
): Promise<void> {
@@ -101,7 +101,7 @@ async function captureMessage(
);
}
export function registerMessageCapture(client: Client, db: Database.Database): void {
export function registerMessageCapture(client: Client, db: SqliteDatabase): void {
client.on("messageCreate", async (message) => {
if (!message.guildId || message.guildId !== config.MONITOR_GUILD_ID) return;
if (message.author?.bot) return;
+9 -9
View File
@@ -1,10 +1,10 @@
import type Database from "better-sqlite3";
import { createChildLogger } from "../logger";
import type { SqliteDatabase } from "../muxer-queue";
import type { MessageRecord, AttachmentRecord } from "./types";
const logger = createChildLogger("message-store");
export function insertMessage(db: Database.Database, message: MessageRecord): void {
export function insertMessage(db: SqliteDatabase, message: MessageRecord): void {
try {
const stmt = db.prepare(`
INSERT INTO messages (
@@ -41,7 +41,7 @@ export function insertMessage(db: Database.Database, message: MessageRecord): vo
}
export function updateMessageAsEdited(
db: Database.Database,
db: SqliteDatabase,
messageId: string,
editedContent: string,
editedAt: number,
@@ -65,7 +65,7 @@ export function updateMessageAsEdited(
}
export function updateMessageAsDeleted(
db: Database.Database,
db: SqliteDatabase,
messageId: string,
deletedAt: number,
): void {
@@ -88,7 +88,7 @@ export function updateMessageAsDeleted(
}
export function getMessagesByChannel(
db: Database.Database,
db: SqliteDatabase,
channelId: string,
limit: number = 50,
offset: number = 0,
@@ -112,7 +112,7 @@ export function getMessagesByChannel(
}
}
export function insertAttachment(db: Database.Database, attachment: AttachmentRecord): void {
export function insertAttachment(db: SqliteDatabase, attachment: AttachmentRecord): void {
try {
const stmt = db.prepare(`
INSERT INTO attachments (
@@ -149,7 +149,7 @@ export function insertAttachment(db: Database.Database, attachment: AttachmentRe
}
export function getAttachmentsByChannel(
db: Database.Database,
db: SqliteDatabase,
channelId: string,
limit: number = 50,
offset: number = 0,
@@ -174,7 +174,7 @@ export function getAttachmentsByChannel(
}
export function updateAttachmentAsUploaded(
db: Database.Database,
db: SqliteDatabase,
attachmentId: string,
uploadedUrl: string,
uploadedAt: number,
@@ -198,7 +198,7 @@ export function updateAttachmentAsUploaded(
}
export function updateAttachmentAsFailedUpload(
db: Database.Database,
db: SqliteDatabase,
attachmentId: string,
error: string,
): void {