From 857360c4d2d4d47230232ffecc2dbb596496467f Mon Sep 17 00:00:00 2001 From: James Jennett-Wheeler Date: Thu, 26 Oct 2023 17:06:08 +0100 Subject: [PATCH] add logging to start looking into existing users --- src/handlers/users.ts | 24 +++++++++++++++++------- src/helpers/synapse.ts | 2 +- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/src/handlers/users.ts b/src/handlers/users.ts index be4f073..5e596d1 100644 --- a/src/handlers/users.ts +++ b/src/handlers/users.ts @@ -75,6 +75,12 @@ async function registerUser(user: MatrixUser): Promise { return (await axios.post('/_synapse/admin/v1/register', user)).data } +async function userAlreadyExists(user: MatrixUser): Promise { + const user_data = (await axios.get('/_synapse/admin/v2/users/' + user.username)).data + log.debug(`Mapping exists:`, user_data) + return true +} + async function parseUserMemberships(rcUser: RcUser): Promise { await Promise.all( rcUser.__rooms.map(async (rcRoomId: string) => { @@ -117,13 +123,17 @@ export async function createMapping( export async function createUser(rcUser: RcUser): Promise { const user = mapUser(rcUser) - const nonce = await getUserRegistrationNonce() - const mac = generateHmac({ ...user, nonce }) - const accessToken = await registerUser({ ...user, nonce, mac }) - user.user_id = accessToken.user_id - user.access_token = accessToken.access_token - log.info(`User ${rcUser.username} created:`, user) - + if (await userAlreadyExists(user)) { + log.info(`User ${rcUser.username} exists:`, user) + } else { + const nonce = await getUserRegistrationNonce() + const mac = generateHmac({ ...user, nonce }) + const accessToken = await registerUser({ ...user, nonce, mac }) + user.user_id = accessToken.user_id + user.access_token = accessToken.access_token + log.info(`User ${rcUser.username} created:`, user) + } + throw "End here" await parseUserMemberships(rcUser) return user diff --git a/src/helpers/synapse.ts b/src/helpers/synapse.ts index da85899..da2bae7 100644 --- a/src/helpers/synapse.ts +++ b/src/helpers/synapse.ts @@ -3,7 +3,7 @@ import { access_token } from '../config/synapse_access_token.json' import log from './logger' import { getAccessToken } from './storage' -axios.defaults.baseURL = 'http://localhost:8008' +axios.defaults.baseURL = 'https://m-rc.jennett-wheeler.co.uk' axios.defaults.headers.common['Authorization'] = `Bearer ${access_token}` axios.defaults.headers.post['Content-Type'] = 'application/json'