From 6b92b962251290fe79f587af2a741440cc0af649 Mon Sep 17 00:00:00 2001 From: undefined Date: Wed, 19 Aug 2020 21:28:32 +0800 Subject: [PATCH] ci fix --- packages/hydrooj/src/entry/setup.ts | 1 + packages/hydrooj/src/model/token.ts | 5 +-- .../hydrooj/src/script/createTestDatabase.ts | 34 +++++++++++++++++++ packages/hydrooj/src/service/server.ts | 2 ++ 4 files changed, 40 insertions(+), 2 deletions(-) create mode 100644 packages/hydrooj/src/script/createTestDatabase.ts diff --git a/packages/hydrooj/src/entry/setup.ts b/packages/hydrooj/src/entry/setup.ts index 70dbc40c2..df267fe70 100644 --- a/packages/hydrooj/src/entry/setup.ts +++ b/packages/hydrooj/src/entry/setup.ts @@ -78,6 +78,7 @@ async function get(ctx: Context) { async function post(ctx: Context) { const { host, port, name, username, password, + // @ts-expect-error } = ctx.request.body; let mongourl = 'mongodb://'; if (username) mongourl += `${username}:${password}@`; diff --git a/packages/hydrooj/src/model/token.ts b/packages/hydrooj/src/model/token.ts index ef7342edf..b2cfe2060 100644 --- a/packages/hydrooj/src/model/token.ts +++ b/packages/hydrooj/src/model/token.ts @@ -78,8 +78,9 @@ export function getSessionListByUid(uid: number) { return coll.find({ uid, tokenType: TYPE_SESSION }).sort('updateAt', -1).toArray(); } -export function getMostRecentSessionByUid(uid: number) { - return coll.findOne({ uid, tokenType: TYPE_SESSION }, { sort: { updateAt: -1 } }); +export async function getMostRecentSessionByUid(uid: number) { + const res = await coll.find({ uid, tokenType: TYPE_SESSION }).sort('updateAt', -1); + return res[0]; } export function delByUid(uid: number) { diff --git a/packages/hydrooj/src/script/createTestDatabase.ts b/packages/hydrooj/src/script/createTestDatabase.ts new file mode 100644 index 000000000..aeefc9369 --- /dev/null +++ b/packages/hydrooj/src/script/createTestDatabase.ts @@ -0,0 +1,34 @@ +import { Collection } from 'mongodb'; +import { Udoc } from '../interface'; +import * as db from '../service/db'; +import * as problem from '../model/problem'; +import { setPassword } from '../model/user'; + +export const description = 'Create A Test Database'; + +export async function run() { + const collUser: Collection = db.collection('user'); + const collDocument = db.collection('document'); + await Promise.all([ + collUser.updateOne( + { _id: -1 }, + { + priv: -1, + uname: 'Root', + unameLower: 'root', + mail: 'root@hydro.local', + mailLower: 'root@hydro.local', + bio: 'Test Root User', + regat: new Date(), + loginat: new Date(), + regip: '127.0.0.1', + loginip: '127.0.0.1', + }, + ), + ]); + await setPassword(-1, 'rootroot'); +} + +export const validate = {}; + +global.Hydro.script.createTestDatabase = { run, description, validate }; diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index 2589dbb4c..67462f1c3 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -272,7 +272,9 @@ export class Handler { ip: ctx.request.ip, headers: ctx.request.headers, cookies: ctx.cookies, + // @ts-ignore body: ctx.request.body, + // @ts-ignore files: ctx.request.files, query: ctx.query, path: ctx.path,