diff --git a/src/handlers/space-updated-handler.ts b/src/handlers/space-updated-handler.ts index 3fca20facda03fee5ea000c5c416752c63ef840a..aa14d90868379a282590d6fc39b45a2d488cd340 100644 --- a/src/handlers/space-updated-handler.ts +++ b/src/handlers/space-updated-handler.ts @@ -5,6 +5,7 @@ import { getHoliSpaceRoomsSharedData, hasRoomUpdatedValues, isSpaceGeneralRoomSharedData, + setRoomAvatar, setRoomSharedData, } from '../helpers/rooms' @@ -26,6 +27,7 @@ export const spaceUpdatedHandler = async (messageId: string, payload: SpaceUpdat if (!hasRoomUpdatedValues(sharedData, spacePayload)) return await setRoomSharedData(roomId, sharedData.parentSpaceRoomId, spacePayload) + await setRoomAvatar(roomId, spacePayload.avatar) }) } catch (error) { throw new Error(`Failed to create space ${error}`) diff --git a/src/helpers/rooms.ts b/src/helpers/rooms.ts index 60e7aa725327bc42dd8a7a9c99205fae099c7580..e7e166c09cb5f95910ba1e8c6cf375c4978743ff 100644 --- a/src/helpers/rooms.ts +++ b/src/helpers/rooms.ts @@ -1,3 +1,4 @@ +import { EventType } from 'matrix-js-sdk' import { CHAT_ADMIN_ACCESS_TOKEN, CHAT_SERVER_NAME, CHAT_SERVER_URL } from '../constants' import { SpacePayload } from '../types' import { chatClient } from './_chatClient' @@ -103,12 +104,11 @@ export const getRoomIdsForHoliSpace = async (holiSpaceId: string, searchTerm?: s export const setRoomSharedData = async ( roomId: string, parentSpaceRoomId: string, - { id, name, avatar, avatarDefaultColor }: SpacePayload + { id, name, avatarDefaultColor }: SpacePayload ) => { await chatClient.sendStateEvent(roomId, ChatRoomEvent.SharedData, { holiSpaceId: id, spaceName: name, - avatar, avatarDefaultColor, parentSpaceRoomId, }) @@ -172,3 +172,7 @@ export const hasRoomUpdatedValues = ( const { name: newSpaceName, avatar: newAvatar, avatarDefaultColor: newAvatarDefaultColor } = spacePayload return spaceName !== newSpaceName || avatar !== newAvatar || avatarDefaultColor !== newAvatarDefaultColor } + +export const setRoomAvatar = (roomId: string, avatarUrl: string) => { + return chatClient.sendStateEvent(roomId, EventType.RoomAvatar, { url: avatarUrl }) +}