From 8f78889fd25ac4797f14b13f90ff0e8260d7719b Mon Sep 17 00:00:00 2001 From: James Jennett-Wheeler Date: Thu, 26 Oct 2023 17:47:10 +0100 Subject: [PATCH] Get existing users --- src/handlers/users.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/handlers/users.ts b/src/handlers/users.ts index 33a0da5..d49a658 100644 --- a/src/handlers/users.ts +++ b/src/handlers/users.ts @@ -84,6 +84,9 @@ async function registerUser(user: MatrixUser): Promise { async function getUserData(user: MatrixUser): Promise { return (await axios.get('/_synapse/admin/v2/users/@' + user.username + ":" + getUserDomain())).data } +async function getUserLogin(user: MatrixUser): Promise { + return (await axios.get('/_synapse/admin/v1/users/@' + user.username + ":" + getUserDomain() + "/login")).data +} async function parseUserMemberships(rcUser: RcUser): Promise { await Promise.all( @@ -128,9 +131,13 @@ export async function createMapping( export async function createUser(rcUser: RcUser): Promise { const user = mapUser(rcUser) try { - const user_data = await getUserData(user) - - log.info(`User ${rcUser.username} exists:`, user_data) + const userData = await getUserData(user) + user.user_id = userData.name + user.displayname = userData.displayname + user.admin = user.admin || userData.admin + const accessToken = await getUserLogin(user) + user.access_token = accessToken.access_token + log.info(`User ${rcUser.username} exists:`, user) } catch (error) { const nonce = await getUserRegistrationNonce() const mac = generateHmac({ ...user, nonce }) @@ -139,7 +146,6 @@ export async function createUser(rcUser: RcUser): Promise { user.access_token = accessToken.access_token log.info(`User ${rcUser.username} created:`, user) } - throw "End here" await parseUserMemberships(rcUser) return user