MCPcopy Create free account
hub / github.com/CommE2E/comm / filterThreadPermissions

Function filterThreadPermissions

lib/shared/thread-utils.js:701–746  ·  view source on GitHub ↗
(
    innerThreadPermissions: ThreadPermissionsInfo,
  )

Source from the content-addressed store, hash-verified

699 const filterDeleteMessagePermissions = options?.messageDeletionUnsupported;
700
701 const filterThreadPermissions = (
702 innerThreadPermissions: ThreadPermissionsInfo,
703 ) => {
704 if (
705 allowAddingUsersToCommunityRoot &&
706 (serverThreadInfo.type === threadTypes.COMMUNITY_ANNOUNCEMENT_ROOT ||
707 serverThreadInfo.type === threadTypes.COMMUNITY_ROOT)
708 ) {
709 innerThreadPermissions = {
710 ...innerThreadPermissions,
711 [threadPermissions.ADD_MEMBERS]: {
712 value: true,
713 source: serverThreadInfo.id,
714 },
715 };
716 }
717 return _omitBy(
718 (v, k) =>
719 (filterThreadEditAvatarPermission &&
720 [
721 threadPermissions.EDIT_THREAD_AVATAR,
722 threadPermissionPropagationPrefixes.DESCENDANT +
723 threadPermissions.EDIT_THREAD_AVATAR,
724 ].includes(k)) ||
725 (excludePinInfo &&
726 [
727 threadPermissions.MANAGE_PINS,
728 threadPermissionPropagationPrefixes.DESCENDANT +
729 threadPermissions.MANAGE_PINS,
730 ].includes(k)) ||
731 (filterManageInviteLinksPermission &&
732 [threadPermissions.MANAGE_INVITE_LINKS].includes(k)) ||
733 (filterVoicedInAnnouncementChannelsPermission &&
734 [
735 threadPermissions.VOICED_IN_ANNOUNCEMENT_CHANNELS,
736 threadPermissionPropagationPrefixes.DESCENDANT +
737 threadPermissionFilterPrefixes.TOP_LEVEL +
738 threadPermissions.VOICED_IN_ANNOUNCEMENT_CHANNELS,
739 ].includes(k)) ||
740 (filterManageFarcasterChannelTagsPermission &&
741 [threadPermissions.MANAGE_FARCASTER_CHANNEL_TAGS].includes(k)) ||
742 (filterDeleteMessagePermissions &&
743 (k.endsWith(threadPermissions.DELETE_OWN_MESSAGES) ||
744 k.endsWith(threadPermissions.DELETE_ALL_MESSAGES))),
745 )(innerThreadPermissions);
746 };
747
748 const members = [];
749 let currentUser;

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected