@amityco/ts-sdk-react-native 6.13.2 → 6.14.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/live.d.ts +22 -0
- package/dist/@types/core/live.d.ts.map +1 -1
- package/dist/@types/core/paging.d.ts +5 -2
- package/dist/@types/core/paging.d.ts.map +1 -1
- package/dist/@types/domains/comment.d.ts +1 -1
- package/dist/@types/domains/comment.d.ts.map +1 -1
- package/dist/@types/domains/message.d.ts +13 -0
- package/dist/@types/domains/message.d.ts.map +1 -1
- package/dist/categoryRepository/internalApi/getCategory.d.ts +5 -0
- package/dist/categoryRepository/internalApi/getCategory.d.ts.map +1 -0
- package/dist/categoryRepository/internalApi/index.d.ts +2 -0
- package/dist/categoryRepository/internalApi/index.d.ts.map +1 -0
- package/dist/categoryRepository/internalApi/queryCategories.d.ts +5 -0
- package/dist/categoryRepository/internalApi/queryCategories.d.ts.map +1 -0
- package/dist/channelRepository/api/createChannel.d.ts.map +1 -0
- package/dist/channelRepository/api/deleteChannel.d.ts.map +1 -0
- package/dist/channelRepository/api/getChannel.d.ts.map +1 -0
- package/dist/channelRepository/api/getChannelByIds.d.ts.map +1 -0
- package/dist/channelRepository/api/index.d.ts.map +1 -0
- package/dist/channelRepository/api/joinChannel.d.ts.map +1 -0
- package/dist/channelRepository/api/leaveChannel.d.ts.map +1 -0
- package/dist/channelRepository/api/markAsRead.d.ts.map +1 -0
- package/dist/channelRepository/api/muteChannel.d.ts.map +1 -0
- package/dist/channelRepository/api/queryChannels.d.ts.map +1 -0
- package/dist/channelRepository/api/tests/createChannel.test.d.ts.map +1 -0
- package/dist/channelRepository/api/tests/getChannel.test.d.ts.map +1 -0
- package/dist/channelRepository/api/tests/getChannelByIds.test.d.ts.map +1 -0
- package/dist/channelRepository/api/tests/joinChannel.test.d.ts.map +1 -0
- package/dist/channelRepository/api/tests/leaveChannel.test.d.ts.map +1 -0
- package/dist/channelRepository/api/tests/muteChannel.test.d.ts.map +1 -0
- package/dist/channelRepository/api/tests/queryChannels.test.d.ts.map +1 -0
- package/dist/channelRepository/api/tests/unmuteChannel.test.d.ts.map +1 -0
- package/dist/channelRepository/api/unmuteChannel.d.ts.map +1 -0
- package/dist/channelRepository/api/updateChannel.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/api/addMembers.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/api/index.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/api/queryChannelMembers.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/api/removeMembers.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/api/tests/addMembers.test.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/api/tests/queryChannelMembers.test.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/api/tests/removeMembers.test.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/index.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/getMembers.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/index.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/searchMembers.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/tests/getMembers.test.d.ts.map +1 -0
- package/dist/channelRepository/channelMembership/observers/tests/searchMembers.test.d.ts.map +1 -0
- package/dist/channelRepository/channelModeration/api/addRole.d.ts.map +1 -0
- package/dist/channelRepository/channelModeration/api/banMembers.d.ts.map +1 -0
- package/dist/channelRepository/channelModeration/api/index.d.ts.map +1 -0
- package/dist/channelRepository/channelModeration/api/removeRole.d.ts.map +1 -0
- package/dist/channelRepository/channelModeration/api/unbanMembers.d.ts.map +1 -0
- package/dist/channelRepository/channelModeration/index.d.ts.map +1 -0
- package/dist/channelRepository/events/index.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelCreated.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelDeleted.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelJoined.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelLeft.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelMemberAdded.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelMemberBanned.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelMemberRemoved.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelMemberRoleAdded.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelMemberRoleRemoved.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelMemberUnbanned.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelMuted.d.ts.map +1 -0
- package/dist/channelRepository/events/onChannelUpdated.d.ts.map +1 -0
- package/dist/channelRepository/events/tests/onChannelCreated.test.d.ts.map +1 -0
- package/dist/channelRepository/events/tests/onChannelJoined.test.d.ts.map +1 -0
- package/dist/channelRepository/events/tests/onChannelMemberAdded.test.d.ts.map +1 -0
- package/dist/channelRepository/events/tests/onChannelMemberBanned.test.d.ts.map +1 -0
- package/dist/channelRepository/events/tests/onChannelMemberRemoved.test.d.ts.map +1 -0
- package/dist/channelRepository/events/tests/onChannelMemberUnbanned.test.d.ts.map +1 -0
- package/dist/channelRepository/events/tests/onChannelUpdated.test.d.ts.map +1 -0
- package/dist/channelRepository/index.d.ts.map +1 -0
- package/dist/channelRepository/observers/getChannel.d.ts.map +1 -0
- package/dist/channelRepository/observers/getChannels.d.ts.map +1 -0
- package/dist/channelRepository/observers/index.d.ts.map +1 -0
- package/dist/channelRepository/observers/observeChannel.d.ts.map +1 -0
- package/dist/channelRepository/observers/observeChannels.d.ts.map +1 -0
- package/dist/channelRepository/observers/tests/getChannel.test.d.ts.map +1 -0
- package/dist/channelRepository/observers/tests/getChannelWithMessagePreview.test.d.ts.map +1 -0
- package/dist/channelRepository/observers/tests/getChannels.test.d.ts.map +1 -0
- package/dist/channelRepository/observers/tests/getChannelsWithMessagePreview.test.d.ts.map +1 -0
- package/dist/channelRepository/utils/getChannelHasMentioned.d.ts.map +1 -0
- package/dist/channelRepository/utils/getChannelUnreadCount.d.ts.map +1 -0
- package/dist/channelRepository/utils/index.d.ts.map +1 -0
- package/dist/channelRepository/utils/prepareChannelPayload.d.ts.map +1 -0
- package/dist/channelRepository/utils/tests/prepareChannelPayload.test.d.ts.map +1 -0
- package/dist/channelRepository/utils/updateChannelCache.d.ts.map +1 -0
- package/dist/core/liveCollection/LiveCollectionController.d.ts +21 -0
- package/dist/core/liveCollection/LiveCollectionController.d.ts.map +1 -0
- package/dist/core/liveCollection/PaginationController.d.ts +16 -0
- package/dist/core/liveCollection/PaginationController.d.ts.map +1 -0
- package/dist/core/liveCollection/QueryStreamController.d.ts +8 -0
- package/dist/core/liveCollection/QueryStreamController.d.ts.map +1 -0
- package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts +8 -0
- package/dist/feedRepository/internalApi/getCustomRankingGlobalFeed.d.ts.map +1 -0
- package/dist/feedRepository/internalApi/index.d.ts +3 -0
- package/dist/feedRepository/internalApi/index.d.ts.map +1 -0
- package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts +9 -0
- package/dist/feedRepository/internalApi/queryGlobalFeed.d.ts.map +1 -0
- package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts +2 -0
- package/dist/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.d.ts.map +1 -0
- package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts +2 -0
- package/dist/feedRepository/internalApi/test/queryGlobalFeed.test.d.ts.map +1 -0
- package/dist/index.cjs.js +462 -222
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.esm.js +461 -222
- package/dist/index.umd.js +4 -4
- package/dist/messageRepository/observers/getMessages.d.ts.map +1 -1
- package/dist/messageRepository/observers/liveCollection/MessageLiveCollectionController.d.ts +14 -0
- package/dist/messageRepository/observers/liveCollection/MessageLiveCollectionController.d.ts.map +1 -0
- package/dist/messageRepository/observers/liveCollection/MessagePaginationController.d.ts +12 -0
- package/dist/messageRepository/observers/liveCollection/MessagePaginationController.d.ts.map +1 -0
- package/dist/messageRepository/observers/liveCollection/MessageQueryStreamController.d.ts +16 -0
- package/dist/messageRepository/observers/liveCollection/MessageQueryStreamController.d.ts.map +1 -0
- package/dist/messageRepository/observers/tests/getAroundMessages.test.d.ts +2 -0
- package/dist/messageRepository/observers/tests/getAroundMessages.test.d.ts.map +1 -0
- package/dist/messageRepository/utils/prepareMessagePayload.d.ts +8 -4
- package/dist/messageRepository/utils/prepareMessagePayload.d.ts.map +1 -1
- package/dist/userRepository/api/flagUser.d.ts +1 -1
- package/dist/userRepository/api/flagUser.d.ts.map +1 -1
- package/dist/userRepository/api/getUserByIds.d.ts +1 -1
- package/dist/userRepository/api/getUserByIds.d.ts.map +1 -1
- package/dist/userRepository/api/isUserFlaggedByMe.d.ts +1 -1
- package/dist/userRepository/api/isUserFlaggedByMe.d.ts.map +1 -1
- package/dist/userRepository/api/queryBlockedUsers.d.ts +4 -4
- package/dist/userRepository/api/queryUsers.d.ts +6 -6
- package/dist/userRepository/api/queryUsers.d.ts.map +1 -1
- package/dist/userRepository/api/unflagUser.d.ts +1 -1
- package/dist/userRepository/api/unflagUser.d.ts.map +1 -1
- package/dist/userRepository/api/updateUser.d.ts +4 -4
- package/dist/userRepository/api/updateUser.d.ts.map +1 -1
- package/dist/userRepository/internalApi/getUser.d.ts +32 -0
- package/dist/userRepository/internalApi/getUser.d.ts.map +1 -0
- package/dist/userRepository/internalApi/queryUsers.d.ts +34 -0
- package/dist/userRepository/internalApi/queryUsers.d.ts.map +1 -0
- package/dist/userRepository/observers/getUser.d.ts +2 -2
- package/dist/userRepository/observers/getUser.d.ts.map +1 -1
- package/dist/utils/isEqual.d.ts.map +1 -1
- package/dist/utils/linkedObject/index.d.ts +2 -2
- package/dist/utils/linkedObject/userLinkedObject.d.ts +1 -1
- package/dist/utils/linkedObject/userLinkedObject.d.ts.map +1 -1
- package/dist/utils/tests/dummy/message.d.ts +7 -0
- package/dist/utils/tests/dummy/message.d.ts.map +1 -1
- package/jest.config.ts +1 -0
- package/package.json +4 -1
- package/src/@types/core/live.ts +26 -0
- package/src/@types/core/paging.ts +6 -2
- package/src/@types/domains/comment.ts +1 -1
- package/src/@types/domains/message.ts +13 -0
- package/src/categoryRepository/api/getCategory.ts +4 -4
- package/src/categoryRepository/api/queryCategories.ts +1 -1
- package/src/categoryRepository/internalApi/getCategory.ts +43 -0
- package/src/categoryRepository/internalApi/index.ts +1 -0
- package/src/categoryRepository/internalApi/queryCategories.ts +88 -0
- package/src/categoryRepository/observers/getCategories.ts +1 -1
- package/src/{channelRepsitory → channelRepository}/api/queryChannels.ts +1 -3
- package/src/{channelRepsitory → channelRepository}/channelMembership/api/queryChannelMembers.ts +1 -1
- package/src/{channelRepsitory → channelRepository}/channelMembership/api/tests/addMembers.test.ts +1 -1
- package/src/{channelRepsitory → channelRepository}/channelMembership/api/tests/removeMembers.test.ts +1 -1
- package/src/{channelRepsitory → channelRepository}/observers/getChannels.ts +4 -2
- package/src/client/api/login.ts +2 -2
- package/src/client/utils/markerSyncEngine.ts +1 -1
- package/src/client/utils/messagePreviewEngine.ts +1 -1
- package/src/core/liveCollection/LiveCollectionController.ts +127 -0
- package/src/core/liveCollection/PaginationController.ts +71 -0
- package/src/core/liveCollection/QueryStreamController.ts +21 -0
- package/src/feedRepository/internalApi/getCustomRankingGlobalFeed.ts +87 -0
- package/src/feedRepository/internalApi/index.ts +2 -0
- package/src/feedRepository/internalApi/queryGlobalFeed.ts +95 -0
- package/src/feedRepository/internalApi/test/getCustomRankingGlobalFeed.test.ts +138 -0
- package/src/feedRepository/internalApi/test/queryGlobalFeed.test.ts +130 -0
- package/src/index.ts +1 -1
- package/src/messageRepository/observers/getMessages.ts +7 -107
- package/src/messageRepository/observers/liveCollection/MessageLiveCollectionController.ts +160 -0
- package/src/messageRepository/observers/liveCollection/MessagePaginationController.ts +33 -0
- package/src/messageRepository/observers/liveCollection/MessageQueryStreamController.ts +139 -0
- package/src/messageRepository/observers/tests/getAroundMessages.test.ts +466 -0
- package/src/messageRepository/observers/tests/getMessages.test.ts +130 -76
- package/src/messageRepository/utils/prepareMessagePayload.ts +39 -10
- package/src/userRepository/api/flagUser.ts +1 -1
- package/src/userRepository/api/getUserByIds.ts +1 -1
- package/src/userRepository/api/isUserFlaggedByMe.ts +1 -1
- package/src/userRepository/api/queryBlockedUsers.ts +4 -4
- package/src/userRepository/api/queryUsers.ts +6 -6
- package/src/userRepository/api/unflagUser.ts +1 -1
- package/src/userRepository/api/updateUser.ts +6 -6
- package/src/userRepository/internalApi/getUser.ts +89 -0
- package/src/userRepository/internalApi/queryUsers.ts +131 -0
- package/src/userRepository/observers/getUser.ts +15 -5
- package/src/userRepository/observers/getUsers.ts +3 -3
- package/src/userRepository/observers/tests/getUser.test.ts +1 -1
- package/src/utils/isEqual.ts +12 -0
- package/src/utils/linkedObject/userLinkedObject.ts +1 -1
- package/src/utils/tests/dummy/channel.ts +1 -1
- package/src/utils/tests/dummy/message.ts +8 -0
- package/tsconfig.test.json +6 -0
- package/dist/channelRepsitory/api/createChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/api/deleteChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/api/getChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/api/getChannelByIds.d.ts.map +0 -1
- package/dist/channelRepsitory/api/index.d.ts.map +0 -1
- package/dist/channelRepsitory/api/joinChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/api/leaveChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/api/markAsRead.d.ts.map +0 -1
- package/dist/channelRepsitory/api/muteChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/api/queryChannels.d.ts.map +0 -1
- package/dist/channelRepsitory/api/tests/createChannel.test.d.ts.map +0 -1
- package/dist/channelRepsitory/api/tests/getChannel.test.d.ts.map +0 -1
- package/dist/channelRepsitory/api/tests/getChannelByIds.test.d.ts.map +0 -1
- package/dist/channelRepsitory/api/tests/joinChannel.test.d.ts.map +0 -1
- package/dist/channelRepsitory/api/tests/leaveChannel.test.d.ts.map +0 -1
- package/dist/channelRepsitory/api/tests/muteChannel.test.d.ts.map +0 -1
- package/dist/channelRepsitory/api/tests/queryChannels.test.d.ts.map +0 -1
- package/dist/channelRepsitory/api/tests/unmuteChannel.test.d.ts.map +0 -1
- package/dist/channelRepsitory/api/unmuteChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/api/updateChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/api/addMembers.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/api/index.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/api/queryChannelMembers.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/api/removeMembers.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/api/tests/addMembers.test.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/api/tests/queryChannelMembers.test.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/api/tests/removeMembers.test.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/index.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/observers/getMembers.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/observers/index.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/observers/searchMembers.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/observers/tests/getMembers.test.d.ts.map +0 -1
- package/dist/channelRepsitory/channelMembership/observers/tests/searchMembers.test.d.ts.map +0 -1
- package/dist/channelRepsitory/channelModeration/api/addRole.d.ts.map +0 -1
- package/dist/channelRepsitory/channelModeration/api/banMembers.d.ts.map +0 -1
- package/dist/channelRepsitory/channelModeration/api/index.d.ts.map +0 -1
- package/dist/channelRepsitory/channelModeration/api/removeRole.d.ts.map +0 -1
- package/dist/channelRepsitory/channelModeration/api/unbanMembers.d.ts.map +0 -1
- package/dist/channelRepsitory/channelModeration/index.d.ts.map +0 -1
- package/dist/channelRepsitory/events/index.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelCreated.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelDeleted.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelJoined.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelLeft.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelMemberAdded.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelMemberBanned.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelMemberRemoved.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelMemberRoleAdded.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelMemberRoleRemoved.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelMemberUnbanned.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelMuted.d.ts.map +0 -1
- package/dist/channelRepsitory/events/onChannelUpdated.d.ts.map +0 -1
- package/dist/channelRepsitory/events/tests/onChannelCreated.test.d.ts.map +0 -1
- package/dist/channelRepsitory/events/tests/onChannelJoined.test.d.ts.map +0 -1
- package/dist/channelRepsitory/events/tests/onChannelMemberAdded.test.d.ts.map +0 -1
- package/dist/channelRepsitory/events/tests/onChannelMemberBanned.test.d.ts.map +0 -1
- package/dist/channelRepsitory/events/tests/onChannelMemberRemoved.test.d.ts.map +0 -1
- package/dist/channelRepsitory/events/tests/onChannelMemberUnbanned.test.d.ts.map +0 -1
- package/dist/channelRepsitory/events/tests/onChannelUpdated.test.d.ts.map +0 -1
- package/dist/channelRepsitory/index.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/getChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/getChannels.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/index.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/observeChannel.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/observeChannels.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/tests/getChannel.test.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/tests/getChannelWithMessagePreview.test.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/tests/getChannels.test.d.ts.map +0 -1
- package/dist/channelRepsitory/observers/tests/getChannelsWithMessagePreview.test.d.ts.map +0 -1
- package/dist/channelRepsitory/utils/getChannelHasMentioned.d.ts.map +0 -1
- package/dist/channelRepsitory/utils/getChannelUnreadCount.d.ts.map +0 -1
- package/dist/channelRepsitory/utils/index.d.ts.map +0 -1
- package/dist/channelRepsitory/utils/prepareChannelPayload.d.ts.map +0 -1
- package/dist/channelRepsitory/utils/tests/prepareChannelPayload.test.d.ts.map +0 -1
- package/dist/channelRepsitory/utils/updateChannelCache.d.ts.map +0 -1
- /package/dist/{channelRepsitory → channelRepository}/api/createChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/deleteChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/getChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/getChannelByIds.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/joinChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/leaveChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/markAsRead.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/muteChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/queryChannels.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/tests/createChannel.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/tests/getChannel.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/tests/getChannelByIds.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/tests/joinChannel.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/tests/leaveChannel.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/tests/muteChannel.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/tests/queryChannels.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/tests/unmuteChannel.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/unmuteChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/api/updateChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/api/addMembers.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/api/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/api/queryChannelMembers.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/api/removeMembers.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/api/tests/addMembers.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/api/tests/queryChannelMembers.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/api/tests/removeMembers.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/observers/getMembers.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/observers/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/observers/searchMembers.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/observers/tests/getMembers.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelMembership/observers/tests/searchMembers.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelModeration/api/addRole.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelModeration/api/banMembers.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelModeration/api/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelModeration/api/removeRole.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelModeration/api/unbanMembers.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/channelModeration/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelCreated.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelDeleted.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelJoined.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelLeft.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelMemberAdded.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelMemberBanned.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelMemberRemoved.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelMemberRoleAdded.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelMemberRoleRemoved.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelMemberUnbanned.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelMuted.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/onChannelUpdated.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/tests/onChannelCreated.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/tests/onChannelJoined.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/tests/onChannelMemberAdded.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/tests/onChannelMemberBanned.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/tests/onChannelMemberRemoved.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/tests/onChannelMemberUnbanned.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/events/tests/onChannelUpdated.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/getChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/getChannels.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/observeChannel.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/observeChannels.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/tests/getChannel.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/tests/getChannelWithMessagePreview.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/tests/getChannels.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/observers/tests/getChannelsWithMessagePreview.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/utils/getChannelHasMentioned.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/utils/getChannelUnreadCount.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/utils/index.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/utils/prepareChannelPayload.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/utils/tests/prepareChannelPayload.test.d.ts +0 -0
- /package/dist/{channelRepsitory → channelRepository}/utils/updateChannelCache.d.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/createChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/deleteChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/getChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/getChannelByIds.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/joinChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/leaveChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/markAsRead.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/muteChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/tests/createChannel.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/tests/getChannel.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/tests/getChannelByIds.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/tests/joinChannel.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/tests/leaveChannel.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/tests/muteChannel.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/tests/queryChannels.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/tests/unmuteChannel.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/unmuteChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/api/updateChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/api/addMembers.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/api/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/api/removeMembers.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/api/tests/queryChannelMembers.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/observers/getMembers.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/observers/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/observers/searchMembers.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/observers/tests/getMembers.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelMembership/observers/tests/searchMembers.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelModeration/api/addRole.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelModeration/api/banMembers.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelModeration/api/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelModeration/api/removeRole.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelModeration/api/unbanMembers.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/channelModeration/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelCreated.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelDeleted.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelJoined.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelLeft.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelMemberAdded.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelMemberBanned.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelMemberRemoved.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelMemberRoleAdded.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelMemberRoleRemoved.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelMemberUnbanned.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelMuted.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/onChannelUpdated.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/tests/onChannelCreated.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/tests/onChannelJoined.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/tests/onChannelMemberAdded.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/tests/onChannelMemberBanned.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/tests/onChannelMemberRemoved.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/tests/onChannelMemberUnbanned.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/events/tests/onChannelUpdated.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/observers/getChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/observers/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/observers/observeChannel.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/observers/observeChannels.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/observers/tests/getChannel.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/observers/tests/getChannelWithMessagePreview.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/observers/tests/getChannels.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/observers/tests/getChannelsWithMessagePreview.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/utils/getChannelHasMentioned.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/utils/getChannelUnreadCount.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/utils/index.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/utils/prepareChannelPayload.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/utils/tests/prepareChannelPayload.test.ts +0 -0
- /package/src/{channelRepsitory → channelRepository}/utils/updateChannelCache.ts +0 -0
package/dist/index.cjs.js
CHANGED
|
@@ -10,6 +10,7 @@ var axios = require('axios');
|
|
|
10
10
|
var HttpAgent = require('agentkeepalive');
|
|
11
11
|
var io = require('socket.io-client');
|
|
12
12
|
var uuid$1 = require('react-native-uuid');
|
|
13
|
+
var hash = require('object-hash');
|
|
13
14
|
var Hls = require('hls.js');
|
|
14
15
|
|
|
15
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -39,6 +40,7 @@ var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
|
39
40
|
var HttpAgent__default = /*#__PURE__*/_interopDefaultLegacy(HttpAgent);
|
|
40
41
|
var io__default = /*#__PURE__*/_interopDefaultLegacy(io);
|
|
41
42
|
var uuid__default = /*#__PURE__*/_interopDefaultLegacy(uuid$1);
|
|
43
|
+
var hash__default = /*#__PURE__*/_interopDefaultLegacy(hash);
|
|
42
44
|
var Hls__default = /*#__PURE__*/_interopDefaultLegacy(Hls);
|
|
43
45
|
|
|
44
46
|
const CommunityPostSettings = Object.freeze({
|
|
@@ -116,8 +118,8 @@ const PostContentType = Object.freeze({
|
|
|
116
118
|
|
|
117
119
|
function getVersion() {
|
|
118
120
|
try {
|
|
119
|
-
// the string ''v6.
|
|
120
|
-
return 'v6.
|
|
121
|
+
// the string ''v6.14.0-cjs'' should be replaced by actual value by @rollup/plugin-replace
|
|
122
|
+
return 'v6.14.0-cjs';
|
|
121
123
|
}
|
|
122
124
|
catch (error) {
|
|
123
125
|
return '__dev__';
|
|
@@ -5595,14 +5597,24 @@ function convertParams(_a) {
|
|
|
5595
5597
|
return Object.assign({ messageFeedId: subChannelId, mentionedUsers: mentionees, dataType, data }, rest);
|
|
5596
5598
|
}
|
|
5597
5599
|
function convertQueryParams$1(_a) {
|
|
5598
|
-
var {
|
|
5599
|
-
const out = Object.assign(Object.assign({}, rest), { messageFeedId: subChannelId, isDeleted: inferIsDeleted(includeDeleted), options: {
|
|
5600
|
-
|
|
5601
|
-
|
|
5602
|
-
|
|
5600
|
+
var { sortBy, subChannelId, tags, includingTags, excludingTags, includeDeleted, aroundMessageId, limit, type } = _a, rest = __rest(_a, ["sortBy", "subChannelId", "tags", "includingTags", "excludingTags", "includeDeleted", "aroundMessageId", "limit", "type"]);
|
|
5601
|
+
const out = Object.assign(Object.assign({}, rest), { messageFeedId: subChannelId, isDeleted: inferIsDeleted(includeDeleted), options: {
|
|
5602
|
+
sortBy,
|
|
5603
|
+
limit: limit || COLLECTION_DEFAULT_PAGINATION_LIMIT,
|
|
5604
|
+
around: aroundMessageId,
|
|
5605
|
+
} });
|
|
5603
5606
|
if (tags) {
|
|
5604
5607
|
out.includeTags = tags;
|
|
5605
5608
|
}
|
|
5609
|
+
if (includingTags) {
|
|
5610
|
+
out.includeTags = includingTags;
|
|
5611
|
+
}
|
|
5612
|
+
if (type) {
|
|
5613
|
+
out.dataType = type;
|
|
5614
|
+
}
|
|
5615
|
+
if (excludingTags) {
|
|
5616
|
+
out.excludeTags = excludingTags;
|
|
5617
|
+
}
|
|
5606
5618
|
return out;
|
|
5607
5619
|
}
|
|
5608
5620
|
|
|
@@ -7353,6 +7365,17 @@ function isEqual(x, y) {
|
|
|
7353
7365
|
if (Array.isArray(x) && x.length !== y.length) {
|
|
7354
7366
|
return false;
|
|
7355
7367
|
}
|
|
7368
|
+
// check each element of the array for equality
|
|
7369
|
+
if (Array.isArray(x) && Array.isArray(y)) {
|
|
7370
|
+
if (x.length !== y.length)
|
|
7371
|
+
return false;
|
|
7372
|
+
for (let i = 0; i < x.length; i += 1) {
|
|
7373
|
+
if (!isEqual(x[i], y[i]))
|
|
7374
|
+
return false;
|
|
7375
|
+
}
|
|
7376
|
+
// if all elements are equal, the arrays are equal
|
|
7377
|
+
return true;
|
|
7378
|
+
}
|
|
7356
7379
|
// if they are dates, they must had equal valueOf
|
|
7357
7380
|
if (x instanceof Date) {
|
|
7358
7381
|
return false;
|
|
@@ -8523,9 +8546,7 @@ const queryChannels = async (query) => {
|
|
|
8523
8546
|
// API-FIX: backend doesn't answer Amity.Response
|
|
8524
8547
|
// const { data } = await client.http.get<Amity.Response<Amity.Paged<ChannelPayload>>>(
|
|
8525
8548
|
const { data: queryPayload } = await client.http.get(`/api/v3/channels`, {
|
|
8526
|
-
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
|
|
8527
|
-
token: page,
|
|
8528
|
-
} }),
|
|
8549
|
+
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: page ? { token: page } : { limit } }),
|
|
8529
8550
|
});
|
|
8530
8551
|
const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
|
|
8531
8552
|
const data = await prepareChannelPayload(payload);
|
|
@@ -8641,7 +8662,8 @@ const getChannels = (params, callback, config) => {
|
|
|
8641
8662
|
const channels = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
8642
8663
|
if (!initial && channels.length > 0 && !(collection === null || collection === void 0 ? void 0 : collection.params.page))
|
|
8643
8664
|
return;
|
|
8644
|
-
const
|
|
8665
|
+
const pagingCondition = initial ? { limit } : { page: collection === null || collection === void 0 ? void 0 : collection.params.page };
|
|
8666
|
+
const query = createQuery(queryChannels, Object.assign(Object.assign({}, queryParams), pagingCondition));
|
|
8645
8667
|
runQuery(query, ({ data: result, error, loading, paging }) => {
|
|
8646
8668
|
const data = {
|
|
8647
8669
|
loading,
|
|
@@ -8710,6 +8732,8 @@ const getChannels = (params, callback, config) => {
|
|
|
8710
8732
|
}, 'channelId', 'channel')(realtimeRouter()), convertEventPayload((callback) => {
|
|
8711
8733
|
const updateMessagePreview = async (message) => {
|
|
8712
8734
|
const messagePreviewSetting = await getMessagePreviewSetting();
|
|
8735
|
+
if (messagePreviewSetting === "no-message-preview" /* Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW */)
|
|
8736
|
+
return;
|
|
8713
8737
|
if (messagePreviewSetting === "message-preview-include-deleted" /* Amity.MessagePreviewSetting.MESSAGE_PREVIEW_INCLUDE_DELETED */)
|
|
8714
8738
|
await handleMessageUpdated(message);
|
|
8715
8739
|
if (shouldAbort(message.channelId))
|
|
@@ -8922,7 +8946,7 @@ queryChannelMembers.locally = (query) => {
|
|
|
8922
8946
|
* Exported for testing
|
|
8923
8947
|
* @hidden
|
|
8924
8948
|
*/
|
|
8925
|
-
const applyFilter$
|
|
8949
|
+
const applyFilter$2 = (data, params) => {
|
|
8926
8950
|
let channelMembers = filterByPropIntersection(data, 'roles', params.roles);
|
|
8927
8951
|
if (params.memberships) {
|
|
8928
8952
|
/*
|
|
@@ -8997,7 +9021,7 @@ const getMembers$1 = (params, callback, config) => {
|
|
|
8997
9021
|
/*
|
|
8998
9022
|
* Only apply filter to RTE Model
|
|
8999
9023
|
*/
|
|
9000
|
-
data: isEventModel ? applyFilter$
|
|
9024
|
+
data: isEventModel ? applyFilter$2(channelMembers, params) : channelMembers,
|
|
9001
9025
|
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
9002
9026
|
loading: data.loading,
|
|
9003
9027
|
error: data.error,
|
|
@@ -9087,7 +9111,7 @@ var index$j = /*#__PURE__*/Object.freeze({
|
|
|
9087
9111
|
__proto__: null,
|
|
9088
9112
|
addMembers: addMembers$1,
|
|
9089
9113
|
removeMembers: removeMembers$1,
|
|
9090
|
-
applyFilter: applyFilter$
|
|
9114
|
+
applyFilter: applyFilter$2,
|
|
9091
9115
|
getMembers: getMembers$1,
|
|
9092
9116
|
searchMembers: searchMembers
|
|
9093
9117
|
});
|
|
@@ -9719,7 +9743,7 @@ const unBlockUser = async (userId) => {
|
|
|
9719
9743
|
* ```
|
|
9720
9744
|
*
|
|
9721
9745
|
* @param query The query parameters
|
|
9722
|
-
* @returns A page of {@link Amity.
|
|
9746
|
+
* @returns A page of {@link Amity.User} objects
|
|
9723
9747
|
*
|
|
9724
9748
|
* @category Block API
|
|
9725
9749
|
* @async
|
|
@@ -9757,11 +9781,11 @@ const queryBlockedUsers = async (query) => {
|
|
|
9757
9781
|
* const { data: users } = queryBlockedUsers.locally({ page: 'page_token' })
|
|
9758
9782
|
* ```
|
|
9759
9783
|
*
|
|
9760
|
-
* Queries a paginable list of {@link Amity.
|
|
9784
|
+
* Queries a paginable list of {@link Amity.User} objects from cache
|
|
9761
9785
|
* Search is performed by displayName such as `.startsWith(search)`
|
|
9762
9786
|
*
|
|
9763
9787
|
* @param query The query parameters
|
|
9764
|
-
* @returns A page of {@link Amity.
|
|
9788
|
+
* @returns A page of {@link Amity.User} objects
|
|
9765
9789
|
*
|
|
9766
9790
|
* @category Block API
|
|
9767
9791
|
*/
|
|
@@ -11013,11 +11037,11 @@ getUserByIds.locally = (userIds) => {
|
|
|
11013
11037
|
* const updated = await updateUser(userId, { displayName: 'foobar' })
|
|
11014
11038
|
* ```
|
|
11015
11039
|
*
|
|
11016
|
-
* Updates an {@link Amity.
|
|
11040
|
+
* Updates an {@link Amity.User}
|
|
11017
11041
|
*
|
|
11018
|
-
* @param userId The ID of the {@link Amity.
|
|
11042
|
+
* @param userId The ID of the {@link Amity.User} to update
|
|
11019
11043
|
* @param patch The patch data to apply
|
|
11020
|
-
* @returns the updated {@link Amity.
|
|
11044
|
+
* @returns the updated {@link Amity.User} object
|
|
11021
11045
|
*
|
|
11022
11046
|
* @category User API
|
|
11023
11047
|
* @async
|
|
@@ -11220,7 +11244,7 @@ const onUserFetched = (callback) => createUserEventSubscriber('user.fetched', ca
|
|
|
11220
11244
|
* @category Private
|
|
11221
11245
|
* @async
|
|
11222
11246
|
*/
|
|
11223
|
-
const getUser$
|
|
11247
|
+
const getUser$2 = async (userId) => {
|
|
11224
11248
|
const client = getActiveClient();
|
|
11225
11249
|
client.log('user/getUser', userId);
|
|
11226
11250
|
isInTombstone('user', userId);
|
|
@@ -11241,7 +11265,7 @@ const getUser$1 = async (userId) => {
|
|
|
11241
11265
|
const { users } = data;
|
|
11242
11266
|
fireEvent('user.fetched', data);
|
|
11243
11267
|
return {
|
|
11244
|
-
data:
|
|
11268
|
+
data: users.find(user => user.userId === userId),
|
|
11245
11269
|
cachedAt,
|
|
11246
11270
|
};
|
|
11247
11271
|
};
|
|
@@ -11258,7 +11282,7 @@ const getUser$1 = async (userId) => {
|
|
|
11258
11282
|
*
|
|
11259
11283
|
* @category User API
|
|
11260
11284
|
*/
|
|
11261
|
-
getUser$
|
|
11285
|
+
getUser$2.locally = (userId) => {
|
|
11262
11286
|
const client = getActiveClient();
|
|
11263
11287
|
client.log('user/getUser.locally', userId);
|
|
11264
11288
|
if (!client.cache)
|
|
@@ -11267,7 +11291,7 @@ getUser$1.locally = (userId) => {
|
|
|
11267
11291
|
if (!cached)
|
|
11268
11292
|
return;
|
|
11269
11293
|
return {
|
|
11270
|
-
data:
|
|
11294
|
+
data: cached.data,
|
|
11271
11295
|
cachedAt: cached.cachedAt,
|
|
11272
11296
|
};
|
|
11273
11297
|
};
|
|
@@ -11286,7 +11310,7 @@ getUser$1.locally = (userId) => {
|
|
|
11286
11310
|
* });
|
|
11287
11311
|
* ```
|
|
11288
11312
|
*
|
|
11289
|
-
* Observe all mutation on a given {@link Amity.
|
|
11313
|
+
* Observe all mutation on a given {@link Amity.User}
|
|
11290
11314
|
*
|
|
11291
11315
|
* @param userId the ID of the user to observe
|
|
11292
11316
|
* @param callback the function to call when new data are available
|
|
@@ -11294,8 +11318,11 @@ getUser$1.locally = (userId) => {
|
|
|
11294
11318
|
*
|
|
11295
11319
|
* @category Message Live Object
|
|
11296
11320
|
*/
|
|
11297
|
-
const getUser = (userId, callback) => {
|
|
11298
|
-
|
|
11321
|
+
const getUser$1 = (userId, callback) => {
|
|
11322
|
+
const reactor = (response) => {
|
|
11323
|
+
return callback(Object.assign(Object.assign({}, response), { data: response.data ? LinkedObject.user(response.data) : response.data }));
|
|
11324
|
+
};
|
|
11325
|
+
return liveObject(userId, reactor, 'userId', getUser$2, [
|
|
11299
11326
|
onUserFetched,
|
|
11300
11327
|
onUserUpdated,
|
|
11301
11328
|
onUserDeleted,
|
|
@@ -11327,10 +11354,7 @@ const queryUsers = async (query = {}) => {
|
|
|
11327
11354
|
const { page, limit = 10, displayName, filter = 'all', sortBy = 'displayName' } = query, params = __rest(query, ["page", "limit", "displayName", "filter", "sortBy"]);
|
|
11328
11355
|
const { data } = await client.http.get(`/api/v3/users`, {
|
|
11329
11356
|
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter,
|
|
11330
|
-
sortBy, options: {
|
|
11331
|
-
token: page,
|
|
11332
|
-
limit,
|
|
11333
|
-
} }),
|
|
11357
|
+
sortBy, options: page ? { token: page } : { limit } }),
|
|
11334
11358
|
});
|
|
11335
11359
|
// unpacking
|
|
11336
11360
|
const { paging } = data, payload = __rest(data, ["paging"]);
|
|
@@ -11351,7 +11375,7 @@ const queryUsers = async (query = {}) => {
|
|
|
11351
11375
|
}
|
|
11352
11376
|
fireEvent('user.fetched', data);
|
|
11353
11377
|
return {
|
|
11354
|
-
data: users
|
|
11378
|
+
data: users,
|
|
11355
11379
|
cachedAt,
|
|
11356
11380
|
paging,
|
|
11357
11381
|
};
|
|
@@ -11389,7 +11413,7 @@ queryUsers.locally = (query = {}) => {
|
|
|
11389
11413
|
const users = (_b = data === null || data === void 0 ? void 0 : data.users.map(userId => pullFromCache(['user', 'get', userId])).filter(Boolean).map(({ data }) => data)) !== null && _b !== void 0 ? _b : [];
|
|
11390
11414
|
return users.length > 0 && users.length === ((_c = data === null || data === void 0 ? void 0 : data.users) === null || _c === void 0 ? void 0 : _c.length)
|
|
11391
11415
|
? {
|
|
11392
|
-
data: users
|
|
11416
|
+
data: users,
|
|
11393
11417
|
cachedAt,
|
|
11394
11418
|
paging: data === null || data === void 0 ? void 0 : data.paging,
|
|
11395
11419
|
}
|
|
@@ -11400,7 +11424,7 @@ queryUsers.locally = (query = {}) => {
|
|
|
11400
11424
|
* Exported for testing
|
|
11401
11425
|
* @hidden
|
|
11402
11426
|
*/
|
|
11403
|
-
const applyFilter$
|
|
11427
|
+
const applyFilter$1 = (data, params) => {
|
|
11404
11428
|
let users = filterByStringComparePartially(data, 'displayName', params.displayName);
|
|
11405
11429
|
switch (params.sortBy) {
|
|
11406
11430
|
case 'firstCreated':
|
|
@@ -11461,7 +11485,7 @@ const getUsers = (params, callback, config) => {
|
|
|
11461
11485
|
/*
|
|
11462
11486
|
* Only apply filter to RTE Model
|
|
11463
11487
|
*/
|
|
11464
|
-
data: isEventModel ? applyFilter$
|
|
11488
|
+
data: isEventModel ? applyFilter$1(users, params) : users,
|
|
11465
11489
|
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
11466
11490
|
loading: data.loading,
|
|
11467
11491
|
error: data.error,
|
|
@@ -11482,7 +11506,8 @@ const getUsers = (params, callback, config) => {
|
|
|
11482
11506
|
const users = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
11483
11507
|
if (!initial && users.length > 0 && !(collection === null || collection === void 0 ? void 0 : collection.params.page))
|
|
11484
11508
|
return;
|
|
11485
|
-
const
|
|
11509
|
+
const pagingCondition = initial ? { limit } : { page: collection === null || collection === void 0 ? void 0 : collection.params.page };
|
|
11510
|
+
const query = createQuery(queryUsers, Object.assign(Object.assign({}, queryParams), pagingCondition));
|
|
11486
11511
|
runQuery(query, ({ data: result, error, loading, paging }) => {
|
|
11487
11512
|
const data = {
|
|
11488
11513
|
loading,
|
|
@@ -11508,6 +11533,72 @@ const getUsers = (params, callback, config) => {
|
|
|
11508
11533
|
};
|
|
11509
11534
|
/* end_public_function */
|
|
11510
11535
|
|
|
11536
|
+
/**
|
|
11537
|
+
* ```js
|
|
11538
|
+
* import { getUser } from '~/user/api'
|
|
11539
|
+
* const { data: user } = await getUser('foobar')
|
|
11540
|
+
* ```
|
|
11541
|
+
*
|
|
11542
|
+
* Fetches a {@link Amity.User} object
|
|
11543
|
+
*
|
|
11544
|
+
* @param userId the ID of the {@link Amity.User} to fetch
|
|
11545
|
+
* @returns the associated {@link Amity.User} object
|
|
11546
|
+
*
|
|
11547
|
+
* @category Private
|
|
11548
|
+
* @async
|
|
11549
|
+
*/
|
|
11550
|
+
const getUser = async (userId) => {
|
|
11551
|
+
const client = getActiveClient();
|
|
11552
|
+
client.log('user/getUser', userId);
|
|
11553
|
+
isInTombstone('user', userId);
|
|
11554
|
+
let data;
|
|
11555
|
+
try {
|
|
11556
|
+
const response = await client.http.get(`/api/v3/users/${encodeURIComponent(userId)}`);
|
|
11557
|
+
data = response.data;
|
|
11558
|
+
}
|
|
11559
|
+
catch (error) {
|
|
11560
|
+
if (checkIfShouldGoesToTombstone(error === null || error === void 0 ? void 0 : error.code)) {
|
|
11561
|
+
pushToTombstone('user', userId);
|
|
11562
|
+
}
|
|
11563
|
+
throw error;
|
|
11564
|
+
}
|
|
11565
|
+
const cachedAt = client.cache && Date.now();
|
|
11566
|
+
if (client.cache)
|
|
11567
|
+
ingestInCache(data, { cachedAt });
|
|
11568
|
+
const { users } = data;
|
|
11569
|
+
fireEvent('user.fetched', data);
|
|
11570
|
+
return {
|
|
11571
|
+
data: LinkedObject.user(users.find(user => user.userId === userId)),
|
|
11572
|
+
cachedAt,
|
|
11573
|
+
};
|
|
11574
|
+
};
|
|
11575
|
+
/**
|
|
11576
|
+
* ```js
|
|
11577
|
+
* import { getUser } from '@amityco/ts-sdk-react-native'
|
|
11578
|
+
* const { data: user } = getUser.locally('foobar')
|
|
11579
|
+
* ```
|
|
11580
|
+
*
|
|
11581
|
+
* Fetches a {@link Amity.User} object from cache
|
|
11582
|
+
*
|
|
11583
|
+
* @param userId the ID of the {@link Amity.User} to fetch
|
|
11584
|
+
* @returns the associated {@link Amity.User} object
|
|
11585
|
+
*
|
|
11586
|
+
* @category User API
|
|
11587
|
+
*/
|
|
11588
|
+
getUser.locally = (userId) => {
|
|
11589
|
+
const client = getActiveClient();
|
|
11590
|
+
client.log('user/getUser.locally', userId);
|
|
11591
|
+
if (!client.cache)
|
|
11592
|
+
return;
|
|
11593
|
+
const cached = pullFromCache(['user', 'get', userId]);
|
|
11594
|
+
if (!cached)
|
|
11595
|
+
return;
|
|
11596
|
+
return {
|
|
11597
|
+
data: LinkedObject.user(cached.data),
|
|
11598
|
+
cachedAt: cached.cachedAt,
|
|
11599
|
+
};
|
|
11600
|
+
};
|
|
11601
|
+
|
|
11511
11602
|
/**
|
|
11512
11603
|
* ```js
|
|
11513
11604
|
* import { observeUser } from '@amityco/ts-sdk-react-native'
|
|
@@ -11542,7 +11633,7 @@ const observeUser = (userId, callback) => {
|
|
|
11542
11633
|
};
|
|
11543
11634
|
const disposers = [];
|
|
11544
11635
|
disposers.push(onUserUpdated(data => router({ data, loading: false, origin: 'event' }, 'onUpdate')), onUserDeleted(data => router({ data, loading: false, origin: 'event' }, 'onDelete')), onUserFlagged(data => router({ data, loading: false, origin: 'event' }, 'onFlagged')), onUserUnflagged(data => router({ data, loading: false, origin: 'event' }, 'onUnflagged')), onUserFlagCleared(data => router({ data, loading: false, origin: 'event' }, 'onFlagCleared')));
|
|
11545
|
-
runQuery(createQuery(getUser
|
|
11636
|
+
runQuery(createQuery(getUser, userId), result => result.data && router(result, 'onFetch'));
|
|
11546
11637
|
return () => {
|
|
11547
11638
|
log(`observeUser(tmpid: ${timestamp}) > dispose`);
|
|
11548
11639
|
disposers.forEach(fn => fn());
|
|
@@ -11667,7 +11758,7 @@ var index$e = /*#__PURE__*/Object.freeze({
|
|
|
11667
11758
|
onUserFlagged: onUserFlagged,
|
|
11668
11759
|
onUserUnflagged: onUserUnflagged,
|
|
11669
11760
|
onUserFlagCleared: onUserFlagCleared,
|
|
11670
|
-
getUser: getUser,
|
|
11761
|
+
getUser: getUser$1,
|
|
11671
11762
|
getUsers: getUsers,
|
|
11672
11763
|
observeUser: observeUser,
|
|
11673
11764
|
getBlockedUsers: getBlockedUsers$1,
|
|
@@ -14279,103 +14370,343 @@ const getMessage = (messageId, callback) => {
|
|
|
14279
14370
|
};
|
|
14280
14371
|
/* end_public_function */
|
|
14281
14372
|
|
|
14373
|
+
class PaginationController {
|
|
14374
|
+
constructor(queryParams) {
|
|
14375
|
+
const { http } = getActiveClient();
|
|
14376
|
+
this.queryParams = queryParams;
|
|
14377
|
+
this.http = http;
|
|
14378
|
+
}
|
|
14379
|
+
loadFirstPage() {
|
|
14380
|
+
return this.onFetch("first" /* Amity.LiveCollectionPageDirection.FIRST */);
|
|
14381
|
+
}
|
|
14382
|
+
loadNextPage() {
|
|
14383
|
+
return this.onFetch("next" /* Amity.LiveCollectionPageDirection.NEXT */);
|
|
14384
|
+
}
|
|
14385
|
+
loadPreviousPage() {
|
|
14386
|
+
return this.onFetch("prev" /* Amity.LiveCollectionPageDirection.PREV */);
|
|
14387
|
+
}
|
|
14388
|
+
async onFetch(direction = "first" /* Amity.LiveCollectionPageDirection.FIRST */) {
|
|
14389
|
+
var _a, _b, _c, _d;
|
|
14390
|
+
if (direction === 'prev' && !this.previousToken)
|
|
14391
|
+
return;
|
|
14392
|
+
if (direction === 'next' && !this.nextToken)
|
|
14393
|
+
return;
|
|
14394
|
+
let token;
|
|
14395
|
+
if (direction === 'prev')
|
|
14396
|
+
token = this.previousToken;
|
|
14397
|
+
if (direction === 'next')
|
|
14398
|
+
token = this.nextToken;
|
|
14399
|
+
const queryResponse = await this.getRequest(this.queryParams, token);
|
|
14400
|
+
if (direction === 'first') {
|
|
14401
|
+
this.nextToken = (_a = queryResponse.paging) === null || _a === void 0 ? void 0 : _a.next;
|
|
14402
|
+
this.previousToken = (_b = queryResponse.paging) === null || _b === void 0 ? void 0 : _b.previous;
|
|
14403
|
+
}
|
|
14404
|
+
if (direction === 'prev')
|
|
14405
|
+
this.previousToken = (_c = queryResponse.paging) === null || _c === void 0 ? void 0 : _c.previous;
|
|
14406
|
+
if (direction === 'next')
|
|
14407
|
+
this.nextToken = (_d = queryResponse.paging) === null || _d === void 0 ? void 0 : _d.next;
|
|
14408
|
+
return queryResponse;
|
|
14409
|
+
}
|
|
14410
|
+
getNextToken() {
|
|
14411
|
+
return this.nextToken;
|
|
14412
|
+
}
|
|
14413
|
+
getPrevToken() {
|
|
14414
|
+
return this.previousToken;
|
|
14415
|
+
}
|
|
14416
|
+
}
|
|
14417
|
+
|
|
14418
|
+
/* eslint-disable no-use-before-define */
|
|
14282
14419
|
/**
|
|
14283
|
-
*
|
|
14284
|
-
*
|
|
14285
|
-
* const messages = await queryMessages({ channelId })
|
|
14286
|
-
* ```
|
|
14287
|
-
*
|
|
14288
|
-
* Queries a paginable list of {@link Amity.Message} objects
|
|
14289
|
-
*
|
|
14290
|
-
* @param query The query parameters
|
|
14291
|
-
* @returns A page of {@link Amity.Message} objects
|
|
14292
|
-
*
|
|
14293
|
-
* @category Message API
|
|
14294
|
-
* @async
|
|
14420
|
+
* TODO: handle cache receive cache option, and cache policy
|
|
14421
|
+
* TODO: check if querybyIds is supported
|
|
14295
14422
|
*/
|
|
14296
|
-
|
|
14297
|
-
|
|
14298
|
-
|
|
14299
|
-
|
|
14300
|
-
|
|
14301
|
-
|
|
14302
|
-
|
|
14303
|
-
|
|
14304
|
-
|
|
14305
|
-
|
|
14306
|
-
|
|
14307
|
-
|
|
14423
|
+
class MessagePaginationController extends PaginationController {
|
|
14424
|
+
async getRequest(queryParams, token) {
|
|
14425
|
+
const processedQueryParams = convertQueryParams$1(queryParams);
|
|
14426
|
+
const { data: queryResponse } = await this.http.get(`/api/v5/messages`, {
|
|
14427
|
+
params: Object.assign(Object.assign({}, processedQueryParams), { options: token
|
|
14428
|
+
? {
|
|
14429
|
+
token,
|
|
14430
|
+
}
|
|
14431
|
+
: Object.assign({}, processedQueryParams.options) }),
|
|
14432
|
+
});
|
|
14433
|
+
return queryResponse;
|
|
14434
|
+
}
|
|
14435
|
+
}
|
|
14436
|
+
|
|
14437
|
+
class QueryStreamController {
|
|
14438
|
+
constructor(query, cacheKey) {
|
|
14439
|
+
this.query = query;
|
|
14440
|
+
this.cacheKey = cacheKey;
|
|
14441
|
+
}
|
|
14442
|
+
}
|
|
14443
|
+
|
|
14444
|
+
/* eslint-disable no-use-before-define */
|
|
14445
|
+
class MessageQueryStreamController extends QueryStreamController {
|
|
14446
|
+
constructor(query, cacheKey, notifyChange, preparePayload, paginationController) {
|
|
14447
|
+
super(query, cacheKey);
|
|
14448
|
+
this.notifyChange = notifyChange;
|
|
14449
|
+
this.preparePayload = preparePayload;
|
|
14450
|
+
this.paginationController = paginationController;
|
|
14451
|
+
}
|
|
14452
|
+
async saveToMainDB(response) {
|
|
14453
|
+
const processedPayload = await this.preparePayload(response);
|
|
14454
|
+
const client = getActiveClient();
|
|
14455
|
+
const cachedAt = client.cache && Date.now();
|
|
14456
|
+
if (client.cache) {
|
|
14457
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
14458
|
+
}
|
|
14459
|
+
}
|
|
14460
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
14461
|
+
var _a, _b;
|
|
14462
|
+
if (refresh) {
|
|
14463
|
+
pushToCache(this.cacheKey, {
|
|
14464
|
+
data: response.messages.map(getResolver('message')),
|
|
14465
|
+
});
|
|
14466
|
+
}
|
|
14467
|
+
else {
|
|
14468
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
14469
|
+
const messages = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
14470
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: direction === 'next'
|
|
14471
|
+
? [...new Set([...messages, ...response.messages.map(getResolver('message'))])]
|
|
14472
|
+
: [...new Set([...response.messages.map(getResolver('message')), ...messages])] }));
|
|
14473
|
+
}
|
|
14474
|
+
}
|
|
14475
|
+
reactor(action) {
|
|
14476
|
+
return (payload) => {
|
|
14477
|
+
var _a, _b, _c, _d, _e;
|
|
14478
|
+
if (action === 'onCreate') {
|
|
14479
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
14480
|
+
if (!collection)
|
|
14481
|
+
return;
|
|
14482
|
+
if (this.query.subChannelId !== (payload === null || payload === void 0 ? void 0 : payload.subChannelId) || !collection)
|
|
14483
|
+
return;
|
|
14484
|
+
if (this.query.type && this.query.type !== payload.dataType)
|
|
14485
|
+
return;
|
|
14486
|
+
if (this.query.dataType && this.query.dataType !== payload.dataType)
|
|
14487
|
+
return;
|
|
14488
|
+
if (this.query.excludingTags &&
|
|
14489
|
+
((_b = this.query.excludingTags) === null || _b === void 0 ? void 0 : _b.some(value => { var _a; return (_a = payload.tags) === null || _a === void 0 ? void 0 : _a.includes(value); })))
|
|
14490
|
+
return;
|
|
14491
|
+
if (this.query.excludeTags &&
|
|
14492
|
+
((_c = this.query.excludeTags) === null || _c === void 0 ? void 0 : _c.some(value => { var _a; return (_a = payload.tags) === null || _a === void 0 ? void 0 : _a.includes(value); })))
|
|
14493
|
+
return;
|
|
14494
|
+
if (!!this.query.hasFlags !== !!payload.flagCount)
|
|
14495
|
+
return;
|
|
14496
|
+
if (this.query.parentId && this.query.parentId !== payload.parentId)
|
|
14497
|
+
return;
|
|
14498
|
+
if (this.query.hasOwnProperty('includeDeleted') &&
|
|
14499
|
+
!this.query.includeDeleted &&
|
|
14500
|
+
payload.isDeleted)
|
|
14501
|
+
return;
|
|
14502
|
+
if (this.query.includingTags &&
|
|
14503
|
+
!((_d = this.query.includingTags) === null || _d === void 0 ? void 0 : _d.some(value => { var _a; return (_a = payload.tags) === null || _a === void 0 ? void 0 : _a.includes(value); })))
|
|
14504
|
+
return;
|
|
14505
|
+
if (this.query.tags && !((_e = this.query.tags) === null || _e === void 0 ? void 0 : _e.some(value => { var _a; return (_a = payload.tags) === null || _a === void 0 ? void 0 : _a.includes(value); })))
|
|
14506
|
+
return;
|
|
14507
|
+
if ((!this.query.sortBy || this.query.sortBy === 'segmentDesc') &&
|
|
14508
|
+
!this.paginationController.getPrevToken()) {
|
|
14509
|
+
collection.data = [...new Set([payload.messageId, ...collection.data])];
|
|
14510
|
+
}
|
|
14511
|
+
if (this.query.sortBy === 'segmentAsc' && !this.paginationController.getNextToken()) {
|
|
14512
|
+
collection.data = [...new Set([...collection.data, payload.messageId])];
|
|
14513
|
+
}
|
|
14514
|
+
pushToCache(this.cacheKey, collection);
|
|
14308
14515
|
}
|
|
14309
|
-
:
|
|
14310
|
-
|
|
14311
|
-
// API-FIX: backend should answer Amity.Response (2)
|
|
14312
|
-
// const { paging, messages } = unwrapPayload(data)
|
|
14313
|
-
const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
|
|
14314
|
-
const data = await prepareMessagePayload(payload);
|
|
14315
|
-
const { messages } = data;
|
|
14316
|
-
const cachedAt = client.cache && Date.now();
|
|
14317
|
-
if (client.cache) {
|
|
14318
|
-
/*
|
|
14319
|
-
* queryMessages.locally is unsupported for messages as message list updates
|
|
14320
|
-
* frequently and leads to bugs when user switches between channels, i.e. when
|
|
14321
|
-
* the public function (live messages) calls unmount. The list fetched on
|
|
14322
|
-
* after from the cache is stale.
|
|
14323
|
-
*/
|
|
14324
|
-
ingestInCache(data, { cachedAt });
|
|
14325
|
-
const cacheKey = ['message', 'query', Object.assign({}, params)];
|
|
14326
|
-
pushToCache(cacheKey, { messages: messages.map(getResolver('message')), paging });
|
|
14516
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
14517
|
+
};
|
|
14327
14518
|
}
|
|
14328
|
-
|
|
14329
|
-
|
|
14330
|
-
|
|
14331
|
-
|
|
14332
|
-
};
|
|
14333
|
-
/* end_public_function */
|
|
14519
|
+
subscribeRTE(createSubscriber) {
|
|
14520
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
14521
|
+
}
|
|
14522
|
+
}
|
|
14334
14523
|
|
|
14335
|
-
|
|
14336
|
-
|
|
14337
|
-
|
|
14338
|
-
|
|
14339
|
-
|
|
14340
|
-
|
|
14341
|
-
|
|
14342
|
-
|
|
14343
|
-
|
|
14344
|
-
|
|
14345
|
-
|
|
14346
|
-
return
|
|
14524
|
+
class LiveCollectionController {
|
|
14525
|
+
constructor(paginationController, queryStreamId, cacheKey, callback) {
|
|
14526
|
+
this.paginationController = paginationController;
|
|
14527
|
+
this.queryStreamId = queryStreamId;
|
|
14528
|
+
this.cacheKey = cacheKey;
|
|
14529
|
+
this.callback = callback;
|
|
14530
|
+
}
|
|
14531
|
+
async refresh() {
|
|
14532
|
+
try {
|
|
14533
|
+
const result = await this.paginationController.loadFirstPage();
|
|
14534
|
+
if (!result)
|
|
14535
|
+
return;
|
|
14536
|
+
await this.persistModel(result);
|
|
14537
|
+
this.persistQueryStream({
|
|
14538
|
+
response: result,
|
|
14539
|
+
direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */,
|
|
14540
|
+
refresh: true,
|
|
14347
14541
|
});
|
|
14542
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
14348
14543
|
}
|
|
14349
|
-
|
|
14350
|
-
|
|
14351
|
-
|
|
14352
|
-
|
|
14353
|
-
|
|
14354
|
-
|
|
14355
|
-
|
|
14356
|
-
|
|
14544
|
+
catch (e) {
|
|
14545
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
14546
|
+
}
|
|
14547
|
+
}
|
|
14548
|
+
loadPage(initial = false, direction = "next" /* Amity.LiveCollectionPageDirection.NEXT */) {
|
|
14549
|
+
this.setup();
|
|
14550
|
+
this.notifyChange({ origin: "local" /* Amity.LiveDataOrigin.LOCAL */, loading: true });
|
|
14551
|
+
if (initial) {
|
|
14552
|
+
this.refresh();
|
|
14553
|
+
}
|
|
14554
|
+
else if (direction === "prev" /* Amity.LiveCollectionPageDirection.PREV */) {
|
|
14555
|
+
this.loadPrevPage();
|
|
14556
|
+
}
|
|
14557
|
+
else if (direction === "next" /* Amity.LiveCollectionPageDirection.NEXT */) {
|
|
14558
|
+
this.loadNextPage();
|
|
14559
|
+
}
|
|
14560
|
+
}
|
|
14561
|
+
async loadNextPage() {
|
|
14562
|
+
try {
|
|
14563
|
+
const result = await this.paginationController.loadNextPage();
|
|
14564
|
+
if (!result)
|
|
14565
|
+
return;
|
|
14566
|
+
await this.persistModel(result);
|
|
14567
|
+
this.persistQueryStream({
|
|
14568
|
+
response: result,
|
|
14569
|
+
direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */,
|
|
14357
14570
|
});
|
|
14571
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
14572
|
+
}
|
|
14573
|
+
catch (e) {
|
|
14574
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
14358
14575
|
}
|
|
14576
|
+
}
|
|
14577
|
+
async loadPrevPage() {
|
|
14578
|
+
try {
|
|
14579
|
+
const result = await this.paginationController.loadPreviousPage();
|
|
14580
|
+
if (!result)
|
|
14581
|
+
return;
|
|
14582
|
+
await this.persistModel(result);
|
|
14583
|
+
this.persistQueryStream({
|
|
14584
|
+
response: result,
|
|
14585
|
+
direction: "prev" /* Amity.LiveCollectionPageDirection.PREV */,
|
|
14586
|
+
});
|
|
14587
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
14588
|
+
}
|
|
14589
|
+
catch (e) {
|
|
14590
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
14591
|
+
}
|
|
14592
|
+
}
|
|
14593
|
+
shouldNotify(data) {
|
|
14594
|
+
if (isEqual(this.snapshot, data))
|
|
14595
|
+
return false;
|
|
14596
|
+
this.snapshot = data;
|
|
14359
14597
|
return true;
|
|
14360
|
-
});
|
|
14361
|
-
/*
|
|
14362
|
-
* for cases when message is deleted via RTE, this flag is used to get
|
|
14363
|
-
* items from cache that are !deleted
|
|
14364
|
-
*/
|
|
14365
|
-
if (!params.includeDeleted) {
|
|
14366
|
-
messages = filterByPropEquality(messages, 'isDeleted', false);
|
|
14367
14598
|
}
|
|
14368
|
-
|
|
14369
|
-
|
|
14370
|
-
|
|
14599
|
+
getCacheKey() {
|
|
14600
|
+
return this.cacheKey;
|
|
14601
|
+
}
|
|
14602
|
+
}
|
|
14603
|
+
|
|
14604
|
+
class MessageLiveCollectionController extends LiveCollectionController {
|
|
14605
|
+
constructor(query, callback) {
|
|
14606
|
+
const queryStreamId = hash__default["default"](query);
|
|
14607
|
+
const cacheKey = ['message', 'collection', queryStreamId];
|
|
14608
|
+
const paginationController = new MessagePaginationController(query);
|
|
14609
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
14610
|
+
this.query = query;
|
|
14611
|
+
this.queryStreamController = new MessageQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), prepareMessagePayload, this.paginationController);
|
|
14612
|
+
this.callback = callback.bind(this);
|
|
14613
|
+
this.loadPage(true);
|
|
14614
|
+
}
|
|
14615
|
+
setup() {
|
|
14616
|
+
var _a;
|
|
14617
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
14618
|
+
if (!collection) {
|
|
14619
|
+
pushToCache(this.cacheKey, {
|
|
14620
|
+
data: [],
|
|
14621
|
+
});
|
|
14371
14622
|
}
|
|
14372
|
-
|
|
14373
|
-
|
|
14623
|
+
}
|
|
14624
|
+
async persistModel(response) {
|
|
14625
|
+
await this.queryStreamController.saveToMainDB(response);
|
|
14626
|
+
}
|
|
14627
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
14628
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
14629
|
+
}
|
|
14630
|
+
startSubscription() {
|
|
14631
|
+
return this.queryStreamController.subscribeRTE([
|
|
14632
|
+
{ fn: onMessageCreated, action: 'onCreate' },
|
|
14633
|
+
{ fn: onMessageDeleted, action: 'onDelete' },
|
|
14634
|
+
{ fn: onMessageUpdated, action: 'onUpdate' },
|
|
14635
|
+
{ fn: onMessageFlagged, action: 'onFlagged' },
|
|
14636
|
+
{ fn: onMessageUnflagged, action: 'onUnflagged' },
|
|
14637
|
+
{ fn: onMessageFlagCleared, action: 'onFlagCleared' },
|
|
14638
|
+
{ fn: onMessageReactionAdded, action: 'onReactionAdded' },
|
|
14639
|
+
{ fn: onMessageReactionRemoved, action: 'onReactionRemoved' },
|
|
14640
|
+
{
|
|
14641
|
+
fn: convertEventPayload(onMessageMarkerFetched, 'contentId', 'message'),
|
|
14642
|
+
action: 'onUpdate',
|
|
14643
|
+
},
|
|
14644
|
+
{ fn: convertEventPayload(onMessageMarked, 'contentId', 'message'), action: 'onUpdate' },
|
|
14645
|
+
]);
|
|
14646
|
+
}
|
|
14647
|
+
notifyChange({ origin, loading, error }) {
|
|
14648
|
+
var _a, _b;
|
|
14649
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
14650
|
+
if (!collection)
|
|
14651
|
+
return;
|
|
14652
|
+
const data = this.applyFilter((_b = collection.data
|
|
14653
|
+
.map(messageId => pullFromCache(['message', 'get', messageId]))
|
|
14654
|
+
.filter(Boolean)
|
|
14655
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []);
|
|
14656
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
14657
|
+
return;
|
|
14658
|
+
this.callback({
|
|
14659
|
+
onNextPage: () => this.loadPage(false, "next" /* Amity.LiveCollectionPageDirection.NEXT */),
|
|
14660
|
+
onPrevPage: () => this.loadPage(false, "prev" /* Amity.LiveCollectionPageDirection.PREV */),
|
|
14661
|
+
data,
|
|
14662
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
14663
|
+
hasPrevPage: !!this.paginationController.getPrevToken(),
|
|
14664
|
+
loading,
|
|
14665
|
+
error,
|
|
14666
|
+
});
|
|
14667
|
+
}
|
|
14668
|
+
applyFilter(data) {
|
|
14669
|
+
let messages = data;
|
|
14670
|
+
messages = messages.filter(m => {
|
|
14671
|
+
if (this.query.tags) {
|
|
14672
|
+
return this.query.tags.find(value => {
|
|
14673
|
+
if (!m.tags)
|
|
14674
|
+
return false;
|
|
14675
|
+
return m.tags.includes(value);
|
|
14676
|
+
});
|
|
14677
|
+
}
|
|
14678
|
+
return true;
|
|
14679
|
+
});
|
|
14680
|
+
messages = messages.filter(m => {
|
|
14681
|
+
if (this.query.excludeTags) {
|
|
14682
|
+
return (this.query.excludeTags || []).find(value => {
|
|
14683
|
+
if (!m.tags)
|
|
14684
|
+
return true;
|
|
14685
|
+
return !m.tags.includes(value);
|
|
14686
|
+
});
|
|
14687
|
+
}
|
|
14688
|
+
return true;
|
|
14689
|
+
});
|
|
14690
|
+
/*
|
|
14691
|
+
* for cases when message is deleted via RTE, this flag is used to get
|
|
14692
|
+
* items from cache that are !deleted
|
|
14693
|
+
*/
|
|
14694
|
+
if (!this.query.includeDeleted) {
|
|
14695
|
+
messages = filterByPropEquality(messages, 'isDeleted', false);
|
|
14374
14696
|
}
|
|
14375
|
-
|
|
14376
|
-
|
|
14377
|
-
|
|
14378
|
-
}
|
|
14697
|
+
messages = messages.sort((message1, message2) => {
|
|
14698
|
+
if (this.query.sortBy === 'segmentAsc') {
|
|
14699
|
+
return message1.channelSegment - message2.channelSegment;
|
|
14700
|
+
}
|
|
14701
|
+
if (this.query.sortBy === 'segmentDesc') {
|
|
14702
|
+
return message2.channelSegment - message1.channelSegment;
|
|
14703
|
+
}
|
|
14704
|
+
return 0;
|
|
14705
|
+
});
|
|
14706
|
+
return messages;
|
|
14707
|
+
}
|
|
14708
|
+
}
|
|
14709
|
+
|
|
14379
14710
|
/* begin_public_function
|
|
14380
14711
|
id: message.query
|
|
14381
14712
|
*/
|
|
@@ -14405,76 +14736,12 @@ const getMessages = (params, callback, config) => {
|
|
|
14405
14736
|
}
|
|
14406
14737
|
const timestamp = Date.now();
|
|
14407
14738
|
log(`getMessages(tmpid: ${timestamp}) > listen`);
|
|
14408
|
-
const
|
|
14409
|
-
const
|
|
14410
|
-
const
|
|
14411
|
-
|
|
14412
|
-
|
|
14413
|
-
|
|
14414
|
-
const responder = (data) => {
|
|
14415
|
-
var _a, _b;
|
|
14416
|
-
const messages = applyFilter$1((_a = data.data
|
|
14417
|
-
.map(messageId => pullFromCache(['message', 'get', messageId]))
|
|
14418
|
-
.filter(Boolean)
|
|
14419
|
-
.map(({ data }) => data)) !== null && _a !== void 0 ? _a : [], params);
|
|
14420
|
-
callback({
|
|
14421
|
-
onNextPage: onFetch,
|
|
14422
|
-
data: messages,
|
|
14423
|
-
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
14424
|
-
loading: data.loading,
|
|
14425
|
-
error: data.error,
|
|
14426
|
-
});
|
|
14427
|
-
};
|
|
14428
|
-
const realtimeRouter = (action) => (message) => {
|
|
14429
|
-
var _a, _b, _c;
|
|
14430
|
-
const collection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
14431
|
-
if (params.subChannelId !== (message === null || message === void 0 ? void 0 : message.subChannelId) || !collection)
|
|
14432
|
-
return;
|
|
14433
|
-
// /*
|
|
14434
|
-
// * check if RTE message event payload is with the params in order to update in the colleciton cache
|
|
14435
|
-
// */
|
|
14436
|
-
if (params.dataType && params.dataType !== message.dataType)
|
|
14437
|
-
return;
|
|
14438
|
-
if (params.excludeTags && ((_b = params.excludeTags) === null || _b === void 0 ? void 0 : _b.some(value => { var _a; return (_a = message.tags) === null || _a === void 0 ? void 0 : _a.includes(value); })))
|
|
14439
|
-
return;
|
|
14440
|
-
if (!!params.hasFlags !== !!message.flagCount)
|
|
14441
|
-
return;
|
|
14442
|
-
if (params.parentId && params.parentId !== message.parentId)
|
|
14443
|
-
return;
|
|
14444
|
-
if (params.hasOwnProperty('includeDeleted') && !params.includeDeleted && message.isDeleted)
|
|
14445
|
-
return;
|
|
14446
|
-
if (params.tags && !((_c = params.tags) === null || _c === void 0 ? void 0 : _c.some(value => { var _a; return (_a = message.tags) === null || _a === void 0 ? void 0 : _a.includes(value); })))
|
|
14447
|
-
return;
|
|
14448
|
-
if (!collection.data.includes(message.messageId) && action === 'onCreate') {
|
|
14449
|
-
collection.data = [...new Set([message.messageId, ...collection.data])];
|
|
14450
|
-
}
|
|
14451
|
-
pushToCache(cacheKey, collection);
|
|
14452
|
-
responder(collection);
|
|
14453
|
-
};
|
|
14454
|
-
const onFetch = (initial = false) => {
|
|
14455
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
14456
|
-
const collection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
14457
|
-
const messages = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
14458
|
-
if (!initial && messages.length > 0 && !((_d = (_c = collection === null || collection === void 0 ? void 0 : collection.params) === null || _c === void 0 ? void 0 : _c.paging) === null || _d === void 0 ? void 0 : _d.next))
|
|
14459
|
-
return;
|
|
14460
|
-
const query = createQuery(queryMessages, Object.assign(Object.assign({}, queryParams), { page: (_e = (!initial ? collection === null || collection === void 0 ? void 0 : collection.params.page : undefined)) !== null && _e !== void 0 ? _e : { limit }, pageToken: (_g = (_f = collection === null || collection === void 0 ? void 0 : collection.params) === null || _f === void 0 ? void 0 : _f.paging) === null || _g === void 0 ? void 0 : _g.next }));
|
|
14461
|
-
runQuery(query, ({ data: result, error, loading, nextPage: page, paging }) => {
|
|
14462
|
-
const data = {
|
|
14463
|
-
loading,
|
|
14464
|
-
error,
|
|
14465
|
-
params: { page, paging },
|
|
14466
|
-
data: messages,
|
|
14467
|
-
};
|
|
14468
|
-
if (result) {
|
|
14469
|
-
data.data = [...new Set([...messages, ...result.map(getResolver('message'))])];
|
|
14470
|
-
}
|
|
14471
|
-
pushToCache(cacheKey, data);
|
|
14472
|
-
responder(data);
|
|
14473
|
-
}, queryOptions(policy, CACHE_SHORTEN_LIFESPAN));
|
|
14474
|
-
};
|
|
14475
|
-
disposers.push(onMessageFetched(realtimeRouter('onFetch')), onMessageCreated(realtimeRouter('onCreate')), onMessageUpdated(realtimeRouter('onUpdate')), onMessageDeleted(realtimeRouter('onDelete')), onMessageFlagged(realtimeRouter('onFlagged')), onMessageUnflagged(realtimeRouter('onUnflagged')), onMessageFlagCleared(realtimeRouter('onFlagCleared')), onMessageReactionAdded(realtimeRouter('onReactionAdded')), onMessageReactionRemoved(realtimeRouter('onReactionRemoved')), convertEventPayload(onMessageMarkerFetched, 'contentId', 'message')(realtimeRouter('onUpdate')), convertEventPayload(onMessageMarked, 'contentId', 'message')(realtimeRouter('onUpdate')));
|
|
14476
|
-
onFetch(true);
|
|
14477
|
-
disposers.push(() => dropFromCache(cacheKey));
|
|
14739
|
+
const messagesLiveCollection = new MessageLiveCollectionController(params, callback);
|
|
14740
|
+
const disposers = messagesLiveCollection.startSubscription();
|
|
14741
|
+
const cacheKey = messagesLiveCollection.getCacheKey();
|
|
14742
|
+
disposers.push(() => {
|
|
14743
|
+
dropFromCache(cacheKey);
|
|
14744
|
+
});
|
|
14478
14745
|
return () => {
|
|
14479
14746
|
log(`getMessages(tmpid: ${timestamp}) > dispose`);
|
|
14480
14747
|
disposers.forEach(fn => fn());
|
|
@@ -16893,7 +17160,7 @@ const getCategory = async (categoryId) => {
|
|
|
16893
17160
|
ingestInCache(data, { cachedAt });
|
|
16894
17161
|
const { categories } = data;
|
|
16895
17162
|
return {
|
|
16896
|
-
data:
|
|
17163
|
+
data: LinkedObject.category(categories.find(category => category.categoryId === categoryId)),
|
|
16897
17164
|
cachedAt,
|
|
16898
17165
|
};
|
|
16899
17166
|
};
|
|
@@ -16920,25 +17187,11 @@ getCategory.locally = (categoryId) => {
|
|
|
16920
17187
|
if (!cached)
|
|
16921
17188
|
return;
|
|
16922
17189
|
return {
|
|
16923
|
-
data: cached.data,
|
|
17190
|
+
data: LinkedObject.category(cached.data),
|
|
16924
17191
|
cachedAt: cached.cachedAt,
|
|
16925
17192
|
};
|
|
16926
17193
|
};
|
|
16927
17194
|
|
|
16928
|
-
/**
|
|
16929
|
-
* ```js
|
|
16930
|
-
* import { queryCategories } from '@amityco/ts-sdk-react-native'
|
|
16931
|
-
* const { data: categories, prevPage, nextPage } = await queryCategories()
|
|
16932
|
-
* ```
|
|
16933
|
-
*
|
|
16934
|
-
* Queries a paginable list of {@link Amity.Category} objects
|
|
16935
|
-
*
|
|
16936
|
-
* @param query The query parameters
|
|
16937
|
-
* @returns A page of {@link Amity.Category} objects
|
|
16938
|
-
*
|
|
16939
|
-
* @category Category API
|
|
16940
|
-
* @async
|
|
16941
|
-
* */
|
|
16942
17195
|
const queryCategories = async (query) => {
|
|
16943
17196
|
const client = getActiveClient();
|
|
16944
17197
|
client.log('category/queryCategories', query);
|
|
@@ -16963,25 +17216,12 @@ const queryCategories = async (query) => {
|
|
|
16963
17216
|
const nextPage = toPage(paging.next);
|
|
16964
17217
|
const prevPage = toPage(paging.previous);
|
|
16965
17218
|
return {
|
|
16966
|
-
data: categories
|
|
17219
|
+
data: categories,
|
|
16967
17220
|
cachedAt,
|
|
16968
17221
|
prevPage,
|
|
16969
17222
|
nextPage,
|
|
16970
17223
|
};
|
|
16971
17224
|
};
|
|
16972
|
-
/**
|
|
16973
|
-
* ```js
|
|
16974
|
-
* import { queryCategories } from '@amityco/ts-sdk-react-native'
|
|
16975
|
-
* const { data: categories, prevPage, nextPage } = queryCategories.locally()
|
|
16976
|
-
* ```
|
|
16977
|
-
*
|
|
16978
|
-
* Queries a paginable list of {@link Amity.Category} objects from cache
|
|
16979
|
-
*
|
|
16980
|
-
* @param query The query parameters
|
|
16981
|
-
* @returns categories
|
|
16982
|
-
*
|
|
16983
|
-
* @category category API
|
|
16984
|
-
*/
|
|
16985
17225
|
queryCategories.locally = (query) => {
|
|
16986
17226
|
var _a, _b;
|
|
16987
17227
|
const client = getActiveClient();
|