Add createMembership function
This commit is contained in:
parent
f4891fdc83
commit
e706451d90
24
src/app.ts
24
src/app.ts
@ -3,10 +3,14 @@ dotenv.config()
|
|||||||
import lineByLine from 'n-readlines'
|
import lineByLine from 'n-readlines'
|
||||||
import 'reflect-metadata'
|
import 'reflect-metadata'
|
||||||
import { IdMapping } from './entity/IdMapping'
|
import { IdMapping } from './entity/IdMapping'
|
||||||
import { Membership } from './entity/Membership'
|
|
||||||
import { RcUser, createUser } from './handlers/users'
|
import { RcUser, createUser } from './handlers/users'
|
||||||
import log from './helpers/logger'
|
import log from './helpers/logger'
|
||||||
import { getMapping, initStorage, save } from './helpers/storage'
|
import {
|
||||||
|
createMembership,
|
||||||
|
getMapping,
|
||||||
|
initStorage,
|
||||||
|
save,
|
||||||
|
} from './helpers/storage'
|
||||||
import { whoami } from './helpers/synapse'
|
import { whoami } from './helpers/synapse'
|
||||||
import { RcRoom, createRoom } from './handlers/rooms'
|
import { RcRoom, createRoom } from './handlers/rooms'
|
||||||
|
|
||||||
@ -73,14 +77,12 @@ async function loadRcExport(entity: Entities) {
|
|||||||
log.debug('Mapping added:', mapping)
|
log.debug('Mapping added:', mapping)
|
||||||
|
|
||||||
// Add user to room mapping (specific to users)
|
// Add user to room mapping (specific to users)
|
||||||
rcUser.__rooms.forEach(async (rcRoomId: string) => {
|
Promise.all(
|
||||||
const membership = new Membership()
|
rcUser.__rooms.map(async (rcRoomId: string) => {
|
||||||
membership.rcRoomId = rcRoomId
|
await createMembership(rcRoomId, rcUser._id)
|
||||||
membership.rcUserId = rcUser._id
|
log.debug(`${rcUser.username} membership for ${rcRoomId} created`)
|
||||||
|
})
|
||||||
await save(membership)
|
)
|
||||||
log.debug(`${rcUser.username} membership for ${rcRoomId} created`)
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
break
|
break
|
||||||
@ -121,7 +123,7 @@ async function main() {
|
|||||||
try {
|
try {
|
||||||
await whoami()
|
await whoami()
|
||||||
await initStorage()
|
await initStorage()
|
||||||
// await loadRcExport(Entities.Users)
|
await loadRcExport(Entities.Users)
|
||||||
await loadRcExport(Entities.Rooms)
|
await loadRcExport(Entities.Rooms)
|
||||||
log.info('Done.')
|
log.info('Done.')
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@ -1,4 +1,5 @@
|
|||||||
import log from '../helpers/logger'
|
import log from '../helpers/logger'
|
||||||
|
import { createMembership } from '../helpers/storage'
|
||||||
import { axios, getUserSessionOptions } from '../helpers/synapse'
|
import { axios, getUserSessionOptions } from '../helpers/synapse'
|
||||||
import { RcUser } from './users'
|
import { RcUser } from './users'
|
||||||
|
|
||||||
@ -60,6 +61,17 @@ export function mapRoom(rcRoom: RcRoom): MatrixRoom {
|
|||||||
room.is_direct = true
|
room.is_direct = true
|
||||||
room.preset = MatrixRoomPresets.trusted
|
room.preset = MatrixRoomPresets.trusted
|
||||||
room._creatorId = rcRoom.uids?.[0] || ''
|
room._creatorId = rcRoom.uids?.[0] || ''
|
||||||
|
|
||||||
|
if (rcRoom.uids) {
|
||||||
|
Promise.all(
|
||||||
|
rcRoom.uids.map(async (uid) => {
|
||||||
|
await createMembership(rcRoom._id, uid)
|
||||||
|
log.debug(`${uid} membership in direct chat ${rcRoom._id} created`)
|
||||||
|
})
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
throw new Error('Found a direct chat without uids. This is unexpected.')
|
||||||
|
}
|
||||||
break
|
break
|
||||||
|
|
||||||
case RcRoomTypes.chat:
|
case RcRoomTypes.chat:
|
||||||
|
|||||||
@ -28,3 +28,11 @@ export async function save(entity: IdMapping | Membership) {
|
|||||||
export async function getAccessToken(id: string) {
|
export async function getAccessToken(id: string) {
|
||||||
return (await getMapping(id, 0))?.accessToken
|
return (await getMapping(id, 0))?.accessToken
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function createMembership(rcRoomId: string, rcUserId: string) {
|
||||||
|
const membership = new Membership()
|
||||||
|
membership.rcRoomId = rcRoomId
|
||||||
|
membership.rcUserId = rcUserId
|
||||||
|
|
||||||
|
await save(membership)
|
||||||
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user