diff --git a/src/handlers/users.ts b/src/handlers/users.ts index b2ebbfb..d5c8017 100644 --- a/src/handlers/users.ts +++ b/src/handlers/users.ts @@ -130,7 +130,15 @@ export async function createMapping( export async function createUser(rcUser: RcUser): Promise { const user = mapUser(rcUser) + var user_exists = false; try { + await getUserData(user) + user_exists = true + } catch (error) { + user_exists = false + } + + if (user_exists) { const userData = await getUserData(user) user.user_id = userData.name user.displayname = userData.displayname @@ -138,9 +146,7 @@ export async function createUser(rcUser: RcUser): Promise { const accessToken = await getUserLogin(user) user.access_token = accessToken.access_token log.info(`User ${rcUser.username} exists:`, user) - } catch (error) { - log.error(`Error:`, error) - + } else { const nonce = await getUserRegistrationNonce() const mac = generateHmac({ ...user, nonce }) const accessToken = await registerUser({ ...user, nonce, mac }) @@ -148,6 +154,7 @@ export async function createUser(rcUser: RcUser): Promise { user.access_token = accessToken.access_token log.info(`User ${rcUser.username} created:`, user) } + await parseUserMemberships(rcUser) return user