This commit is contained in:
38
mongo.ts
Normal file
38
mongo.ts
Normal file
@@ -0,0 +1,38 @@
|
||||
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}`);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user