Files
mafuyu-kirisu/mongo.ts
konchin 2d7361e937
Some checks failed
release-tag / release-image (push) Failing after 1m14s
initial commit
2024-10-11 19:49:58 +08:00

39 lines
1.0 KiB
TypeScript

import mongoose from 'mongoose';
import {config} from './config';
async function resetMongo(): Promise<void> {
try{
// await clearContests();
// await clearProblems();
// await clearSessions();
}catch(err: unknown){
throw new Error(`MongoDB reset failed. ${err}`);
}
}
async function initializeMongo(): Promise<void> {
try{
await resetMongo();
}catch(err: unknown){
throw new Error(`MongoDB initialize failed. ${err}`);
}
}
export async function runMongo(): Promise<void> {
try {
mongoose.set('strictQuery', false);
const auth: string = `${config.mongodb.user}:${config.mongodb.pass}`;
const server: string = `${config.mongodb.host}:${config.mongodb.port}`;
const uri: string = `mongodb://${auth}@${server}/${config.mongodb.db}`;
await mongoose.connect(uri);
} catch(err: unknown) {
throw new Error(`MongoDB connection failed. ${err}`);
}
try {
await initializeMongo();
} catch(err: unknown) {
throw new Error(`Initialize MongoDB data failed. ${err}`);
}
}