OverviewFilesCommitsIssuesDocsReleasesPeers

keet-cli / keet-core-4.14.4-pretty / lib / core / hyperdb / contract / keet.js

80 lines · javascript ref:
;((module.exports.devicesTrigger = async function (e, t, s) {}),
  (module.exports.membersTrigger = async function (e, t, s) {}),
  (module.exports.moderatorsMap = function (e) {
    return e.status.isModerator && e.status.isActive ? [{ key: e.key }] : []
  }),
  (module.exports.adminsMap = function (e) {
    return e.status.isAdmin && e.status.isActive ? [{ key: e.key }] : []
  }),
  (module.exports.activeMembersMap = function (e) {
    return e.status.isActive ? [{ key: e.key }] : []
  }),
  (module.exports.activeDevicesMap = function (e) {
    return e.status.isActive ? [{ key: e.key }] : []
  }),
  (module.exports.activeDevicesByMemberKeyMap = function (e) {
    return e.status.isActive ? [{ memberKey: e.memberKey }] : []
  }),
  (module.exports.mutedMembersMap = function (e) {
    return e.status.isMuted && e.status.isActive ? [{ key: e.key }] : []
  }),
  (module.exports.membersByMemberNameMap = function (e) {
    return e.profile.displayName && e.status.isActive
      ? [{ name: e.profile.displayName.toLowerCase() }]
      : []
  }),
  (module.exports.threadsByParentMap = function (e) {
    return e.parent ? [{ thread: e.parent.key, index: e.parent.seq }] : []
  }),
  (module.exports.chatTrigger = async function (e, t, s) {}),
  (module.exports.chatByMessageIdMap = function (e) {
    return [{ key: e.id.key, seq: e.id.seq }]
  }),
  (module.exports.chatMentionsByMemberIdMap = function (e) {
    const t = e.message?.display?.mention
    if (!t) return []
    const s = []
    for (const i of t) s.push({ key: i.memberKey, clock: e.clock })
    return s
  }),
  (module.exports.pinnedChatMessagesMap = function (e) {
    return !e.status.isPinned || e.status.isDeleted
      ? []
      : [{ thread: e.id.thread, index: e.id.index }]
  }),
  (module.exports.filesTrigger = async function (e, t, s) {}),
  (module.exports.filesByTypeMap = function (e) {
    const { file: t } = e
    return t.metadata && t.metadata.mimetype && !t.metadata.isPreview
      ? [{ type: t.metadata.mimetype.split("/")[0], id: e.id }]
      : []
  }),
  (module.exports.filesByMajorTypeMap = function (e) {
    const { file: t, status: s } = e
    if (t.metadata?.isPreview) return []
    if (s.isDeleted) return []
    const i = t.metadata?.mimetype && t.metadata.mimetype.split("/")[0]
    return "image" === i || "video" === i || "audio" === i
      ? [{ type: i, id: e.id }]
      : [{ type: "other", id: e.id }]
  }),
  (module.exports.deletedFilesMap = function (e) {
    return e.status.isDeleted ? [{ id: e.id }] : []
  }),
  (module.exports.activeFilesMap = function (e) {
    return e.status.isDeleted ? [] : [{ id: e.id }]
  }),
  (module.exports.reactionsTrigger = async function (e, t, s) {}),
  (module.exports.chatLabelTrigger = async function (e, t, s) {}),
  (module.exports.chatLabelDigestFlagMap = function (e) {
    const t = e.labels.find(({ label: e }) => 1 === e)
    return !t || e.isDeleted ? [] : [{ label: t.label, clock: e.flagsClock }]
  }),
  (module.exports.memberLabelDigestFlagMap = function (e) {
    const t = e.labels.find(({ label: e }) => 1 === e)
    return t ? [{ label: t.label, clock: e.flagsClock }] : []
  }),
  (module.exports.activeCallsMap = function (e) {
    return e.endedAt ? [] : [{ createdAt: e.createdAt }]
  }))