add logging to start looking into existing users
This commit is contained in:
parent
176fa455c2
commit
857360c4d2
@ -75,6 +75,12 @@ async function registerUser(user: MatrixUser): Promise<AccessToken> {
|
|||||||
return (await axios.post('/_synapse/admin/v1/register', user)).data
|
return (await axios.post('/_synapse/admin/v1/register', user)).data
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function userAlreadyExists(user: MatrixUser): Promise<boolean> {
|
||||||
|
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<void> {
|
async function parseUserMemberships(rcUser: RcUser): Promise<void> {
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
rcUser.__rooms.map(async (rcRoomId: string) => {
|
rcUser.__rooms.map(async (rcRoomId: string) => {
|
||||||
@ -117,13 +123,17 @@ export async function createMapping(
|
|||||||
|
|
||||||
export async function createUser(rcUser: RcUser): Promise<MatrixUser> {
|
export async function createUser(rcUser: RcUser): Promise<MatrixUser> {
|
||||||
const user = mapUser(rcUser)
|
const user = mapUser(rcUser)
|
||||||
|
if (await userAlreadyExists(user)) {
|
||||||
|
log.info(`User ${rcUser.username} exists:`, user)
|
||||||
|
} else {
|
||||||
const nonce = await getUserRegistrationNonce()
|
const nonce = await getUserRegistrationNonce()
|
||||||
const mac = generateHmac({ ...user, nonce })
|
const mac = generateHmac({ ...user, nonce })
|
||||||
const accessToken = await registerUser({ ...user, nonce, mac })
|
const accessToken = await registerUser({ ...user, nonce, mac })
|
||||||
user.user_id = accessToken.user_id
|
user.user_id = accessToken.user_id
|
||||||
user.access_token = accessToken.access_token
|
user.access_token = accessToken.access_token
|
||||||
log.info(`User ${rcUser.username} created:`, user)
|
log.info(`User ${rcUser.username} created:`, user)
|
||||||
|
}
|
||||||
|
throw "End here"
|
||||||
await parseUserMemberships(rcUser)
|
await parseUserMemberships(rcUser)
|
||||||
|
|
||||||
return user
|
return user
|
||||||
|
|||||||
@ -3,7 +3,7 @@ import { access_token } from '../config/synapse_access_token.json'
|
|||||||
import log from './logger'
|
import log from './logger'
|
||||||
import { getAccessToken } from './storage'
|
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.common['Authorization'] = `Bearer ${access_token}`
|
||||||
axios.defaults.headers.post['Content-Type'] = 'application/json'
|
axios.defaults.headers.post['Content-Type'] = 'application/json'
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user