@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.esm.js
CHANGED
|
@@ -6,6 +6,7 @@ import axios from 'axios';
|
|
|
6
6
|
import HttpAgent, { HttpsAgent } from 'agentkeepalive';
|
|
7
7
|
import io from 'socket.io-client';
|
|
8
8
|
import uuid$1 from 'react-native-uuid';
|
|
9
|
+
import hash from 'object-hash';
|
|
9
10
|
import Hls from 'hls.js';
|
|
10
11
|
|
|
11
12
|
const CommunityPostSettings = Object.freeze({
|
|
@@ -83,8 +84,8 @@ const PostContentType = Object.freeze({
|
|
|
83
84
|
|
|
84
85
|
function getVersion() {
|
|
85
86
|
try {
|
|
86
|
-
// the string ''v6.
|
|
87
|
-
return 'v6.
|
|
87
|
+
// the string ''v6.14.0-esm'' should be replaced by actual value by @rollup/plugin-replace
|
|
88
|
+
return 'v6.14.0-esm';
|
|
88
89
|
}
|
|
89
90
|
catch (error) {
|
|
90
91
|
return '__dev__';
|
|
@@ -21667,14 +21668,24 @@ function convertParams(_a) {
|
|
|
21667
21668
|
return Object.assign({ messageFeedId: subChannelId, mentionedUsers: mentionees, dataType, data }, rest);
|
|
21668
21669
|
}
|
|
21669
21670
|
function convertQueryParams$1(_a) {
|
|
21670
|
-
var {
|
|
21671
|
-
const out = Object.assign(Object.assign({}, rest), { messageFeedId: subChannelId, isDeleted: inferIsDeleted(includeDeleted), options: {
|
|
21672
|
-
|
|
21673
|
-
|
|
21674
|
-
|
|
21671
|
+
var { sortBy, subChannelId, tags, includingTags, excludingTags, includeDeleted, aroundMessageId, limit, type } = _a, rest = __rest(_a, ["sortBy", "subChannelId", "tags", "includingTags", "excludingTags", "includeDeleted", "aroundMessageId", "limit", "type"]);
|
|
21672
|
+
const out = Object.assign(Object.assign({}, rest), { messageFeedId: subChannelId, isDeleted: inferIsDeleted(includeDeleted), options: {
|
|
21673
|
+
sortBy,
|
|
21674
|
+
limit: limit || COLLECTION_DEFAULT_PAGINATION_LIMIT,
|
|
21675
|
+
around: aroundMessageId,
|
|
21676
|
+
} });
|
|
21675
21677
|
if (tags) {
|
|
21676
21678
|
out.includeTags = tags;
|
|
21677
21679
|
}
|
|
21680
|
+
if (includingTags) {
|
|
21681
|
+
out.includeTags = includingTags;
|
|
21682
|
+
}
|
|
21683
|
+
if (type) {
|
|
21684
|
+
out.dataType = type;
|
|
21685
|
+
}
|
|
21686
|
+
if (excludingTags) {
|
|
21687
|
+
out.excludeTags = excludingTags;
|
|
21688
|
+
}
|
|
21678
21689
|
return out;
|
|
21679
21690
|
}
|
|
21680
21691
|
|
|
@@ -23425,6 +23436,17 @@ function isEqual(x, y) {
|
|
|
23425
23436
|
if (Array.isArray(x) && x.length !== y.length) {
|
|
23426
23437
|
return false;
|
|
23427
23438
|
}
|
|
23439
|
+
// check each element of the array for equality
|
|
23440
|
+
if (Array.isArray(x) && Array.isArray(y)) {
|
|
23441
|
+
if (x.length !== y.length)
|
|
23442
|
+
return false;
|
|
23443
|
+
for (let i = 0; i < x.length; i += 1) {
|
|
23444
|
+
if (!isEqual(x[i], y[i]))
|
|
23445
|
+
return false;
|
|
23446
|
+
}
|
|
23447
|
+
// if all elements are equal, the arrays are equal
|
|
23448
|
+
return true;
|
|
23449
|
+
}
|
|
23428
23450
|
// if they are dates, they must had equal valueOf
|
|
23429
23451
|
if (x instanceof Date) {
|
|
23430
23452
|
return false;
|
|
@@ -24595,9 +24617,7 @@ const queryChannels = async (query) => {
|
|
|
24595
24617
|
// API-FIX: backend doesn't answer Amity.Response
|
|
24596
24618
|
// const { data } = await client.http.get<Amity.Response<Amity.Paged<ChannelPayload>>>(
|
|
24597
24619
|
const { data: queryPayload } = await client.http.get(`/api/v3/channels`, {
|
|
24598
|
-
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
|
|
24599
|
-
token: page,
|
|
24600
|
-
} }),
|
|
24620
|
+
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: page ? { token: page } : { limit } }),
|
|
24601
24621
|
});
|
|
24602
24622
|
const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
|
|
24603
24623
|
const data = await prepareChannelPayload(payload);
|
|
@@ -24713,7 +24733,8 @@ const getChannels = (params, callback, config) => {
|
|
|
24713
24733
|
const channels = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
24714
24734
|
if (!initial && channels.length > 0 && !(collection === null || collection === void 0 ? void 0 : collection.params.page))
|
|
24715
24735
|
return;
|
|
24716
|
-
const
|
|
24736
|
+
const pagingCondition = initial ? { limit } : { page: collection === null || collection === void 0 ? void 0 : collection.params.page };
|
|
24737
|
+
const query = createQuery(queryChannels, Object.assign(Object.assign({}, queryParams), pagingCondition));
|
|
24717
24738
|
runQuery(query, ({ data: result, error, loading, paging }) => {
|
|
24718
24739
|
const data = {
|
|
24719
24740
|
loading,
|
|
@@ -24782,6 +24803,8 @@ const getChannels = (params, callback, config) => {
|
|
|
24782
24803
|
}, 'channelId', 'channel')(realtimeRouter()), convertEventPayload((callback) => {
|
|
24783
24804
|
const updateMessagePreview = async (message) => {
|
|
24784
24805
|
const messagePreviewSetting = await getMessagePreviewSetting();
|
|
24806
|
+
if (messagePreviewSetting === "no-message-preview" /* Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW */)
|
|
24807
|
+
return;
|
|
24785
24808
|
if (messagePreviewSetting === "message-preview-include-deleted" /* Amity.MessagePreviewSetting.MESSAGE_PREVIEW_INCLUDE_DELETED */)
|
|
24786
24809
|
await handleMessageUpdated(message);
|
|
24787
24810
|
if (shouldAbort(message.channelId))
|
|
@@ -24994,7 +25017,7 @@ queryChannelMembers.locally = (query) => {
|
|
|
24994
25017
|
* Exported for testing
|
|
24995
25018
|
* @hidden
|
|
24996
25019
|
*/
|
|
24997
|
-
const applyFilter$
|
|
25020
|
+
const applyFilter$2 = (data, params) => {
|
|
24998
25021
|
let channelMembers = filterByPropIntersection(data, 'roles', params.roles);
|
|
24999
25022
|
if (params.memberships) {
|
|
25000
25023
|
/*
|
|
@@ -25069,7 +25092,7 @@ const getMembers$1 = (params, callback, config) => {
|
|
|
25069
25092
|
/*
|
|
25070
25093
|
* Only apply filter to RTE Model
|
|
25071
25094
|
*/
|
|
25072
|
-
data: isEventModel ? applyFilter$
|
|
25095
|
+
data: isEventModel ? applyFilter$2(channelMembers, params) : channelMembers,
|
|
25073
25096
|
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
25074
25097
|
loading: data.loading,
|
|
25075
25098
|
error: data.error,
|
|
@@ -25159,7 +25182,7 @@ var index$j = /*#__PURE__*/Object.freeze({
|
|
|
25159
25182
|
__proto__: null,
|
|
25160
25183
|
addMembers: addMembers$1,
|
|
25161
25184
|
removeMembers: removeMembers$1,
|
|
25162
|
-
applyFilter: applyFilter$
|
|
25185
|
+
applyFilter: applyFilter$2,
|
|
25163
25186
|
getMembers: getMembers$1,
|
|
25164
25187
|
searchMembers: searchMembers
|
|
25165
25188
|
});
|
|
@@ -25791,7 +25814,7 @@ const unBlockUser = async (userId) => {
|
|
|
25791
25814
|
* ```
|
|
25792
25815
|
*
|
|
25793
25816
|
* @param query The query parameters
|
|
25794
|
-
* @returns A page of {@link Amity.
|
|
25817
|
+
* @returns A page of {@link Amity.User} objects
|
|
25795
25818
|
*
|
|
25796
25819
|
* @category Block API
|
|
25797
25820
|
* @async
|
|
@@ -25829,11 +25852,11 @@ const queryBlockedUsers = async (query) => {
|
|
|
25829
25852
|
* const { data: users } = queryBlockedUsers.locally({ page: 'page_token' })
|
|
25830
25853
|
* ```
|
|
25831
25854
|
*
|
|
25832
|
-
* Queries a paginable list of {@link Amity.
|
|
25855
|
+
* Queries a paginable list of {@link Amity.User} objects from cache
|
|
25833
25856
|
* Search is performed by displayName such as `.startsWith(search)`
|
|
25834
25857
|
*
|
|
25835
25858
|
* @param query The query parameters
|
|
25836
|
-
* @returns A page of {@link Amity.
|
|
25859
|
+
* @returns A page of {@link Amity.User} objects
|
|
25837
25860
|
*
|
|
25838
25861
|
* @category Block API
|
|
25839
25862
|
*/
|
|
@@ -27085,11 +27108,11 @@ getUserByIds.locally = (userIds) => {
|
|
|
27085
27108
|
* const updated = await updateUser(userId, { displayName: 'foobar' })
|
|
27086
27109
|
* ```
|
|
27087
27110
|
*
|
|
27088
|
-
* Updates an {@link Amity.
|
|
27111
|
+
* Updates an {@link Amity.User}
|
|
27089
27112
|
*
|
|
27090
|
-
* @param userId The ID of the {@link Amity.
|
|
27113
|
+
* @param userId The ID of the {@link Amity.User} to update
|
|
27091
27114
|
* @param patch The patch data to apply
|
|
27092
|
-
* @returns the updated {@link Amity.
|
|
27115
|
+
* @returns the updated {@link Amity.User} object
|
|
27093
27116
|
*
|
|
27094
27117
|
* @category User API
|
|
27095
27118
|
* @async
|
|
@@ -27292,7 +27315,7 @@ const onUserFetched = (callback) => createUserEventSubscriber('user.fetched', ca
|
|
|
27292
27315
|
* @category Private
|
|
27293
27316
|
* @async
|
|
27294
27317
|
*/
|
|
27295
|
-
const getUser$
|
|
27318
|
+
const getUser$2 = async (userId) => {
|
|
27296
27319
|
const client = getActiveClient();
|
|
27297
27320
|
client.log('user/getUser', userId);
|
|
27298
27321
|
isInTombstone('user', userId);
|
|
@@ -27313,7 +27336,7 @@ const getUser$1 = async (userId) => {
|
|
|
27313
27336
|
const { users } = data;
|
|
27314
27337
|
fireEvent('user.fetched', data);
|
|
27315
27338
|
return {
|
|
27316
|
-
data:
|
|
27339
|
+
data: users.find(user => user.userId === userId),
|
|
27317
27340
|
cachedAt,
|
|
27318
27341
|
};
|
|
27319
27342
|
};
|
|
@@ -27330,7 +27353,7 @@ const getUser$1 = async (userId) => {
|
|
|
27330
27353
|
*
|
|
27331
27354
|
* @category User API
|
|
27332
27355
|
*/
|
|
27333
|
-
getUser$
|
|
27356
|
+
getUser$2.locally = (userId) => {
|
|
27334
27357
|
const client = getActiveClient();
|
|
27335
27358
|
client.log('user/getUser.locally', userId);
|
|
27336
27359
|
if (!client.cache)
|
|
@@ -27339,7 +27362,7 @@ getUser$1.locally = (userId) => {
|
|
|
27339
27362
|
if (!cached)
|
|
27340
27363
|
return;
|
|
27341
27364
|
return {
|
|
27342
|
-
data:
|
|
27365
|
+
data: cached.data,
|
|
27343
27366
|
cachedAt: cached.cachedAt,
|
|
27344
27367
|
};
|
|
27345
27368
|
};
|
|
@@ -27358,7 +27381,7 @@ getUser$1.locally = (userId) => {
|
|
|
27358
27381
|
* });
|
|
27359
27382
|
* ```
|
|
27360
27383
|
*
|
|
27361
|
-
* Observe all mutation on a given {@link Amity.
|
|
27384
|
+
* Observe all mutation on a given {@link Amity.User}
|
|
27362
27385
|
*
|
|
27363
27386
|
* @param userId the ID of the user to observe
|
|
27364
27387
|
* @param callback the function to call when new data are available
|
|
@@ -27366,8 +27389,11 @@ getUser$1.locally = (userId) => {
|
|
|
27366
27389
|
*
|
|
27367
27390
|
* @category Message Live Object
|
|
27368
27391
|
*/
|
|
27369
|
-
const getUser = (userId, callback) => {
|
|
27370
|
-
|
|
27392
|
+
const getUser$1 = (userId, callback) => {
|
|
27393
|
+
const reactor = (response) => {
|
|
27394
|
+
return callback(Object.assign(Object.assign({}, response), { data: response.data ? LinkedObject.user(response.data) : response.data }));
|
|
27395
|
+
};
|
|
27396
|
+
return liveObject(userId, reactor, 'userId', getUser$2, [
|
|
27371
27397
|
onUserFetched,
|
|
27372
27398
|
onUserUpdated,
|
|
27373
27399
|
onUserDeleted,
|
|
@@ -27399,10 +27425,7 @@ const queryUsers = async (query = {}) => {
|
|
|
27399
27425
|
const { page, limit = 10, displayName, filter = 'all', sortBy = 'displayName' } = query, params = __rest(query, ["page", "limit", "displayName", "filter", "sortBy"]);
|
|
27400
27426
|
const { data } = await client.http.get(`/api/v3/users`, {
|
|
27401
27427
|
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter,
|
|
27402
|
-
sortBy, options: {
|
|
27403
|
-
token: page,
|
|
27404
|
-
limit,
|
|
27405
|
-
} }),
|
|
27428
|
+
sortBy, options: page ? { token: page } : { limit } }),
|
|
27406
27429
|
});
|
|
27407
27430
|
// unpacking
|
|
27408
27431
|
const { paging } = data, payload = __rest(data, ["paging"]);
|
|
@@ -27423,7 +27446,7 @@ const queryUsers = async (query = {}) => {
|
|
|
27423
27446
|
}
|
|
27424
27447
|
fireEvent('user.fetched', data);
|
|
27425
27448
|
return {
|
|
27426
|
-
data: users
|
|
27449
|
+
data: users,
|
|
27427
27450
|
cachedAt,
|
|
27428
27451
|
paging,
|
|
27429
27452
|
};
|
|
@@ -27461,7 +27484,7 @@ queryUsers.locally = (query = {}) => {
|
|
|
27461
27484
|
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 : [];
|
|
27462
27485
|
return users.length > 0 && users.length === ((_c = data === null || data === void 0 ? void 0 : data.users) === null || _c === void 0 ? void 0 : _c.length)
|
|
27463
27486
|
? {
|
|
27464
|
-
data: users
|
|
27487
|
+
data: users,
|
|
27465
27488
|
cachedAt,
|
|
27466
27489
|
paging: data === null || data === void 0 ? void 0 : data.paging,
|
|
27467
27490
|
}
|
|
@@ -27472,7 +27495,7 @@ queryUsers.locally = (query = {}) => {
|
|
|
27472
27495
|
* Exported for testing
|
|
27473
27496
|
* @hidden
|
|
27474
27497
|
*/
|
|
27475
|
-
const applyFilter$
|
|
27498
|
+
const applyFilter$1 = (data, params) => {
|
|
27476
27499
|
let users = filterByStringComparePartially(data, 'displayName', params.displayName);
|
|
27477
27500
|
switch (params.sortBy) {
|
|
27478
27501
|
case 'firstCreated':
|
|
@@ -27533,7 +27556,7 @@ const getUsers = (params, callback, config) => {
|
|
|
27533
27556
|
/*
|
|
27534
27557
|
* Only apply filter to RTE Model
|
|
27535
27558
|
*/
|
|
27536
|
-
data: isEventModel ? applyFilter$
|
|
27559
|
+
data: isEventModel ? applyFilter$1(users, params) : users,
|
|
27537
27560
|
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
27538
27561
|
loading: data.loading,
|
|
27539
27562
|
error: data.error,
|
|
@@ -27554,7 +27577,8 @@ const getUsers = (params, callback, config) => {
|
|
|
27554
27577
|
const users = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
27555
27578
|
if (!initial && users.length > 0 && !(collection === null || collection === void 0 ? void 0 : collection.params.page))
|
|
27556
27579
|
return;
|
|
27557
|
-
const
|
|
27580
|
+
const pagingCondition = initial ? { limit } : { page: collection === null || collection === void 0 ? void 0 : collection.params.page };
|
|
27581
|
+
const query = createQuery(queryUsers, Object.assign(Object.assign({}, queryParams), pagingCondition));
|
|
27558
27582
|
runQuery(query, ({ data: result, error, loading, paging }) => {
|
|
27559
27583
|
const data = {
|
|
27560
27584
|
loading,
|
|
@@ -27580,6 +27604,72 @@ const getUsers = (params, callback, config) => {
|
|
|
27580
27604
|
};
|
|
27581
27605
|
/* end_public_function */
|
|
27582
27606
|
|
|
27607
|
+
/**
|
|
27608
|
+
* ```js
|
|
27609
|
+
* import { getUser } from '~/user/api'
|
|
27610
|
+
* const { data: user } = await getUser('foobar')
|
|
27611
|
+
* ```
|
|
27612
|
+
*
|
|
27613
|
+
* Fetches a {@link Amity.User} object
|
|
27614
|
+
*
|
|
27615
|
+
* @param userId the ID of the {@link Amity.User} to fetch
|
|
27616
|
+
* @returns the associated {@link Amity.User} object
|
|
27617
|
+
*
|
|
27618
|
+
* @category Private
|
|
27619
|
+
* @async
|
|
27620
|
+
*/
|
|
27621
|
+
const getUser = async (userId) => {
|
|
27622
|
+
const client = getActiveClient();
|
|
27623
|
+
client.log('user/getUser', userId);
|
|
27624
|
+
isInTombstone('user', userId);
|
|
27625
|
+
let data;
|
|
27626
|
+
try {
|
|
27627
|
+
const response = await client.http.get(`/api/v3/users/${encodeURIComponent(userId)}`);
|
|
27628
|
+
data = response.data;
|
|
27629
|
+
}
|
|
27630
|
+
catch (error) {
|
|
27631
|
+
if (checkIfShouldGoesToTombstone(error === null || error === void 0 ? void 0 : error.code)) {
|
|
27632
|
+
pushToTombstone('user', userId);
|
|
27633
|
+
}
|
|
27634
|
+
throw error;
|
|
27635
|
+
}
|
|
27636
|
+
const cachedAt = client.cache && Date.now();
|
|
27637
|
+
if (client.cache)
|
|
27638
|
+
ingestInCache(data, { cachedAt });
|
|
27639
|
+
const { users } = data;
|
|
27640
|
+
fireEvent('user.fetched', data);
|
|
27641
|
+
return {
|
|
27642
|
+
data: LinkedObject.user(users.find(user => user.userId === userId)),
|
|
27643
|
+
cachedAt,
|
|
27644
|
+
};
|
|
27645
|
+
};
|
|
27646
|
+
/**
|
|
27647
|
+
* ```js
|
|
27648
|
+
* import { getUser } from '@amityco/ts-sdk-react-native'
|
|
27649
|
+
* const { data: user } = getUser.locally('foobar')
|
|
27650
|
+
* ```
|
|
27651
|
+
*
|
|
27652
|
+
* Fetches a {@link Amity.User} object from cache
|
|
27653
|
+
*
|
|
27654
|
+
* @param userId the ID of the {@link Amity.User} to fetch
|
|
27655
|
+
* @returns the associated {@link Amity.User} object
|
|
27656
|
+
*
|
|
27657
|
+
* @category User API
|
|
27658
|
+
*/
|
|
27659
|
+
getUser.locally = (userId) => {
|
|
27660
|
+
const client = getActiveClient();
|
|
27661
|
+
client.log('user/getUser.locally', userId);
|
|
27662
|
+
if (!client.cache)
|
|
27663
|
+
return;
|
|
27664
|
+
const cached = pullFromCache(['user', 'get', userId]);
|
|
27665
|
+
if (!cached)
|
|
27666
|
+
return;
|
|
27667
|
+
return {
|
|
27668
|
+
data: LinkedObject.user(cached.data),
|
|
27669
|
+
cachedAt: cached.cachedAt,
|
|
27670
|
+
};
|
|
27671
|
+
};
|
|
27672
|
+
|
|
27583
27673
|
/**
|
|
27584
27674
|
* ```js
|
|
27585
27675
|
* import { observeUser } from '@amityco/ts-sdk-react-native'
|
|
@@ -27614,7 +27704,7 @@ const observeUser = (userId, callback) => {
|
|
|
27614
27704
|
};
|
|
27615
27705
|
const disposers = [];
|
|
27616
27706
|
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')));
|
|
27617
|
-
runQuery(createQuery(getUser
|
|
27707
|
+
runQuery(createQuery(getUser, userId), result => result.data && router(result, 'onFetch'));
|
|
27618
27708
|
return () => {
|
|
27619
27709
|
log(`observeUser(tmpid: ${timestamp}) > dispose`);
|
|
27620
27710
|
disposers.forEach(fn => fn());
|
|
@@ -27739,7 +27829,7 @@ var index$e = /*#__PURE__*/Object.freeze({
|
|
|
27739
27829
|
onUserFlagged: onUserFlagged,
|
|
27740
27830
|
onUserUnflagged: onUserUnflagged,
|
|
27741
27831
|
onUserFlagCleared: onUserFlagCleared,
|
|
27742
|
-
getUser: getUser,
|
|
27832
|
+
getUser: getUser$1,
|
|
27743
27833
|
getUsers: getUsers,
|
|
27744
27834
|
observeUser: observeUser,
|
|
27745
27835
|
getBlockedUsers: getBlockedUsers$1,
|
|
@@ -30351,103 +30441,343 @@ const getMessage = (messageId, callback) => {
|
|
|
30351
30441
|
};
|
|
30352
30442
|
/* end_public_function */
|
|
30353
30443
|
|
|
30444
|
+
class PaginationController {
|
|
30445
|
+
constructor(queryParams) {
|
|
30446
|
+
const { http } = getActiveClient();
|
|
30447
|
+
this.queryParams = queryParams;
|
|
30448
|
+
this.http = http;
|
|
30449
|
+
}
|
|
30450
|
+
loadFirstPage() {
|
|
30451
|
+
return this.onFetch("first" /* Amity.LiveCollectionPageDirection.FIRST */);
|
|
30452
|
+
}
|
|
30453
|
+
loadNextPage() {
|
|
30454
|
+
return this.onFetch("next" /* Amity.LiveCollectionPageDirection.NEXT */);
|
|
30455
|
+
}
|
|
30456
|
+
loadPreviousPage() {
|
|
30457
|
+
return this.onFetch("prev" /* Amity.LiveCollectionPageDirection.PREV */);
|
|
30458
|
+
}
|
|
30459
|
+
async onFetch(direction = "first" /* Amity.LiveCollectionPageDirection.FIRST */) {
|
|
30460
|
+
var _a, _b, _c, _d;
|
|
30461
|
+
if (direction === 'prev' && !this.previousToken)
|
|
30462
|
+
return;
|
|
30463
|
+
if (direction === 'next' && !this.nextToken)
|
|
30464
|
+
return;
|
|
30465
|
+
let token;
|
|
30466
|
+
if (direction === 'prev')
|
|
30467
|
+
token = this.previousToken;
|
|
30468
|
+
if (direction === 'next')
|
|
30469
|
+
token = this.nextToken;
|
|
30470
|
+
const queryResponse = await this.getRequest(this.queryParams, token);
|
|
30471
|
+
if (direction === 'first') {
|
|
30472
|
+
this.nextToken = (_a = queryResponse.paging) === null || _a === void 0 ? void 0 : _a.next;
|
|
30473
|
+
this.previousToken = (_b = queryResponse.paging) === null || _b === void 0 ? void 0 : _b.previous;
|
|
30474
|
+
}
|
|
30475
|
+
if (direction === 'prev')
|
|
30476
|
+
this.previousToken = (_c = queryResponse.paging) === null || _c === void 0 ? void 0 : _c.previous;
|
|
30477
|
+
if (direction === 'next')
|
|
30478
|
+
this.nextToken = (_d = queryResponse.paging) === null || _d === void 0 ? void 0 : _d.next;
|
|
30479
|
+
return queryResponse;
|
|
30480
|
+
}
|
|
30481
|
+
getNextToken() {
|
|
30482
|
+
return this.nextToken;
|
|
30483
|
+
}
|
|
30484
|
+
getPrevToken() {
|
|
30485
|
+
return this.previousToken;
|
|
30486
|
+
}
|
|
30487
|
+
}
|
|
30488
|
+
|
|
30489
|
+
/* eslint-disable no-use-before-define */
|
|
30354
30490
|
/**
|
|
30355
|
-
*
|
|
30356
|
-
*
|
|
30357
|
-
* const messages = await queryMessages({ channelId })
|
|
30358
|
-
* ```
|
|
30359
|
-
*
|
|
30360
|
-
* Queries a paginable list of {@link Amity.Message} objects
|
|
30361
|
-
*
|
|
30362
|
-
* @param query The query parameters
|
|
30363
|
-
* @returns A page of {@link Amity.Message} objects
|
|
30364
|
-
*
|
|
30365
|
-
* @category Message API
|
|
30366
|
-
* @async
|
|
30491
|
+
* TODO: handle cache receive cache option, and cache policy
|
|
30492
|
+
* TODO: check if querybyIds is supported
|
|
30367
30493
|
*/
|
|
30368
|
-
|
|
30369
|
-
|
|
30370
|
-
|
|
30371
|
-
|
|
30372
|
-
|
|
30373
|
-
|
|
30374
|
-
|
|
30375
|
-
|
|
30376
|
-
|
|
30377
|
-
|
|
30378
|
-
|
|
30379
|
-
|
|
30494
|
+
class MessagePaginationController extends PaginationController {
|
|
30495
|
+
async getRequest(queryParams, token) {
|
|
30496
|
+
const processedQueryParams = convertQueryParams$1(queryParams);
|
|
30497
|
+
const { data: queryResponse } = await this.http.get(`/api/v5/messages`, {
|
|
30498
|
+
params: Object.assign(Object.assign({}, processedQueryParams), { options: token
|
|
30499
|
+
? {
|
|
30500
|
+
token,
|
|
30501
|
+
}
|
|
30502
|
+
: Object.assign({}, processedQueryParams.options) }),
|
|
30503
|
+
});
|
|
30504
|
+
return queryResponse;
|
|
30505
|
+
}
|
|
30506
|
+
}
|
|
30507
|
+
|
|
30508
|
+
class QueryStreamController {
|
|
30509
|
+
constructor(query, cacheKey) {
|
|
30510
|
+
this.query = query;
|
|
30511
|
+
this.cacheKey = cacheKey;
|
|
30512
|
+
}
|
|
30513
|
+
}
|
|
30514
|
+
|
|
30515
|
+
/* eslint-disable no-use-before-define */
|
|
30516
|
+
class MessageQueryStreamController extends QueryStreamController {
|
|
30517
|
+
constructor(query, cacheKey, notifyChange, preparePayload, paginationController) {
|
|
30518
|
+
super(query, cacheKey);
|
|
30519
|
+
this.notifyChange = notifyChange;
|
|
30520
|
+
this.preparePayload = preparePayload;
|
|
30521
|
+
this.paginationController = paginationController;
|
|
30522
|
+
}
|
|
30523
|
+
async saveToMainDB(response) {
|
|
30524
|
+
const processedPayload = await this.preparePayload(response);
|
|
30525
|
+
const client = getActiveClient();
|
|
30526
|
+
const cachedAt = client.cache && Date.now();
|
|
30527
|
+
if (client.cache) {
|
|
30528
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
30529
|
+
}
|
|
30530
|
+
}
|
|
30531
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
30532
|
+
var _a, _b;
|
|
30533
|
+
if (refresh) {
|
|
30534
|
+
pushToCache(this.cacheKey, {
|
|
30535
|
+
data: response.messages.map(getResolver('message')),
|
|
30536
|
+
});
|
|
30537
|
+
}
|
|
30538
|
+
else {
|
|
30539
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30540
|
+
const messages = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
30541
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: direction === 'next'
|
|
30542
|
+
? [...new Set([...messages, ...response.messages.map(getResolver('message'))])]
|
|
30543
|
+
: [...new Set([...response.messages.map(getResolver('message')), ...messages])] }));
|
|
30544
|
+
}
|
|
30545
|
+
}
|
|
30546
|
+
reactor(action) {
|
|
30547
|
+
return (payload) => {
|
|
30548
|
+
var _a, _b, _c, _d, _e;
|
|
30549
|
+
if (action === 'onCreate') {
|
|
30550
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30551
|
+
if (!collection)
|
|
30552
|
+
return;
|
|
30553
|
+
if (this.query.subChannelId !== (payload === null || payload === void 0 ? void 0 : payload.subChannelId) || !collection)
|
|
30554
|
+
return;
|
|
30555
|
+
if (this.query.type && this.query.type !== payload.dataType)
|
|
30556
|
+
return;
|
|
30557
|
+
if (this.query.dataType && this.query.dataType !== payload.dataType)
|
|
30558
|
+
return;
|
|
30559
|
+
if (this.query.excludingTags &&
|
|
30560
|
+
((_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); })))
|
|
30561
|
+
return;
|
|
30562
|
+
if (this.query.excludeTags &&
|
|
30563
|
+
((_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); })))
|
|
30564
|
+
return;
|
|
30565
|
+
if (!!this.query.hasFlags !== !!payload.flagCount)
|
|
30566
|
+
return;
|
|
30567
|
+
if (this.query.parentId && this.query.parentId !== payload.parentId)
|
|
30568
|
+
return;
|
|
30569
|
+
if (this.query.hasOwnProperty('includeDeleted') &&
|
|
30570
|
+
!this.query.includeDeleted &&
|
|
30571
|
+
payload.isDeleted)
|
|
30572
|
+
return;
|
|
30573
|
+
if (this.query.includingTags &&
|
|
30574
|
+
!((_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); })))
|
|
30575
|
+
return;
|
|
30576
|
+
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); })))
|
|
30577
|
+
return;
|
|
30578
|
+
if ((!this.query.sortBy || this.query.sortBy === 'segmentDesc') &&
|
|
30579
|
+
!this.paginationController.getPrevToken()) {
|
|
30580
|
+
collection.data = [...new Set([payload.messageId, ...collection.data])];
|
|
30581
|
+
}
|
|
30582
|
+
if (this.query.sortBy === 'segmentAsc' && !this.paginationController.getNextToken()) {
|
|
30583
|
+
collection.data = [...new Set([...collection.data, payload.messageId])];
|
|
30584
|
+
}
|
|
30585
|
+
pushToCache(this.cacheKey, collection);
|
|
30380
30586
|
}
|
|
30381
|
-
:
|
|
30382
|
-
|
|
30383
|
-
// API-FIX: backend should answer Amity.Response (2)
|
|
30384
|
-
// const { paging, messages } = unwrapPayload(data)
|
|
30385
|
-
const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
|
|
30386
|
-
const data = await prepareMessagePayload(payload);
|
|
30387
|
-
const { messages } = data;
|
|
30388
|
-
const cachedAt = client.cache && Date.now();
|
|
30389
|
-
if (client.cache) {
|
|
30390
|
-
/*
|
|
30391
|
-
* queryMessages.locally is unsupported for messages as message list updates
|
|
30392
|
-
* frequently and leads to bugs when user switches between channels, i.e. when
|
|
30393
|
-
* the public function (live messages) calls unmount. The list fetched on
|
|
30394
|
-
* after from the cache is stale.
|
|
30395
|
-
*/
|
|
30396
|
-
ingestInCache(data, { cachedAt });
|
|
30397
|
-
const cacheKey = ['message', 'query', Object.assign({}, params)];
|
|
30398
|
-
pushToCache(cacheKey, { messages: messages.map(getResolver('message')), paging });
|
|
30587
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
30588
|
+
};
|
|
30399
30589
|
}
|
|
30400
|
-
|
|
30401
|
-
|
|
30402
|
-
|
|
30403
|
-
|
|
30404
|
-
};
|
|
30405
|
-
/* end_public_function */
|
|
30590
|
+
subscribeRTE(createSubscriber) {
|
|
30591
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
30592
|
+
}
|
|
30593
|
+
}
|
|
30406
30594
|
|
|
30407
|
-
|
|
30408
|
-
|
|
30409
|
-
|
|
30410
|
-
|
|
30411
|
-
|
|
30412
|
-
|
|
30413
|
-
|
|
30414
|
-
|
|
30415
|
-
|
|
30416
|
-
|
|
30417
|
-
|
|
30418
|
-
return
|
|
30595
|
+
class LiveCollectionController {
|
|
30596
|
+
constructor(paginationController, queryStreamId, cacheKey, callback) {
|
|
30597
|
+
this.paginationController = paginationController;
|
|
30598
|
+
this.queryStreamId = queryStreamId;
|
|
30599
|
+
this.cacheKey = cacheKey;
|
|
30600
|
+
this.callback = callback;
|
|
30601
|
+
}
|
|
30602
|
+
async refresh() {
|
|
30603
|
+
try {
|
|
30604
|
+
const result = await this.paginationController.loadFirstPage();
|
|
30605
|
+
if (!result)
|
|
30606
|
+
return;
|
|
30607
|
+
await this.persistModel(result);
|
|
30608
|
+
this.persistQueryStream({
|
|
30609
|
+
response: result,
|
|
30610
|
+
direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */,
|
|
30611
|
+
refresh: true,
|
|
30419
30612
|
});
|
|
30613
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
30420
30614
|
}
|
|
30421
|
-
|
|
30422
|
-
|
|
30423
|
-
|
|
30424
|
-
|
|
30425
|
-
|
|
30426
|
-
|
|
30427
|
-
|
|
30428
|
-
|
|
30615
|
+
catch (e) {
|
|
30616
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
30617
|
+
}
|
|
30618
|
+
}
|
|
30619
|
+
loadPage(initial = false, direction = "next" /* Amity.LiveCollectionPageDirection.NEXT */) {
|
|
30620
|
+
this.setup();
|
|
30621
|
+
this.notifyChange({ origin: "local" /* Amity.LiveDataOrigin.LOCAL */, loading: true });
|
|
30622
|
+
if (initial) {
|
|
30623
|
+
this.refresh();
|
|
30624
|
+
}
|
|
30625
|
+
else if (direction === "prev" /* Amity.LiveCollectionPageDirection.PREV */) {
|
|
30626
|
+
this.loadPrevPage();
|
|
30627
|
+
}
|
|
30628
|
+
else if (direction === "next" /* Amity.LiveCollectionPageDirection.NEXT */) {
|
|
30629
|
+
this.loadNextPage();
|
|
30630
|
+
}
|
|
30631
|
+
}
|
|
30632
|
+
async loadNextPage() {
|
|
30633
|
+
try {
|
|
30634
|
+
const result = await this.paginationController.loadNextPage();
|
|
30635
|
+
if (!result)
|
|
30636
|
+
return;
|
|
30637
|
+
await this.persistModel(result);
|
|
30638
|
+
this.persistQueryStream({
|
|
30639
|
+
response: result,
|
|
30640
|
+
direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */,
|
|
30429
30641
|
});
|
|
30642
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
30643
|
+
}
|
|
30644
|
+
catch (e) {
|
|
30645
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
30430
30646
|
}
|
|
30647
|
+
}
|
|
30648
|
+
async loadPrevPage() {
|
|
30649
|
+
try {
|
|
30650
|
+
const result = await this.paginationController.loadPreviousPage();
|
|
30651
|
+
if (!result)
|
|
30652
|
+
return;
|
|
30653
|
+
await this.persistModel(result);
|
|
30654
|
+
this.persistQueryStream({
|
|
30655
|
+
response: result,
|
|
30656
|
+
direction: "prev" /* Amity.LiveCollectionPageDirection.PREV */,
|
|
30657
|
+
});
|
|
30658
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
30659
|
+
}
|
|
30660
|
+
catch (e) {
|
|
30661
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
30662
|
+
}
|
|
30663
|
+
}
|
|
30664
|
+
shouldNotify(data) {
|
|
30665
|
+
if (isEqual(this.snapshot, data))
|
|
30666
|
+
return false;
|
|
30667
|
+
this.snapshot = data;
|
|
30431
30668
|
return true;
|
|
30432
|
-
});
|
|
30433
|
-
/*
|
|
30434
|
-
* for cases when message is deleted via RTE, this flag is used to get
|
|
30435
|
-
* items from cache that are !deleted
|
|
30436
|
-
*/
|
|
30437
|
-
if (!params.includeDeleted) {
|
|
30438
|
-
messages = filterByPropEquality(messages, 'isDeleted', false);
|
|
30439
30669
|
}
|
|
30440
|
-
|
|
30441
|
-
|
|
30442
|
-
|
|
30670
|
+
getCacheKey() {
|
|
30671
|
+
return this.cacheKey;
|
|
30672
|
+
}
|
|
30673
|
+
}
|
|
30674
|
+
|
|
30675
|
+
class MessageLiveCollectionController extends LiveCollectionController {
|
|
30676
|
+
constructor(query, callback) {
|
|
30677
|
+
const queryStreamId = hash(query);
|
|
30678
|
+
const cacheKey = ['message', 'collection', queryStreamId];
|
|
30679
|
+
const paginationController = new MessagePaginationController(query);
|
|
30680
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
30681
|
+
this.query = query;
|
|
30682
|
+
this.queryStreamController = new MessageQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), prepareMessagePayload, this.paginationController);
|
|
30683
|
+
this.callback = callback.bind(this);
|
|
30684
|
+
this.loadPage(true);
|
|
30685
|
+
}
|
|
30686
|
+
setup() {
|
|
30687
|
+
var _a;
|
|
30688
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30689
|
+
if (!collection) {
|
|
30690
|
+
pushToCache(this.cacheKey, {
|
|
30691
|
+
data: [],
|
|
30692
|
+
});
|
|
30443
30693
|
}
|
|
30444
|
-
|
|
30445
|
-
|
|
30694
|
+
}
|
|
30695
|
+
async persistModel(response) {
|
|
30696
|
+
await this.queryStreamController.saveToMainDB(response);
|
|
30697
|
+
}
|
|
30698
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
30699
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
30700
|
+
}
|
|
30701
|
+
startSubscription() {
|
|
30702
|
+
return this.queryStreamController.subscribeRTE([
|
|
30703
|
+
{ fn: onMessageCreated, action: 'onCreate' },
|
|
30704
|
+
{ fn: onMessageDeleted, action: 'onDelete' },
|
|
30705
|
+
{ fn: onMessageUpdated, action: 'onUpdate' },
|
|
30706
|
+
{ fn: onMessageFlagged, action: 'onFlagged' },
|
|
30707
|
+
{ fn: onMessageUnflagged, action: 'onUnflagged' },
|
|
30708
|
+
{ fn: onMessageFlagCleared, action: 'onFlagCleared' },
|
|
30709
|
+
{ fn: onMessageReactionAdded, action: 'onReactionAdded' },
|
|
30710
|
+
{ fn: onMessageReactionRemoved, action: 'onReactionRemoved' },
|
|
30711
|
+
{
|
|
30712
|
+
fn: convertEventPayload(onMessageMarkerFetched, 'contentId', 'message'),
|
|
30713
|
+
action: 'onUpdate',
|
|
30714
|
+
},
|
|
30715
|
+
{ fn: convertEventPayload(onMessageMarked, 'contentId', 'message'), action: 'onUpdate' },
|
|
30716
|
+
]);
|
|
30717
|
+
}
|
|
30718
|
+
notifyChange({ origin, loading, error }) {
|
|
30719
|
+
var _a, _b;
|
|
30720
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30721
|
+
if (!collection)
|
|
30722
|
+
return;
|
|
30723
|
+
const data = this.applyFilter((_b = collection.data
|
|
30724
|
+
.map(messageId => pullFromCache(['message', 'get', messageId]))
|
|
30725
|
+
.filter(Boolean)
|
|
30726
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []);
|
|
30727
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
30728
|
+
return;
|
|
30729
|
+
this.callback({
|
|
30730
|
+
onNextPage: () => this.loadPage(false, "next" /* Amity.LiveCollectionPageDirection.NEXT */),
|
|
30731
|
+
onPrevPage: () => this.loadPage(false, "prev" /* Amity.LiveCollectionPageDirection.PREV */),
|
|
30732
|
+
data,
|
|
30733
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
30734
|
+
hasPrevPage: !!this.paginationController.getPrevToken(),
|
|
30735
|
+
loading,
|
|
30736
|
+
error,
|
|
30737
|
+
});
|
|
30738
|
+
}
|
|
30739
|
+
applyFilter(data) {
|
|
30740
|
+
let messages = data;
|
|
30741
|
+
messages = messages.filter(m => {
|
|
30742
|
+
if (this.query.tags) {
|
|
30743
|
+
return this.query.tags.find(value => {
|
|
30744
|
+
if (!m.tags)
|
|
30745
|
+
return false;
|
|
30746
|
+
return m.tags.includes(value);
|
|
30747
|
+
});
|
|
30748
|
+
}
|
|
30749
|
+
return true;
|
|
30750
|
+
});
|
|
30751
|
+
messages = messages.filter(m => {
|
|
30752
|
+
if (this.query.excludeTags) {
|
|
30753
|
+
return (this.query.excludeTags || []).find(value => {
|
|
30754
|
+
if (!m.tags)
|
|
30755
|
+
return true;
|
|
30756
|
+
return !m.tags.includes(value);
|
|
30757
|
+
});
|
|
30758
|
+
}
|
|
30759
|
+
return true;
|
|
30760
|
+
});
|
|
30761
|
+
/*
|
|
30762
|
+
* for cases when message is deleted via RTE, this flag is used to get
|
|
30763
|
+
* items from cache that are !deleted
|
|
30764
|
+
*/
|
|
30765
|
+
if (!this.query.includeDeleted) {
|
|
30766
|
+
messages = filterByPropEquality(messages, 'isDeleted', false);
|
|
30446
30767
|
}
|
|
30447
|
-
|
|
30448
|
-
|
|
30449
|
-
|
|
30450
|
-
}
|
|
30768
|
+
messages = messages.sort((message1, message2) => {
|
|
30769
|
+
if (this.query.sortBy === 'segmentAsc') {
|
|
30770
|
+
return message1.channelSegment - message2.channelSegment;
|
|
30771
|
+
}
|
|
30772
|
+
if (this.query.sortBy === 'segmentDesc') {
|
|
30773
|
+
return message2.channelSegment - message1.channelSegment;
|
|
30774
|
+
}
|
|
30775
|
+
return 0;
|
|
30776
|
+
});
|
|
30777
|
+
return messages;
|
|
30778
|
+
}
|
|
30779
|
+
}
|
|
30780
|
+
|
|
30451
30781
|
/* begin_public_function
|
|
30452
30782
|
id: message.query
|
|
30453
30783
|
*/
|
|
@@ -30477,76 +30807,12 @@ const getMessages = (params, callback, config) => {
|
|
|
30477
30807
|
}
|
|
30478
30808
|
const timestamp = Date.now();
|
|
30479
30809
|
log(`getMessages(tmpid: ${timestamp}) > listen`);
|
|
30480
|
-
const
|
|
30481
|
-
const
|
|
30482
|
-
const
|
|
30483
|
-
|
|
30484
|
-
|
|
30485
|
-
|
|
30486
|
-
const responder = (data) => {
|
|
30487
|
-
var _a, _b;
|
|
30488
|
-
const messages = applyFilter$1((_a = data.data
|
|
30489
|
-
.map(messageId => pullFromCache(['message', 'get', messageId]))
|
|
30490
|
-
.filter(Boolean)
|
|
30491
|
-
.map(({ data }) => data)) !== null && _a !== void 0 ? _a : [], params);
|
|
30492
|
-
callback({
|
|
30493
|
-
onNextPage: onFetch,
|
|
30494
|
-
data: messages,
|
|
30495
|
-
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
30496
|
-
loading: data.loading,
|
|
30497
|
-
error: data.error,
|
|
30498
|
-
});
|
|
30499
|
-
};
|
|
30500
|
-
const realtimeRouter = (action) => (message) => {
|
|
30501
|
-
var _a, _b, _c;
|
|
30502
|
-
const collection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30503
|
-
if (params.subChannelId !== (message === null || message === void 0 ? void 0 : message.subChannelId) || !collection)
|
|
30504
|
-
return;
|
|
30505
|
-
// /*
|
|
30506
|
-
// * check if RTE message event payload is with the params in order to update in the colleciton cache
|
|
30507
|
-
// */
|
|
30508
|
-
if (params.dataType && params.dataType !== message.dataType)
|
|
30509
|
-
return;
|
|
30510
|
-
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); })))
|
|
30511
|
-
return;
|
|
30512
|
-
if (!!params.hasFlags !== !!message.flagCount)
|
|
30513
|
-
return;
|
|
30514
|
-
if (params.parentId && params.parentId !== message.parentId)
|
|
30515
|
-
return;
|
|
30516
|
-
if (params.hasOwnProperty('includeDeleted') && !params.includeDeleted && message.isDeleted)
|
|
30517
|
-
return;
|
|
30518
|
-
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); })))
|
|
30519
|
-
return;
|
|
30520
|
-
if (!collection.data.includes(message.messageId) && action === 'onCreate') {
|
|
30521
|
-
collection.data = [...new Set([message.messageId, ...collection.data])];
|
|
30522
|
-
}
|
|
30523
|
-
pushToCache(cacheKey, collection);
|
|
30524
|
-
responder(collection);
|
|
30525
|
-
};
|
|
30526
|
-
const onFetch = (initial = false) => {
|
|
30527
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
30528
|
-
const collection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30529
|
-
const messages = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
30530
|
-
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))
|
|
30531
|
-
return;
|
|
30532
|
-
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 }));
|
|
30533
|
-
runQuery(query, ({ data: result, error, loading, nextPage: page, paging }) => {
|
|
30534
|
-
const data = {
|
|
30535
|
-
loading,
|
|
30536
|
-
error,
|
|
30537
|
-
params: { page, paging },
|
|
30538
|
-
data: messages,
|
|
30539
|
-
};
|
|
30540
|
-
if (result) {
|
|
30541
|
-
data.data = [...new Set([...messages, ...result.map(getResolver('message'))])];
|
|
30542
|
-
}
|
|
30543
|
-
pushToCache(cacheKey, data);
|
|
30544
|
-
responder(data);
|
|
30545
|
-
}, queryOptions(policy, CACHE_SHORTEN_LIFESPAN));
|
|
30546
|
-
};
|
|
30547
|
-
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')));
|
|
30548
|
-
onFetch(true);
|
|
30549
|
-
disposers.push(() => dropFromCache(cacheKey));
|
|
30810
|
+
const messagesLiveCollection = new MessageLiveCollectionController(params, callback);
|
|
30811
|
+
const disposers = messagesLiveCollection.startSubscription();
|
|
30812
|
+
const cacheKey = messagesLiveCollection.getCacheKey();
|
|
30813
|
+
disposers.push(() => {
|
|
30814
|
+
dropFromCache(cacheKey);
|
|
30815
|
+
});
|
|
30550
30816
|
return () => {
|
|
30551
30817
|
log(`getMessages(tmpid: ${timestamp}) > dispose`);
|
|
30552
30818
|
disposers.forEach(fn => fn());
|
|
@@ -32965,7 +33231,7 @@ const getCategory = async (categoryId) => {
|
|
|
32965
33231
|
ingestInCache(data, { cachedAt });
|
|
32966
33232
|
const { categories } = data;
|
|
32967
33233
|
return {
|
|
32968
|
-
data:
|
|
33234
|
+
data: LinkedObject.category(categories.find(category => category.categoryId === categoryId)),
|
|
32969
33235
|
cachedAt,
|
|
32970
33236
|
};
|
|
32971
33237
|
};
|
|
@@ -32992,25 +33258,11 @@ getCategory.locally = (categoryId) => {
|
|
|
32992
33258
|
if (!cached)
|
|
32993
33259
|
return;
|
|
32994
33260
|
return {
|
|
32995
|
-
data: cached.data,
|
|
33261
|
+
data: LinkedObject.category(cached.data),
|
|
32996
33262
|
cachedAt: cached.cachedAt,
|
|
32997
33263
|
};
|
|
32998
33264
|
};
|
|
32999
33265
|
|
|
33000
|
-
/**
|
|
33001
|
-
* ```js
|
|
33002
|
-
* import { queryCategories } from '@amityco/ts-sdk-react-native'
|
|
33003
|
-
* const { data: categories, prevPage, nextPage } = await queryCategories()
|
|
33004
|
-
* ```
|
|
33005
|
-
*
|
|
33006
|
-
* Queries a paginable list of {@link Amity.Category} objects
|
|
33007
|
-
*
|
|
33008
|
-
* @param query The query parameters
|
|
33009
|
-
* @returns A page of {@link Amity.Category} objects
|
|
33010
|
-
*
|
|
33011
|
-
* @category Category API
|
|
33012
|
-
* @async
|
|
33013
|
-
* */
|
|
33014
33266
|
const queryCategories = async (query) => {
|
|
33015
33267
|
const client = getActiveClient();
|
|
33016
33268
|
client.log('category/queryCategories', query);
|
|
@@ -33035,25 +33287,12 @@ const queryCategories = async (query) => {
|
|
|
33035
33287
|
const nextPage = toPage(paging.next);
|
|
33036
33288
|
const prevPage = toPage(paging.previous);
|
|
33037
33289
|
return {
|
|
33038
|
-
data: categories
|
|
33290
|
+
data: categories,
|
|
33039
33291
|
cachedAt,
|
|
33040
33292
|
prevPage,
|
|
33041
33293
|
nextPage,
|
|
33042
33294
|
};
|
|
33043
33295
|
};
|
|
33044
|
-
/**
|
|
33045
|
-
* ```js
|
|
33046
|
-
* import { queryCategories } from '@amityco/ts-sdk-react-native'
|
|
33047
|
-
* const { data: categories, prevPage, nextPage } = queryCategories.locally()
|
|
33048
|
-
* ```
|
|
33049
|
-
*
|
|
33050
|
-
* Queries a paginable list of {@link Amity.Category} objects from cache
|
|
33051
|
-
*
|
|
33052
|
-
* @param query The query parameters
|
|
33053
|
-
* @returns categories
|
|
33054
|
-
*
|
|
33055
|
-
* @category category API
|
|
33056
|
-
*/
|
|
33057
33296
|
queryCategories.locally = (query) => {
|
|
33058
33297
|
var _a, _b;
|
|
33059
33298
|
const client = getActiveClient();
|