platform/plugins/chunter/src/utils.ts
Kristina 734177f3ea
UBERF-5811: rework backlinks (#4887)
Signed-off-by: Kristina Fefelova <kristin.fefelova@gmail.com>
2024-03-07 13:53:07 +07:00

31 lines
794 B
TypeScript

import { deepEqual } from 'fast-equals'
import core, { Ref, TxOperations } from '@hcengineering/core'
import { PersonAccount } from '@hcengineering/contact'
import chunter, { DirectMessage } from '.'
/**
* @public
*/
export async function getDirectChannel (
client: TxOperations,
me: Ref<PersonAccount>,
employeeAccount: Ref<PersonAccount>
): Promise<Ref<DirectMessage>> {
const accIds = [me, employeeAccount].sort()
const existingDms = await client.findAll(chunter.class.DirectMessage, {})
for (const dm of existingDms) {
if (deepEqual(dm.members, accIds)) {
return dm._id
}
}
return await client.createDoc(chunter.class.DirectMessage, core.space.Space, {
name: '',
description: '',
private: true,
archived: false,
members: accIds
})
}