added basic aniv timeouts

This commit is contained in:
2025-09-09 01:10:03 +02:00
parent 61da0fd6e0
commit 5c2c3fbb53
4 changed files with 45 additions and 0 deletions

View File

@@ -47,6 +47,13 @@ export type cheerRecord = {
amount: number;
};
export type anivTimeoutRecord = {
id?: string;
message: string;
user: string;
duration: number;
};
interface TypedPocketBase extends PocketBase {
collection(idOrName: 'auth'): RecordService<authRecord>;
collection(idOrName: 'users'): RecordService<userRecord>;
@@ -54,6 +61,7 @@ interface TypedPocketBase extends PocketBase {
collection(idOrName: 'timeouts'): RecordService<timeoutRecord>;
collection(idOrName: 'cheerEvents'): RecordService<cheerEventRecord>;
collection(idOrName: 'cheers'): RecordService<cheerRecord>;
collection(idOrName: 'anivTimeouts'): RecordService<anivTimeoutRecord>;
};
export default new PocketBase(pocketbaseurl).autoCancellation(false) as TypedPocketBase;

14
src/db/dbAnivTimeouts.ts Normal file
View File

@@ -0,0 +1,14 @@
import pocketbase from "db/connection";
import User from "user";
import logger from "lib/logger";
const pb = pocketbase.collection('anivTimeouts');
export async function createAnivTimeoutRecord(message: string, user: User, duration: number) {
try {
await pb.create({ message, user: user.id, duration });
} catch (e) {
logger.err(`Failed to create anivTimeoutRecord: user: ${user.displayName} message: "${message}" duration: ${duration}`);
logger.err(e as string);
};
};