apps/meteor/lib/publishFields.ts
export const subscriptionFields = {
t: 1,
ts: 1,
ls: 1,
lr: 1,
name: 1,
fname: 1,
rid: 1,
code: 1,
f: 1,
u: 1,
open: 1,
alert: 1,
roles: 1,
unread: 1,
prid: 1,
userMentions: 1,
groupMentions: 1,
archived: 1,
audioNotificationValue: 1,
desktopNotifications: 1,
mobilePushNotifications: 1,
emailNotifications: 1,
desktopPrefOrigin: 1,
mobilePrefOrigin: 1,
emailPrefOrigin: 1,
unreadAlert: 1,
_updatedAt: 1,
blocked: 1,
blocker: 1,
autoTranslate: 1,
autoTranslateLanguage: 1,
disableNotifications: 1,
hideUnreadStatus: 1,
hideMentionStatus: 1,
muteGroupMentions: 1,
ignored: 1,
E2EKey: 1,
E2ESuggestedKey: 1,
tunread: 1,
tunreadGroup: 1,
tunreadUser: 1,
// Omnichannel fields
department: 1,
v: 1,
onHold: 1,
} as const;
export const roomFields = {
_id: 1,
name: 1,
fname: 1,
t: 1,
cl: 1,
u: 1,
lm: 1,
// usernames: 1,
teamId: 1,
teamMain: 1,
topic: 1,
announcement: 1,
announcementDetails: 1,
muted: 1,
unmuted: 1,
_updatedAt: 1,
archived: 1,
description: 1,
default: 1,
customFields: 1,
lastMessage: 1,
retention: 1,
prid: 1,
avatarETag: 1,
usersCount: 1,
msgs: 1,
// @TODO create an API to register this fields based on room type
tags: 1,
sms: 1,
code: 1,
joinCodeRequired: 1,
open: 1,
label: 1,
ro: 1,
reactWhenReadOnly: 1,
sysMes: 1,
sentiment: 1,
streamingOptions: 1,
broadcast: 1,
encrypted: 1,
e2eKeyId: 1,
// Omnichannel fields
livechatData: 1,
priorityId: 1,
priorityWeight: 1,
slaId: 1,
estimatedWaitingTimeQueue: 1,
v: 1,
departmentId: 1,
servedBy: 1,
source: 1,
transcriptRequest: 1,
onHold: 1,
metrics: 1,
ts: 1,
waitingResponse: 1,
queuedAt: 1,
// Federation fields
federated: 1,
// fields used by DMs
usernames: 1,
uids: 1,
// Voip fields
queue: 1,
callDuration: 1,
callTotalHoldTime: 1,
callWaitingTime: 1,
usersWaitingForE2EKeys: 1,
} as const;