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') }