Fix new linting issues

This commit is contained in:
Henrik Hüttemann 2023-07-17 13:36:04 +02:00
parent 9cc651ffc7
commit 2d8a6f49d7
No known key found for this signature in database
GPG Key ID: 9F7BD10E0A8A111E
8 changed files with 49 additions and 49 deletions

View File

@ -105,7 +105,7 @@ test('mapping private rooms', () => {
test('mapping live chats', () => {
expect(() =>
mapRoom({ _id: 'liveChatId', t: RcRoomTypes.live })
mapRoom({ _id: 'liveChatId', t: RcRoomTypes.live }),
).toThrowError('Room type l is unknown')
})
@ -118,15 +118,15 @@ test('getting creator', () => {
test('creating memberships for direct chats', async () => {
await expect(createDirectChatMemberships(rcDirectChat)).resolves.toBe(
undefined
undefined,
)
expect(mockedStorage.createMembership).toHaveBeenCalledWith(
rcDirectChat._id,
rcDirectChat.uids[0]
rcDirectChat.uids[0],
)
expect(mockedStorage.createMembership).toHaveBeenCalledWith(
rcDirectChat._id,
rcDirectChat.uids[1]
rcDirectChat.uids[1],
)
expect(mockedStorage.createMembership).toHaveBeenCalledTimes(2)
@ -137,7 +137,7 @@ test('creating memberships for direct chats', async () => {
...rcDirectChat,
_id: 'hoihoi',
uids: ['hoi', 'hoi'],
})
}),
).resolves.toBe(undefined)
expect(mockedStorage.createMembership).toHaveBeenCalledWith('hoihoi', 'hoi')
@ -152,7 +152,7 @@ test('registering room', async () => {
expect(mockedAxios.post).toHaveBeenCalledWith(
'/_matrix/client/v3/createRoom',
rcPublicRoom,
sessionOption
sessionOption,
)
expect(mockedAxios.post).toHaveBeenCalledTimes(1)
mockedAxios.post.mockClear()
@ -160,12 +160,12 @@ test('registering room', async () => {
test('inviting member', async () => {
await expect(
inviteMember('inviteme', room_id, sessionOption)
inviteMember('inviteme', room_id, sessionOption),
).resolves.not.toThrow()
expect(mockedAxios.post).toHaveBeenCalledWith(
`/_matrix/client/v3/rooms/${room_id}/invite`,
{ user_id: 'inviteme' },
sessionOption
sessionOption,
)
expect(mockedAxios.post).toHaveBeenCalledTimes(1)
mockedAxios.post.mockClear()
@ -180,13 +180,13 @@ test('accepting invitation by joining the room', async () => {
accessToken: 'secretAuthToken',
type: entities[Entity.Users].mappingType,
},
room_id
)
room_id,
),
).resolves.toBe(undefined)
expect(mockedAxios.post).toHaveBeenCalledWith(
`/_matrix/client/v3/join/${room_id}`,
{},
{ headers: sessionOption.headers }
{ headers: sessionOption.headers },
)
expect(mockedAxios.post).toHaveBeenCalledTimes(1)
mockedAxios.post.mockClear()
@ -209,7 +209,7 @@ test('filtering members', async () => {
}
mockedStorage.getMapping.mockImplementation(async (rcId, type) =>
rcId.includes('excluded') || !rcId ? null : mockMapping(rcId, type)
rcId.includes('excluded') || !rcId ? null : mockMapping(rcId, type),
)
await expect(getFilteredMembers(members, members[0])).resolves.toStrictEqual([
@ -218,21 +218,21 @@ test('filtering members', async () => {
])
expect(mockedStorage.getMapping).toBeCalledWith(
'existingUser',
entities[Entity.Users].mappingType
entities[Entity.Users].mappingType,
)
expect(mockedStorage.getMapping).toBeCalledWith(
'otherExistingUser',
entities[Entity.Users].mappingType
entities[Entity.Users].mappingType,
)
expect(mockedStorage.getMapping).toBeCalledWith(
'excludedUser',
entities[Entity.Users].mappingType
entities[Entity.Users].mappingType,
)
})
test('creating mapping', async () => {
await expect(
createMapping(rcPublicRoom._id, { ...mapRoom(rcPublicRoom), room_id })
createMapping(rcPublicRoom._id, { ...mapRoom(rcPublicRoom), room_id }),
).resolves.toBe(undefined)
expect(mockedStorage.save).toHaveBeenCalledWith({
rcId: rcPublicRoom._id,

View File

@ -98,14 +98,14 @@ export function getCreator(rcRoom: RcRoom): string {
return rcRoom.uids[0]
} else {
log.warn(
`Creator ID could not be determined for room ${rcRoom.name} of type ${rcRoom.t}. This is normal for the default room.`
`Creator ID could not be determined for room ${rcRoom.name} of type ${rcRoom.t}. This is normal for the default room.`,
)
return ''
}
}
export async function createDirectChatMemberships(
rcRoom: RcRoom
rcRoom: RcRoom,
): Promise<void> {
if (rcRoom.t == RcRoomTypes.direct && rcRoom.uids) {
await Promise.all(
@ -113,13 +113,13 @@ export async function createDirectChatMemberships(
.map(async (uid) => {
await createMembership(rcRoom._id, uid)
log.debug(`${uid} membership in direct chat ${rcRoom._id} created`)
})
}),
)
}
}
export async function getCreatorSessionOptions(
creatorId: string
creatorId: string,
): Promise<SessionOptions | object> {
if (creatorId) {
try {
@ -135,13 +135,13 @@ export async function getCreatorSessionOptions(
export async function registerRoom(
room: MatrixRoom,
creatorSessionOptions: SessionOptions | object
creatorSessionOptions: SessionOptions | object,
): Promise<string> {
return (
await axios.post(
'/_matrix/client/v3/createRoom',
room,
creatorSessionOptions
creatorSessionOptions,
)
).data.room_id
}
@ -149,39 +149,39 @@ export async function registerRoom(
export async function inviteMember(
inviteeId: string,
roomId: string,
creatorSessionOptions: SessionOptions | object
creatorSessionOptions: SessionOptions | object,
): Promise<void> {
log.http(`Invite member ${inviteeId}`)
await axios.post(
`/_matrix/client/v3/rooms/${roomId}/invite`,
{ user_id: inviteeId },
creatorSessionOptions
creatorSessionOptions,
)
}
export async function acceptInvitation(
inviteeMapping: IdMapping,
roomId: string
roomId: string,
): Promise<void> {
log.http(
`Accepting invitation for member ${inviteeMapping.rcId} aka. ${inviteeMapping.matrixId}`
`Accepting invitation for member ${inviteeMapping.rcId} aka. ${inviteeMapping.matrixId}`,
)
await axios.post(
`/_matrix/client/v3/join/${roomId}`,
{},
formatUserSessionOptions(inviteeMapping.accessToken || '')
formatUserSessionOptions(inviteeMapping.accessToken || ''),
)
}
export async function getFilteredMembers(
rcMemberIds: string[],
creatorId: string
creatorId: string,
): Promise<IdMapping[]> {
const memberMappings = (
await Promise.all(
rcMemberIds
.filter((rcMemberId) => rcMemberId != creatorId)
.map(async (rcMemberId) => await getMapping(rcMemberId, 0))
.map(async (rcMemberId) => await getMapping(rcMemberId, 0)),
)
).filter((memberMapping): memberMapping is IdMapping => memberMapping != null)
return memberMappings
@ -189,7 +189,7 @@ export async function getFilteredMembers(
export async function createMapping(
rcId: string,
matrixRoom: MatrixRoom
matrixRoom: MatrixRoom,
): Promise<void> {
const roomMapping = new IdMapping()
roomMapping.rcId = rcId
@ -218,7 +218,7 @@ async function handleMemberships(
rcRoomId: string,
room: MatrixRoom,
creatorId: string,
creatorSessionOptions: object | SessionOptions
creatorSessionOptions: object | SessionOptions,
) {
const rcMemberIds = await getMemberships(rcRoomId)
const memberMappings = await getFilteredMembers(rcMemberIds, creatorId)
@ -226,13 +226,13 @@ async function handleMemberships(
`Inviting members to room ${
room.room_alias_name || room.name || room.room_id
}:`,
memberMappings.map((mapping) => mapping.matrixId)
memberMappings.map((mapping) => mapping.matrixId),
)
log.debug(
'Excluded members:',
rcMemberIds.filter(
(x) => !memberMappings.map((mapping) => mapping.rcId).includes(x)
)
(x) => !memberMappings.map((mapping) => mapping.rcId).includes(x),
),
)
await Promise.all(
@ -240,10 +240,10 @@ async function handleMemberships(
await inviteMember(
memberMapping.matrixId || '',
room.room_id || '',
creatorSessionOptions
creatorSessionOptions,
)
await acceptInvitation(memberMapping, room.room_id || '')
})
}),
)
}

View File

@ -73,11 +73,11 @@ test('creating users', async () => {
expect(mockedStorage.createMembership).toHaveBeenCalledWith(
rcUser.__rooms[0],
rcUser._id
rcUser._id,
)
expect(mockedStorage.createMembership).toHaveBeenCalledWith(
rcUser.__rooms[1],
rcUser._id
rcUser._id,
)
expect(mockedStorage.createMembership).toHaveBeenCalledTimes(2)
})
@ -88,7 +88,7 @@ test('users are excluded', () => {
expect(userIsExcluded({ ...rcUser, username: 'excludedUser2' })).toBeTruthy()
expect(userIsExcluded({ ...rcUser, roles: ['bot'] })).toBeTruthy()
expect(
userIsExcluded({ ...rcUser, roles: [...rcUser.__rooms, 'app'] })
userIsExcluded({ ...rcUser, roles: [...rcUser.__rooms, 'app'] }),
).toBeTruthy()
expect(
userIsExcluded({
@ -96,7 +96,7 @@ test('users are excluded', () => {
_id: 'excludedUser2',
username: 'excludedUser1',
roles: [...rcUser.__rooms, 'app', 'bot'],
})
}),
).toBeTruthy()
})

View File

@ -53,7 +53,7 @@ export function generateHmac(user: MatrixUser): string {
hmac.write(
`${user.nonce}\0${user.username}\0${user.password}\0${
user.admin ? 'admin' : 'notadmin'
}`
}`,
)
hmac.end()
return hmac.read().toString('hex')
@ -72,7 +72,7 @@ async function parseUserMemberships(rcUser: RcUser): Promise<void> {
rcUser.__rooms.map(async (rcRoomId: string) => {
await createMembership(rcRoomId, rcUser._id)
log.debug(`${rcUser.username} membership for ${rcRoomId} created`)
})
}),
)
}
@ -95,7 +95,7 @@ export function userIsExcluded(rcUser: RcUser): boolean {
export async function createMapping(
rcId: string,
matrixUser: MatrixUser
matrixUser: MatrixUser,
): Promise<void> {
const mapping = new IdMapping()
mapping.rcId = rcId

View File

@ -5,6 +5,6 @@ export default winston.createLogger({
transports: [new winston.transports.Console()],
format: winston.format.combine(
winston.format.colorize({ all: true }),
winston.format.simple()
winston.format.simple(),
),
})

View File

@ -35,7 +35,7 @@ test('create mapping', async () => {
test('get mapping', async () => {
await expect(getMapping(mapping.rcId, mapping.type)).resolves.toStrictEqual(
mapping
mapping,
)
await expect(getMapping('inexistent', 0)).resolves.toBe(null)
})
@ -47,7 +47,7 @@ test('get access token', async () => {
test('create membership', async () => {
await expect(
createMembership(membership.rcRoomId, membership.rcUserId)
createMembership(membership.rcRoomId, membership.rcUserId),
).resolves.toBe(undefined)
})

View File

@ -17,7 +17,7 @@ export async function initStorage(): Promise<void> {
export function getMapping(
id: string,
type: number
type: number,
): Promise<IdMapping | null> {
return AppDataSource.manager.findOneBy(IdMapping, {
rcId: id,
@ -35,7 +35,7 @@ export async function getAccessToken(id: string): Promise<string | undefined> {
export async function createMembership(
rcRoomId: string,
rcUserId: string
rcUserId: string,
): Promise<void> {
const membership = new Membership()
membership.rcRoomId = rcRoomId

View File

@ -34,7 +34,7 @@ export function formatUserSessionOptions(accessToken: string): SessionOptions {
}
export async function getUserSessionOptions(
id: string
id: string,
): Promise<SessionOptions> {
const accessToken = await getAccessToken(id)
if (!accessToken) {