@amityco/ts-sdk-react-native 6.29.3-669217e.0 → 6.29.3-fe4e045.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@types/core/events.d.ts +41 -11
- package/dist/@types/core/events.d.ts.map +1 -1
- package/dist/@types/core/model.d.ts +4 -0
- package/dist/@types/core/model.d.ts.map +1 -1
- package/dist/@types/core/payload.d.ts +32 -7
- package/dist/@types/core/payload.d.ts.map +1 -1
- package/dist/@types/core/permissions.d.ts +4 -4
- package/dist/@types/core/permissions.d.ts.map +1 -1
- package/dist/@types/domains/channel.d.ts +8 -0
- package/dist/@types/domains/channel.d.ts.map +1 -1
- package/dist/@types/domains/comment.d.ts +5 -4
- package/dist/@types/domains/comment.d.ts.map +1 -1
- package/dist/@types/domains/community.d.ts +32 -8
- package/dist/@types/domains/community.d.ts.map +1 -1
- package/dist/@types/domains/follow.d.ts +21 -3
- package/dist/@types/domains/follow.d.ts.map +1 -1
- package/dist/@types/domains/group.d.ts +13 -7
- package/dist/@types/domains/group.d.ts.map +1 -1
- package/dist/@types/domains/pin.d.ts +22 -0
- package/dist/@types/domains/pin.d.ts.map +1 -0
- package/dist/@types/domains/pinnedPost.d.ts +28 -0
- package/dist/@types/domains/pinnedPost.d.ts.map +1 -0
- package/dist/@types/domains/poll.d.ts +3 -1
- package/dist/@types/domains/poll.d.ts.map +1 -1
- package/dist/@types/domains/post.d.ts +8 -5
- package/dist/@types/domains/post.d.ts.map +1 -1
- package/dist/@types/domains/stream.d.ts +2 -1
- package/dist/@types/domains/stream.d.ts.map +1 -1
- package/dist/@types/domains/user.d.ts +34 -6
- package/dist/@types/domains/user.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberPaginationController.d.ts +3 -2
- package/dist/channelRepository/channelMembership/observers/getMembers/ChannelMemberPaginationController.d.ts.map +1 -1
- package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.d.ts +14 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberPaginationController.d.ts +14 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberPaginationController.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberQueryStreamController.d.ts +14 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberQueryStreamController.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/index.d.ts +2 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/index.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/searchMembers.d.ts +21 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers/searchMembers.d.ts.map +1 -0
- package/dist/channelRepository/events/onUserDeleted.d.ts +2 -0
- package/dist/channelRepository/events/onUserDeleted.d.ts.map +1 -0
- package/dist/channelRepository/observers/getChannels/ChannelPaginationController.d.ts +3 -3
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -1
- package/dist/channelRepository/utils/tests/prepareChannelPayload.test.d.ts +1 -1
- package/dist/channelRepository/utils/tests/prepareChannelPayload.test.d.ts.map +1 -1
- package/dist/client/api/index.d.ts +0 -2
- package/dist/client/api/index.d.ts.map +1 -1
- package/dist/commentRepository/api/createComment.d.ts.map +1 -1
- package/dist/commentRepository/api/deleteComment.d.ts.map +1 -1
- package/dist/commentRepository/events/onCommentCreatedLocal.d.ts +17 -0
- package/dist/commentRepository/events/onCommentCreatedLocal.d.ts.map +1 -0
- package/dist/commentRepository/events/onCommentDeletedLocal.d.ts +17 -0
- package/dist/commentRepository/events/onCommentDeletedLocal.d.ts.map +1 -0
- package/dist/commentRepository/events/onLocalCommentReactionAdded.d.ts +17 -0
- package/dist/commentRepository/events/onLocalCommentReactionAdded.d.ts.map +1 -0
- package/dist/commentRepository/events/onLocalCommentReactionRemoved.d.ts +17 -0
- package/dist/commentRepository/events/onLocalCommentReactionRemoved.d.ts.map +1 -0
- package/dist/commentRepository/events/utils.d.ts +1 -0
- package/dist/commentRepository/events/utils.d.ts.map +1 -1
- package/dist/commentRepository/observers/getComment.d.ts.map +1 -1
- package/dist/commentRepository/observers/getComments/CommentLiveCollectionController.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/events/index.d.ts +2 -0
- package/dist/communityRepository/communityMembership/events/index.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/events/onLocalCommunityUserAdded.d.ts +17 -0
- package/dist/communityRepository/communityMembership/events/onLocalCommunityUserAdded.d.ts.map +1 -0
- package/dist/communityRepository/communityMembership/events/onLocalCommunityUserRemoved.d.ts +17 -0
- package/dist/communityRepository/communityMembership/events/onLocalCommunityUserRemoved.d.ts.map +1 -0
- package/dist/communityRepository/communityMembership/events/onUserDeleted.d.ts +17 -0
- package/dist/communityRepository/communityMembership/events/onUserDeleted.d.ts.map +1 -0
- package/dist/communityRepository/communityMembership/events/utils.d.ts +1 -0
- package/dist/communityRepository/communityMembership/events/utils.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/getMembers/CommunityMembersPaginationController.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/getMembers/enums.d.ts +4 -1
- package/dist/communityRepository/communityMembership/observers/getMembers/enums.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersLiveCollectionController.d.ts.map +1 -1
- package/dist/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.d.ts.map +1 -1
- package/dist/communityRepository/communityModeration/api/addRoles.d.ts.map +1 -1
- package/dist/communityRepository/communityModeration/api/removeRoles.d.ts.map +1 -1
- package/dist/communityRepository/communityModeration/events/onLocalCommunityRoleAdded.d.ts +17 -0
- package/dist/communityRepository/communityModeration/events/onLocalCommunityRoleAdded.d.ts.map +1 -0
- package/dist/communityRepository/communityModeration/events/onLocalCommunityRoleRemoved.d.ts +17 -0
- package/dist/communityRepository/communityModeration/events/onLocalCommunityRoleRemoved.d.ts.map +1 -0
- package/dist/communityRepository/utils/payload.d.ts +3 -6
- package/dist/communityRepository/utils/payload.d.ts.map +1 -1
- package/dist/core/events.d.ts +3 -3
- package/dist/core/events.d.ts.map +1 -1
- package/dist/core/model/idResolvers.d.ts.map +1 -1
- package/dist/core/model/index.d.ts.map +1 -1
- package/dist/group/utils/withUser.d.ts +13 -0
- package/dist/group/utils/withUser.d.ts.map +1 -1
- package/dist/index.cjs.js +2241 -1227
- package/dist/index.esm.js +2421 -1407
- package/dist/index.umd.js +3 -3
- package/dist/pollRepository/observers/observePoll.d.ts +1 -1
- package/dist/pollRepository/observers/observePoll.d.ts.map +1 -1
- package/dist/postRepository/events/onLocalPostDeleted.d.ts +17 -0
- package/dist/postRepository/events/onLocalPostDeleted.d.ts.map +1 -0
- package/dist/postRepository/events/onLocalPostReactionAdded.d.ts +17 -0
- package/dist/postRepository/events/onLocalPostReactionAdded.d.ts.map +1 -0
- package/dist/postRepository/events/onLocalPostReactionRemoved.d.ts +17 -0
- package/dist/postRepository/events/onLocalPostReactionRemoved.d.ts.map +1 -0
- package/dist/postRepository/events/onPostUpdatedLocal.d.ts +17 -0
- package/dist/postRepository/events/onPostUpdatedLocal.d.ts.map +1 -0
- package/dist/postRepository/events/utils.d.ts +1 -0
- package/dist/postRepository/events/utils.d.ts.map +1 -1
- package/dist/postRepository/internalApi/index.d.ts +1 -12
- package/dist/postRepository/internalApi/index.d.ts.map +1 -1
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts +14 -0
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.d.ts.map +1 -0
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostPaginationController.d.ts +13 -0
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostPaginationController.d.ts.map +1 -0
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts +9 -0
- package/dist/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.d.ts.map +1 -0
- package/dist/postRepository/observers/getPinnedPosts.d.ts +12 -0
- package/dist/postRepository/observers/getPinnedPosts.d.ts.map +1 -0
- package/dist/postRepository/observers/getPost.d.ts.map +1 -1
- package/dist/postRepository/observers/getPosts/PostLiveCollectionController.d.ts.map +1 -1
- package/dist/postRepository/observers/index.d.ts +1 -0
- package/dist/postRepository/observers/index.d.ts.map +1 -1
- package/dist/postRepository/utils/payload.d.ts.map +1 -1
- package/dist/reactionRepository/api/addReaction.d.ts.map +1 -1
- package/dist/reactionRepository/api/removeReaction.d.ts.map +1 -1
- package/dist/report/api/createReport.d.ts +1 -2
- package/dist/report/api/createReport.d.ts.map +1 -1
- package/dist/report/api/deleteReport.d.ts +1 -2
- package/dist/report/api/deleteReport.d.ts.map +1 -1
- package/dist/report/api/isReportedByMe.d.ts +1 -2
- package/dist/report/api/isReportedByMe.d.ts.map +1 -1
- package/dist/streamRepository/observers/getStreams/GetStreamsPageController.d.ts +1 -1
- package/dist/userRepository/api/flagUser.d.ts.map +1 -1
- package/dist/userRepository/api/getUser.d.ts.map +1 -1
- package/dist/userRepository/api/getUserByIds.d.ts.map +1 -1
- package/dist/userRepository/api/queryBlockedUsers.d.ts.map +1 -1
- package/dist/userRepository/api/queryUsers.d.ts.map +1 -1
- package/dist/userRepository/api/unflagUser.d.ts.map +1 -1
- package/dist/userRepository/api/updateUser.d.ts.map +1 -1
- package/dist/userRepository/events/utils.d.ts.map +1 -1
- package/dist/userRepository/internalApi/getUser.d.ts.map +1 -1
- package/dist/userRepository/internalApi/queryUsers.d.ts.map +1 -1
- package/dist/userRepository/observers/enums.d.ts +8 -0
- package/dist/userRepository/observers/enums.d.ts.map +1 -0
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserLiveCollectionController.d.ts +14 -0
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserLiveCollectionController.d.ts.map +1 -0
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserPaginationController.d.ts +5 -0
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserPaginationController.d.ts.map +1 -0
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.d.ts +15 -0
- package/dist/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.d.ts.map +1 -0
- package/dist/userRepository/observers/getBlockedUsers.d.ts.map +1 -1
- package/dist/userRepository/observers/getUsers/UserLiveCollectionController.d.ts +14 -0
- package/dist/userRepository/observers/getUsers/UserLiveCollectionController.d.ts.map +1 -0
- package/dist/userRepository/observers/getUsers/UserPaginationController.d.ts +5 -0
- package/dist/userRepository/observers/getUsers/UserPaginationController.d.ts.map +1 -0
- package/dist/userRepository/observers/getUsers/UserQueryStreamController.d.ts +15 -0
- package/dist/userRepository/observers/getUsers/UserQueryStreamController.d.ts.map +1 -0
- package/dist/userRepository/observers/getUsers.d.ts +0 -1
- package/dist/userRepository/observers/getUsers.d.ts.map +1 -1
- package/dist/userRepository/observers/searchUserByDisplayName/SearchUserLiveCollectionController.d.ts +14 -0
- package/dist/userRepository/observers/searchUserByDisplayName/SearchUserLiveCollectionController.d.ts.map +1 -0
- package/dist/userRepository/observers/searchUserByDisplayName/SearchUserPaginationController.d.ts +5 -0
- package/dist/userRepository/observers/searchUserByDisplayName/SearchUserPaginationController.d.ts.map +1 -0
- package/dist/userRepository/observers/searchUserByDisplayName/SearchUserQueryStreamController.d.ts +15 -0
- package/dist/userRepository/observers/searchUserByDisplayName/SearchUserQueryStreamController.d.ts.map +1 -0
- package/dist/userRepository/observers/searchUserByDisplayName.d.ts.map +1 -1
- package/dist/userRepository/relationship/block/api/blockUser.d.ts.map +1 -1
- package/dist/userRepository/relationship/block/api/unBlockUser.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/acceptFollower.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/acceptMyFollower.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/declineFollower.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/declineMyFollower.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/follow.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/unfollow.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/api/utils.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/enums.d.ts +11 -0
- package/dist/userRepository/relationship/follow/enums.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/events/index.d.ts +5 -0
- package/dist/userRepository/relationship/follow/events/index.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/events/onFollowInfoUpdated.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/events/onFollowerUserDeleted.d.ts +4 -0
- package/dist/userRepository/relationship/follow/events/onFollowerUserDeleted.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/events/onFollowingUserDeleted.d.ts +4 -0
- package/dist/userRepository/relationship/follow/events/onFollowingUserDeleted.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/events/onLocalFollowRequestAccepted.d.ts +2 -0
- package/dist/userRepository/relationship/follow/events/onLocalFollowRequestAccepted.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/events/onLocalFollowRequestDeclined.d.ts +2 -0
- package/dist/userRepository/relationship/follow/events/onLocalFollowRequestDeclined.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/events/onLocalFollowerRequested.d.ts +2 -0
- package/dist/userRepository/relationship/follow/events/onLocalFollowerRequested.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/events/onLocalUserFollowed.d.ts +2 -0
- package/dist/userRepository/relationship/follow/events/onLocalUserFollowed.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/events/onLocalUserUnfollowed.d.ts +2 -0
- package/dist/userRepository/relationship/follow/events/onLocalUserUnfollowed.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/events/utils.d.ts +2 -1
- package/dist/userRepository/relationship/follow/events/utils.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/observers/getFollowers/FollowerLiveCollectionController.d.ts +14 -0
- package/dist/userRepository/relationship/follow/observers/getFollowers/FollowerLiveCollectionController.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/observers/getFollowers/FollowerPaginationController.d.ts +5 -0
- package/dist/userRepository/relationship/follow/observers/getFollowers/FollowerPaginationController.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/observers/getFollowers/FollowerQueryStreamController.d.ts +15 -0
- package/dist/userRepository/relationship/follow/observers/getFollowers/FollowerQueryStreamController.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/observers/getFollowers.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/observers/getFollowings/FollowingLiveCollectionController.d.ts +14 -0
- package/dist/userRepository/relationship/follow/observers/getFollowings/FollowingLiveCollectionController.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/observers/getFollowings/FollowingPaginationController.d.ts +5 -0
- package/dist/userRepository/relationship/follow/observers/getFollowings/FollowingPaginationController.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/observers/getFollowings/FollowingQueryStreamController.d.ts +15 -0
- package/dist/userRepository/relationship/follow/observers/getFollowings/FollowingQueryStreamController.d.ts.map +1 -0
- package/dist/userRepository/relationship/follow/observers/getFollowings.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts +1 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowers.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts +1 -1
- package/dist/userRepository/relationship/follow/observers/observeFollowings.d.ts.map +1 -1
- package/dist/userRepository/relationship/follow/utils.d.ts +4 -0
- package/dist/userRepository/relationship/follow/utils.d.ts.map +1 -0
- package/dist/userRepository/utils/convertRawUserToInternalUser.d.ts +2 -0
- package/dist/userRepository/utils/convertRawUserToInternalUser.d.ts.map +1 -0
- package/dist/userRepository/utils/prepareBlockedUserPayload.d.ts +2 -0
- package/dist/userRepository/utils/prepareBlockedUserPayload.d.ts.map +1 -0
- package/dist/userRepository/utils/prepareUserPayload.d.ts +2 -0
- package/dist/userRepository/utils/prepareUserPayload.d.ts.map +1 -0
- package/dist/utils/linkedObject/commentLinkedObject.d.ts.map +1 -1
- package/dist/utils/linkedObject/index.d.ts +2 -1
- package/dist/utils/linkedObject/index.d.ts.map +1 -1
- package/dist/utils/linkedObject/pinnedPostLinkedObject.d.ts +2 -0
- package/dist/utils/linkedObject/pinnedPostLinkedObject.d.ts.map +1 -0
- package/dist/utils/tests/dummy/block.d.ts +2 -2
- package/dist/utils/tests/dummy/channel.d.ts +12 -12
- package/dist/utils/tests/dummy/channel.d.ts.map +1 -1
- package/dist/utils/tests/dummy/community.d.ts +2 -2
- package/dist/utils/tests/dummy/follow.d.ts +2 -2
- package/dist/utils/tests/dummy/user.d.ts +10 -2
- package/dist/utils/tests/dummy/user.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/@types/core/events.ts +40 -13
- package/src/@types/core/model.ts +6 -0
- package/src/@types/core/payload.ts +39 -9
- package/src/@types/core/permissions.ts +4 -4
- package/src/@types/domains/channel.ts +13 -0
- package/src/@types/domains/comment.ts +6 -4
- package/src/@types/domains/community.ts +40 -12
- package/src/@types/domains/follow.ts +26 -12
- package/src/@types/domains/group.ts +14 -6
- package/src/@types/domains/pin.ts +27 -0
- package/src/@types/domains/pinnedPost.ts +35 -0
- package/src/@types/domains/poll.ts +5 -1
- package/src/@types/domains/post.ts +9 -5
- package/src/@types/domains/stream.ts +3 -1
- package/src/@types/domains/user.ts +49 -6
- package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberLiveCollectionController.ts +6 -0
- package/src/channelRepository/channelMembership/observers/getMembers/ChannelMemberPaginationController.ts +4 -1
- package/src/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberLiveCollectionController.ts +148 -0
- package/src/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberPaginationController.ts +31 -0
- package/src/channelRepository/channelMembership/observers/searchMembers/SearchChannelMemberQueryStreamController.ts +112 -0
- package/src/channelRepository/channelMembership/observers/searchMembers/index.ts +1 -0
- package/src/channelRepository/channelMembership/observers/searchMembers/searchMembers.ts +111 -0
- package/src/channelRepository/events/onUserDeleted.ts +46 -0
- package/src/channelRepository/utils/prepareChannelPayload.ts +8 -4
- package/src/client/api/index.ts +0 -3
- package/src/commentRepository/api/createComment.ts +16 -12
- package/src/commentRepository/api/deleteComment.ts +23 -13
- package/src/commentRepository/events/onCommentCreatedLocal.ts +22 -0
- package/src/commentRepository/events/onCommentDeletedLocal.ts +20 -0
- package/src/commentRepository/events/onLocalCommentReactionAdded.ts +42 -0
- package/src/commentRepository/events/onLocalCommentReactionRemoved.ts +42 -0
- package/src/commentRepository/events/utils.ts +77 -0
- package/src/commentRepository/observers/getComment.ts +6 -19
- package/src/commentRepository/observers/getComments/CommentLiveCollectionController.ts +8 -0
- package/src/communityRepository/communityMembership/api/addMembers.ts +1 -1
- package/src/communityRepository/communityMembership/api/removeMembers.ts +1 -1
- package/src/communityRepository/communityMembership/events/index.ts +2 -0
- package/src/communityRepository/communityMembership/events/onLocalCommunityUserAdded.ts +20 -0
- package/src/communityRepository/communityMembership/events/onLocalCommunityUserRemoved.ts +20 -0
- package/src/communityRepository/communityMembership/events/onUserDeleted.ts +64 -0
- package/src/communityRepository/communityMembership/events/utils.ts +50 -2
- package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersLiveCollectionController.ts +26 -1
- package/src/communityRepository/communityMembership/observers/getMembers/CommunityMembersPaginationController.ts +4 -1
- package/src/communityRepository/communityMembership/observers/getMembers/enums.ts +3 -0
- package/src/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersLiveCollectionController.ts +14 -0
- package/src/communityRepository/communityMembership/observers/searchMembers/SearchCommunityMembersPaginationController.ts +4 -1
- package/src/communityRepository/communityModeration/api/addRoles.ts +5 -2
- package/src/communityRepository/communityModeration/api/removeRoles.ts +5 -2
- package/src/communityRepository/communityModeration/events/onLocalCommunityRoleAdded.ts +38 -0
- package/src/communityRepository/communityModeration/events/onLocalCommunityRoleRemoved.ts +38 -0
- package/src/communityRepository/utils/payload.ts +47 -53
- package/src/core/model/idResolvers.ts +3 -0
- package/src/core/model/index.ts +3 -0
- package/src/group/utils/withUser.ts +33 -0
- package/src/postRepository/api/deletePost.ts +9 -9
- package/src/postRepository/api/updatePost.ts +1 -1
- package/src/postRepository/events/onLocalPostDeleted.ts +20 -0
- package/src/postRepository/events/onLocalPostReactionAdded.ts +38 -0
- package/src/postRepository/events/onLocalPostReactionRemoved.ts +41 -0
- package/src/postRepository/events/onPostUpdatedLocal.ts +20 -0
- package/src/postRepository/events/utils.ts +41 -6
- package/src/postRepository/internalApi/index.ts +1 -16
- package/src/postRepository/observers/getPinnedPosts/PinnedPostLiveCollectionController.ts +104 -0
- package/src/postRepository/observers/getPinnedPosts/PinnedPostPaginationController.ts +23 -0
- package/src/postRepository/observers/getPinnedPosts/PinnedPostQueryStreamController.ts +61 -0
- package/src/postRepository/observers/getPinnedPosts.ts +41 -0
- package/src/postRepository/observers/getPost.ts +8 -0
- package/src/postRepository/observers/getPosts/PostLiveCollectionController.ts +8 -0
- package/src/postRepository/observers/index.ts +1 -0
- package/src/postRepository/utils/payload.ts +31 -7
- package/src/reactionRepository/api/addReaction.ts +27 -2
- package/src/reactionRepository/api/removeReaction.ts +27 -2
- package/src/report/api/createReport.ts +100 -31
- package/src/report/api/deleteReport.ts +100 -31
- package/src/report/api/isReportedByMe.ts +72 -11
- package/src/userRepository/api/flagUser.ts +5 -2
- package/src/userRepository/api/getUser.ts +4 -43
- package/src/userRepository/api/getUserByIds.ts +5 -2
- package/src/userRepository/api/queryBlockedUsers.ts +6 -6
- package/src/userRepository/api/queryUsers.ts +11 -87
- package/src/userRepository/api/unflagUser.ts +5 -2
- package/src/userRepository/api/updateUser.ts +5 -11
- package/src/userRepository/events/utils.ts +4 -1
- package/src/userRepository/internalApi/getUser.ts +12 -16
- package/src/userRepository/internalApi/queryUsers.ts +7 -4
- package/src/userRepository/observers/enums.ts +7 -0
- package/src/userRepository/observers/getBlockedUsers/BlockedUserLiveCollectionController.ts +106 -0
- package/src/userRepository/observers/getBlockedUsers/BlockedUserPaginationController.ts +24 -0
- package/src/userRepository/observers/getBlockedUsers/BlockedUserQueryStreamController.ts +76 -0
- package/src/userRepository/observers/getBlockedUsers.ts +8 -81
- package/src/userRepository/observers/getUsers/UserLiveCollectionController.ts +131 -0
- package/src/userRepository/observers/getUsers/UserPaginationController.ts +25 -0
- package/src/userRepository/observers/getUsers/UserQueryStreamController.ts +82 -0
- package/src/userRepository/observers/getUsers.ts +7 -137
- package/src/userRepository/observers/searchUserByDisplayName/SearchUserLiveCollectionController.ts +116 -0
- package/src/userRepository/observers/searchUserByDisplayName/SearchUserPaginationController.ts +25 -0
- package/src/userRepository/observers/searchUserByDisplayName/SearchUserQueryStreamController.ts +82 -0
- package/src/userRepository/observers/searchUserByDisplayName.ts +25 -1
- package/src/userRepository/relationship/block/api/blockUser.ts +4 -1
- package/src/userRepository/relationship/block/api/unBlockUser.ts +4 -1
- package/src/userRepository/relationship/follow/api/acceptFollower.ts +4 -1
- package/src/userRepository/relationship/follow/api/acceptMyFollower.ts +4 -1
- package/src/userRepository/relationship/follow/api/declineFollower.ts +5 -2
- package/src/userRepository/relationship/follow/api/declineMyFollower.ts +5 -2
- package/src/userRepository/relationship/follow/api/follow.ts +8 -1
- package/src/userRepository/relationship/follow/api/unfollow.ts +4 -1
- package/src/userRepository/relationship/follow/api/utils.ts +6 -2
- package/src/userRepository/relationship/follow/enums.ts +10 -0
- package/src/userRepository/relationship/follow/events/index.ts +6 -0
- package/src/userRepository/relationship/follow/events/onFollowInfoUpdated.ts +6 -1
- package/src/userRepository/relationship/follow/events/onFollowerUserDeleted.ts +33 -0
- package/src/userRepository/relationship/follow/events/onFollowingUserDeleted.ts +33 -0
- package/src/userRepository/relationship/follow/events/onLocalFollowRequestAccepted.ts +5 -0
- package/src/userRepository/relationship/follow/events/onLocalFollowRequestDeclined.ts +5 -0
- package/src/userRepository/relationship/follow/events/onLocalFollowerRequested.ts +5 -0
- package/src/userRepository/relationship/follow/events/onLocalUserFollowed.ts +5 -0
- package/src/userRepository/relationship/follow/events/onLocalUserUnfollowed.ts +5 -0
- package/src/userRepository/relationship/follow/events/utils.ts +25 -14
- package/src/userRepository/relationship/follow/observers/getFollowers/FollowerLiveCollectionController.ts +132 -0
- package/src/userRepository/relationship/follow/observers/getFollowers/FollowerPaginationController.ts +29 -0
- package/src/userRepository/relationship/follow/observers/getFollowers/FollowerQueryStreamController.ts +95 -0
- package/src/userRepository/relationship/follow/observers/getFollowers.ts +8 -106
- package/src/userRepository/relationship/follow/observers/getFollowings/FollowingLiveCollectionController.ts +136 -0
- package/src/userRepository/relationship/follow/observers/getFollowings/FollowingPaginationController.ts +29 -0
- package/src/userRepository/relationship/follow/observers/getFollowings/FollowingQueryStreamController.ts +95 -0
- package/src/userRepository/relationship/follow/observers/getFollowings.ts +6 -106
- package/src/userRepository/relationship/follow/observers/observeFollowers.ts +11 -0
- package/src/userRepository/relationship/follow/observers/observeFollowings.ts +11 -0
- package/src/userRepository/relationship/follow/utils.ts +36 -0
- package/src/userRepository/utils/convertRawUserToInternalUser.ts +6 -0
- package/src/userRepository/utils/prepareBlockedUserPayload.ts +19 -0
- package/src/userRepository/utils/prepareUserPayload.ts +8 -0
- package/src/utils/linkedObject/commentLinkedObject.ts +13 -16
- package/src/utils/linkedObject/index.ts +2 -0
- package/src/utils/linkedObject/pinnedPostLinkedObject.ts +28 -0
|
@@ -16,6 +16,8 @@ import { filterByPropIntersection, filterBySearchTerm } from '~/core/query';
|
|
|
16
16
|
import { prepareCommunityPayload } from '~/communityRepository/utils';
|
|
17
17
|
import { isNonNullable } from '~/utils';
|
|
18
18
|
import { EnumCommunityMemberActions } from './enums';
|
|
19
|
+
import { onLocalCommunityRoleRemoved } from '~/communityRepository/communityModeration/events/onLocalCommunityRoleRemoved';
|
|
20
|
+
import { onUserDeleted } from '~/communityRepository/communityMembership/events/onUserDeleted';
|
|
19
21
|
|
|
20
22
|
export class SearchCommunityMembersLiveCollectionController extends LiveCollectionController<
|
|
21
23
|
'communityUser',
|
|
@@ -79,11 +81,19 @@ export class SearchCommunityMembersLiveCollectionController extends LiveCollecti
|
|
|
79
81
|
{ fn: onCommunityLeft, action: EnumCommunityMemberActions.OnCommunityLeft },
|
|
80
82
|
{ fn: onCommunityUserBanned, action: EnumCommunityMemberActions.OnCommunityUserBanned },
|
|
81
83
|
{ fn: onCommunityUserChanged, action: EnumCommunityMemberActions.OnCommunityUserChanged },
|
|
84
|
+
{
|
|
85
|
+
fn: onLocalCommunityRoleRemoved,
|
|
86
|
+
action: EnumCommunityMemberActions.OnCommunityUserRoleRemoved,
|
|
87
|
+
},
|
|
82
88
|
{
|
|
83
89
|
fn: onCommunityUserRoleRemoved,
|
|
84
90
|
action: EnumCommunityMemberActions.OnCommunityUserRoleRemoved,
|
|
85
91
|
},
|
|
86
92
|
{ fn: onCommunityUserUnbanned, action: EnumCommunityMemberActions.OnCommunityUserUnbanned },
|
|
93
|
+
{
|
|
94
|
+
fn: onUserDeleted(this.query.communityId),
|
|
95
|
+
action: EnumCommunityMemberActions.OnCommunityUserChanged,
|
|
96
|
+
},
|
|
87
97
|
]);
|
|
88
98
|
}
|
|
89
99
|
|
|
@@ -125,6 +135,10 @@ export class SearchCommunityMembersLiveCollectionController extends LiveCollecti
|
|
|
125
135
|
communityMembers = filterBySearchTerm(communityMembers, this.query.search);
|
|
126
136
|
}
|
|
127
137
|
|
|
138
|
+
if (this.query.includeDeleted === false) {
|
|
139
|
+
communityMembers = communityMembers.filter(({ user }) => user?.isDeleted !== true);
|
|
140
|
+
}
|
|
141
|
+
|
|
128
142
|
return communityMembers;
|
|
129
143
|
}
|
|
130
144
|
}
|
|
@@ -13,15 +13,18 @@ export class SearchCommunityMembersPaginationController extends PaginationContro
|
|
|
13
13
|
queryParams: Amity.SearchCommunityMemberLiveCollection,
|
|
14
14
|
token: string | undefined,
|
|
15
15
|
) {
|
|
16
|
-
const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, ...params } = queryParams;
|
|
16
|
+
const { limit = COLLECTION_DEFAULT_PAGINATION_LIMIT, includeDeleted, ...params } = queryParams;
|
|
17
17
|
const options = token ? { token } : { limit };
|
|
18
18
|
|
|
19
|
+
const isDeleted = includeDeleted === false ? false : undefined;
|
|
20
|
+
|
|
19
21
|
const { data: queryResponse } = await this.http.get<
|
|
20
22
|
Amity.CommunityMembershipPayload & Amity.Pagination
|
|
21
23
|
>(`/api/v3/communities/${params.communityId}/users`, {
|
|
22
24
|
params: {
|
|
23
25
|
...params,
|
|
24
26
|
options,
|
|
27
|
+
isDeleted,
|
|
25
28
|
},
|
|
26
29
|
});
|
|
27
30
|
return queryResponse;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getActiveClient } from '~/client/api';
|
|
2
2
|
|
|
3
3
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
|
-
import {
|
|
4
|
+
import { fireEvent } from '~/core/events';
|
|
5
|
+
import { prepareCommunityMembershipPayload } from '~/communityRepository/utils';
|
|
5
6
|
|
|
6
7
|
/* begin_public_function
|
|
7
8
|
id: community.moderation.add_roles
|
|
@@ -35,10 +36,12 @@ export const addRoles = async (
|
|
|
35
36
|
{ communityId, roles: roleIds, userIds },
|
|
36
37
|
);
|
|
37
38
|
|
|
38
|
-
const data =
|
|
39
|
+
const data = prepareCommunityMembershipPayload(payload);
|
|
39
40
|
|
|
40
41
|
if (client.cache) ingestInCache(data);
|
|
41
42
|
|
|
43
|
+
fireEvent('local.community.roleAdded', data);
|
|
44
|
+
|
|
42
45
|
const { communityUsers } = data;
|
|
43
46
|
return !!communityUsers.find(
|
|
44
47
|
communityUser =>
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { getActiveClient } from '~/client/api';
|
|
2
2
|
|
|
3
3
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
|
-
import {
|
|
4
|
+
import { prepareCommunityMembershipPayload } from '~/communityRepository/utils';
|
|
5
|
+
import { fireEvent } from '~/core/events';
|
|
5
6
|
|
|
6
7
|
/* begin_public_function
|
|
7
8
|
id: community.moderation.remove_roles
|
|
@@ -35,10 +36,12 @@ export const removeRoles = async (
|
|
|
35
36
|
{ data: { communityId, roles: roleIds, userIds } },
|
|
36
37
|
);
|
|
37
38
|
|
|
38
|
-
const data =
|
|
39
|
+
const data = prepareCommunityMembershipPayload(payload);
|
|
39
40
|
|
|
40
41
|
if (client.cache) ingestInCache(data);
|
|
41
42
|
|
|
43
|
+
fireEvent('local.community.roleRemoved', data);
|
|
44
|
+
|
|
42
45
|
const { communityUsers } = data;
|
|
43
46
|
return !!communityUsers.find(
|
|
44
47
|
communityUser =>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getActiveClient } from '~/client/api/activeClient';
|
|
2
|
+
import { createEventSubscriber } from '~/core/events';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* ```js
|
|
6
|
+
* import { onLocalCommunityRoleAdded } from '@amityco/ts-sdk-react-native'
|
|
7
|
+
* const dispose = onLocalCommunityRoleAdded((community, member) => {
|
|
8
|
+
* // ...
|
|
9
|
+
* })
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Fired when any {@link Amity.communityUsers} 's role has been added to any {@link Amity.Community}
|
|
13
|
+
*
|
|
14
|
+
* @param callback The function to call when the event was fired
|
|
15
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
16
|
+
*
|
|
17
|
+
* @category Community Events
|
|
18
|
+
*/
|
|
19
|
+
export const onLocalCommunityRoleAdded = (
|
|
20
|
+
callback: (community: Amity.Community, member: Amity.Membership<'community'>[]) => void,
|
|
21
|
+
): Amity.Unsubscriber => {
|
|
22
|
+
const client = getActiveClient();
|
|
23
|
+
|
|
24
|
+
const filter = async (payload: Amity.ProcessedCommunityMembershipPayload) => {
|
|
25
|
+
const { communities, communityUsers } = payload;
|
|
26
|
+
callback(
|
|
27
|
+
communities[0],
|
|
28
|
+
communityUsers.filter(communityUser => communityUser.communityMembership === 'member')!,
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
return createEventSubscriber(
|
|
33
|
+
client,
|
|
34
|
+
'onLocalCommunityRoleAdded',
|
|
35
|
+
'local.community.roleAdded',
|
|
36
|
+
filter,
|
|
37
|
+
);
|
|
38
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getActiveClient } from '~/client/api/activeClient';
|
|
2
|
+
import { createEventSubscriber } from '~/core/events';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* ```js
|
|
6
|
+
* import { onLocalCommunityRoleRemoved } from '@amityco/ts-sdk-react-native'
|
|
7
|
+
* const dispose = onLocalCommunityRoleRemoved((community, member) => {
|
|
8
|
+
* // ...
|
|
9
|
+
* })
|
|
10
|
+
* ```
|
|
11
|
+
*
|
|
12
|
+
* Fired when any {@link Amity.communityUsers} 's role has been added to any {@link Amity.Community}
|
|
13
|
+
*
|
|
14
|
+
* @param callback The function to call when the event was fired
|
|
15
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
16
|
+
*
|
|
17
|
+
* @category Community Events
|
|
18
|
+
*/
|
|
19
|
+
export const onLocalCommunityRoleRemoved = (
|
|
20
|
+
callback: (community: Amity.Community, member: Amity.Membership<'community'>[]) => void,
|
|
21
|
+
): Amity.Unsubscriber => {
|
|
22
|
+
const client = getActiveClient();
|
|
23
|
+
|
|
24
|
+
const filter = async (payload: Amity.ProcessedCommunityMembershipPayload) => {
|
|
25
|
+
const { communities, communityUsers } = payload;
|
|
26
|
+
callback(
|
|
27
|
+
communities[0],
|
|
28
|
+
communityUsers.filter(communityUser => communityUser.communityMembership === 'member')!,
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
return createEventSubscriber(
|
|
33
|
+
client,
|
|
34
|
+
'onLocalCommunityRoleRemoved',
|
|
35
|
+
'local.community.roleRemoved',
|
|
36
|
+
filter,
|
|
37
|
+
);
|
|
38
|
+
};
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
import { CommunityPostSettingMaps, DefaultCommunityPostSetting } from '~/@types';
|
|
2
|
-
import { pullFromCache } from '~/cache/api';
|
|
3
|
-
import { withUsers } from '~/group/utils';
|
|
4
2
|
import { updateMembershipStatus } from './communityWithMembership';
|
|
5
3
|
|
|
6
4
|
const getMatchPostSetting = (value: {
|
|
@@ -14,31 +12,8 @@ const getMatchPostSetting = (value: {
|
|
|
14
12
|
value.onlyAdminCanPost === CommunityPostSettingMaps[key].onlyAdminCanPost,
|
|
15
13
|
) ?? DefaultCommunityPostSetting;
|
|
16
14
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
) => {
|
|
20
|
-
if (!communityUsers) return communityUsers;
|
|
21
|
-
|
|
22
|
-
const result: {
|
|
23
|
-
[key: string]: Amity.RawMembership<'community'>;
|
|
24
|
-
} = {};
|
|
25
|
-
|
|
26
|
-
communityUsers.forEach(user => {
|
|
27
|
-
result[`${user.userId}#${user.communityId}`] = user;
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
return result;
|
|
31
|
-
};
|
|
32
|
-
|
|
33
|
-
export const convertCommunityPayload = (rawPayload: {
|
|
34
|
-
communities: Amity.RawCommunity[];
|
|
35
|
-
communityUsers: Amity.RawMembership<'community'>[];
|
|
36
|
-
}): {
|
|
37
|
-
communities: Amity.Community[];
|
|
38
|
-
communityUsers: Amity.Membership<'community'>[];
|
|
39
|
-
} => {
|
|
40
|
-
// Unpack community payload by mapping payload field to postSetting value.
|
|
41
|
-
const communities = rawPayload.communities.map<Amity.Community>(
|
|
15
|
+
export function addPostSetting({ communities }: { communities: Amity.RawCommunity[] }) {
|
|
16
|
+
return communities.map<Amity.Community>(
|
|
42
17
|
({ needApprovalOnPostCreation, onlyAdminCanPost, ...restCommunityPayload }) => ({
|
|
43
18
|
postSetting: getMatchPostSetting({
|
|
44
19
|
needApprovalOnPostCreation,
|
|
@@ -47,44 +22,63 @@ export const convertCommunityPayload = (rawPayload: {
|
|
|
47
22
|
...restCommunityPayload,
|
|
48
23
|
}),
|
|
49
24
|
);
|
|
25
|
+
}
|
|
50
26
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const communityUsers = withUsers(Object.values(mergeCommunityUsers));
|
|
27
|
+
export const prepareCommunityPayload = (
|
|
28
|
+
rawPayload: Amity.CommunityPayload,
|
|
29
|
+
): Amity.ProcessedCommunityPayload => {
|
|
30
|
+
const communitiesWithPostSetting = addPostSetting({ communities: rawPayload.communities });
|
|
31
|
+
|
|
32
|
+
// map users with community
|
|
33
|
+
const mappedCommunityUsers: Array<Amity.Membership<'community'>> = rawPayload.communityUsers.map(
|
|
34
|
+
communityUser => {
|
|
35
|
+
const user = rawPayload.users.find(user => user.userId === communityUser.userId)!;
|
|
36
|
+
|
|
37
|
+
return {
|
|
38
|
+
...communityUser,
|
|
39
|
+
user,
|
|
40
|
+
};
|
|
41
|
+
},
|
|
42
|
+
);
|
|
69
43
|
|
|
70
|
-
const communityWithMembershipStatus = updateMembershipStatus(
|
|
44
|
+
const communityWithMembershipStatus = updateMembershipStatus(
|
|
45
|
+
communitiesWithPostSetting,
|
|
46
|
+
mappedCommunityUsers,
|
|
47
|
+
);
|
|
71
48
|
|
|
72
49
|
return {
|
|
73
50
|
...rawPayload,
|
|
74
51
|
communities: communityWithMembershipStatus,
|
|
75
|
-
communityUsers,
|
|
52
|
+
communityUsers: mappedCommunityUsers,
|
|
76
53
|
};
|
|
77
54
|
};
|
|
78
55
|
|
|
79
|
-
export const
|
|
80
|
-
rawPayload: Amity.
|
|
81
|
-
): Amity.
|
|
82
|
-
const { communities
|
|
56
|
+
export const prepareCommunityMembershipPayload = (
|
|
57
|
+
rawPayload: Amity.CommunityMembershipPayload,
|
|
58
|
+
): Amity.ProcessedCommunityMembershipPayload => {
|
|
59
|
+
const communitiesWithPostSetting = addPostSetting({ communities: rawPayload.communities });
|
|
60
|
+
|
|
61
|
+
// map users with community
|
|
62
|
+
const mappedCommunityUsers: Array<Amity.Membership<'community'>> = rawPayload.communityUsers.map(
|
|
63
|
+
communityUser => {
|
|
64
|
+
const user = rawPayload.users.find(user => user.userId === communityUser.userId)!;
|
|
65
|
+
|
|
66
|
+
return {
|
|
67
|
+
...communityUser,
|
|
68
|
+
user,
|
|
69
|
+
};
|
|
70
|
+
},
|
|
71
|
+
);
|
|
72
|
+
|
|
73
|
+
const communityWithMembershipStatus = updateMembershipStatus(
|
|
74
|
+
communitiesWithPostSetting,
|
|
75
|
+
mappedCommunityUsers,
|
|
76
|
+
);
|
|
83
77
|
|
|
84
78
|
return {
|
|
85
79
|
...rawPayload,
|
|
86
|
-
communities,
|
|
87
|
-
communityUsers,
|
|
80
|
+
communities: communityWithMembershipStatus,
|
|
81
|
+
communityUsers: mappedCommunityUsers,
|
|
88
82
|
};
|
|
89
83
|
};
|
|
90
84
|
|
package/src/core/model/index.ts
CHANGED
|
@@ -1,6 +1,39 @@
|
|
|
1
1
|
import { pullFromCache } from '~/cache/api/pullFromCache';
|
|
2
2
|
import { getActiveClient } from '~/client/api/activeClient';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Attach user object to membership model
|
|
6
|
+
* - If cache is not enabled, set user to undefined ({..., user: undefined})
|
|
7
|
+
* - If user object is not found in cache, set user to undefined
|
|
8
|
+
* ({..., user: undefined})
|
|
9
|
+
* - If a user is found in the cache, it attaches the user from the cache
|
|
10
|
+
* ({..., user: { userId, displayName,... }})
|
|
11
|
+
*
|
|
12
|
+
* @param member The membership model object
|
|
13
|
+
* @returns The membership model object that is already mapped to user
|
|
14
|
+
* @hidden
|
|
15
|
+
*/
|
|
16
|
+
export const convertRawMembershipToMembership = <T extends Amity.GroupType>(
|
|
17
|
+
member: Amity.RawMembership<T>,
|
|
18
|
+
): Amity.Membership<T> => {
|
|
19
|
+
return {
|
|
20
|
+
...member,
|
|
21
|
+
get user() {
|
|
22
|
+
const client = getActiveClient();
|
|
23
|
+
|
|
24
|
+
if (!client.cache) return undefined;
|
|
25
|
+
|
|
26
|
+
const userCache = pullFromCache<Amity.InternalUser>(['user', 'get', member.userId])?.data;
|
|
27
|
+
|
|
28
|
+
if (!userCache) {
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
return userCache;
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
4
37
|
/**
|
|
5
38
|
* Attach user object to membership model
|
|
6
39
|
* - If cache is not enabled, set user to undefined ({..., user: undefined})
|
|
@@ -71,7 +71,15 @@ export const deletePost = async (
|
|
|
71
71
|
// to support hard deletion
|
|
72
72
|
const deleted = { ...post.data, isDeleted: true };
|
|
73
73
|
|
|
74
|
-
|
|
74
|
+
if (permanent) {
|
|
75
|
+
setTimeout(() => {
|
|
76
|
+
pushToTombstone('post', postId);
|
|
77
|
+
}, 0);
|
|
78
|
+
} else {
|
|
79
|
+
upsertInCache(['post', 'get', postId], { isDeleted: true });
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
fireEvent('local.post.deleted', {
|
|
75
83
|
posts: [deleted],
|
|
76
84
|
categories: [],
|
|
77
85
|
comments: [],
|
|
@@ -83,13 +91,5 @@ export const deletePost = async (
|
|
|
83
91
|
users: [],
|
|
84
92
|
});
|
|
85
93
|
|
|
86
|
-
if (permanent) {
|
|
87
|
-
setTimeout(() => {
|
|
88
|
-
pushToTombstone('post', postId);
|
|
89
|
-
}, 0);
|
|
90
|
-
} else {
|
|
91
|
-
upsertInCache(['post', 'get', postId], { isDeleted: true });
|
|
92
|
-
}
|
|
93
|
-
|
|
94
94
|
return LinkedObject.post(deleted);
|
|
95
95
|
};
|
|
@@ -51,7 +51,7 @@ export const updatePost = async <T extends Amity.PostContentType>(
|
|
|
51
51
|
const cachedAt = client.cache && Date.now();
|
|
52
52
|
if (client.cache) ingestInCache(data, { cachedAt });
|
|
53
53
|
|
|
54
|
-
fireEvent('local.post.updated',
|
|
54
|
+
fireEvent('local.post.updated', payload);
|
|
55
55
|
|
|
56
56
|
const { posts } = data;
|
|
57
57
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createLocalPostEventSubscriber, createPostEventSubscriber } from './utils';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ```js
|
|
5
|
+
* import { onLocalPostDeleted } from '@amityco/ts-sdk-react-native'
|
|
6
|
+
* const dispose = onLocalPostDeleted(post => {
|
|
7
|
+
* // ...
|
|
8
|
+
* })
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* Fired when a {@link Amity.InternalPost} has been deleted
|
|
12
|
+
*
|
|
13
|
+
* @param callback The function to call when the event was fired
|
|
14
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
15
|
+
*
|
|
16
|
+
* @category Post Events
|
|
17
|
+
*/
|
|
18
|
+
export const onLocalPostDeleted = (
|
|
19
|
+
callback: Amity.Listener<Amity.InternalPost>,
|
|
20
|
+
): Amity.Unsubscriber => createLocalPostEventSubscriber('local.post.deleted', callback);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { getActiveClient } from '~/client/api';
|
|
2
|
+
import { pullFromCache, upsertInCache } from '~/cache/api';
|
|
3
|
+
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
4
|
+
import { createEventSubscriber } from '~/core/events';
|
|
5
|
+
import { preparePostPayload } from '../utils/payload';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* ```js
|
|
9
|
+
* import { onLocalPostReactionAdded } from '@amityco/ts-sdk-react-native'
|
|
10
|
+
* const dispose = onPostReactionAdded(post => {
|
|
11
|
+
* // ...
|
|
12
|
+
* })
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* Fired when a {@link Amity.InternalPost} has been reacted
|
|
16
|
+
*
|
|
17
|
+
* @param callback The function to call when the event was fired
|
|
18
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
19
|
+
*
|
|
20
|
+
* @category Post Events
|
|
21
|
+
*/
|
|
22
|
+
export const onLocalPostReactionAdded = (
|
|
23
|
+
callback: Amity.Listener<Amity.InternalPost>,
|
|
24
|
+
): Amity.Unsubscriber => {
|
|
25
|
+
const client = getActiveClient();
|
|
26
|
+
|
|
27
|
+
const filter = ({ post }: Amity.Events['local.post.addReaction']) => {
|
|
28
|
+
if (!client.cache) {
|
|
29
|
+
callback(post);
|
|
30
|
+
} else {
|
|
31
|
+
upsertInCache(['post', 'get', post.postId], post);
|
|
32
|
+
|
|
33
|
+
callback(post);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
return createEventSubscriber(client, 'local.post.addReaction', 'local.post.addReaction', filter);
|
|
38
|
+
};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { getActiveClient } from '~/client/api';
|
|
2
|
+
import { pullFromCache, upsertInCache } from '~/cache/api';
|
|
3
|
+
import { createEventSubscriber } from '~/core/events';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* ```js
|
|
7
|
+
* import { onLocalPostReactionRemoved } from '@amityco/ts-sdk-react-native'
|
|
8
|
+
* const dispose = onPostReactionRemoved(post => {
|
|
9
|
+
* // ...
|
|
10
|
+
* })
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* Fired when a {@link Amity.InternalPost} has been reacted
|
|
14
|
+
*
|
|
15
|
+
* @param callback The function to call when the event was fired
|
|
16
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
17
|
+
*
|
|
18
|
+
* @category Post Events
|
|
19
|
+
*/
|
|
20
|
+
export const onLocalPostReactionRemoved = (
|
|
21
|
+
callback: Amity.Listener<Amity.InternalPost>,
|
|
22
|
+
): Amity.Unsubscriber => {
|
|
23
|
+
const client = getActiveClient();
|
|
24
|
+
|
|
25
|
+
const filter = ({ post }: Amity.Events['local.post.removeReaction']) => {
|
|
26
|
+
if (!client.cache) {
|
|
27
|
+
callback(post);
|
|
28
|
+
} else {
|
|
29
|
+
upsertInCache(['post', 'get', post.postId], post);
|
|
30
|
+
|
|
31
|
+
callback(post);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
return createEventSubscriber(
|
|
36
|
+
client,
|
|
37
|
+
'local.post.removeReaction',
|
|
38
|
+
'local.post.removeReaction',
|
|
39
|
+
filter,
|
|
40
|
+
);
|
|
41
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createLocalPostEventSubscriber } from './utils';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* ```js
|
|
5
|
+
* import { onPostUpdatedLocal } from '@amityco/ts-sdk-react-native'
|
|
6
|
+
* const dispose = onPostUpdatedLocal(post => {
|
|
7
|
+
* // ...
|
|
8
|
+
* })
|
|
9
|
+
* ```
|
|
10
|
+
*
|
|
11
|
+
* Fired when a {@link Amity.InternalPost} has been updated
|
|
12
|
+
*
|
|
13
|
+
* @param callback The function to call when the event was fired
|
|
14
|
+
* @returns an {@link Amity.Unsubscriber} function to stop listening
|
|
15
|
+
*
|
|
16
|
+
* @category Post Events
|
|
17
|
+
*/
|
|
18
|
+
export const onPostUpdatedLocal = (
|
|
19
|
+
callback: Amity.Listener<Amity.InternalPost>,
|
|
20
|
+
): Amity.Unsubscriber => createLocalPostEventSubscriber('local.post.updated', callback);
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { getActiveClient } from '~/client/api';
|
|
2
2
|
import { ingestInCache } from '~/cache/api/ingestInCache';
|
|
3
3
|
import { createEventSubscriber, fireEvent } from '~/core/events';
|
|
4
|
-
import { pullFromCache, queryCache, upsertInCache } from '~/cache/api';
|
|
5
|
-
import { pushToTombstone } from '~/cache/api/pushToTombstone';
|
|
6
|
-
import { prepareMembershipPayload } from '~/group/utils';
|
|
4
|
+
import { dropFromCache, pullFromCache, queryCache, upsertInCache } from '~/cache/api';
|
|
7
5
|
import { isInTombstone } from '~/cache/api/isInTombstone';
|
|
6
|
+
import { preparePostPayload } from '~/postRepository/utils/payload';
|
|
8
7
|
|
|
9
8
|
export const createPostEventSubscriber = (
|
|
10
9
|
event: keyof Amity.MqttPostEvents,
|
|
@@ -16,9 +15,9 @@ export const createPostEventSubscriber = (
|
|
|
16
15
|
if (!client.cache) {
|
|
17
16
|
callback(payload.posts[0]);
|
|
18
17
|
} else {
|
|
19
|
-
const
|
|
18
|
+
const data = preparePostPayload(payload);
|
|
20
19
|
|
|
21
|
-
const
|
|
20
|
+
const { communities } = data;
|
|
22
21
|
|
|
23
22
|
ingestInCache(data);
|
|
24
23
|
|
|
@@ -49,7 +48,7 @@ export const createPostEventSubscriber = (
|
|
|
49
48
|
// But if it is hard delete, it will pushed into tombstone before fire an event to BE. it means it will stay in tombstone already
|
|
50
49
|
// and will got skip to notify in a previous code block
|
|
51
50
|
if (postedUserId !== client.userId) {
|
|
52
|
-
|
|
51
|
+
dropFromCache(['post', 'get', postId]);
|
|
53
52
|
}
|
|
54
53
|
|
|
55
54
|
return callback(payload.posts[0]);
|
|
@@ -76,3 +75,39 @@ export const createPostEventSubscriber = (
|
|
|
76
75
|
|
|
77
76
|
return createEventSubscriber(client, event, event, filter);
|
|
78
77
|
};
|
|
78
|
+
|
|
79
|
+
export const createLocalPostEventSubscriber = (
|
|
80
|
+
event: keyof Omit<Amity.LocalPostEvents, 'local.post.addReaction' | 'local.post.removeReaction'>,
|
|
81
|
+
callback: Amity.Listener<Amity.InternalPost>,
|
|
82
|
+
) => {
|
|
83
|
+
const client = getActiveClient();
|
|
84
|
+
|
|
85
|
+
const filter = (payload: Amity.PostPayload) => {
|
|
86
|
+
if (!client.cache) {
|
|
87
|
+
callback(payload.posts[0]);
|
|
88
|
+
} else {
|
|
89
|
+
const data = preparePostPayload(payload);
|
|
90
|
+
|
|
91
|
+
const { communities } = data;
|
|
92
|
+
|
|
93
|
+
ingestInCache(data);
|
|
94
|
+
|
|
95
|
+
if (communities?.[0] && !['local.post.updated'].includes(event)) {
|
|
96
|
+
fireEvent('community.updated', {
|
|
97
|
+
communities,
|
|
98
|
+
categories: [],
|
|
99
|
+
communityUsers: data.communityUsers,
|
|
100
|
+
feeds: [],
|
|
101
|
+
files: [],
|
|
102
|
+
users: [],
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
const post = pullFromCache<Amity.InternalPost>(['post', 'get', payload.posts[0].postId])!;
|
|
107
|
+
|
|
108
|
+
callback(post.data);
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
return createEventSubscriber(client, event, event, filter);
|
|
113
|
+
};
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
export * from './
|
|
2
|
-
|
|
3
|
-
export * from './createPost';
|
|
4
|
-
export * from './updatePost';
|
|
5
|
-
export * from './editPost';
|
|
6
|
-
|
|
7
|
-
export * from './deletePost';
|
|
8
|
-
export * from './softDeletePost';
|
|
9
|
-
export * from './hardDeletePost';
|
|
10
|
-
|
|
11
|
-
export * from './approvePost';
|
|
12
|
-
export * from './declinePost';
|
|
13
|
-
|
|
14
|
-
export * from './flagPost';
|
|
15
|
-
export * from './unflagPost';
|
|
16
|
-
export * from './isPostFlaggedByMe';
|
|
1
|
+
export * from './getPost';
|