diff --git a/packages/hydrooj/src/entry/cli.ts b/packages/hydrooj/src/entry/cli.ts index 12f9cd707..20f8056f4 100644 --- a/packages/hydrooj/src/entry/cli.ts +++ b/packages/hydrooj/src/entry/cli.ts @@ -95,7 +95,6 @@ export async function load() { await lib(pending, fail); const systemModel = require('../model/system'); await systemModel.runConfig(); - require('../service/gridfs'); await service(pending, fail); for (const i of builtinModel) require(`../model/${i}`); await model(pending, fail); diff --git a/packages/hydrooj/src/entry/worker.ts b/packages/hydrooj/src/entry/worker.ts index 3bf4c2619..53a226617 100644 --- a/packages/hydrooj/src/entry/worker.ts +++ b/packages/hydrooj/src/entry/worker.ts @@ -50,9 +50,8 @@ export async function load() { if (detail) logger.info('finish: lib.builtin'); await lib(pending, fail); if (detail) logger.info('finish: lib.extra'); - require('../service/gridfs'); require('../service/monitor'); - if (detail) logger.info('finish: gridfs/monitor'); + if (detail) logger.info('finish: monitor'); const server = require('../service/server'); await server.prepare(); if (detail) logger.info('finish: server'); diff --git a/packages/hydrooj/src/service/gridfs.ts b/packages/hydrooj/src/service/gridfs.ts deleted file mode 100644 index cae1012fe..000000000 --- a/packages/hydrooj/src/service/gridfs.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { GridFSBucket } from 'mongodb'; -import db from './db'; -import { HydroFileSystem } from '../interface'; - -const fs = new GridFSBucket(db.db2); - -// @ts-ignore -global.Hydro.service.fs = fs; - -export = fs as HydroFileSystem; diff --git a/packages/hydrooj/src/upgrade.ts b/packages/hydrooj/src/upgrade.ts index 62c306906..2d6ae60e2 100644 --- a/packages/hydrooj/src/upgrade.ts +++ b/packages/hydrooj/src/upgrade.ts @@ -1,6 +1,6 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ /* eslint-disable no-await-in-loop */ -import { ObjectID } from 'mongodb'; +import { ObjectID, GridFSBucket } from 'mongodb'; import AdmZip from 'adm-zip'; import Queue from 'p-queue'; import yaml from 'js-yaml'; @@ -8,15 +8,14 @@ import { pick } from 'lodash'; import { convertIniConfig } from '@hydrooj/utils/lib/cases'; import { BucketItem } from 'minio'; import moment from 'moment'; +import db from './service/db'; import { Progress } from './ui'; import { Logger } from './logger'; import { streamToBuffer } from './utils'; import { iterateAllDomain, iterateAllProblem, iterateAllPsdoc, iterateAllUser, } from './pipelineUtils'; -import gridfs from './service/gridfs'; import storage from './service/storage'; -import db from './service/db'; import difficultyAlgorithm from './lib/difficulty'; import problem from './model/problem'; import user from './model/user'; @@ -81,6 +80,7 @@ const scripts: UpgradeScript[] = [ else savedProgress = { pdocs: [] }; const ddocs = await domain.getMulti().project({ _id: 1 }).toArray(); logger.info('Found %d domains.', ddocs.length); + const gridfs = new GridFSBucket(db.db2); for (let i = 0; i < ddocs.length; i++) { const ddoc = ddocs[i]; logger.info('Domain %s (%d/%d)', ddoc._id, i + 1, ddocs.length);