diff --git a/src/handlers/space-created-handler.ts b/src/handlers/space-created-handler.ts index e27a2da60ab2c678fb3f9c69e1e0e2f16dbeb59d..ac5228e7b34f4f9394b9cc02a7e3161adb10eba7 100644 --- a/src/handlers/space-created-handler.ts +++ b/src/handlers/space-created-handler.ts @@ -2,7 +2,7 @@ import { logPhase } from '../logger' import { SpaceCreatedDataPayload } from '../types' import { addGeneralRoomToSpaceContainer, createSpaceContainer, createSpaceGeneralRoom } from '../helpers/createSpace' import { startChatClient, stopChatClient } from '../helpers/_chatClient' -import { getMatrixUserId } from '../helpers/rooms' +import { getMatrixUserId, getRoomIdsForHoliSpace } from '../helpers/rooms' // Handles the SpaceCreated event from Google Cloud Pub/Sub. export const spaceCreatedHandler = async (messageId: string, payload: SpaceCreatedDataPayload): Promise<void> => { @@ -12,6 +12,10 @@ export const spaceCreatedHandler = async (messageId: string, payload: SpaceCreat const creatorId = getMatrixUserId(creator.identity) try { + // check if Space already has rooms + const rooms = await getRoomIdsForHoliSpace(payload.space.id) + if (rooms.length > 0) return + const parentSpaceRoomId = await logPhase( messageId, 'spaceCreatedHandler.createSpaceContainer'