@amityco/ts-sdk 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 +5 -3
- 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__';
|
|
@@ -21659,14 +21660,24 @@ function convertParams(_a) {
|
|
|
21659
21660
|
return Object.assign({ messageFeedId: subChannelId, mentionedUsers: mentionees, dataType, data }, rest);
|
|
21660
21661
|
}
|
|
21661
21662
|
function convertQueryParams$1(_a) {
|
|
21662
|
-
var {
|
|
21663
|
-
const out = Object.assign(Object.assign({}, rest), { messageFeedId: subChannelId, isDeleted: inferIsDeleted(includeDeleted), options: {
|
|
21664
|
-
|
|
21665
|
-
|
|
21666
|
-
|
|
21663
|
+
var { sortBy, subChannelId, tags, includingTags, excludingTags, includeDeleted, aroundMessageId, limit, type } = _a, rest = __rest(_a, ["sortBy", "subChannelId", "tags", "includingTags", "excludingTags", "includeDeleted", "aroundMessageId", "limit", "type"]);
|
|
21664
|
+
const out = Object.assign(Object.assign({}, rest), { messageFeedId: subChannelId, isDeleted: inferIsDeleted(includeDeleted), options: {
|
|
21665
|
+
sortBy,
|
|
21666
|
+
limit: limit || COLLECTION_DEFAULT_PAGINATION_LIMIT,
|
|
21667
|
+
around: aroundMessageId,
|
|
21668
|
+
} });
|
|
21667
21669
|
if (tags) {
|
|
21668
21670
|
out.includeTags = tags;
|
|
21669
21671
|
}
|
|
21672
|
+
if (includingTags) {
|
|
21673
|
+
out.includeTags = includingTags;
|
|
21674
|
+
}
|
|
21675
|
+
if (type) {
|
|
21676
|
+
out.dataType = type;
|
|
21677
|
+
}
|
|
21678
|
+
if (excludingTags) {
|
|
21679
|
+
out.excludeTags = excludingTags;
|
|
21680
|
+
}
|
|
21670
21681
|
return out;
|
|
21671
21682
|
}
|
|
21672
21683
|
|
|
@@ -23402,6 +23413,17 @@ function isEqual(x, y) {
|
|
|
23402
23413
|
if (Array.isArray(x) && x.length !== y.length) {
|
|
23403
23414
|
return false;
|
|
23404
23415
|
}
|
|
23416
|
+
// check each element of the array for equality
|
|
23417
|
+
if (Array.isArray(x) && Array.isArray(y)) {
|
|
23418
|
+
if (x.length !== y.length)
|
|
23419
|
+
return false;
|
|
23420
|
+
for (let i = 0; i < x.length; i += 1) {
|
|
23421
|
+
if (!isEqual(x[i], y[i]))
|
|
23422
|
+
return false;
|
|
23423
|
+
}
|
|
23424
|
+
// if all elements are equal, the arrays are equal
|
|
23425
|
+
return true;
|
|
23426
|
+
}
|
|
23405
23427
|
// if they are dates, they must had equal valueOf
|
|
23406
23428
|
if (x instanceof Date) {
|
|
23407
23429
|
return false;
|
|
@@ -24572,9 +24594,7 @@ const queryChannels = async (query) => {
|
|
|
24572
24594
|
// API-FIX: backend doesn't answer Amity.Response
|
|
24573
24595
|
// const { data } = await client.http.get<Amity.Response<Amity.Paged<ChannelPayload>>>(
|
|
24574
24596
|
const { data: queryPayload } = await client.http.get(`/api/v3/channels`, {
|
|
24575
|
-
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: {
|
|
24576
|
-
token: page,
|
|
24577
|
-
} }),
|
|
24597
|
+
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter: membership, options: page ? { token: page } : { limit } }),
|
|
24578
24598
|
});
|
|
24579
24599
|
const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
|
|
24580
24600
|
const data = await prepareChannelPayload(payload);
|
|
@@ -24690,7 +24710,8 @@ const getChannels = (params, callback, config) => {
|
|
|
24690
24710
|
const channels = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
24691
24711
|
if (!initial && channels.length > 0 && !(collection === null || collection === void 0 ? void 0 : collection.params.page))
|
|
24692
24712
|
return;
|
|
24693
|
-
const
|
|
24713
|
+
const pagingCondition = initial ? { limit } : { page: collection === null || collection === void 0 ? void 0 : collection.params.page };
|
|
24714
|
+
const query = createQuery(queryChannels, Object.assign(Object.assign({}, queryParams), pagingCondition));
|
|
24694
24715
|
runQuery(query, ({ data: result, error, loading, paging }) => {
|
|
24695
24716
|
const data = {
|
|
24696
24717
|
loading,
|
|
@@ -24759,6 +24780,8 @@ const getChannels = (params, callback, config) => {
|
|
|
24759
24780
|
}, 'channelId', 'channel')(realtimeRouter()), convertEventPayload((callback) => {
|
|
24760
24781
|
const updateMessagePreview = async (message) => {
|
|
24761
24782
|
const messagePreviewSetting = await getMessagePreviewSetting();
|
|
24783
|
+
if (messagePreviewSetting === "no-message-preview" /* Amity.MessagePreviewSetting.NO_MESSAGE_PREVIEW */)
|
|
24784
|
+
return;
|
|
24762
24785
|
if (messagePreviewSetting === "message-preview-include-deleted" /* Amity.MessagePreviewSetting.MESSAGE_PREVIEW_INCLUDE_DELETED */)
|
|
24763
24786
|
await handleMessageUpdated(message);
|
|
24764
24787
|
if (shouldAbort(message.channelId))
|
|
@@ -24971,7 +24994,7 @@ queryChannelMembers.locally = (query) => {
|
|
|
24971
24994
|
* Exported for testing
|
|
24972
24995
|
* @hidden
|
|
24973
24996
|
*/
|
|
24974
|
-
const applyFilter$
|
|
24997
|
+
const applyFilter$2 = (data, params) => {
|
|
24975
24998
|
let channelMembers = filterByPropIntersection(data, 'roles', params.roles);
|
|
24976
24999
|
if (params.memberships) {
|
|
24977
25000
|
/*
|
|
@@ -25046,7 +25069,7 @@ const getMembers$1 = (params, callback, config) => {
|
|
|
25046
25069
|
/*
|
|
25047
25070
|
* Only apply filter to RTE Model
|
|
25048
25071
|
*/
|
|
25049
|
-
data: isEventModel ? applyFilter$
|
|
25072
|
+
data: isEventModel ? applyFilter$2(channelMembers, params) : channelMembers,
|
|
25050
25073
|
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
25051
25074
|
loading: data.loading,
|
|
25052
25075
|
error: data.error,
|
|
@@ -25136,7 +25159,7 @@ var index$j = /*#__PURE__*/Object.freeze({
|
|
|
25136
25159
|
__proto__: null,
|
|
25137
25160
|
addMembers: addMembers$1,
|
|
25138
25161
|
removeMembers: removeMembers$1,
|
|
25139
|
-
applyFilter: applyFilter$
|
|
25162
|
+
applyFilter: applyFilter$2,
|
|
25140
25163
|
getMembers: getMembers$1,
|
|
25141
25164
|
searchMembers: searchMembers
|
|
25142
25165
|
});
|
|
@@ -25768,7 +25791,7 @@ const unBlockUser = async (userId) => {
|
|
|
25768
25791
|
* ```
|
|
25769
25792
|
*
|
|
25770
25793
|
* @param query The query parameters
|
|
25771
|
-
* @returns A page of {@link Amity.
|
|
25794
|
+
* @returns A page of {@link Amity.User} objects
|
|
25772
25795
|
*
|
|
25773
25796
|
* @category Block API
|
|
25774
25797
|
* @async
|
|
@@ -25806,11 +25829,11 @@ const queryBlockedUsers = async (query) => {
|
|
|
25806
25829
|
* const { data: users } = queryBlockedUsers.locally({ page: 'page_token' })
|
|
25807
25830
|
* ```
|
|
25808
25831
|
*
|
|
25809
|
-
* Queries a paginable list of {@link Amity.
|
|
25832
|
+
* Queries a paginable list of {@link Amity.User} objects from cache
|
|
25810
25833
|
* Search is performed by displayName such as `.startsWith(search)`
|
|
25811
25834
|
*
|
|
25812
25835
|
* @param query The query parameters
|
|
25813
|
-
* @returns A page of {@link Amity.
|
|
25836
|
+
* @returns A page of {@link Amity.User} objects
|
|
25814
25837
|
*
|
|
25815
25838
|
* @category Block API
|
|
25816
25839
|
*/
|
|
@@ -27062,11 +27085,11 @@ getUserByIds.locally = (userIds) => {
|
|
|
27062
27085
|
* const updated = await updateUser(userId, { displayName: 'foobar' })
|
|
27063
27086
|
* ```
|
|
27064
27087
|
*
|
|
27065
|
-
* Updates an {@link Amity.
|
|
27088
|
+
* Updates an {@link Amity.User}
|
|
27066
27089
|
*
|
|
27067
|
-
* @param userId The ID of the {@link Amity.
|
|
27090
|
+
* @param userId The ID of the {@link Amity.User} to update
|
|
27068
27091
|
* @param patch The patch data to apply
|
|
27069
|
-
* @returns the updated {@link Amity.
|
|
27092
|
+
* @returns the updated {@link Amity.User} object
|
|
27070
27093
|
*
|
|
27071
27094
|
* @category User API
|
|
27072
27095
|
* @async
|
|
@@ -27269,7 +27292,7 @@ const onUserFetched = (callback) => createUserEventSubscriber('user.fetched', ca
|
|
|
27269
27292
|
* @category Private
|
|
27270
27293
|
* @async
|
|
27271
27294
|
*/
|
|
27272
|
-
const getUser$
|
|
27295
|
+
const getUser$2 = async (userId) => {
|
|
27273
27296
|
const client = getActiveClient();
|
|
27274
27297
|
client.log('user/getUser', userId);
|
|
27275
27298
|
isInTombstone('user', userId);
|
|
@@ -27290,7 +27313,7 @@ const getUser$1 = async (userId) => {
|
|
|
27290
27313
|
const { users } = data;
|
|
27291
27314
|
fireEvent('user.fetched', data);
|
|
27292
27315
|
return {
|
|
27293
|
-
data:
|
|
27316
|
+
data: users.find(user => user.userId === userId),
|
|
27294
27317
|
cachedAt,
|
|
27295
27318
|
};
|
|
27296
27319
|
};
|
|
@@ -27307,7 +27330,7 @@ const getUser$1 = async (userId) => {
|
|
|
27307
27330
|
*
|
|
27308
27331
|
* @category User API
|
|
27309
27332
|
*/
|
|
27310
|
-
getUser$
|
|
27333
|
+
getUser$2.locally = (userId) => {
|
|
27311
27334
|
const client = getActiveClient();
|
|
27312
27335
|
client.log('user/getUser.locally', userId);
|
|
27313
27336
|
if (!client.cache)
|
|
@@ -27316,7 +27339,7 @@ getUser$1.locally = (userId) => {
|
|
|
27316
27339
|
if (!cached)
|
|
27317
27340
|
return;
|
|
27318
27341
|
return {
|
|
27319
|
-
data:
|
|
27342
|
+
data: cached.data,
|
|
27320
27343
|
cachedAt: cached.cachedAt,
|
|
27321
27344
|
};
|
|
27322
27345
|
};
|
|
@@ -27335,7 +27358,7 @@ getUser$1.locally = (userId) => {
|
|
|
27335
27358
|
* });
|
|
27336
27359
|
* ```
|
|
27337
27360
|
*
|
|
27338
|
-
* Observe all mutation on a given {@link Amity.
|
|
27361
|
+
* Observe all mutation on a given {@link Amity.User}
|
|
27339
27362
|
*
|
|
27340
27363
|
* @param userId the ID of the user to observe
|
|
27341
27364
|
* @param callback the function to call when new data are available
|
|
@@ -27343,8 +27366,11 @@ getUser$1.locally = (userId) => {
|
|
|
27343
27366
|
*
|
|
27344
27367
|
* @category Message Live Object
|
|
27345
27368
|
*/
|
|
27346
|
-
const getUser = (userId, callback) => {
|
|
27347
|
-
|
|
27369
|
+
const getUser$1 = (userId, callback) => {
|
|
27370
|
+
const reactor = (response) => {
|
|
27371
|
+
return callback(Object.assign(Object.assign({}, response), { data: response.data ? LinkedObject.user(response.data) : response.data }));
|
|
27372
|
+
};
|
|
27373
|
+
return liveObject(userId, reactor, 'userId', getUser$2, [
|
|
27348
27374
|
onUserFetched,
|
|
27349
27375
|
onUserUpdated,
|
|
27350
27376
|
onUserDeleted,
|
|
@@ -27376,10 +27402,7 @@ const queryUsers = async (query = {}) => {
|
|
|
27376
27402
|
const { page, limit = 10, displayName, filter = 'all', sortBy = 'displayName' } = query, params = __rest(query, ["page", "limit", "displayName", "filter", "sortBy"]);
|
|
27377
27403
|
const { data } = await client.http.get(`/api/v3/users`, {
|
|
27378
27404
|
params: Object.assign(Object.assign({}, params), { keyword: displayName, filter,
|
|
27379
|
-
sortBy, options: {
|
|
27380
|
-
token: page,
|
|
27381
|
-
limit,
|
|
27382
|
-
} }),
|
|
27405
|
+
sortBy, options: page ? { token: page } : { limit } }),
|
|
27383
27406
|
});
|
|
27384
27407
|
// unpacking
|
|
27385
27408
|
const { paging } = data, payload = __rest(data, ["paging"]);
|
|
@@ -27400,7 +27423,7 @@ const queryUsers = async (query = {}) => {
|
|
|
27400
27423
|
}
|
|
27401
27424
|
fireEvent('user.fetched', data);
|
|
27402
27425
|
return {
|
|
27403
|
-
data: users
|
|
27426
|
+
data: users,
|
|
27404
27427
|
cachedAt,
|
|
27405
27428
|
paging,
|
|
27406
27429
|
};
|
|
@@ -27438,7 +27461,7 @@ queryUsers.locally = (query = {}) => {
|
|
|
27438
27461
|
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 : [];
|
|
27439
27462
|
return users.length > 0 && users.length === ((_c = data === null || data === void 0 ? void 0 : data.users) === null || _c === void 0 ? void 0 : _c.length)
|
|
27440
27463
|
? {
|
|
27441
|
-
data: users
|
|
27464
|
+
data: users,
|
|
27442
27465
|
cachedAt,
|
|
27443
27466
|
paging: data === null || data === void 0 ? void 0 : data.paging,
|
|
27444
27467
|
}
|
|
@@ -27449,7 +27472,7 @@ queryUsers.locally = (query = {}) => {
|
|
|
27449
27472
|
* Exported for testing
|
|
27450
27473
|
* @hidden
|
|
27451
27474
|
*/
|
|
27452
|
-
const applyFilter$
|
|
27475
|
+
const applyFilter$1 = (data, params) => {
|
|
27453
27476
|
let users = filterByStringComparePartially(data, 'displayName', params.displayName);
|
|
27454
27477
|
switch (params.sortBy) {
|
|
27455
27478
|
case 'firstCreated':
|
|
@@ -27510,7 +27533,7 @@ const getUsers = (params, callback, config) => {
|
|
|
27510
27533
|
/*
|
|
27511
27534
|
* Only apply filter to RTE Model
|
|
27512
27535
|
*/
|
|
27513
|
-
data: isEventModel ? applyFilter$
|
|
27536
|
+
data: isEventModel ? applyFilter$1(users, params) : users,
|
|
27514
27537
|
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
27515
27538
|
loading: data.loading,
|
|
27516
27539
|
error: data.error,
|
|
@@ -27531,7 +27554,8 @@ const getUsers = (params, callback, config) => {
|
|
|
27531
27554
|
const users = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
27532
27555
|
if (!initial && users.length > 0 && !(collection === null || collection === void 0 ? void 0 : collection.params.page))
|
|
27533
27556
|
return;
|
|
27534
|
-
const
|
|
27557
|
+
const pagingCondition = initial ? { limit } : { page: collection === null || collection === void 0 ? void 0 : collection.params.page };
|
|
27558
|
+
const query = createQuery(queryUsers, Object.assign(Object.assign({}, queryParams), pagingCondition));
|
|
27535
27559
|
runQuery(query, ({ data: result, error, loading, paging }) => {
|
|
27536
27560
|
const data = {
|
|
27537
27561
|
loading,
|
|
@@ -27557,6 +27581,72 @@ const getUsers = (params, callback, config) => {
|
|
|
27557
27581
|
};
|
|
27558
27582
|
/* end_public_function */
|
|
27559
27583
|
|
|
27584
|
+
/**
|
|
27585
|
+
* ```js
|
|
27586
|
+
* import { getUser } from '~/user/api'
|
|
27587
|
+
* const { data: user } = await getUser('foobar')
|
|
27588
|
+
* ```
|
|
27589
|
+
*
|
|
27590
|
+
* Fetches a {@link Amity.User} object
|
|
27591
|
+
*
|
|
27592
|
+
* @param userId the ID of the {@link Amity.User} to fetch
|
|
27593
|
+
* @returns the associated {@link Amity.User} object
|
|
27594
|
+
*
|
|
27595
|
+
* @category Private
|
|
27596
|
+
* @async
|
|
27597
|
+
*/
|
|
27598
|
+
const getUser = async (userId) => {
|
|
27599
|
+
const client = getActiveClient();
|
|
27600
|
+
client.log('user/getUser', userId);
|
|
27601
|
+
isInTombstone('user', userId);
|
|
27602
|
+
let data;
|
|
27603
|
+
try {
|
|
27604
|
+
const response = await client.http.get(`/api/v3/users/${encodeURIComponent(userId)}`);
|
|
27605
|
+
data = response.data;
|
|
27606
|
+
}
|
|
27607
|
+
catch (error) {
|
|
27608
|
+
if (checkIfShouldGoesToTombstone(error === null || error === void 0 ? void 0 : error.code)) {
|
|
27609
|
+
pushToTombstone('user', userId);
|
|
27610
|
+
}
|
|
27611
|
+
throw error;
|
|
27612
|
+
}
|
|
27613
|
+
const cachedAt = client.cache && Date.now();
|
|
27614
|
+
if (client.cache)
|
|
27615
|
+
ingestInCache(data, { cachedAt });
|
|
27616
|
+
const { users } = data;
|
|
27617
|
+
fireEvent('user.fetched', data);
|
|
27618
|
+
return {
|
|
27619
|
+
data: LinkedObject.user(users.find(user => user.userId === userId)),
|
|
27620
|
+
cachedAt,
|
|
27621
|
+
};
|
|
27622
|
+
};
|
|
27623
|
+
/**
|
|
27624
|
+
* ```js
|
|
27625
|
+
* import { getUser } from '@amityco/ts-sdk'
|
|
27626
|
+
* const { data: user } = getUser.locally('foobar')
|
|
27627
|
+
* ```
|
|
27628
|
+
*
|
|
27629
|
+
* Fetches a {@link Amity.User} object from cache
|
|
27630
|
+
*
|
|
27631
|
+
* @param userId the ID of the {@link Amity.User} to fetch
|
|
27632
|
+
* @returns the associated {@link Amity.User} object
|
|
27633
|
+
*
|
|
27634
|
+
* @category User API
|
|
27635
|
+
*/
|
|
27636
|
+
getUser.locally = (userId) => {
|
|
27637
|
+
const client = getActiveClient();
|
|
27638
|
+
client.log('user/getUser.locally', userId);
|
|
27639
|
+
if (!client.cache)
|
|
27640
|
+
return;
|
|
27641
|
+
const cached = pullFromCache(['user', 'get', userId]);
|
|
27642
|
+
if (!cached)
|
|
27643
|
+
return;
|
|
27644
|
+
return {
|
|
27645
|
+
data: LinkedObject.user(cached.data),
|
|
27646
|
+
cachedAt: cached.cachedAt,
|
|
27647
|
+
};
|
|
27648
|
+
};
|
|
27649
|
+
|
|
27560
27650
|
/**
|
|
27561
27651
|
* ```js
|
|
27562
27652
|
* import { observeUser } from '@amityco/ts-sdk'
|
|
@@ -27591,7 +27681,7 @@ const observeUser = (userId, callback) => {
|
|
|
27591
27681
|
};
|
|
27592
27682
|
const disposers = [];
|
|
27593
27683
|
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')));
|
|
27594
|
-
runQuery(createQuery(getUser
|
|
27684
|
+
runQuery(createQuery(getUser, userId), result => result.data && router(result, 'onFetch'));
|
|
27595
27685
|
return () => {
|
|
27596
27686
|
log(`observeUser(tmpid: ${timestamp}) > dispose`);
|
|
27597
27687
|
disposers.forEach(fn => fn());
|
|
@@ -27716,7 +27806,7 @@ var index$e = /*#__PURE__*/Object.freeze({
|
|
|
27716
27806
|
onUserFlagged: onUserFlagged,
|
|
27717
27807
|
onUserUnflagged: onUserUnflagged,
|
|
27718
27808
|
onUserFlagCleared: onUserFlagCleared,
|
|
27719
|
-
getUser: getUser,
|
|
27809
|
+
getUser: getUser$1,
|
|
27720
27810
|
getUsers: getUsers,
|
|
27721
27811
|
observeUser: observeUser,
|
|
27722
27812
|
getBlockedUsers: getBlockedUsers$1,
|
|
@@ -30328,103 +30418,343 @@ const getMessage = (messageId, callback) => {
|
|
|
30328
30418
|
};
|
|
30329
30419
|
/* end_public_function */
|
|
30330
30420
|
|
|
30421
|
+
class PaginationController {
|
|
30422
|
+
constructor(queryParams) {
|
|
30423
|
+
const { http } = getActiveClient();
|
|
30424
|
+
this.queryParams = queryParams;
|
|
30425
|
+
this.http = http;
|
|
30426
|
+
}
|
|
30427
|
+
loadFirstPage() {
|
|
30428
|
+
return this.onFetch("first" /* Amity.LiveCollectionPageDirection.FIRST */);
|
|
30429
|
+
}
|
|
30430
|
+
loadNextPage() {
|
|
30431
|
+
return this.onFetch("next" /* Amity.LiveCollectionPageDirection.NEXT */);
|
|
30432
|
+
}
|
|
30433
|
+
loadPreviousPage() {
|
|
30434
|
+
return this.onFetch("prev" /* Amity.LiveCollectionPageDirection.PREV */);
|
|
30435
|
+
}
|
|
30436
|
+
async onFetch(direction = "first" /* Amity.LiveCollectionPageDirection.FIRST */) {
|
|
30437
|
+
var _a, _b, _c, _d;
|
|
30438
|
+
if (direction === 'prev' && !this.previousToken)
|
|
30439
|
+
return;
|
|
30440
|
+
if (direction === 'next' && !this.nextToken)
|
|
30441
|
+
return;
|
|
30442
|
+
let token;
|
|
30443
|
+
if (direction === 'prev')
|
|
30444
|
+
token = this.previousToken;
|
|
30445
|
+
if (direction === 'next')
|
|
30446
|
+
token = this.nextToken;
|
|
30447
|
+
const queryResponse = await this.getRequest(this.queryParams, token);
|
|
30448
|
+
if (direction === 'first') {
|
|
30449
|
+
this.nextToken = (_a = queryResponse.paging) === null || _a === void 0 ? void 0 : _a.next;
|
|
30450
|
+
this.previousToken = (_b = queryResponse.paging) === null || _b === void 0 ? void 0 : _b.previous;
|
|
30451
|
+
}
|
|
30452
|
+
if (direction === 'prev')
|
|
30453
|
+
this.previousToken = (_c = queryResponse.paging) === null || _c === void 0 ? void 0 : _c.previous;
|
|
30454
|
+
if (direction === 'next')
|
|
30455
|
+
this.nextToken = (_d = queryResponse.paging) === null || _d === void 0 ? void 0 : _d.next;
|
|
30456
|
+
return queryResponse;
|
|
30457
|
+
}
|
|
30458
|
+
getNextToken() {
|
|
30459
|
+
return this.nextToken;
|
|
30460
|
+
}
|
|
30461
|
+
getPrevToken() {
|
|
30462
|
+
return this.previousToken;
|
|
30463
|
+
}
|
|
30464
|
+
}
|
|
30465
|
+
|
|
30466
|
+
/* eslint-disable no-use-before-define */
|
|
30331
30467
|
/**
|
|
30332
|
-
*
|
|
30333
|
-
*
|
|
30334
|
-
* const messages = await queryMessages({ channelId })
|
|
30335
|
-
* ```
|
|
30336
|
-
*
|
|
30337
|
-
* Queries a paginable list of {@link Amity.Message} objects
|
|
30338
|
-
*
|
|
30339
|
-
* @param query The query parameters
|
|
30340
|
-
* @returns A page of {@link Amity.Message} objects
|
|
30341
|
-
*
|
|
30342
|
-
* @category Message API
|
|
30343
|
-
* @async
|
|
30468
|
+
* TODO: handle cache receive cache option, and cache policy
|
|
30469
|
+
* TODO: check if querybyIds is supported
|
|
30344
30470
|
*/
|
|
30345
|
-
|
|
30346
|
-
|
|
30347
|
-
|
|
30348
|
-
|
|
30349
|
-
|
|
30350
|
-
|
|
30351
|
-
|
|
30352
|
-
|
|
30353
|
-
|
|
30354
|
-
|
|
30355
|
-
|
|
30356
|
-
|
|
30471
|
+
class MessagePaginationController extends PaginationController {
|
|
30472
|
+
async getRequest(queryParams, token) {
|
|
30473
|
+
const processedQueryParams = convertQueryParams$1(queryParams);
|
|
30474
|
+
const { data: queryResponse } = await this.http.get(`/api/v5/messages`, {
|
|
30475
|
+
params: Object.assign(Object.assign({}, processedQueryParams), { options: token
|
|
30476
|
+
? {
|
|
30477
|
+
token,
|
|
30478
|
+
}
|
|
30479
|
+
: Object.assign({}, processedQueryParams.options) }),
|
|
30480
|
+
});
|
|
30481
|
+
return queryResponse;
|
|
30482
|
+
}
|
|
30483
|
+
}
|
|
30484
|
+
|
|
30485
|
+
class QueryStreamController {
|
|
30486
|
+
constructor(query, cacheKey) {
|
|
30487
|
+
this.query = query;
|
|
30488
|
+
this.cacheKey = cacheKey;
|
|
30489
|
+
}
|
|
30490
|
+
}
|
|
30491
|
+
|
|
30492
|
+
/* eslint-disable no-use-before-define */
|
|
30493
|
+
class MessageQueryStreamController extends QueryStreamController {
|
|
30494
|
+
constructor(query, cacheKey, notifyChange, preparePayload, paginationController) {
|
|
30495
|
+
super(query, cacheKey);
|
|
30496
|
+
this.notifyChange = notifyChange;
|
|
30497
|
+
this.preparePayload = preparePayload;
|
|
30498
|
+
this.paginationController = paginationController;
|
|
30499
|
+
}
|
|
30500
|
+
async saveToMainDB(response) {
|
|
30501
|
+
const processedPayload = await this.preparePayload(response);
|
|
30502
|
+
const client = getActiveClient();
|
|
30503
|
+
const cachedAt = client.cache && Date.now();
|
|
30504
|
+
if (client.cache) {
|
|
30505
|
+
ingestInCache(processedPayload, { cachedAt });
|
|
30506
|
+
}
|
|
30507
|
+
}
|
|
30508
|
+
appendToQueryStream(response, direction, refresh = false) {
|
|
30509
|
+
var _a, _b;
|
|
30510
|
+
if (refresh) {
|
|
30511
|
+
pushToCache(this.cacheKey, {
|
|
30512
|
+
data: response.messages.map(getResolver('message')),
|
|
30513
|
+
});
|
|
30514
|
+
}
|
|
30515
|
+
else {
|
|
30516
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30517
|
+
const messages = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
30518
|
+
pushToCache(this.cacheKey, Object.assign(Object.assign({}, collection), { data: direction === 'next'
|
|
30519
|
+
? [...new Set([...messages, ...response.messages.map(getResolver('message'))])]
|
|
30520
|
+
: [...new Set([...response.messages.map(getResolver('message')), ...messages])] }));
|
|
30521
|
+
}
|
|
30522
|
+
}
|
|
30523
|
+
reactor(action) {
|
|
30524
|
+
return (payload) => {
|
|
30525
|
+
var _a, _b, _c, _d, _e;
|
|
30526
|
+
if (action === 'onCreate') {
|
|
30527
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30528
|
+
if (!collection)
|
|
30529
|
+
return;
|
|
30530
|
+
if (this.query.subChannelId !== (payload === null || payload === void 0 ? void 0 : payload.subChannelId) || !collection)
|
|
30531
|
+
return;
|
|
30532
|
+
if (this.query.type && this.query.type !== payload.dataType)
|
|
30533
|
+
return;
|
|
30534
|
+
if (this.query.dataType && this.query.dataType !== payload.dataType)
|
|
30535
|
+
return;
|
|
30536
|
+
if (this.query.excludingTags &&
|
|
30537
|
+
((_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); })))
|
|
30538
|
+
return;
|
|
30539
|
+
if (this.query.excludeTags &&
|
|
30540
|
+
((_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); })))
|
|
30541
|
+
return;
|
|
30542
|
+
if (!!this.query.hasFlags !== !!payload.flagCount)
|
|
30543
|
+
return;
|
|
30544
|
+
if (this.query.parentId && this.query.parentId !== payload.parentId)
|
|
30545
|
+
return;
|
|
30546
|
+
if (this.query.hasOwnProperty('includeDeleted') &&
|
|
30547
|
+
!this.query.includeDeleted &&
|
|
30548
|
+
payload.isDeleted)
|
|
30549
|
+
return;
|
|
30550
|
+
if (this.query.includingTags &&
|
|
30551
|
+
!((_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); })))
|
|
30552
|
+
return;
|
|
30553
|
+
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); })))
|
|
30554
|
+
return;
|
|
30555
|
+
if ((!this.query.sortBy || this.query.sortBy === 'segmentDesc') &&
|
|
30556
|
+
!this.paginationController.getPrevToken()) {
|
|
30557
|
+
collection.data = [...new Set([payload.messageId, ...collection.data])];
|
|
30558
|
+
}
|
|
30559
|
+
if (this.query.sortBy === 'segmentAsc' && !this.paginationController.getNextToken()) {
|
|
30560
|
+
collection.data = [...new Set([...collection.data, payload.messageId])];
|
|
30561
|
+
}
|
|
30562
|
+
pushToCache(this.cacheKey, collection);
|
|
30357
30563
|
}
|
|
30358
|
-
:
|
|
30359
|
-
|
|
30360
|
-
// API-FIX: backend should answer Amity.Response (2)
|
|
30361
|
-
// const { paging, messages } = unwrapPayload(data)
|
|
30362
|
-
const { paging } = queryPayload, payload = __rest(queryPayload, ["paging"]);
|
|
30363
|
-
const data = await prepareMessagePayload(payload);
|
|
30364
|
-
const { messages } = data;
|
|
30365
|
-
const cachedAt = client.cache && Date.now();
|
|
30366
|
-
if (client.cache) {
|
|
30367
|
-
/*
|
|
30368
|
-
* queryMessages.locally is unsupported for messages as message list updates
|
|
30369
|
-
* frequently and leads to bugs when user switches between channels, i.e. when
|
|
30370
|
-
* the public function (live messages) calls unmount. The list fetched on
|
|
30371
|
-
* after from the cache is stale.
|
|
30372
|
-
*/
|
|
30373
|
-
ingestInCache(data, { cachedAt });
|
|
30374
|
-
const cacheKey = ['message', 'query', Object.assign({}, params)];
|
|
30375
|
-
pushToCache(cacheKey, { messages: messages.map(getResolver('message')), paging });
|
|
30564
|
+
this.notifyChange({ origin: "event" /* Amity.LiveDataOrigin.EVENT */, loading: false });
|
|
30565
|
+
};
|
|
30376
30566
|
}
|
|
30377
|
-
|
|
30378
|
-
|
|
30379
|
-
|
|
30380
|
-
|
|
30381
|
-
};
|
|
30382
|
-
/* end_public_function */
|
|
30567
|
+
subscribeRTE(createSubscriber) {
|
|
30568
|
+
return createSubscriber.map(subscriber => subscriber.fn(this.reactor(subscriber.action)));
|
|
30569
|
+
}
|
|
30570
|
+
}
|
|
30383
30571
|
|
|
30384
|
-
|
|
30385
|
-
|
|
30386
|
-
|
|
30387
|
-
|
|
30388
|
-
|
|
30389
|
-
|
|
30390
|
-
|
|
30391
|
-
|
|
30392
|
-
|
|
30393
|
-
|
|
30394
|
-
|
|
30395
|
-
return
|
|
30572
|
+
class LiveCollectionController {
|
|
30573
|
+
constructor(paginationController, queryStreamId, cacheKey, callback) {
|
|
30574
|
+
this.paginationController = paginationController;
|
|
30575
|
+
this.queryStreamId = queryStreamId;
|
|
30576
|
+
this.cacheKey = cacheKey;
|
|
30577
|
+
this.callback = callback;
|
|
30578
|
+
}
|
|
30579
|
+
async refresh() {
|
|
30580
|
+
try {
|
|
30581
|
+
const result = await this.paginationController.loadFirstPage();
|
|
30582
|
+
if (!result)
|
|
30583
|
+
return;
|
|
30584
|
+
await this.persistModel(result);
|
|
30585
|
+
this.persistQueryStream({
|
|
30586
|
+
response: result,
|
|
30587
|
+
direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */,
|
|
30588
|
+
refresh: true,
|
|
30396
30589
|
});
|
|
30590
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
30397
30591
|
}
|
|
30398
|
-
|
|
30399
|
-
|
|
30400
|
-
|
|
30401
|
-
|
|
30402
|
-
|
|
30403
|
-
|
|
30404
|
-
|
|
30405
|
-
|
|
30592
|
+
catch (e) {
|
|
30593
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
30594
|
+
}
|
|
30595
|
+
}
|
|
30596
|
+
loadPage(initial = false, direction = "next" /* Amity.LiveCollectionPageDirection.NEXT */) {
|
|
30597
|
+
this.setup();
|
|
30598
|
+
this.notifyChange({ origin: "local" /* Amity.LiveDataOrigin.LOCAL */, loading: true });
|
|
30599
|
+
if (initial) {
|
|
30600
|
+
this.refresh();
|
|
30601
|
+
}
|
|
30602
|
+
else if (direction === "prev" /* Amity.LiveCollectionPageDirection.PREV */) {
|
|
30603
|
+
this.loadPrevPage();
|
|
30604
|
+
}
|
|
30605
|
+
else if (direction === "next" /* Amity.LiveCollectionPageDirection.NEXT */) {
|
|
30606
|
+
this.loadNextPage();
|
|
30607
|
+
}
|
|
30608
|
+
}
|
|
30609
|
+
async loadNextPage() {
|
|
30610
|
+
try {
|
|
30611
|
+
const result = await this.paginationController.loadNextPage();
|
|
30612
|
+
if (!result)
|
|
30613
|
+
return;
|
|
30614
|
+
await this.persistModel(result);
|
|
30615
|
+
this.persistQueryStream({
|
|
30616
|
+
response: result,
|
|
30617
|
+
direction: "next" /* Amity.LiveCollectionPageDirection.NEXT */,
|
|
30406
30618
|
});
|
|
30619
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
30620
|
+
}
|
|
30621
|
+
catch (e) {
|
|
30622
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
30407
30623
|
}
|
|
30624
|
+
}
|
|
30625
|
+
async loadPrevPage() {
|
|
30626
|
+
try {
|
|
30627
|
+
const result = await this.paginationController.loadPreviousPage();
|
|
30628
|
+
if (!result)
|
|
30629
|
+
return;
|
|
30630
|
+
await this.persistModel(result);
|
|
30631
|
+
this.persistQueryStream({
|
|
30632
|
+
response: result,
|
|
30633
|
+
direction: "prev" /* Amity.LiveCollectionPageDirection.PREV */,
|
|
30634
|
+
});
|
|
30635
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false });
|
|
30636
|
+
}
|
|
30637
|
+
catch (e) {
|
|
30638
|
+
this.notifyChange({ origin: "server" /* Amity.LiveDataOrigin.SERVER */, loading: false, error: e });
|
|
30639
|
+
}
|
|
30640
|
+
}
|
|
30641
|
+
shouldNotify(data) {
|
|
30642
|
+
if (isEqual(this.snapshot, data))
|
|
30643
|
+
return false;
|
|
30644
|
+
this.snapshot = data;
|
|
30408
30645
|
return true;
|
|
30409
|
-
});
|
|
30410
|
-
/*
|
|
30411
|
-
* for cases when message is deleted via RTE, this flag is used to get
|
|
30412
|
-
* items from cache that are !deleted
|
|
30413
|
-
*/
|
|
30414
|
-
if (!params.includeDeleted) {
|
|
30415
|
-
messages = filterByPropEquality(messages, 'isDeleted', false);
|
|
30416
30646
|
}
|
|
30417
|
-
|
|
30418
|
-
|
|
30419
|
-
|
|
30647
|
+
getCacheKey() {
|
|
30648
|
+
return this.cacheKey;
|
|
30649
|
+
}
|
|
30650
|
+
}
|
|
30651
|
+
|
|
30652
|
+
class MessageLiveCollectionController extends LiveCollectionController {
|
|
30653
|
+
constructor(query, callback) {
|
|
30654
|
+
const queryStreamId = hash(query);
|
|
30655
|
+
const cacheKey = ['message', 'collection', queryStreamId];
|
|
30656
|
+
const paginationController = new MessagePaginationController(query);
|
|
30657
|
+
super(paginationController, queryStreamId, cacheKey, callback);
|
|
30658
|
+
this.query = query;
|
|
30659
|
+
this.queryStreamController = new MessageQueryStreamController(this.query, this.cacheKey, this.notifyChange.bind(this), prepareMessagePayload, this.paginationController);
|
|
30660
|
+
this.callback = callback.bind(this);
|
|
30661
|
+
this.loadPage(true);
|
|
30662
|
+
}
|
|
30663
|
+
setup() {
|
|
30664
|
+
var _a;
|
|
30665
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30666
|
+
if (!collection) {
|
|
30667
|
+
pushToCache(this.cacheKey, {
|
|
30668
|
+
data: [],
|
|
30669
|
+
});
|
|
30420
30670
|
}
|
|
30421
|
-
|
|
30422
|
-
|
|
30671
|
+
}
|
|
30672
|
+
async persistModel(response) {
|
|
30673
|
+
await this.queryStreamController.saveToMainDB(response);
|
|
30674
|
+
}
|
|
30675
|
+
persistQueryStream({ response, direction, refresh, }) {
|
|
30676
|
+
this.queryStreamController.appendToQueryStream(response, direction, refresh);
|
|
30677
|
+
}
|
|
30678
|
+
startSubscription() {
|
|
30679
|
+
return this.queryStreamController.subscribeRTE([
|
|
30680
|
+
{ fn: onMessageCreated, action: 'onCreate' },
|
|
30681
|
+
{ fn: onMessageDeleted, action: 'onDelete' },
|
|
30682
|
+
{ fn: onMessageUpdated, action: 'onUpdate' },
|
|
30683
|
+
{ fn: onMessageFlagged, action: 'onFlagged' },
|
|
30684
|
+
{ fn: onMessageUnflagged, action: 'onUnflagged' },
|
|
30685
|
+
{ fn: onMessageFlagCleared, action: 'onFlagCleared' },
|
|
30686
|
+
{ fn: onMessageReactionAdded, action: 'onReactionAdded' },
|
|
30687
|
+
{ fn: onMessageReactionRemoved, action: 'onReactionRemoved' },
|
|
30688
|
+
{
|
|
30689
|
+
fn: convertEventPayload(onMessageMarkerFetched, 'contentId', 'message'),
|
|
30690
|
+
action: 'onUpdate',
|
|
30691
|
+
},
|
|
30692
|
+
{ fn: convertEventPayload(onMessageMarked, 'contentId', 'message'), action: 'onUpdate' },
|
|
30693
|
+
]);
|
|
30694
|
+
}
|
|
30695
|
+
notifyChange({ origin, loading, error }) {
|
|
30696
|
+
var _a, _b;
|
|
30697
|
+
const collection = (_a = pullFromCache(this.cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30698
|
+
if (!collection)
|
|
30699
|
+
return;
|
|
30700
|
+
const data = this.applyFilter((_b = collection.data
|
|
30701
|
+
.map(messageId => pullFromCache(['message', 'get', messageId]))
|
|
30702
|
+
.filter(Boolean)
|
|
30703
|
+
.map(({ data }) => data)) !== null && _b !== void 0 ? _b : []);
|
|
30704
|
+
if (!this.shouldNotify(data) && origin === 'event')
|
|
30705
|
+
return;
|
|
30706
|
+
this.callback({
|
|
30707
|
+
onNextPage: () => this.loadPage(false, "next" /* Amity.LiveCollectionPageDirection.NEXT */),
|
|
30708
|
+
onPrevPage: () => this.loadPage(false, "prev" /* Amity.LiveCollectionPageDirection.PREV */),
|
|
30709
|
+
data,
|
|
30710
|
+
hasNextPage: !!this.paginationController.getNextToken(),
|
|
30711
|
+
hasPrevPage: !!this.paginationController.getPrevToken(),
|
|
30712
|
+
loading,
|
|
30713
|
+
error,
|
|
30714
|
+
});
|
|
30715
|
+
}
|
|
30716
|
+
applyFilter(data) {
|
|
30717
|
+
let messages = data;
|
|
30718
|
+
messages = messages.filter(m => {
|
|
30719
|
+
if (this.query.tags) {
|
|
30720
|
+
return this.query.tags.find(value => {
|
|
30721
|
+
if (!m.tags)
|
|
30722
|
+
return false;
|
|
30723
|
+
return m.tags.includes(value);
|
|
30724
|
+
});
|
|
30725
|
+
}
|
|
30726
|
+
return true;
|
|
30727
|
+
});
|
|
30728
|
+
messages = messages.filter(m => {
|
|
30729
|
+
if (this.query.excludeTags) {
|
|
30730
|
+
return (this.query.excludeTags || []).find(value => {
|
|
30731
|
+
if (!m.tags)
|
|
30732
|
+
return true;
|
|
30733
|
+
return !m.tags.includes(value);
|
|
30734
|
+
});
|
|
30735
|
+
}
|
|
30736
|
+
return true;
|
|
30737
|
+
});
|
|
30738
|
+
/*
|
|
30739
|
+
* for cases when message is deleted via RTE, this flag is used to get
|
|
30740
|
+
* items from cache that are !deleted
|
|
30741
|
+
*/
|
|
30742
|
+
if (!this.query.includeDeleted) {
|
|
30743
|
+
messages = filterByPropEquality(messages, 'isDeleted', false);
|
|
30423
30744
|
}
|
|
30424
|
-
|
|
30425
|
-
|
|
30426
|
-
|
|
30427
|
-
}
|
|
30745
|
+
messages = messages.sort((message1, message2) => {
|
|
30746
|
+
if (this.query.sortBy === 'segmentAsc') {
|
|
30747
|
+
return message1.channelSegment - message2.channelSegment;
|
|
30748
|
+
}
|
|
30749
|
+
if (this.query.sortBy === 'segmentDesc') {
|
|
30750
|
+
return message2.channelSegment - message1.channelSegment;
|
|
30751
|
+
}
|
|
30752
|
+
return 0;
|
|
30753
|
+
});
|
|
30754
|
+
return messages;
|
|
30755
|
+
}
|
|
30756
|
+
}
|
|
30757
|
+
|
|
30428
30758
|
/* begin_public_function
|
|
30429
30759
|
id: message.query
|
|
30430
30760
|
*/
|
|
@@ -30454,76 +30784,12 @@ const getMessages = (params, callback, config) => {
|
|
|
30454
30784
|
}
|
|
30455
30785
|
const timestamp = Date.now();
|
|
30456
30786
|
log(`getMessages(tmpid: ${timestamp}) > listen`);
|
|
30457
|
-
const
|
|
30458
|
-
const
|
|
30459
|
-
const
|
|
30460
|
-
|
|
30461
|
-
|
|
30462
|
-
|
|
30463
|
-
const responder = (data) => {
|
|
30464
|
-
var _a, _b;
|
|
30465
|
-
const messages = applyFilter$1((_a = data.data
|
|
30466
|
-
.map(messageId => pullFromCache(['message', 'get', messageId]))
|
|
30467
|
-
.filter(Boolean)
|
|
30468
|
-
.map(({ data }) => data)) !== null && _a !== void 0 ? _a : [], params);
|
|
30469
|
-
callback({
|
|
30470
|
-
onNextPage: onFetch,
|
|
30471
|
-
data: messages,
|
|
30472
|
-
hasNextPage: !!((_b = data.params) === null || _b === void 0 ? void 0 : _b.page),
|
|
30473
|
-
loading: data.loading,
|
|
30474
|
-
error: data.error,
|
|
30475
|
-
});
|
|
30476
|
-
};
|
|
30477
|
-
const realtimeRouter = (action) => (message) => {
|
|
30478
|
-
var _a, _b, _c;
|
|
30479
|
-
const collection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30480
|
-
if (params.subChannelId !== (message === null || message === void 0 ? void 0 : message.subChannelId) || !collection)
|
|
30481
|
-
return;
|
|
30482
|
-
// /*
|
|
30483
|
-
// * check if RTE message event payload is with the params in order to update in the colleciton cache
|
|
30484
|
-
// */
|
|
30485
|
-
if (params.dataType && params.dataType !== message.dataType)
|
|
30486
|
-
return;
|
|
30487
|
-
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); })))
|
|
30488
|
-
return;
|
|
30489
|
-
if (!!params.hasFlags !== !!message.flagCount)
|
|
30490
|
-
return;
|
|
30491
|
-
if (params.parentId && params.parentId !== message.parentId)
|
|
30492
|
-
return;
|
|
30493
|
-
if (params.hasOwnProperty('includeDeleted') && !params.includeDeleted && message.isDeleted)
|
|
30494
|
-
return;
|
|
30495
|
-
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); })))
|
|
30496
|
-
return;
|
|
30497
|
-
if (!collection.data.includes(message.messageId) && action === 'onCreate') {
|
|
30498
|
-
collection.data = [...new Set([message.messageId, ...collection.data])];
|
|
30499
|
-
}
|
|
30500
|
-
pushToCache(cacheKey, collection);
|
|
30501
|
-
responder(collection);
|
|
30502
|
-
};
|
|
30503
|
-
const onFetch = (initial = false) => {
|
|
30504
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
30505
|
-
const collection = (_a = pullFromCache(cacheKey)) === null || _a === void 0 ? void 0 : _a.data;
|
|
30506
|
-
const messages = (_b = collection === null || collection === void 0 ? void 0 : collection.data) !== null && _b !== void 0 ? _b : [];
|
|
30507
|
-
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))
|
|
30508
|
-
return;
|
|
30509
|
-
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 }));
|
|
30510
|
-
runQuery(query, ({ data: result, error, loading, nextPage: page, paging }) => {
|
|
30511
|
-
const data = {
|
|
30512
|
-
loading,
|
|
30513
|
-
error,
|
|
30514
|
-
params: { page, paging },
|
|
30515
|
-
data: messages,
|
|
30516
|
-
};
|
|
30517
|
-
if (result) {
|
|
30518
|
-
data.data = [...new Set([...messages, ...result.map(getResolver('message'))])];
|
|
30519
|
-
}
|
|
30520
|
-
pushToCache(cacheKey, data);
|
|
30521
|
-
responder(data);
|
|
30522
|
-
}, queryOptions(policy, CACHE_SHORTEN_LIFESPAN));
|
|
30523
|
-
};
|
|
30524
|
-
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')));
|
|
30525
|
-
onFetch(true);
|
|
30526
|
-
disposers.push(() => dropFromCache(cacheKey));
|
|
30787
|
+
const messagesLiveCollection = new MessageLiveCollectionController(params, callback);
|
|
30788
|
+
const disposers = messagesLiveCollection.startSubscription();
|
|
30789
|
+
const cacheKey = messagesLiveCollection.getCacheKey();
|
|
30790
|
+
disposers.push(() => {
|
|
30791
|
+
dropFromCache(cacheKey);
|
|
30792
|
+
});
|
|
30527
30793
|
return () => {
|
|
30528
30794
|
log(`getMessages(tmpid: ${timestamp}) > dispose`);
|
|
30529
30795
|
disposers.forEach(fn => fn());
|
|
@@ -32942,7 +33208,7 @@ const getCategory = async (categoryId) => {
|
|
|
32942
33208
|
ingestInCache(data, { cachedAt });
|
|
32943
33209
|
const { categories } = data;
|
|
32944
33210
|
return {
|
|
32945
|
-
data:
|
|
33211
|
+
data: LinkedObject.category(categories.find(category => category.categoryId === categoryId)),
|
|
32946
33212
|
cachedAt,
|
|
32947
33213
|
};
|
|
32948
33214
|
};
|
|
@@ -32969,25 +33235,11 @@ getCategory.locally = (categoryId) => {
|
|
|
32969
33235
|
if (!cached)
|
|
32970
33236
|
return;
|
|
32971
33237
|
return {
|
|
32972
|
-
data: cached.data,
|
|
33238
|
+
data: LinkedObject.category(cached.data),
|
|
32973
33239
|
cachedAt: cached.cachedAt,
|
|
32974
33240
|
};
|
|
32975
33241
|
};
|
|
32976
33242
|
|
|
32977
|
-
/**
|
|
32978
|
-
* ```js
|
|
32979
|
-
* import { queryCategories } from '@amityco/ts-sdk'
|
|
32980
|
-
* const { data: categories, prevPage, nextPage } = await queryCategories()
|
|
32981
|
-
* ```
|
|
32982
|
-
*
|
|
32983
|
-
* Queries a paginable list of {@link Amity.Category} objects
|
|
32984
|
-
*
|
|
32985
|
-
* @param query The query parameters
|
|
32986
|
-
* @returns A page of {@link Amity.Category} objects
|
|
32987
|
-
*
|
|
32988
|
-
* @category Category API
|
|
32989
|
-
* @async
|
|
32990
|
-
* */
|
|
32991
33243
|
const queryCategories = async (query) => {
|
|
32992
33244
|
const client = getActiveClient();
|
|
32993
33245
|
client.log('category/queryCategories', query);
|
|
@@ -33012,25 +33264,12 @@ const queryCategories = async (query) => {
|
|
|
33012
33264
|
const nextPage = toPage(paging.next);
|
|
33013
33265
|
const prevPage = toPage(paging.previous);
|
|
33014
33266
|
return {
|
|
33015
|
-
data: categories
|
|
33267
|
+
data: categories,
|
|
33016
33268
|
cachedAt,
|
|
33017
33269
|
prevPage,
|
|
33018
33270
|
nextPage,
|
|
33019
33271
|
};
|
|
33020
33272
|
};
|
|
33021
|
-
/**
|
|
33022
|
-
* ```js
|
|
33023
|
-
* import { queryCategories } from '@amityco/ts-sdk'
|
|
33024
|
-
* const { data: categories, prevPage, nextPage } = queryCategories.locally()
|
|
33025
|
-
* ```
|
|
33026
|
-
*
|
|
33027
|
-
* Queries a paginable list of {@link Amity.Category} objects from cache
|
|
33028
|
-
*
|
|
33029
|
-
* @param query The query parameters
|
|
33030
|
-
* @returns categories
|
|
33031
|
-
*
|
|
33032
|
-
* @category category API
|
|
33033
|
-
*/
|
|
33034
33273
|
queryCategories.locally = (query) => {
|
|
33035
33274
|
var _a, _b;
|
|
33036
33275
|
const client = getActiveClient();
|