diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 5e5bf5957..f075c1763 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.39.6", + "version": "2.39.7", "bin": "bin/hydrooj.js", "main": "src/loader", "module": "src/loader", diff --git a/packages/hydrooj/src/handler/user.ts b/packages/hydrooj/src/handler/user.ts index 607285324..66f31084e 100644 --- a/packages/hydrooj/src/handler/user.ts +++ b/packages/hydrooj/src/handler/user.ts @@ -77,7 +77,8 @@ class UserLoginHandler extends Handler { @param('redirect', Types.String, true) async post(domainId: string, uname: string, password: string, rememberme = false, redirect = '') { if (!system.get('server.login')) throw new LoginError('Builtin login disabled.'); - const udoc = await user.getByUname(domainId, uname); + let udoc = await user.getByEmail(domainId, uname); + if (!udoc) udoc = await user.getByUname(domainId, uname); if (!udoc) throw new UserNotFoundError(uname); udoc.checkPassword(password); await user.setById(udoc._id, { loginat: new Date(), loginip: this.request.ip });