import { DataSource } from 'typeorm'; import { RoomChannelEntity, RoomEntity, RoomMemberEntity, MessageEntity } from '../../../entities'; import { DeleteRoomCommand } from '../../types'; export async function handleDeleteRoom(command: DeleteRoomCommand, dataSource: DataSource): Promise { const { roomId } = command.payload; await dataSource.transaction(async (manager) => { await manager.getRepository(RoomChannelEntity).delete({ roomId }); await manager.getRepository(RoomMemberEntity).delete({ roomId }); await manager.getRepository(RoomEntity).delete({ id: roomId }); await manager.getRepository(MessageEntity).delete({ roomId }); }); }