2021-11-29 11:32:46 +00:00
|
|
|
import contact, { EmployeeAccount } from '@anticrm/contact'
|
2022-04-12 05:59:38 +00:00
|
|
|
import { Account, Class, Client, Obj, Ref } from '@anticrm/core'
|
|
|
|
import { Asset } from '@anticrm/platform'
|
2021-11-29 11:32:46 +00:00
|
|
|
|
2022-04-12 05:59:38 +00:00
|
|
|
export async function getUser (
|
|
|
|
client: Client,
|
|
|
|
user: Ref<EmployeeAccount> | Ref<Account>
|
|
|
|
): Promise<EmployeeAccount | undefined> {
|
2021-11-29 11:32:46 +00:00
|
|
|
return await client.findOne(contact.class.EmployeeAccount, { _id: user as Ref<EmployeeAccount> })
|
|
|
|
}
|
|
|
|
|
|
|
|
export function getTime (time: number): string {
|
2022-04-12 05:59:38 +00:00
|
|
|
let options: Intl.DateTimeFormatOptions = { hour: 'numeric', minute: 'numeric' }
|
2021-11-29 11:32:46 +00:00
|
|
|
if (!isToday(time)) {
|
|
|
|
options = {
|
|
|
|
month: 'numeric',
|
2022-04-12 05:59:38 +00:00
|
|
|
day: 'numeric',
|
2021-11-29 11:32:46 +00:00
|
|
|
...options
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return new Date(time).toLocaleString('default', options)
|
|
|
|
}
|
|
|
|
|
|
|
|
export function isToday (time: number): boolean {
|
|
|
|
const current = new Date()
|
|
|
|
const target = new Date(time)
|
2022-04-12 05:59:38 +00:00
|
|
|
return (
|
|
|
|
current.getDate() === target.getDate() &&
|
|
|
|
current.getMonth() === target.getMonth() &&
|
|
|
|
current.getFullYear() === target.getFullYear()
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export function classIcon (client: Client, _class: Ref<Class<Obj>>): Asset | undefined {
|
|
|
|
return client.getHierarchy().getClass(_class).icon
|
|
|
|
}
|