diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 9829bdd03..7ff1f333f 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.32.25", + "version": "2.32.26", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/upgrade.ts b/packages/hydrooj/src/upgrade.ts index d525d9d26..069e29986 100644 --- a/packages/hydrooj/src/upgrade.ts +++ b/packages/hydrooj/src/upgrade.ts @@ -7,6 +7,7 @@ import yaml from 'js-yaml'; import { pick } from 'lodash'; import { convertIniConfig } from '@hydrooj/utils/lib/cases'; import { BucketItem } from 'minio'; +import moment from 'moment'; import { Progress } from './ui'; import { Logger } from './logger'; import { streamToBuffer } from './utils'; @@ -446,6 +447,16 @@ const scripts: UpgradeScript[] = [ }); return true; }, + async function _40_41() { + const _FRESH_INSTALL_IGNORE = 1; + await db.collection('storage').dropIndex('path_1'); + await db.collection('storage').createIndex({ path: 1, autoDelete: 1 }, { sparse: true }); + await db.collection('storage').updateMany( + { autoDelete: { $gte: moment().add(5, 'days').toDate() } }, + { $unset: { autoDelete: '' } }, + ); + return true; + }, ]; export default scripts;