/* * Copyright (c) 2022. * Author Peter Placzek (tada5hi) * For the full copyright and license information, * view the LICENSE file that was distributed with this source code. */ import {ChatRoom, ChatRoomType} from "../../chat/room"; import {getRepository} from "typeorm"; import {ChatMember} from "../../chat/member"; import {AuthContact} from "./index"; export async function createContactChatRoom(contactId: string, userOne: number, userTwo: number) : Promise { const roomRepository = getRepository(ChatRoom); const room = roomRepository.create({ type: ChatRoomType.PRIVATE, contact_id: contactId, protected: true }); await roomRepository.save(room); const memberRepository = getRepository(ChatMember); const memberOne = memberRepository.create({ user_id: userOne, room_id: room.id, creator: true }); const memberTwo = memberRepository.create({ user_id: userTwo, room_id: room.id }); await memberRepository.insert([memberOne, memberTwo]); return room; } export function getContactOtherUserId(contact: AuthContact, ownUserId: number) { if(contact.user_one_id === ownUserId) { return contact.user_two_id; } else { return contact.user_one_id; } }