From f81c96be62931a9a6002dc59490d0fa5347ce08b Mon Sep 17 00:00:00 2001 From: wancat Date: Sat, 18 Nov 2023 18:22:27 +0800 Subject: [PATCH] fix: fix createUser without password --- server/src/api/controllers/authController.js | 2 +- server/src/models/userManager.js | 5 +++-- server/src/utils/setupTest.js | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/server/src/api/controllers/authController.js b/server/src/api/controllers/authController.js index 30af2c1..2ddcd50 100644 --- a/server/src/api/controllers/authController.js +++ b/server/src/api/controllers/authController.js @@ -16,7 +16,7 @@ export const issueToken = asyncHandler(async (req, res) => { export const register = asyncHandler(async (req, res, next) => { const { username, password, email } = matchedData(req) - const user = await createUser(username, email, password) + const user = await createUser(username, email, { password }) req.login(user, (err) => { if (err) { next(err) diff --git a/server/src/models/userManager.js b/server/src/models/userManager.js index 1fa1fe6..46943dd 100644 --- a/server/src/models/userManager.js +++ b/server/src/models/userManager.js @@ -8,9 +8,10 @@ export async function createUser(username, email, { password, socialLogin }) { }) if (password) { user.hashedPassword = await hashPassword(password) - } - if (socialLogin) { + } else if (socialLogin) { user.socialLogins.set(socialLogin.provider, socialLogin) + } else { + throw new Error('No password or social login provided') } await user.save() diff --git a/server/src/utils/setupTest.js b/server/src/utils/setupTest.js index 2c97278..5369d4c 100644 --- a/server/src/utils/setupTest.js +++ b/server/src/utils/setupTest.js @@ -17,6 +17,6 @@ export default async function setupTest() { return } - await createUser(username, email, password) + await createUser(username, email, { password }) console.log('Created testing account') }