stream-chat-react-native-core 5.5.1-beta.1 → 5.6.0-beta.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/lib/commonjs/components/Attachment/Attachment.js +1 -1
- package/lib/commonjs/components/Attachment/AttachmentActions.js +1 -1
- package/lib/commonjs/components/Attachment/AudioAttachment.js +1 -1
- package/lib/commonjs/components/Attachment/Card.js +1 -1
- package/lib/commonjs/components/Attachment/FileAttachment.js +1 -1
- package/lib/commonjs/components/Attachment/FileAttachmentGroup.js +1 -1
- package/lib/commonjs/components/Attachment/FileIcon.js +1 -1
- package/lib/commonjs/components/Attachment/Gallery.js +1 -1
- package/lib/commonjs/components/Attachment/GalleryImage.js +20 -4
- package/lib/commonjs/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/commonjs/components/Attachment/Giphy.js +1 -1
- package/lib/commonjs/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
- package/lib/commonjs/components/Attachment/ImageLoadingIndicator.js +1 -1
- package/lib/commonjs/components/Attachment/VideoThumbnail.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/AttachmentPicker.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentPickerItem.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
- package/lib/commonjs/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
- package/lib/commonjs/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
- package/lib/commonjs/components/Avatar/Avatar.js +1 -1
- package/lib/commonjs/components/Avatar/GroupAvatar.js +1 -1
- package/lib/commonjs/components/Channel/Channel.js +537 -155
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js +6 -0
- package/lib/commonjs/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelList.js +5 -16
- package/lib/commonjs/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
- package/lib/commonjs/components/ChannelList/ChannelListMessenger.js +1 -1
- package/lib/commonjs/components/ChannelList/Skeleton.js +1 -1
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js +112 -42
- package/lib/commonjs/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelAvatar.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreview.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessage.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
- package/lib/commonjs/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
- package/lib/commonjs/components/Chat/Chat.js +17 -21
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js +2 -4
- package/lib/commonjs/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/commonjs/components/ImageBackground.js +1 -1
- package/lib/commonjs/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +1 -1
- package/lib/commonjs/components/Indicators/EmptyStateIndicator.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingDot.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingDots.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingErrorIndicator.js +1 -1
- package/lib/commonjs/components/Indicators/LoadingIndicator.js +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
- package/lib/commonjs/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
- package/lib/commonjs/components/Message/Message.js +22 -11
- package/lib/commonjs/components/Message/Message.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageAvatar.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageContent.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageDeleted.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js +15 -13
- package/lib/commonjs/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageReplies.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageSimple.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageStatus.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/MessageTextContainer.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/ReactionList.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.js +1 -1
- package/lib/commonjs/components/Message/MessageSimple/utils/renderText.test.js +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js +9 -30
- package/lib/commonjs/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/commonjs/components/Message/hooks/useMessageActions.js +20 -18
- package/lib/commonjs/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/commonjs/components/MessageInput/AttachButton.js +1 -1
- package/lib/commonjs/components/MessageInput/CommandsButton.js +1 -1
- package/lib/commonjs/components/MessageInput/CooldownTimer.js +1 -1
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js +32 -22
- package/lib/commonjs/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js +52 -20
- package/lib/commonjs/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/commonjs/components/MessageInput/InputButtons.js +1 -1
- package/lib/commonjs/components/MessageInput/MessageInput.js +40 -28
- package/lib/commonjs/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/commonjs/components/MessageInput/MoreOptionsButton.js +1 -1
- package/lib/commonjs/components/MessageInput/SendButton.js +2 -2
- package/lib/commonjs/components/MessageInput/SendButton.js.map +1 -1
- package/lib/commonjs/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
- package/lib/commonjs/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
- package/lib/commonjs/components/MessageInput/UploadProgressIndicator.js +1 -1
- package/lib/commonjs/components/MessageInput/components/InputEditingStateHeader.js +1 -1
- package/lib/commonjs/components/MessageInput/components/InputGiphySearch.js +1 -1
- package/lib/commonjs/components/MessageInput/components/InputReplyStateHeader.js +1 -1
- package/lib/commonjs/components/MessageList/DateHeader.js +1 -1
- package/lib/commonjs/components/MessageList/InlineDateSeparator.js +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/InlineUnreadIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/MessageList.js +1 -1
- package/lib/commonjs/components/MessageList/MessageSystem.js +1 -1
- package/lib/commonjs/components/MessageList/NetworkDownIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/ScrollToBottomButton.js +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicator.js +1 -1
- package/lib/commonjs/components/MessageList/TypingIndicatorContainer.js +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionList.js +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageActionListItem.js +1 -1
- package/lib/commonjs/components/MessageOverlay/MessageOverlay.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayBackdrop.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionList.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactions.js +1 -1
- package/lib/commonjs/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
- package/lib/commonjs/components/ProgressControl/ProgressControl.js +1 -1
- package/lib/commonjs/components/RTLComponents/WritingDirectionAwareText.js +1 -1
- package/lib/commonjs/components/Reply/Reply.js +1 -1
- package/lib/commonjs/components/Spinner/Spinner.js +1 -1
- package/lib/commonjs/components/Thread/Thread.js +1 -1
- package/lib/commonjs/components/Thread/components/ThreadFooterComponent.js +1 -1
- package/lib/commonjs/components/index.js +0 -13
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
- package/lib/commonjs/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
- package/lib/commonjs/contexts/channelContext/ChannelContext.js +1 -1
- package/lib/commonjs/contexts/channelsContext/ChannelsContext.js +1 -1
- package/lib/commonjs/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js +3 -3
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/debugContext/DebugContext.js +1 -1
- package/lib/commonjs/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
- package/lib/commonjs/contexts/keyboardContext/KeyboardContext.js +1 -1
- package/lib/commonjs/contexts/messageContext/MessageContext.js +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +23 -14
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
- package/lib/commonjs/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js +3 -3
- package/lib/commonjs/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/commonjs/contexts/overlayContext/OverlayProvider.js +1 -1
- package/lib/commonjs/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
- package/lib/commonjs/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -1
- package/lib/commonjs/contexts/suggestionsContext/SuggestionsContext.js +1 -1
- package/lib/commonjs/contexts/themeContext/ThemeContext.js +1 -1
- package/lib/commonjs/contexts/threadContext/ThreadContext.js +1 -1
- package/lib/commonjs/contexts/translationContext/TranslationContext.js +1 -1
- package/lib/commonjs/contexts/typingContext/TypingContext.js +1 -1
- package/lib/commonjs/hooks/useTranslatedMessage.js +1 -1
- package/lib/commonjs/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/commonjs/icons/ArrowRight.js +1 -1
- package/lib/commonjs/icons/AtMentions.js +1 -1
- package/lib/commonjs/icons/Attach.js +1 -1
- package/lib/commonjs/icons/Audio.js +1 -1
- package/lib/commonjs/icons/CSV.js +1 -1
- package/lib/commonjs/icons/Camera.js +1 -1
- package/lib/commonjs/icons/Check.js +1 -1
- package/lib/commonjs/icons/CheckAll.js +1 -1
- package/lib/commonjs/icons/CheckSend.js +1 -1
- package/lib/commonjs/icons/CircleClose.js +1 -1
- package/lib/commonjs/icons/CirclePlus.js +1 -1
- package/lib/commonjs/icons/CircleRight.js +1 -1
- package/lib/commonjs/icons/Close.js +1 -1
- package/lib/commonjs/icons/Copy.js +1 -1
- package/lib/commonjs/icons/CurveLineLeftUp.js +1 -1
- package/lib/commonjs/icons/DOC.js +1 -1
- package/lib/commonjs/icons/DOCX.js +1 -1
- package/lib/commonjs/icons/Delete.js +1 -1
- package/lib/commonjs/icons/Down.js +1 -1
- package/lib/commonjs/icons/DownloadArrow.js +1 -1
- package/lib/commonjs/icons/DownloadCloud.js +1 -1
- package/lib/commonjs/icons/Edit.js +1 -1
- package/lib/commonjs/icons/Error.js +1 -1
- package/lib/commonjs/icons/Eye.js +1 -1
- package/lib/commonjs/icons/Flag.js +1 -1
- package/lib/commonjs/icons/Folder.js +1 -1
- package/lib/commonjs/icons/GenericFile.js +1 -1
- package/lib/commonjs/icons/GiphyIcon.js +1 -1
- package/lib/commonjs/icons/Grid.js +1 -1
- package/lib/commonjs/icons/Group.js +1 -1
- package/lib/commonjs/icons/HTML.js +1 -1
- package/lib/commonjs/icons/Imgur.js +1 -1
- package/lib/commonjs/icons/LOLReaction.js +1 -1
- package/lib/commonjs/icons/Lightning.js +1 -1
- package/lib/commonjs/icons/Link.js +1 -1
- package/lib/commonjs/icons/Loading.js +1 -1
- package/lib/commonjs/icons/Logo.js +1 -1
- package/lib/commonjs/icons/LoveReaction.js +1 -1
- package/lib/commonjs/icons/MD.js +1 -1
- package/lib/commonjs/icons/MailOpen.js +1 -1
- package/lib/commonjs/icons/MenuPointHorizontal.js +1 -1
- package/lib/commonjs/icons/MenuPointVertical.js +1 -1
- package/lib/commonjs/icons/MessageFlag.js +1 -1
- package/lib/commonjs/icons/MessageIcon.js +1 -1
- package/lib/commonjs/icons/Mute.js +1 -1
- package/lib/commonjs/icons/Notification.js +1 -1
- package/lib/commonjs/icons/ODT.js +1 -1
- package/lib/commonjs/icons/PDF.js +1 -1
- package/lib/commonjs/icons/PPT.js +1 -1
- package/lib/commonjs/icons/PPTX.js +1 -1
- package/lib/commonjs/icons/Pause.js +1 -1
- package/lib/commonjs/icons/Picture.js +1 -1
- package/lib/commonjs/icons/Pin.js +1 -1
- package/lib/commonjs/icons/PinHeader.js +1 -1
- package/lib/commonjs/icons/Play.js +1 -1
- package/lib/commonjs/icons/RAR.js +1 -1
- package/lib/commonjs/icons/RTF.js +1 -1
- package/lib/commonjs/icons/Recorder.js +1 -1
- package/lib/commonjs/icons/Refresh.js +1 -1
- package/lib/commonjs/icons/SEVEN_Z.js +1 -1
- package/lib/commonjs/icons/Search.js +1 -1
- package/lib/commonjs/icons/SendRight.js +1 -1
- package/lib/commonjs/icons/SendUp.js +1 -1
- package/lib/commonjs/icons/Share.js +1 -1
- package/lib/commonjs/icons/ShareRightArrow.js +1 -1
- package/lib/commonjs/icons/Smile.js +1 -1
- package/lib/commonjs/icons/Sound.js +1 -1
- package/lib/commonjs/icons/TAR.js +1 -1
- package/lib/commonjs/icons/TXT.js +1 -1
- package/lib/commonjs/icons/ThreadReply.js +1 -1
- package/lib/commonjs/icons/ThumbsDownReaction.js +1 -1
- package/lib/commonjs/icons/ThumbsUpReaction.js +1 -1
- package/lib/commonjs/icons/Time.js +1 -1
- package/lib/commonjs/icons/Unknown.js +1 -1
- package/lib/commonjs/icons/Unpin.js +1 -1
- package/lib/commonjs/icons/User.js +1 -1
- package/lib/commonjs/icons/UserAdd.js +1 -1
- package/lib/commonjs/icons/UserAdmin.js +1 -1
- package/lib/commonjs/icons/UserDelete.js +1 -1
- package/lib/commonjs/icons/UserMinus.js +1 -1
- package/lib/commonjs/icons/Video.js +1 -1
- package/lib/commonjs/icons/Warning.js +1 -1
- package/lib/commonjs/icons/WutReaction.js +1 -1
- package/lib/commonjs/icons/XLS.js +1 -1
- package/lib/commonjs/icons/XLSX.js +1 -1
- package/lib/commonjs/icons/ZIP.js +1 -1
- package/lib/commonjs/icons/utils/base.js +1 -1
- package/lib/commonjs/mock-builders/DB/mock.js +2 -2
- package/lib/commonjs/mock-builders/DB/mock.js.map +1 -1
- package/lib/commonjs/mock-builders/api/deleteMessage.js +20 -0
- package/lib/commonjs/mock-builders/api/deleteMessage.js.map +1 -0
- package/lib/commonjs/mock-builders/api/deleteReaction.js +21 -0
- package/lib/commonjs/mock-builders/api/deleteReaction.js.map +1 -0
- package/lib/commonjs/mock-builders/api/sendReaction.js +21 -0
- package/lib/commonjs/mock-builders/api/sendReaction.js.map +1 -0
- package/lib/commonjs/mock-builders/event/connectionChanged.js +2 -0
- package/lib/commonjs/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient.js +40 -51
- package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
- package/lib/commonjs/store/apis/addPendingTask.js +37 -0
- package/lib/commonjs/store/apis/addPendingTask.js.map +1 -0
- package/lib/commonjs/store/apis/deleteMessage.js +26 -0
- package/lib/commonjs/store/apis/deleteMessage.js.map +1 -0
- package/lib/commonjs/store/apis/deletePendingTask.js +22 -0
- package/lib/commonjs/store/apis/deletePendingTask.js.map +1 -0
- package/lib/commonjs/store/apis/deleteReaction.js +30 -0
- package/lib/commonjs/store/apis/deleteReaction.js.map +1 -0
- package/lib/commonjs/store/apis/getChannelMessages.js +3 -3
- package/lib/commonjs/store/apis/getChannelMessages.js.map +1 -1
- package/lib/commonjs/store/apis/getChannels.js +1 -1
- package/lib/commonjs/store/apis/getChannels.js.map +1 -1
- package/lib/commonjs/store/apis/getPendingTasks.js +26 -0
- package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -0
- package/lib/commonjs/store/apis/index.js +13 -0
- package/lib/commonjs/store/apis/index.js.map +1 -1
- package/lib/commonjs/store/apis/insertReaction.js +28 -0
- package/lib/commonjs/store/apis/insertReaction.js.map +1 -0
- package/lib/commonjs/store/apis/updateMessage.js.map +1 -1
- package/lib/commonjs/store/apis/updateReaction.js.map +1 -1
- package/lib/commonjs/store/mappers/mapDateTimeToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapMessageToStorable.js +3 -1
- package/lib/commonjs/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/commonjs/store/mappers/mapStorableToTask.js +23 -0
- package/lib/commonjs/store/mappers/mapStorableToTask.js.map +1 -0
- package/lib/commonjs/store/mappers/mapTaskToStorable.js +18 -0
- package/lib/commonjs/store/mappers/mapTaskToStorable.js.map +1 -0
- package/lib/commonjs/store/schema.js +11 -0
- package/lib/commonjs/store/schema.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js +24 -0
- package/lib/commonjs/store/sqlite-utils/appendOrderByClause.js.map +1 -0
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js +1 -1
- package/lib/commonjs/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createSelectQuery.js +8 -1
- package/lib/commonjs/store/sqlite-utils/createSelectQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js +2 -2
- package/lib/commonjs/store/sqlite-utils/createUpdateQuery.js.map +1 -1
- package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js +1 -1
- package/lib/commonjs/store/sqlite-utils/createUpsertQuery.js.map +1 -1
- package/lib/commonjs/utils/DBSyncManager.js +436 -0
- package/lib/commonjs/utils/DBSyncManager.js.map +1 -0
- package/lib/commonjs/utils/addReactionToLocalState.js +92 -0
- package/lib/commonjs/utils/addReactionToLocalState.js.map +1 -0
- package/lib/commonjs/utils/pendingTaskUtils.js +302 -0
- package/lib/commonjs/utils/pendingTaskUtils.js.map +1 -0
- package/lib/commonjs/utils/removeReactionFromLocalState.js +39 -0
- package/lib/commonjs/utils/removeReactionFromLocalState.js.map +1 -0
- package/lib/commonjs/utils/utils.js +9 -3
- package/lib/commonjs/utils/utils.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Attachment/Attachment.js +1 -1
- package/lib/module/components/Attachment/AttachmentActions.js +1 -1
- package/lib/module/components/Attachment/AudioAttachment.js +1 -1
- package/lib/module/components/Attachment/Card.js +1 -1
- package/lib/module/components/Attachment/FileAttachment.js +1 -1
- package/lib/module/components/Attachment/FileAttachmentGroup.js +1 -1
- package/lib/module/components/Attachment/FileIcon.js +1 -1
- package/lib/module/components/Attachment/Gallery.js +1 -1
- package/lib/module/components/Attachment/GalleryImage.js +20 -4
- package/lib/module/components/Attachment/GalleryImage.js.map +1 -1
- package/lib/module/components/Attachment/Giphy.js +1 -1
- package/lib/module/components/Attachment/ImageLoadingFailedIndicator.js +1 -1
- package/lib/module/components/Attachment/ImageLoadingIndicator.js +1 -1
- package/lib/module/components/Attachment/VideoThumbnail.js +1 -1
- package/lib/module/components/AttachmentPicker/AttachmentPicker.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerBottomSheetHandle.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerError.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerErrorImage.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentPickerItem.js +1 -1
- package/lib/module/components/AttachmentPicker/components/AttachmentSelectionBar.js +1 -1
- package/lib/module/components/AttachmentPicker/components/CameraSelectorIcon.js +1 -1
- package/lib/module/components/AttachmentPicker/components/FileSelectorIcon.js +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageOverlaySelectedComponent.js +1 -1
- package/lib/module/components/AttachmentPicker/components/ImageSelectorIcon.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteInput.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionCommandIcon.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionHeader.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionItem.js +1 -1
- package/lib/module/components/AutoCompleteInput/AutoCompleteSuggestionList.js +1 -1
- package/lib/module/components/Avatar/Avatar.js +1 -1
- package/lib/module/components/Avatar/GroupAvatar.js +1 -1
- package/lib/module/components/Channel/Channel.js +537 -155
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js +6 -0
- package/lib/module/components/Channel/hooks/useCreateMessagesContext.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelList.js +5 -16
- package/lib/module/components/ChannelList/ChannelList.js.map +1 -1
- package/lib/module/components/ChannelList/ChannelListFooterLoadingIndicator.js +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderErrorIndicator.js +1 -1
- package/lib/module/components/ChannelList/ChannelListHeaderNetworkDownIndicator.js +1 -1
- package/lib/module/components/ChannelList/ChannelListLoadingIndicator.js +1 -1
- package/lib/module/components/ChannelList/ChannelListMessenger.js +1 -1
- package/lib/module/components/ChannelList/Skeleton.js +1 -1
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js +112 -42
- package/lib/module/components/ChannelList/hooks/usePaginatedChannels.js.map +1 -1
- package/lib/module/components/ChannelPreview/ChannelAvatar.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreview.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessage.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMessenger.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewMutedStatus.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewStatus.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewTitle.js +1 -1
- package/lib/module/components/ChannelPreview/ChannelPreviewUnreadCount.js +1 -1
- package/lib/module/components/Chat/Chat.js +17 -21
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useCreateChatContext.js +2 -4
- package/lib/module/components/Chat/hooks/useCreateChatContext.js.map +1 -1
- package/lib/module/components/ImageBackground.js +1 -1
- package/lib/module/components/ImageGallery/ImageGallery.js +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryImage.js +1 -1
- package/lib/module/components/ImageGallery/components/AnimatedGalleryVideo.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryFooter.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryHeader.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryOverlay.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGalleryVideoControl.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +1 -1
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js +1 -1
- package/lib/module/components/Indicators/EmptyStateIndicator.js +1 -1
- package/lib/module/components/Indicators/LoadingDot.js +1 -1
- package/lib/module/components/Indicators/LoadingDots.js +1 -1
- package/lib/module/components/Indicators/LoadingErrorIndicator.js +1 -1
- package/lib/module/components/Indicators/LoadingIndicator.js +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleView.js +1 -1
- package/lib/module/components/KeyboardCompatibleView/KeyboardCompatibleViewFC.js +1 -1
- package/lib/module/components/Message/Message.js +22 -11
- package/lib/module/components/Message/Message.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessageAvatar.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageContent.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageDeleted.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageFooter.js +15 -13
- package/lib/module/components/Message/MessageSimple/MessageFooter.js.map +1 -1
- package/lib/module/components/Message/MessageSimple/MessagePinnedHeader.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageReplies.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageRepliesAvatars.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageSimple.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageStatus.js +1 -1
- package/lib/module/components/Message/MessageSimple/MessageTextContainer.js +1 -1
- package/lib/module/components/Message/MessageSimple/ReactionList.js +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.js +1 -1
- package/lib/module/components/Message/MessageSimple/utils/renderText.test.js +1 -1
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js +9 -30
- package/lib/module/components/Message/hooks/useMessageActionHandlers.js.map +1 -1
- package/lib/module/components/Message/hooks/useMessageActions.js +20 -18
- package/lib/module/components/Message/hooks/useMessageActions.js.map +1 -1
- package/lib/module/components/MessageInput/AttachButton.js +1 -1
- package/lib/module/components/MessageInput/CommandsButton.js +1 -1
- package/lib/module/components/MessageInput/CooldownTimer.js +1 -1
- package/lib/module/components/MessageInput/FileUploadPreview.js +32 -22
- package/lib/module/components/MessageInput/FileUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/ImageUploadPreview.js +52 -20
- package/lib/module/components/MessageInput/ImageUploadPreview.js.map +1 -1
- package/lib/module/components/MessageInput/InputButtons.js +1 -1
- package/lib/module/components/MessageInput/MessageInput.js +40 -28
- package/lib/module/components/MessageInput/MessageInput.js.map +1 -1
- package/lib/module/components/MessageInput/MoreOptionsButton.js +1 -1
- package/lib/module/components/MessageInput/SendButton.js +2 -2
- package/lib/module/components/MessageInput/SendButton.js.map +1 -1
- package/lib/module/components/MessageInput/SendMessageDisallowedIndicator.js +1 -1
- package/lib/module/components/MessageInput/ShowThreadMessageInChannelButton.js +1 -1
- package/lib/module/components/MessageInput/UploadProgressIndicator.js +1 -1
- package/lib/module/components/MessageInput/components/InputEditingStateHeader.js +1 -1
- package/lib/module/components/MessageInput/components/InputGiphySearch.js +1 -1
- package/lib/module/components/MessageInput/components/InputReplyStateHeader.js +1 -1
- package/lib/module/components/MessageList/DateHeader.js +1 -1
- package/lib/module/components/MessageList/InlineDateSeparator.js +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreIndicator.js +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreRecentIndicator.js +1 -1
- package/lib/module/components/MessageList/InlineLoadingMoreThreadIndicator.js +1 -1
- package/lib/module/components/MessageList/InlineUnreadIndicator.js +1 -1
- package/lib/module/components/MessageList/MessageList.js +1 -1
- package/lib/module/components/MessageList/MessageSystem.js +1 -1
- package/lib/module/components/MessageList/NetworkDownIndicator.js +1 -1
- package/lib/module/components/MessageList/ScrollToBottomButton.js +1 -1
- package/lib/module/components/MessageList/TypingIndicator.js +1 -1
- package/lib/module/components/MessageList/TypingIndicatorContainer.js +1 -1
- package/lib/module/components/MessageOverlay/MessageActionList.js +1 -1
- package/lib/module/components/MessageOverlay/MessageActionListItem.js +1 -1
- package/lib/module/components/MessageOverlay/MessageOverlay.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayBackdrop.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionList.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactions.js +1 -1
- package/lib/module/components/MessageOverlay/OverlayReactionsAvatar.js +1 -1
- package/lib/module/components/ProgressControl/ProgressControl.js +1 -1
- package/lib/module/components/RTLComponents/WritingDirectionAwareText.js +1 -1
- package/lib/module/components/Reply/Reply.js +1 -1
- package/lib/module/components/Spinner/Spinner.js +1 -1
- package/lib/module/components/Thread/Thread.js +1 -1
- package/lib/module/components/Thread/components/ThreadFooterComponent.js +1 -1
- package/lib/module/components/index.js +0 -13
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/contexts/activeChannelsRefContext/ActiveChannelsRefContext.js +1 -1
- package/lib/module/contexts/attachmentPickerContext/AttachmentPickerContext.js +1 -1
- package/lib/module/contexts/channelContext/ChannelContext.js +1 -1
- package/lib/module/contexts/channelsContext/ChannelsContext.js +1 -1
- package/lib/module/contexts/channelsStateContext/ChannelsStateContext.js +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js +3 -3
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/debugContext/DebugContext.js +1 -1
- package/lib/module/contexts/imageGalleryContext/ImageGalleryContext.js +1 -1
- package/lib/module/contexts/keyboardContext/KeyboardContext.js +1 -1
- package/lib/module/contexts/messageContext/MessageContext.js +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +23 -14
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/messageOverlayContext/MessageOverlayContext.js +1 -1
- package/lib/module/contexts/messageOverlayContext/hooks/useResettableState.test.js +1 -1
- package/lib/module/contexts/messagesContext/MessagesContext.js +3 -3
- package/lib/module/contexts/messagesContext/MessagesContext.js.map +1 -1
- package/lib/module/contexts/overlayContext/OverlayContext.js +1 -1
- package/lib/module/contexts/overlayContext/OverlayProvider.js +1 -1
- package/lib/module/contexts/ownCapabilitiesContext/OwnCapabilitiesContext.js +1 -1
- package/lib/module/contexts/paginatedMessageListContext/PaginatedMessageListContext.js +1 -1
- package/lib/module/contexts/suggestionsContext/SuggestionsContext.js +1 -1
- package/lib/module/contexts/themeContext/ThemeContext.js +1 -1
- package/lib/module/contexts/threadContext/ThreadContext.js +1 -1
- package/lib/module/contexts/translationContext/TranslationContext.js +1 -1
- package/lib/module/contexts/typingContext/TypingContext.js +1 -1
- package/lib/module/hooks/useTranslatedMessage.js +1 -1
- package/lib/module/hooks/useTranslatedMessage.js.map +1 -1
- package/lib/module/icons/ArrowRight.js +1 -1
- package/lib/module/icons/AtMentions.js +1 -1
- package/lib/module/icons/Attach.js +1 -1
- package/lib/module/icons/Audio.js +1 -1
- package/lib/module/icons/CSV.js +1 -1
- package/lib/module/icons/Camera.js +1 -1
- package/lib/module/icons/Check.js +1 -1
- package/lib/module/icons/CheckAll.js +1 -1
- package/lib/module/icons/CheckSend.js +1 -1
- package/lib/module/icons/CircleClose.js +1 -1
- package/lib/module/icons/CirclePlus.js +1 -1
- package/lib/module/icons/CircleRight.js +1 -1
- package/lib/module/icons/Close.js +1 -1
- package/lib/module/icons/Copy.js +1 -1
- package/lib/module/icons/CurveLineLeftUp.js +1 -1
- package/lib/module/icons/DOC.js +1 -1
- package/lib/module/icons/DOCX.js +1 -1
- package/lib/module/icons/Delete.js +1 -1
- package/lib/module/icons/Down.js +1 -1
- package/lib/module/icons/DownloadArrow.js +1 -1
- package/lib/module/icons/DownloadCloud.js +1 -1
- package/lib/module/icons/Edit.js +1 -1
- package/lib/module/icons/Error.js +1 -1
- package/lib/module/icons/Eye.js +1 -1
- package/lib/module/icons/Flag.js +1 -1
- package/lib/module/icons/Folder.js +1 -1
- package/lib/module/icons/GenericFile.js +1 -1
- package/lib/module/icons/GiphyIcon.js +1 -1
- package/lib/module/icons/Grid.js +1 -1
- package/lib/module/icons/Group.js +1 -1
- package/lib/module/icons/HTML.js +1 -1
- package/lib/module/icons/Imgur.js +1 -1
- package/lib/module/icons/LOLReaction.js +1 -1
- package/lib/module/icons/Lightning.js +1 -1
- package/lib/module/icons/Link.js +1 -1
- package/lib/module/icons/Loading.js +1 -1
- package/lib/module/icons/Logo.js +1 -1
- package/lib/module/icons/LoveReaction.js +1 -1
- package/lib/module/icons/MD.js +1 -1
- package/lib/module/icons/MailOpen.js +1 -1
- package/lib/module/icons/MenuPointHorizontal.js +1 -1
- package/lib/module/icons/MenuPointVertical.js +1 -1
- package/lib/module/icons/MessageFlag.js +1 -1
- package/lib/module/icons/MessageIcon.js +1 -1
- package/lib/module/icons/Mute.js +1 -1
- package/lib/module/icons/Notification.js +1 -1
- package/lib/module/icons/ODT.js +1 -1
- package/lib/module/icons/PDF.js +1 -1
- package/lib/module/icons/PPT.js +1 -1
- package/lib/module/icons/PPTX.js +1 -1
- package/lib/module/icons/Pause.js +1 -1
- package/lib/module/icons/Picture.js +1 -1
- package/lib/module/icons/Pin.js +1 -1
- package/lib/module/icons/PinHeader.js +1 -1
- package/lib/module/icons/Play.js +1 -1
- package/lib/module/icons/RAR.js +1 -1
- package/lib/module/icons/RTF.js +1 -1
- package/lib/module/icons/Recorder.js +1 -1
- package/lib/module/icons/Refresh.js +1 -1
- package/lib/module/icons/SEVEN_Z.js +1 -1
- package/lib/module/icons/Search.js +1 -1
- package/lib/module/icons/SendRight.js +1 -1
- package/lib/module/icons/SendUp.js +1 -1
- package/lib/module/icons/Share.js +1 -1
- package/lib/module/icons/ShareRightArrow.js +1 -1
- package/lib/module/icons/Smile.js +1 -1
- package/lib/module/icons/Sound.js +1 -1
- package/lib/module/icons/TAR.js +1 -1
- package/lib/module/icons/TXT.js +1 -1
- package/lib/module/icons/ThreadReply.js +1 -1
- package/lib/module/icons/ThumbsDownReaction.js +1 -1
- package/lib/module/icons/ThumbsUpReaction.js +1 -1
- package/lib/module/icons/Time.js +1 -1
- package/lib/module/icons/Unknown.js +1 -1
- package/lib/module/icons/Unpin.js +1 -1
- package/lib/module/icons/User.js +1 -1
- package/lib/module/icons/UserAdd.js +1 -1
- package/lib/module/icons/UserAdmin.js +1 -1
- package/lib/module/icons/UserDelete.js +1 -1
- package/lib/module/icons/UserMinus.js +1 -1
- package/lib/module/icons/Video.js +1 -1
- package/lib/module/icons/Warning.js +1 -1
- package/lib/module/icons/WutReaction.js +1 -1
- package/lib/module/icons/XLS.js +1 -1
- package/lib/module/icons/XLSX.js +1 -1
- package/lib/module/icons/ZIP.js +1 -1
- package/lib/module/icons/utils/base.js +1 -1
- package/lib/module/mock-builders/DB/mock.js +2 -2
- package/lib/module/mock-builders/DB/mock.js.map +1 -1
- package/lib/module/mock-builders/api/deleteMessage.js +20 -0
- package/lib/module/mock-builders/api/deleteMessage.js.map +1 -0
- package/lib/module/mock-builders/api/deleteReaction.js +21 -0
- package/lib/module/mock-builders/api/deleteReaction.js.map +1 -0
- package/lib/module/mock-builders/api/sendReaction.js +21 -0
- package/lib/module/mock-builders/api/sendReaction.js.map +1 -0
- package/lib/module/mock-builders/event/connectionChanged.js +2 -0
- package/lib/module/mock-builders/event/connectionChanged.js.map +1 -1
- package/lib/module/store/QuickSqliteClient.js +40 -51
- package/lib/module/store/QuickSqliteClient.js.map +1 -1
- package/lib/module/store/apis/addPendingTask.js +37 -0
- package/lib/module/store/apis/addPendingTask.js.map +1 -0
- package/lib/module/store/apis/deleteMessage.js +26 -0
- package/lib/module/store/apis/deleteMessage.js.map +1 -0
- package/lib/module/store/apis/deletePendingTask.js +22 -0
- package/lib/module/store/apis/deletePendingTask.js.map +1 -0
- package/lib/module/store/apis/deleteReaction.js +30 -0
- package/lib/module/store/apis/deleteReaction.js.map +1 -0
- package/lib/module/store/apis/getChannelMessages.js +3 -3
- package/lib/module/store/apis/getChannelMessages.js.map +1 -1
- package/lib/module/store/apis/getChannels.js +1 -1
- package/lib/module/store/apis/getChannels.js.map +1 -1
- package/lib/module/store/apis/getPendingTasks.js +26 -0
- package/lib/module/store/apis/getPendingTasks.js.map +1 -0
- package/lib/module/store/apis/index.js +13 -0
- package/lib/module/store/apis/index.js.map +1 -1
- package/lib/module/store/apis/insertReaction.js +28 -0
- package/lib/module/store/apis/insertReaction.js.map +1 -0
- package/lib/module/store/apis/updateMessage.js.map +1 -1
- package/lib/module/store/apis/updateReaction.js.map +1 -1
- package/lib/module/store/mappers/mapDateTimeToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapMessageToStorable.js +3 -1
- package/lib/module/store/mappers/mapMessageToStorable.js.map +1 -1
- package/lib/module/store/mappers/mapStorableToTask.js +23 -0
- package/lib/module/store/mappers/mapStorableToTask.js.map +1 -0
- package/lib/module/store/mappers/mapTaskToStorable.js +18 -0
- package/lib/module/store/mappers/mapTaskToStorable.js.map +1 -0
- package/lib/module/store/schema.js +11 -0
- package/lib/module/store/schema.js.map +1 -1
- package/lib/module/store/sqlite-utils/appendOrderByClause.js +24 -0
- package/lib/module/store/sqlite-utils/appendOrderByClause.js.map +1 -0
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js +1 -1
- package/lib/module/store/sqlite-utils/createCreateTableQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createSelectQuery.js +8 -1
- package/lib/module/store/sqlite-utils/createSelectQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createUpdateQuery.js +2 -2
- package/lib/module/store/sqlite-utils/createUpdateQuery.js.map +1 -1
- package/lib/module/store/sqlite-utils/createUpsertQuery.js +1 -1
- package/lib/module/store/sqlite-utils/createUpsertQuery.js.map +1 -1
- package/lib/module/utils/DBSyncManager.js +436 -0
- package/lib/module/utils/DBSyncManager.js.map +1 -0
- package/lib/module/utils/addReactionToLocalState.js +92 -0
- package/lib/module/utils/addReactionToLocalState.js.map +1 -0
- package/lib/module/utils/pendingTaskUtils.js +302 -0
- package/lib/module/utils/pendingTaskUtils.js.map +1 -0
- package/lib/module/utils/removeReactionFromLocalState.js +39 -0
- package/lib/module/utils/removeReactionFromLocalState.js.map +1 -0
- package/lib/module/utils/utils.js +9 -3
- package/lib/module/utils/utils.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Channel/Channel.d.ts +1 -1
- package/lib/typescript/components/Channel/hooks/useCreateMessagesContext.d.ts +1 -1
- package/lib/typescript/components/ChannelList/hooks/usePaginatedChannels.d.ts +2 -1
- package/lib/typescript/components/Chat/hooks/useCreateChatContext.d.ts +1 -1
- package/lib/typescript/components/Message/Message.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActionHandlers.d.ts +1 -1
- package/lib/typescript/components/Message/hooks/useMessageActions.d.ts +1 -1
- package/lib/typescript/components/MessageInput/FileUploadPreview.d.ts +2 -1
- package/lib/typescript/components/MessageInput/ImageUploadPreview.d.ts +2 -1
- package/lib/typescript/components/MessageInput/MessageInput.d.ts +2 -1
- package/lib/typescript/components/index.d.ts +0 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -2
- package/lib/typescript/contexts/messageContext/MessageContext.d.ts +1 -1
- package/lib/typescript/contexts/messagesContext/MessagesContext.d.ts +3 -0
- package/lib/typescript/store/apis/addPendingTask.d.ts +2 -0
- package/lib/typescript/store/apis/deleteMessage.d.ts +4 -0
- package/lib/typescript/store/apis/deletePendingTask.d.ts +3 -0
- package/lib/typescript/store/apis/deleteReaction.d.ts +6 -0
- package/lib/typescript/store/apis/getChannelMessages.d.ts +1 -1
- package/lib/typescript/store/apis/getPendingTasks.d.ts +3 -0
- package/lib/typescript/store/apis/index.d.ts +1 -0
- package/lib/typescript/store/apis/insertReaction.d.ts +6 -0
- package/lib/typescript/store/apis/updateMessage.d.ts +2 -2
- package/lib/typescript/store/apis/updateReaction.d.ts +2 -2
- package/lib/typescript/store/mappers/mapDateTimeToStorable.d.ts +1 -1
- package/lib/typescript/store/mappers/mapMessageToStorable.d.ts +2 -2
- package/lib/typescript/store/mappers/mapStorableToTask.d.ts +2 -0
- package/lib/typescript/store/mappers/mapTaskToStorable.d.ts +34 -0
- package/lib/typescript/store/schema.d.ts +12 -1
- package/lib/typescript/store/sqlite-utils/appendOrderByClause.d.ts +3 -0
- package/lib/typescript/store/sqlite-utils/createSelectQuery.d.ts +1 -1
- package/lib/typescript/store/types.d.ts +25 -0
- package/lib/typescript/types/types.d.ts +3 -1
- package/lib/typescript/utils/DBSyncManager.d.ts +47 -0
- package/lib/typescript/utils/addReactionToLocalState.d.ts +9 -0
- package/lib/typescript/utils/pendingTaskUtils.d.ts +13 -0
- package/lib/typescript/utils/removeReactionFromLocalState.d.ts +8 -0
- package/lib/typescript/utils/utils.d.ts +3 -3
- package/package.json +2 -2
- package/src/__tests__/offline-feature.test.js +19 -2
- package/src/__tests__/optimistic-update.test.js +368 -0
- package/src/components/Attachment/GalleryImage.tsx +14 -2
- package/src/components/Channel/Channel.tsx +270 -62
- package/src/components/Channel/hooks/useCreateMessagesContext.ts +6 -0
- package/src/components/ChannelList/ChannelList.tsx +2 -10
- package/src/components/ChannelList/hooks/listeners/__tests__/useChannelUpdated.test.tsx +0 -1
- package/src/components/ChannelList/hooks/usePaginatedChannels.ts +75 -27
- package/src/components/Chat/Chat.tsx +5 -9
- package/src/components/Chat/__tests__/Chat.test.js +1 -1
- package/src/components/Chat/hooks/useCreateChatContext.ts +0 -2
- package/src/components/Message/Message.tsx +18 -2
- package/src/components/Message/MessageSimple/MessageFooter.tsx +2 -1
- package/src/components/Message/hooks/useMessageActionHandlers.ts +10 -21
- package/src/components/Message/hooks/useMessageActions.tsx +9 -4
- package/src/components/MessageInput/FileUploadPreview.tsx +8 -2
- package/src/components/MessageInput/ImageUploadPreview.tsx +37 -8
- package/src/components/MessageInput/MessageInput.tsx +17 -3
- package/src/components/MessageInput/SendButton.tsx +1 -1
- package/src/components/index.ts +0 -1
- package/src/contexts/chatContext/ChatContext.tsx +1 -2
- package/src/contexts/messageInputContext/MessageInputContext.tsx +29 -10
- package/src/contexts/messageInputContext/__tests__/__snapshots__/sendMessage.test.tsx.snap +29 -0
- package/src/contexts/messagesContext/MessagesContext.tsx +4 -1
- package/src/hooks/useTranslatedMessage.ts +1 -1
- package/src/mock-builders/DB/mock.ts +2 -2
- package/src/mock-builders/api/deleteMessage.js +18 -0
- package/src/mock-builders/api/deleteReaction.js +19 -0
- package/src/mock-builders/api/sendReaction.tsx +19 -0
- package/src/mock-builders/event/connectionChanged.js +2 -1
- package/src/store/QuickSqliteClient.ts +39 -37
- package/src/store/apis/addPendingTask.ts +24 -0
- package/src/store/apis/deleteMessage.ts +13 -0
- package/src/store/apis/deletePendingTask.ts +12 -0
- package/src/store/apis/deleteReaction.ts +26 -0
- package/src/store/apis/getChannelMessages.ts +1 -1
- package/src/store/apis/getChannels.ts +2 -2
- package/src/store/apis/getPendingTasks.ts +13 -0
- package/src/store/apis/index.ts +1 -0
- package/src/store/apis/insertReaction.ts +29 -0
- package/src/store/apis/updateMessage.ts +2 -2
- package/src/store/apis/updateReaction.ts +2 -2
- package/src/store/mappers/mapDateTimeToStorable.ts +1 -1
- package/src/store/mappers/mapMessageToStorable.ts +8 -2
- package/src/store/mappers/mapStorableToTask.ts +13 -0
- package/src/store/mappers/mapTaskToStorable.ts +7 -0
- package/src/store/schema.ts +25 -1
- package/src/store/sqlite-utils/appendOrderByClause.ts +24 -0
- package/src/store/sqlite-utils/createCreateTableQuery.ts +2 -2
- package/src/store/sqlite-utils/createSelectQuery.ts +4 -1
- package/src/store/sqlite-utils/createUpdateQuery.ts +3 -2
- package/src/store/sqlite-utils/createUpsertQuery.ts +1 -1
- package/src/store/types.ts +33 -0
- package/src/types/types.ts +4 -1
- package/src/utils/DBSyncManager.ts +222 -0
- package/src/utils/addReactionToLocalState.ts +87 -0
- package/src/utils/pendingTaskUtils.ts +131 -0
- package/src/utils/removeReactionFromLocalState.ts +39 -0
- package/src/utils/utils.ts +12 -4
- package/src/version.json +1 -1
- package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js +0 -171
- package/lib/commonjs/components/Chat/hooks/useConnectionRecovered.js.map +0 -1
- package/lib/module/components/Chat/hooks/useConnectionRecovered.js +0 -171
- package/lib/module/components/Chat/hooks/useConnectionRecovered.js.map +0 -1
- package/lib/typescript/components/Chat/hooks/useConnectionRecovered.d.ts +0 -10
- package/src/components/Chat/hooks/useConnectionRecovered.ts +0 -92
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './deleteChannel';\nexport * from './deleteMember';\nexport * from './deleteMessagesForChannel';\nexport * from './deleteReactions';\nexport * from './getAllChannelIds';\nexport * from './getChannelMessages';\nexport * from './getChannels';\nexport * from './getChannelsForFilterSort';\nexport * from './getLastSyncedAt';\nexport * from './getMembers';\nexport * from './getReads';\nexport * from './updateMessage';\nexport * from './updateReaction';\nexport * from './upsertChannelData';\nexport * from './upsertChannels';\nexport * from './upsertCidsForQuery';\nexport * from './upsertLastSyncedAt';\nexport * from './upsertMembers';\nexport * from './upsertMessages';\nexport * from './upsertReads';\n"]}
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AACA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA","sourcesContent":["export * from './deleteChannel';\nexport * from './deleteMember';\nexport * from './deleteMessage';\nexport * from './deleteMessagesForChannel';\nexport * from './deleteReactions';\nexport * from './getAllChannelIds';\nexport * from './getChannelMessages';\nexport * from './getChannels';\nexport * from './getChannelsForFilterSort';\nexport * from './getLastSyncedAt';\nexport * from './getMembers';\nexport * from './getReads';\nexport * from './updateMessage';\nexport * from './updateReaction';\nexport * from './upsertChannelData';\nexport * from './upsertChannels';\nexport * from './upsertCidsForQuery';\nexport * from './upsertLastSyncedAt';\nexport * from './upsertMembers';\nexport * from './upsertMessages';\nexport * from './upsertReads';\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.insertReaction = void 0;
|
|
5
|
+
|
|
6
|
+
var _mapReactionToStorable = require("../mappers/mapReactionToStorable");
|
|
7
|
+
|
|
8
|
+
var _QuickSqliteClient = require("../QuickSqliteClient");
|
|
9
|
+
|
|
10
|
+
var _createUpsertQuery = require("../sqlite-utils/createUpsertQuery");
|
|
11
|
+
|
|
12
|
+
var insertReaction = function insertReaction(_ref) {
|
|
13
|
+
var _ref$flush = _ref.flush,
|
|
14
|
+
flush = _ref$flush === void 0 ? true : _ref$flush,
|
|
15
|
+
reaction = _ref.reaction;
|
|
16
|
+
var queries = [];
|
|
17
|
+
queries.push((0, _createUpsertQuery.createUpsertQuery)('reactions', (0, _mapReactionToStorable.mapReactionToStorable)(reaction)));
|
|
18
|
+
queries.push(['UPDATE messages SET reactionCounts = reactionCounts + 1 WHERE id = ?', [reaction.message_id]]);
|
|
19
|
+
|
|
20
|
+
if (flush) {
|
|
21
|
+
_QuickSqliteClient.QuickSqliteClient.executeSqlBatch(queries);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return queries;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
exports.insertReaction = insertReaction;
|
|
28
|
+
//# sourceMappingURL=insertReaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["insertReaction.ts"],"names":["insertReaction","flush","reaction","queries","push","message_id","QuickSqliteClient","executeSqlBatch"],"mappings":";;;;;AAEA;;AACA;;AACA;;AAGO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAMxB;AAAA,wBALJC,KAKI;AAAA,MALJA,KAKI,2BALI,IAKJ;AAAA,MAJJC,QAII,QAJJA,QAII;AACJ,MAAMC,OAA0B,GAAG,EAAnC;AAEAA,EAAAA,OAAO,CAACC,IAAR,CAAa,0CAAkB,WAAlB,EAA+B,kDAAsBF,QAAtB,CAA/B,CAAb;AAEAC,EAAAA,OAAO,CAACC,IAAR,CAAa,CACX,sEADW,EAEX,CAACF,QAAQ,CAACG,UAAV,CAFW,CAAb;;AAKA,MAAIJ,KAAJ,EAAW;AACTK,yCAAkBC,eAAlB,CAAkCJ,OAAlC;AACD;;AAED,SAAOA,OAAP;AACD,CArBM","sourcesContent":["import type { ReactionResponse } from 'stream-chat';\n\nimport { mapReactionToStorable } from '../mappers/mapReactionToStorable';\nimport { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';\nimport type { PreparedQueries } from '../types';\n\nexport const insertReaction = ({\n flush = true,\n reaction,\n}: {\n reaction: ReactionResponse;\n flush?: boolean;\n}) => {\n const queries: PreparedQueries[] = [];\n\n queries.push(createUpsertQuery('reactions', mapReactionToStorable(reaction)));\n\n queries.push([\n 'UPDATE messages SET reactionCounts = reactionCounts + 1 WHERE id = ?',\n [reaction.message_id],\n ]);\n\n if (flush) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n\n return queries;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["updateMessage.ts"],"names":["updateMessage","flush","message","queries","messages","QuickSqliteClient","executeSql","apply","id","length","push","user","messageId","latestReactions","latest_reactions","ownReactions","own_reactions","forEach","r","executeSqlBatch"],"mappings":";;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAMvB;AAAA,wBALJC,KAKI;AAAA,MALJA,KAKI,2BALI,IAKJ;AAAA,MAJJC,OAII,QAJJA,OAII;AACJ,MAAMC,OAA0B,GAAG,EAAnC;;AAEA,MAAMC,QAAQ,GAAGC,qCAAkBC,UAAlB,CAA6BC,KAA7B,CACf,IADe,EAEf,0CAAkB,UAAlB,EAA8B,CAAC,GAAD,CAA9B,EAAqC;AACnCC,IAAAA,EAAE,EAAEN,OAAO,CAACM;AADuB,GAArC,CAFe,CAAjB;;AAOA,MAAIJ,QAAQ,CAACK,MAAT,KAAoB,CAAxB,EAA2B;AACzB,WAAON,OAAP;AACD;;AAEDA,EAAAA,OAAO,CAACO,IAAR,CACE,0CAAkB,UAAlB,EAA8B,gDAAqBR,OAArB,CAA9B,EAA6D;AAC3DM,IAAAA,EAAE,EAAEN,OAAO,CAACM;AAD+C,GAA7D,CADF;;AAMA,MAAIN,OAAO,CAACS,IAAZ,EAAkB;AAChBR,IAAAA,OAAO,CAACO,IAAR,CAAa,0CAAkB,OAAlB,EAA2B,0CAAkBR,OAAO,CAACS,IAA1B,CAA3B,CAAb;AACD;;AAEDR,EAAAA,OAAO,CAACO,IAAR,CACE,0CAAkB,WAAlB,EAA+B;AAC7BE,IAAAA,SAAS,EAAEV,OAAO,CAACM;AADU,GAA/B,CADF;AAMA,MAAMK,eAAe,GAAGX,OAAO,CAACY,gBAAR,IAA4B,EAApD;AACA,MAAMC,YAAY,GAAGb,OAAO,CAACc,aAAR,IAAyB,EAA9C;AAEA,gDAAIH,eAAJ,uCAAwBE,YAAxB,GAAsCE,OAAtC,CAA8C,UAACC,CAAD,EAAO;AACnD,QAAIA,CAAC,CAACP,IAAN,EAAY;AACVR,MAAAA,OAAO,CAACO,IAAR,CAAa,0CAAkB,OAAlB,EAA2B,0CAAkBQ,CAAC,CAACP,IAApB,CAA3B,CAAb;AACD;;AAEDR,IAAAA,OAAO,CAACO,IAAR,CAAa,0CAAkB,WAAlB,EAA+B,kDAAsBQ,CAAtB,CAA/B,CAAb;AACD,GAND;;AAQA,MAAIjB,KAAJ,EAAW;AACTI,yCAAkBc,eAAlB,CAAkChB,OAAlC;AACD;;AAED,SAAOA,OAAP;AACD,CApDM","sourcesContent":["import type { MessageResponse } from 'stream-chat';\n\nimport { mapMessageToStorable } from '../mappers/mapMessageToStorable';\nimport { mapReactionToStorable } from '../mappers/mapReactionToStorable';\nimport { mapUserToStorable } from '../mappers/mapUserToStorable';\nimport { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createDeleteQuery } from '../sqlite-utils/createDeleteQuery';\nimport { createSelectQuery } from '../sqlite-utils/createSelectQuery';\nimport { createUpdateQuery } from '../sqlite-utils/createUpdateQuery';\nimport { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';\nimport type { PreparedQueries } from '../types';\n\nexport const updateMessage = ({\n flush = true,\n message,\n}: {\n message: MessageResponse;\n flush?: boolean;\n}) => {\n const queries: PreparedQueries[] = [];\n\n const messages = QuickSqliteClient.executeSql.apply(\n null,\n createSelectQuery('messages', ['*'], {\n id: message.id,\n }),\n );\n\n if (messages.length === 0) {\n return queries;\n }\n\n queries.push(\n createUpdateQuery('messages', mapMessageToStorable(message), {\n id: message.id,\n }),\n );\n\n if (message.user) {\n queries.push(createUpsertQuery('users', mapUserToStorable(message.user)));\n }\n\n queries.push(\n createDeleteQuery('reactions', {\n messageId: message.id,\n }),\n );\n\n const latestReactions = message.latest_reactions || [];\n const ownReactions = message.own_reactions || [];\n\n [...latestReactions, ...ownReactions].forEach((r) => {\n if (r.user) {\n queries.push(createUpsertQuery('users', mapUserToStorable(r.user)));\n }\n\n queries.push(createUpsertQuery('reactions', mapReactionToStorable(r)));\n });\n\n if (flush) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n\n return queries;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["updateMessage.ts"],"names":["updateMessage","flush","message","queries","messages","QuickSqliteClient","executeSql","apply","id","length","push","user","messageId","latestReactions","latest_reactions","ownReactions","own_reactions","forEach","r","executeSqlBatch"],"mappings":";;;;;;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGO,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,OAMvB;AAAA,wBALJC,KAKI;AAAA,MALJA,KAKI,2BALI,IAKJ;AAAA,MAJJC,OAII,QAJJA,OAII;AACJ,MAAMC,OAA0B,GAAG,EAAnC;;AAEA,MAAMC,QAAQ,GAAGC,qCAAkBC,UAAlB,CAA6BC,KAA7B,CACf,IADe,EAEf,0CAAkB,UAAlB,EAA8B,CAAC,GAAD,CAA9B,EAAqC;AACnCC,IAAAA,EAAE,EAAEN,OAAO,CAACM;AADuB,GAArC,CAFe,CAAjB;;AAOA,MAAIJ,QAAQ,CAACK,MAAT,KAAoB,CAAxB,EAA2B;AACzB,WAAON,OAAP;AACD;;AAEDA,EAAAA,OAAO,CAACO,IAAR,CACE,0CAAkB,UAAlB,EAA8B,gDAAqBR,OAArB,CAA9B,EAA6D;AAC3DM,IAAAA,EAAE,EAAEN,OAAO,CAACM;AAD+C,GAA7D,CADF;;AAMA,MAAIN,OAAO,CAACS,IAAZ,EAAkB;AAChBR,IAAAA,OAAO,CAACO,IAAR,CAAa,0CAAkB,OAAlB,EAA2B,0CAAkBR,OAAO,CAACS,IAA1B,CAA3B,CAAb;AACD;;AAEDR,EAAAA,OAAO,CAACO,IAAR,CACE,0CAAkB,WAAlB,EAA+B;AAC7BE,IAAAA,SAAS,EAAEV,OAAO,CAACM;AADU,GAA/B,CADF;AAMA,MAAMK,eAAe,GAAGX,OAAO,CAACY,gBAAR,IAA4B,EAApD;AACA,MAAMC,YAAY,GAAGb,OAAO,CAACc,aAAR,IAAyB,EAA9C;AAEA,gDAAIH,eAAJ,uCAAwBE,YAAxB,GAAsCE,OAAtC,CAA8C,UAACC,CAAD,EAAO;AACnD,QAAIA,CAAC,CAACP,IAAN,EAAY;AACVR,MAAAA,OAAO,CAACO,IAAR,CAAa,0CAAkB,OAAlB,EAA2B,0CAAkBQ,CAAC,CAACP,IAApB,CAA3B,CAAb;AACD;;AAEDR,IAAAA,OAAO,CAACO,IAAR,CAAa,0CAAkB,WAAlB,EAA+B,kDAAsBQ,CAAtB,CAA/B,CAAb;AACD,GAND;;AAQA,MAAIjB,KAAJ,EAAW;AACTI,yCAAkBc,eAAlB,CAAkChB,OAAlC;AACD;;AAED,SAAOA,OAAP;AACD,CApDM","sourcesContent":["import type { FormatMessageResponse, MessageResponse } from 'stream-chat';\n\nimport { mapMessageToStorable } from '../mappers/mapMessageToStorable';\nimport { mapReactionToStorable } from '../mappers/mapReactionToStorable';\nimport { mapUserToStorable } from '../mappers/mapUserToStorable';\nimport { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createDeleteQuery } from '../sqlite-utils/createDeleteQuery';\nimport { createSelectQuery } from '../sqlite-utils/createSelectQuery';\nimport { createUpdateQuery } from '../sqlite-utils/createUpdateQuery';\nimport { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';\nimport type { PreparedQueries } from '../types';\n\nexport const updateMessage = ({\n flush = true,\n message,\n}: {\n message: MessageResponse | FormatMessageResponse;\n flush?: boolean;\n}) => {\n const queries: PreparedQueries[] = [];\n\n const messages = QuickSqliteClient.executeSql.apply(\n null,\n createSelectQuery('messages', ['*'], {\n id: message.id,\n }),\n );\n\n if (messages.length === 0) {\n return queries;\n }\n\n queries.push(\n createUpdateQuery('messages', mapMessageToStorable(message), {\n id: message.id,\n }),\n );\n\n if (message.user) {\n queries.push(createUpsertQuery('users', mapUserToStorable(message.user)));\n }\n\n queries.push(\n createDeleteQuery('reactions', {\n messageId: message.id,\n }),\n );\n\n const latestReactions = message.latest_reactions || [];\n const ownReactions = message.own_reactions || [];\n\n [...latestReactions, ...ownReactions].forEach((r) => {\n if (r.user) {\n queries.push(createUpsertQuery('users', mapUserToStorable(r.user)));\n }\n\n queries.push(createUpsertQuery('reactions', mapReactionToStorable(r)));\n });\n\n if (flush) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n\n return queries;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["updateReaction.ts"],"names":["updateReaction","flush","message","reaction","queries","user","push","messageId","message_id","userId","user_id","reaction_counts","reactionCounts","id","QuickSqliteClient","executeSqlBatch"],"mappings":";;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAQxB;AAAA,wBAPJC,KAOI;AAAA,MAPJA,KAOI,2BAPI,IAOJ;AAAA,MANJC,OAMI,QANJA,OAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AACJ,MAAMC,OAA0B,GAAG,EAAnC;;AAEA,MAAID,QAAQ,CAACE,IAAb,EAAmB;AACjBD,IAAAA,OAAO,CAACE,IAAR,CAAa,0CAAkB,OAAlB,EAA2B,0CAAkBH,QAAQ,CAACE,IAA3B,CAA3B,CAAb;AACD;;AAEDD,EAAAA,OAAO,CAACE,IAAR,CACE,0CAAkB,WAAlB,EAA+B,kDAAsBH,QAAtB,CAA/B,EAAgE;AAC9DI,IAAAA,SAAS,EAAEJ,QAAQ,CAACK,UAD0C;AAE9DC,IAAAA,MAAM,EAAEN,QAAQ,CAACO;AAF6C,GAAhE,CADF;;AAOA,MAAIR,OAAO,CAACS,eAAZ,EAA6B;AAC3B,gCAA2B,iDAAqBT,OAArB,CAA3B;AAAA,QAAQU,cAAR,yBAAQA,cAAR;;AAEAR,IAAAA,OAAO,CAACE,IAAR,CACE,0CACE,UADF,EAEE;AACEM,MAAAA,cAAc,EAAdA;AADF,KAFF,EAKE;AACEC,MAAAA,EAAE,EAAEX,OAAO,CAACW;AADd,KALF,CADF;AAWD;;AAED,MAAIZ,KAAJ,EAAW;AACTa,yCAAkBC,eAAlB,CAAkCX,OAAlC;AACD;;AAED,SAAOA,OAAP;AACD,CA3CM","sourcesContent":["import type { MessageResponse, ReactionResponse } from 'stream-chat';\n\nimport { mapMessageToStorable } from '../mappers/mapMessageToStorable';\nimport { mapReactionToStorable } from '../mappers/mapReactionToStorable';\nimport { mapUserToStorable } from '../mappers/mapUserToStorable';\nimport { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createUpdateQuery } from '../sqlite-utils/createUpdateQuery';\nimport { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';\nimport type { PreparedQueries } from '../types';\n\nexport const updateReaction = ({\n flush = true,\n message,\n reaction,\n}: {\n message: MessageResponse;\n reaction: ReactionResponse;\n flush?: boolean;\n}) => {\n const queries: PreparedQueries[] = [];\n\n if (reaction.user) {\n queries.push(createUpsertQuery('users', mapUserToStorable(reaction.user)));\n }\n\n queries.push(\n createUpdateQuery('reactions', mapReactionToStorable(reaction), {\n messageId: reaction.message_id,\n userId: reaction.user_id,\n }),\n );\n\n if (message.reaction_counts) {\n const { reactionCounts } = mapMessageToStorable(message);\n\n queries.push(\n createUpdateQuery(\n 'messages',\n {\n reactionCounts,\n },\n {\n id: message.id,\n },\n ),\n );\n }\n\n if (flush) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n\n return queries;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["updateReaction.ts"],"names":["updateReaction","flush","message","reaction","queries","user","push","messageId","message_id","userId","user_id","reaction_counts","reactionCounts","id","QuickSqliteClient","executeSqlBatch"],"mappings":";;;;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAGO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAQxB;AAAA,wBAPJC,KAOI;AAAA,MAPJA,KAOI,2BAPI,IAOJ;AAAA,MANJC,OAMI,QANJA,OAMI;AAAA,MALJC,QAKI,QALJA,QAKI;AACJ,MAAMC,OAA0B,GAAG,EAAnC;;AAEA,MAAID,QAAQ,CAACE,IAAb,EAAmB;AACjBD,IAAAA,OAAO,CAACE,IAAR,CAAa,0CAAkB,OAAlB,EAA2B,0CAAkBH,QAAQ,CAACE,IAA3B,CAA3B,CAAb;AACD;;AAEDD,EAAAA,OAAO,CAACE,IAAR,CACE,0CAAkB,WAAlB,EAA+B,kDAAsBH,QAAtB,CAA/B,EAAgE;AAC9DI,IAAAA,SAAS,EAAEJ,QAAQ,CAACK,UAD0C;AAE9DC,IAAAA,MAAM,EAAEN,QAAQ,CAACO;AAF6C,GAAhE,CADF;;AAOA,MAAIR,OAAO,CAACS,eAAZ,EAA6B;AAC3B,gCAA2B,iDAAqBT,OAArB,CAA3B;AAAA,QAAQU,cAAR,yBAAQA,cAAR;;AAEAR,IAAAA,OAAO,CAACE,IAAR,CACE,0CACE,UADF,EAEE;AACEM,MAAAA,cAAc,EAAdA;AADF,KAFF,EAKE;AACEC,MAAAA,EAAE,EAAEX,OAAO,CAACW;AADd,KALF,CADF;AAWD;;AAED,MAAIZ,KAAJ,EAAW;AACTa,yCAAkBC,eAAlB,CAAkCX,OAAlC;AACD;;AAED,SAAOA,OAAP;AACD,CA3CM","sourcesContent":["import type { FormatMessageResponse, MessageResponse, ReactionResponse } from 'stream-chat';\n\nimport { mapMessageToStorable } from '../mappers/mapMessageToStorable';\nimport { mapReactionToStorable } from '../mappers/mapReactionToStorable';\nimport { mapUserToStorable } from '../mappers/mapUserToStorable';\nimport { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createUpdateQuery } from '../sqlite-utils/createUpdateQuery';\nimport { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';\nimport type { PreparedQueries } from '../types';\n\nexport const updateReaction = ({\n flush = true,\n message,\n reaction,\n}: {\n message: MessageResponse | FormatMessageResponse;\n reaction: ReactionResponse;\n flush?: boolean;\n}) => {\n const queries: PreparedQueries[] = [];\n\n if (reaction.user) {\n queries.push(createUpsertQuery('users', mapUserToStorable(reaction.user)));\n }\n\n queries.push(\n createUpdateQuery('reactions', mapReactionToStorable(reaction), {\n messageId: reaction.message_id,\n userId: reaction.user_id,\n }),\n );\n\n if (message.reaction_counts) {\n const { reactionCounts } = mapMessageToStorable(message);\n\n queries.push(\n createUpdateQuery(\n 'messages',\n {\n reactionCounts,\n },\n {\n id: message.id,\n },\n ),\n );\n }\n\n if (flush) {\n QuickSqliteClient.executeSqlBatch(queries);\n }\n\n return queries;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["mapDateTimeToStorable.ts"],"names":["mapDateTimeToStorable","datetime","Date","toISOString"],"mappings":";;;;;AAAO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,QAAD,
|
|
1
|
+
{"version":3,"sources":["mapDateTimeToStorable.ts"],"names":["mapDateTimeToStorable","datetime","Date","toISOString"],"mappings":";;;;;AAAO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,QAAD,EAA8B;AACjE,MAAI,CAACA,QAAL,EAAe,OAAO,EAAP;AAEf,SAAO,IAAIC,IAAJ,CAASD,QAAT,EAAmBE,WAAnB,EAAP;AACD,CAJM","sourcesContent":["export const mapDateTimeToStorable = (datetime?: string | Date) => {\n if (!datetime) return '';\n\n return new Date(datetime).toISOString();\n};\n"]}
|
|
@@ -9,7 +9,7 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
9
9
|
|
|
10
10
|
var _mapDateTimeToStorable = require("./mapDateTimeToStorable");
|
|
11
11
|
|
|
12
|
-
var _excluded = ["attachments", "cid", "created_at", "deleted_at", "id", "reaction_counts", "text", "type", "updated_at", "user"];
|
|
12
|
+
var _excluded = ["attachments", "cid", "created_at", "deleted_at", "id", "latest_reactions", "own_reactions", "reaction_counts", "text", "type", "updated_at", "user"];
|
|
13
13
|
|
|
14
14
|
var mapMessageToStorable = function mapMessageToStorable(message) {
|
|
15
15
|
var attachments = message.attachments,
|
|
@@ -17,6 +17,8 @@ var mapMessageToStorable = function mapMessageToStorable(message) {
|
|
|
17
17
|
created_at = message.created_at,
|
|
18
18
|
deleted_at = message.deleted_at,
|
|
19
19
|
id = message.id,
|
|
20
|
+
latest_reactions = message.latest_reactions,
|
|
21
|
+
own_reactions = message.own_reactions,
|
|
20
22
|
reaction_counts = message.reaction_counts,
|
|
21
23
|
text = message.text,
|
|
22
24
|
type = message.type,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["mapMessageToStorable.ts"],"names":["mapMessageToStorable","message","attachments","cid","created_at","deleted_at","id","reaction_counts","text","type","updated_at","user","extraData","JSON","stringify","createdAt","deletedAt","reactionCounts","updatedAt","userId"],"mappings":";;;;;;;;;AAEA;;;;AAIO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,
|
|
1
|
+
{"version":3,"sources":["mapMessageToStorable.ts"],"names":["mapMessageToStorable","message","attachments","cid","created_at","deleted_at","id","latest_reactions","own_reactions","reaction_counts","text","type","updated_at","user","extraData","JSON","stringify","createdAt","deletedAt","reactionCounts","updatedAt","userId"],"mappings":";;;;;;;;;AAEA;;;;AAIO,IAAMA,oBAAoB,GAAG,SAAvBA,oBAAuB,CAClCC,OADkC,EAET;AACzB,MACEC,WADF,GAgBID,OAhBJ,CACEC,WADF;AAAA,MAEEC,GAFF,GAgBIF,OAhBJ,CAEEE,GAFF;AAAA,MAGEC,UAHF,GAgBIH,OAhBJ,CAGEG,UAHF;AAAA,MAIEC,UAJF,GAgBIJ,OAhBJ,CAIEI,UAJF;AAAA,MAKEC,EALF,GAgBIL,OAhBJ,CAKEK,EALF;AAAA,MAOEC,gBAPF,GAgBIN,OAhBJ,CAOEM,gBAPF;AAAA,MASEC,aATF,GAgBIP,OAhBJ,CASEO,aATF;AAAA,MAUEC,eAVF,GAgBIR,OAhBJ,CAUEQ,eAVF;AAAA,MAWEC,IAXF,GAgBIT,OAhBJ,CAWES,IAXF;AAAA,MAYEC,IAZF,GAgBIV,OAhBJ,CAYEU,IAZF;AAAA,MAaEC,UAbF,GAgBIX,OAhBJ,CAaEW,UAbF;AAAA,MAcEC,IAdF,GAgBIZ,OAhBJ,CAcEY,IAdF;AAAA,MAeKC,SAfL,6CAgBIb,OAhBJ;AAkBA,SAAO;AACLC,IAAAA,WAAW,EAAEa,IAAI,CAACC,SAAL,CAAed,WAAf,CADR;AAELC,IAAAA,GAAG,EAAEA,GAAG,IAAI,EAFP;AAGLc,IAAAA,SAAS,EAAE,kDAAsBb,UAAtB,CAHN;AAILc,IAAAA,SAAS,EAAE,kDAAsBb,UAAtB,CAJN;AAKLS,IAAAA,SAAS,EAAEC,IAAI,CAACC,SAAL,CAAeF,SAAf,CALN;AAMLR,IAAAA,EAAE,EAAFA,EANK;AAOLa,IAAAA,cAAc,EAAEJ,IAAI,CAACC,SAAL,CAAeP,eAAf,CAPX;AAQLC,IAAAA,IAAI,EAAJA,IARK;AASLC,IAAAA,IAAI,EAAJA,IATK;AAULS,IAAAA,SAAS,EAAE,kDAAsBR,UAAtB,CAVN;AAWLS,IAAAA,MAAM,EAAER,IAAF,oBAAEA,IAAI,CAAEP;AAXT,GAAP;AAaD,CAlCM","sourcesContent":["import type { FormatMessageResponse, MessageResponse } from 'stream-chat';\n\nimport { mapDateTimeToStorable } from './mapDateTimeToStorable';\n\nimport type { TableRow } from '../types';\n\nexport const mapMessageToStorable = (\n message: MessageResponse | FormatMessageResponse,\n): TableRow<'messages'> => {\n const {\n attachments,\n cid,\n created_at,\n deleted_at,\n id,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n latest_reactions,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n own_reactions,\n reaction_counts,\n text,\n type,\n updated_at,\n user,\n ...extraData\n } = message;\n\n return {\n attachments: JSON.stringify(attachments),\n cid: cid || '',\n createdAt: mapDateTimeToStorable(created_at),\n deletedAt: mapDateTimeToStorable(deleted_at),\n extraData: JSON.stringify(extraData),\n id,\n reactionCounts: JSON.stringify(reaction_counts),\n text,\n type,\n updatedAt: mapDateTimeToStorable(updated_at),\n userId: user?.id,\n };\n};\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.mapStorableToTask = void 0;
|
|
5
|
+
|
|
6
|
+
var mapStorableToTask = function mapStorableToTask(row) {
|
|
7
|
+
var channelId = row.channelId,
|
|
8
|
+
channelType = row.channelType,
|
|
9
|
+
id = row.id,
|
|
10
|
+
messageId = row.messageId,
|
|
11
|
+
type = row.type;
|
|
12
|
+
return {
|
|
13
|
+
channelId: channelId,
|
|
14
|
+
channelType: channelType,
|
|
15
|
+
id: id,
|
|
16
|
+
messageId: messageId,
|
|
17
|
+
payload: JSON.parse(row.payload),
|
|
18
|
+
type: type
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.mapStorableToTask = mapStorableToTask;
|
|
23
|
+
//# sourceMappingURL=mapStorableToTask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["mapStorableToTask.ts"],"names":["mapStorableToTask","row","channelId","channelType","id","messageId","type","payload","JSON","parse"],"mappings":";;;;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,GAAD,EAA0D;AACzF,MAAQC,SAAR,GAAwDD,GAAxD,CAAQC,SAAR;AAAA,MAAmBC,WAAnB,GAAwDF,GAAxD,CAAmBE,WAAnB;AAAA,MAAgCC,EAAhC,GAAwDH,GAAxD,CAAgCG,EAAhC;AAAA,MAAoCC,SAApC,GAAwDJ,GAAxD,CAAoCI,SAApC;AAAA,MAA+CC,IAA/C,GAAwDL,GAAxD,CAA+CK,IAA/C;AACA,SAAO;AACLJ,IAAAA,SAAS,EAATA,SADK;AAELC,IAAAA,WAAW,EAAXA,WAFK;AAGLC,IAAAA,EAAE,EAAFA,EAHK;AAILC,IAAAA,SAAS,EAATA,SAJK;AAKLE,IAAAA,OAAO,EAAEC,IAAI,CAACC,KAAL,CAAWR,GAAG,CAACM,OAAf,CALJ;AAMLD,IAAAA,IAAI,EAAJA;AANK,GAAP;AAQD,CAVM","sourcesContent":["import type { PendingTask, TableRowJoinedUser } from '../types';\n\nexport const mapStorableToTask = (row: TableRowJoinedUser<'pendingTasks'>): PendingTask => {\n const { channelId, channelType, id, messageId, type } = row;\n return {\n channelId,\n channelType,\n id,\n messageId,\n payload: JSON.parse(row.payload),\n type,\n };\n};\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.mapTaskToStorable = void 0;
|
|
7
|
+
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
|
|
10
|
+
var mapTaskToStorable = function mapTaskToStorable(task) {
|
|
11
|
+
return (0, _extends2["default"])({}, task, {
|
|
12
|
+
createdAt: new Date().toISOString(),
|
|
13
|
+
payload: JSON.stringify(task.payload)
|
|
14
|
+
});
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
exports.mapTaskToStorable = mapTaskToStorable;
|
|
18
|
+
//# sourceMappingURL=mapTaskToStorable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["mapTaskToStorable.ts"],"names":["mapTaskToStorable","task","createdAt","Date","toISOString","payload","JSON","stringify"],"mappings":";;;;;;;;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,IAAD;AAAA,uCAC5BA,IAD4B;AAE/BC,IAAAA,SAAS,EAAE,IAAIC,IAAJ,GAAWC,WAAX,EAFoB;AAG/BC,IAAAA,OAAO,EAAEC,IAAI,CAACC,SAAL,CAAeN,IAAI,CAACI,OAApB;AAHsB;AAAA,CAA1B","sourcesContent":["import type { PendingTask } from '../types';\n\nexport const mapTaskToStorable = (task: PendingTask) => ({\n ...task,\n createdAt: new Date().toISOString(),\n payload: JSON.stringify(task.payload),\n});\n"]}
|
|
@@ -94,6 +94,17 @@ var tables = {
|
|
|
94
94
|
}],
|
|
95
95
|
primaryKey: ['id']
|
|
96
96
|
},
|
|
97
|
+
pendingTasks: {
|
|
98
|
+
columns: {
|
|
99
|
+
channelId: 'TEXT',
|
|
100
|
+
channelType: 'TEXT',
|
|
101
|
+
createdAt: 'TEXT',
|
|
102
|
+
id: 'INTEGER PRIMARY KEY AUTOINCREMENT',
|
|
103
|
+
messageId: 'TEXT',
|
|
104
|
+
payload: 'TEXT',
|
|
105
|
+
type: 'TEXT'
|
|
106
|
+
}
|
|
107
|
+
},
|
|
97
108
|
reactions: {
|
|
98
109
|
columns: {
|
|
99
110
|
createdAt: 'TEXT',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["schema.ts"],"names":["tables","channelQueries","columns","cids","id","primaryKey","channels","autoTranslationEnabled","autoTranslationLanguage","cid","config","cooldown","createdAt","createdById","deletedAt","disabled","extraData","frozen","hidden","invites","lastMessageAt","memberCount","muted","ownCapabilities","team","truncatedAt","truncatedBy","truncatedById","type","updatedAt","members","banned","channelRole","inviteAcceptedAt","invited","inviteRejectedAt","isModerator","role","shadowBanned","userId","foreignKeys","column","onDeleteAction","referenceTable","referenceTableColumn","indexes","name","unique","messages","attachments","reactionCounts","text","reactions","messageId","score","reads","lastRead","unreadMessages","users","lastActive","online","userSyncStatus","lastSyncedAt"],"mappings":"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","sourcesContent":["import type { MessageLabel, Role } from 'stream-chat';\n\ntype Tables = {\n [P in keyof Schema]: {\n columns: {\n [K in keyof Schema[P]]: string;\n };\n primaryKey: Array<keyof Schema[P]>;\n foreignKeys?: Array<{\n column: `${Exclude<keyof Schema[P], symbol>}`;\n referenceTable: `${keyof Schema}`;\n referenceTableColumn: string;\n // https://www.sqlite.org/foreignkeys.html#fk_actions\n onDeleteAction?: 'NO ACTION' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT' | 'CASCADE';\n }>;\n indexes?: Array<{\n columns: Array<keyof Schema[P]>;\n name: string;\n unique: boolean;\n }>;\n };\n};\n\nexport const tables: Tables = {\n channelQueries: {\n columns: {\n cids: 'TEXT',\n id: 'TEXT',\n },\n primaryKey: ['id'],\n },\n channels: {\n columns: {\n autoTranslationEnabled: 'BOOLEAN',\n autoTranslationLanguage: 'TEXT',\n cid: 'TEXT',\n config: 'TEXT',\n cooldown: 'BOOLEAN',\n createdAt: 'TEXT',\n createdById: 'TEXT',\n deletedAt: 'TEXT',\n disabled: 'BOOLEAN DEFAULT FALSE',\n extraData: 'TEXT',\n frozen: 'BOOLEAN',\n hidden: 'BOOLEAN',\n id: 'TEXT',\n invites: 'TEXT',\n lastMessageAt: 'TEXT',\n memberCount: 'INTEGER',\n muted: 'BOOLEAN DEFAULT FALSE',\n ownCapabilities: 'TEXT',\n team: 'TEXT',\n truncatedAt: 'TEXT',\n truncatedBy: 'TEXT',\n truncatedById: 'TEXT',\n type: 'TEXT',\n updatedAt: 'TEXT',\n },\n primaryKey: ['cid'],\n },\n members: {\n columns: {\n banned: 'BOOLEAN DEFAULT FALSE',\n channelRole: 'TEXT',\n cid: 'TEXT NOT NULL',\n createdAt: 'TEXT',\n inviteAcceptedAt: 'TEXT',\n invited: 'BOOLEAN',\n inviteRejectedAt: 'TEXT',\n isModerator: 'BOOLEAN',\n role: 'TEXT',\n shadowBanned: 'BOOLEAN DEFAULT FALSE',\n updatedAt: 'TEXT',\n userId: 'TEXT',\n },\n foreignKeys: [\n {\n column: 'cid',\n onDeleteAction: 'CASCADE',\n referenceTable: 'channels',\n referenceTableColumn: 'cid',\n },\n ],\n indexes: [\n {\n columns: ['cid', 'userId'],\n name: 'index_members',\n unique: false,\n },\n ],\n primaryKey: ['cid', 'userId'],\n },\n messages: {\n columns: {\n attachments: 'TEXT',\n cid: 'TEXT NOT NULL',\n createdAt: 'TEXT',\n deletedAt: 'TEXT',\n extraData: 'TEXT',\n id: 'TEXT',\n reactionCounts: 'TEXT',\n text: \"TEXT DEFAULT ''\",\n type: 'TEXT',\n updatedAt: 'TEXT',\n userId: 'TEXT',\n },\n foreignKeys: [\n {\n column: 'cid',\n onDeleteAction: 'CASCADE',\n referenceTable: 'channels',\n referenceTableColumn: 'cid',\n },\n ],\n indexes: [\n {\n columns: ['cid', 'userId'],\n name: 'index_messages',\n unique: false,\n },\n ],\n primaryKey: ['id'],\n },\n reactions: {\n columns: {\n createdAt: 'TEXT',\n extraData: 'TEXT',\n messageId: 'TEXT',\n score: 'INTEGER DEFAULT 0',\n type: 'TEXT',\n updatedAt: 'TEXT',\n userId: 'TEXT',\n },\n foreignKeys: [\n {\n column: 'messageId',\n onDeleteAction: 'CASCADE',\n referenceTable: 'messages',\n referenceTableColumn: 'id',\n },\n ],\n indexes: [\n {\n columns: ['messageId', 'userId'],\n name: 'index_reaction',\n unique: false,\n },\n ],\n primaryKey: ['messageId', 'userId', 'type'],\n },\n reads: {\n columns: {\n cid: 'TEXT NOT NULL',\n lastRead: 'TEXT NOT NULL',\n unreadMessages: 'INTEGER DEFAULT 0',\n userId: 'TEXT',\n },\n indexes: [\n {\n columns: ['cid', 'userId'],\n name: 'index_reads_cid',\n unique: false,\n },\n ],\n primaryKey: ['userId', 'cid'],\n },\n users: {\n columns: {\n banned: 'BOOLEAN DEFAULT FALSE',\n createdAt: 'TEXT',\n extraData: 'TEXT',\n id: 'TEXT',\n lastActive: 'TEXT',\n online: 'INTEGER',\n role: 'TEXT',\n updatedAt: 'TEXT',\n },\n indexes: [\n {\n columns: ['id'],\n name: 'index_users_id',\n unique: true,\n },\n ],\n primaryKey: ['id'],\n },\n userSyncStatus: {\n columns: {\n lastSyncedAt: 'TEXT',\n userId: 'TEXT',\n },\n primaryKey: ['userId'],\n },\n};\n\n// TODO: Checking the optionality of columns\nexport type Schema = {\n channelQueries: {\n cids: string;\n id: string;\n };\n channels: {\n cid: string;\n extraData: string;\n id: string;\n type: string;\n autoTranslationEnabled?: boolean;\n autoTranslationLanguage?: string;\n config?: string;\n cooldown?: number;\n createdAt?: string;\n createdById?: string;\n deletedAt?: string;\n disabled?: boolean;\n frozen?: boolean;\n hidden?: boolean;\n invites?: string;\n lastMessageAt?: string;\n memberCount?: number;\n muted?: boolean;\n ownCapabilities?: string;\n team?: string;\n truncatedAt?: string;\n truncatedBy?: string;\n truncatedById?: string;\n updatedAt?: string;\n };\n members: {\n cid: string;\n banned?: boolean;\n channelRole?: Role;\n createdAt?: string;\n inviteAcceptedAt?: string;\n invited?: boolean;\n inviteRejectedAt?: string;\n isModerator?: boolean;\n role?: string;\n shadowBanned?: boolean;\n updatedAt?: string;\n userId?: string;\n };\n messages: {\n attachments: string;\n cid: string;\n createdAt: string;\n deletedAt: string;\n extraData: string;\n id: string;\n reactionCounts: string;\n type: MessageLabel;\n updatedAt: string;\n text?: string;\n userId?: string;\n };\n reactions: {\n createdAt: string;\n messageId: string;\n type: string;\n updatedAt: string;\n extraData?: string;\n score?: number;\n userId?: string;\n };\n reads: {\n cid: string;\n lastRead: string;\n unreadMessages?: number;\n userId?: string;\n };\n users: {\n id: string;\n banned?: boolean;\n createdAt?: string;\n extraData?: string;\n lastActive?: string;\n online?: boolean;\n role?: string;\n updatedAt?: string;\n };\n userSyncStatus: {\n lastSyncedAt: string;\n userId: string;\n };\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["schema.ts"],"names":["tables","channelQueries","columns","cids","id","primaryKey","channels","autoTranslationEnabled","autoTranslationLanguage","cid","config","cooldown","createdAt","createdById","deletedAt","disabled","extraData","frozen","hidden","invites","lastMessageAt","memberCount","muted","ownCapabilities","team","truncatedAt","truncatedBy","truncatedById","type","updatedAt","members","banned","channelRole","inviteAcceptedAt","invited","inviteRejectedAt","isModerator","role","shadowBanned","userId","foreignKeys","column","onDeleteAction","referenceTable","referenceTableColumn","indexes","name","unique","messages","attachments","reactionCounts","text","pendingTasks","channelId","channelType","messageId","payload","reactions","score","reads","lastRead","unreadMessages","users","lastActive","online","userSyncStatus","lastSyncedAt"],"mappings":"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","sourcesContent":["import type { MessageLabel, Role } from 'stream-chat';\n\nimport type { PendingTaskTypes } from './types';\n\nimport type { ValueOf } from '../types/types';\n\ntype Tables = {\n [P in keyof Schema]: {\n columns: {\n [K in keyof Schema[P]]: string;\n };\n foreignKeys?: Array<{\n column: `${Exclude<keyof Schema[P], symbol>}`;\n referenceTable: `${keyof Schema}`;\n referenceTableColumn: string;\n // https://www.sqlite.org/foreignkeys.html#fk_actions\n onDeleteAction?: 'NO ACTION' | 'RESTRICT' | 'SET NULL' | 'SET DEFAULT' | 'CASCADE';\n }>;\n indexes?: Array<{\n columns: Array<keyof Schema[P]>;\n name: string;\n unique: boolean;\n }>;\n primaryKey?: Array<keyof Schema[P]>;\n };\n};\n\nexport const tables: Tables = {\n channelQueries: {\n columns: {\n cids: 'TEXT',\n id: 'TEXT',\n },\n primaryKey: ['id'],\n },\n channels: {\n columns: {\n autoTranslationEnabled: 'BOOLEAN',\n autoTranslationLanguage: 'TEXT',\n cid: 'TEXT',\n config: 'TEXT',\n cooldown: 'BOOLEAN',\n createdAt: 'TEXT',\n createdById: 'TEXT',\n deletedAt: 'TEXT',\n disabled: 'BOOLEAN DEFAULT FALSE',\n extraData: 'TEXT',\n frozen: 'BOOLEAN',\n hidden: 'BOOLEAN',\n id: 'TEXT',\n invites: 'TEXT',\n lastMessageAt: 'TEXT',\n memberCount: 'INTEGER',\n muted: 'BOOLEAN DEFAULT FALSE',\n ownCapabilities: 'TEXT',\n team: 'TEXT',\n truncatedAt: 'TEXT',\n truncatedBy: 'TEXT',\n truncatedById: 'TEXT',\n type: 'TEXT',\n updatedAt: 'TEXT',\n },\n primaryKey: ['cid'],\n },\n members: {\n columns: {\n banned: 'BOOLEAN DEFAULT FALSE',\n channelRole: 'TEXT',\n cid: 'TEXT NOT NULL',\n createdAt: 'TEXT',\n inviteAcceptedAt: 'TEXT',\n invited: 'BOOLEAN',\n inviteRejectedAt: 'TEXT',\n isModerator: 'BOOLEAN',\n role: 'TEXT',\n shadowBanned: 'BOOLEAN DEFAULT FALSE',\n updatedAt: 'TEXT',\n userId: 'TEXT',\n },\n foreignKeys: [\n {\n column: 'cid',\n onDeleteAction: 'CASCADE',\n referenceTable: 'channels',\n referenceTableColumn: 'cid',\n },\n ],\n indexes: [\n {\n columns: ['cid', 'userId'],\n name: 'index_members',\n unique: false,\n },\n ],\n primaryKey: ['cid', 'userId'],\n },\n messages: {\n columns: {\n attachments: 'TEXT',\n cid: 'TEXT NOT NULL',\n createdAt: 'TEXT',\n deletedAt: 'TEXT',\n extraData: 'TEXT',\n id: 'TEXT',\n reactionCounts: 'TEXT',\n text: \"TEXT DEFAULT ''\",\n type: 'TEXT',\n updatedAt: 'TEXT',\n userId: 'TEXT',\n },\n foreignKeys: [\n {\n column: 'cid',\n onDeleteAction: 'CASCADE',\n referenceTable: 'channels',\n referenceTableColumn: 'cid',\n },\n ],\n indexes: [\n {\n columns: ['cid', 'userId'],\n name: 'index_messages',\n unique: false,\n },\n ],\n primaryKey: ['id'],\n },\n pendingTasks: {\n columns: {\n channelId: 'TEXT',\n channelType: 'TEXT',\n createdAt: 'TEXT',\n id: 'INTEGER PRIMARY KEY AUTOINCREMENT',\n messageId: 'TEXT',\n payload: 'TEXT',\n type: 'TEXT',\n },\n },\n reactions: {\n columns: {\n createdAt: 'TEXT',\n extraData: 'TEXT',\n messageId: 'TEXT',\n score: 'INTEGER DEFAULT 0',\n type: 'TEXT',\n updatedAt: 'TEXT',\n userId: 'TEXT',\n },\n foreignKeys: [\n {\n column: 'messageId',\n onDeleteAction: 'CASCADE',\n referenceTable: 'messages',\n referenceTableColumn: 'id',\n },\n ],\n indexes: [\n {\n columns: ['messageId', 'userId'],\n name: 'index_reaction',\n unique: false,\n },\n ],\n primaryKey: ['messageId', 'userId', 'type'],\n },\n reads: {\n columns: {\n cid: 'TEXT NOT NULL',\n lastRead: 'TEXT NOT NULL',\n unreadMessages: 'INTEGER DEFAULT 0',\n userId: 'TEXT',\n },\n indexes: [\n {\n columns: ['cid', 'userId'],\n name: 'index_reads_cid',\n unique: false,\n },\n ],\n primaryKey: ['userId', 'cid'],\n },\n users: {\n columns: {\n banned: 'BOOLEAN DEFAULT FALSE',\n createdAt: 'TEXT',\n extraData: 'TEXT',\n id: 'TEXT',\n lastActive: 'TEXT',\n online: 'INTEGER',\n role: 'TEXT',\n updatedAt: 'TEXT',\n },\n indexes: [\n {\n columns: ['id'],\n name: 'index_users_id',\n unique: true,\n },\n ],\n primaryKey: ['id'],\n },\n userSyncStatus: {\n columns: {\n lastSyncedAt: 'TEXT',\n userId: 'TEXT',\n },\n primaryKey: ['userId'],\n },\n};\n\n// TODO: Checking the optionality of columns\nexport type Schema = {\n channelQueries: {\n cids: string;\n id: string;\n };\n channels: {\n cid: string;\n extraData: string;\n id: string;\n type: string;\n autoTranslationEnabled?: boolean;\n autoTranslationLanguage?: string;\n config?: string;\n cooldown?: number;\n createdAt?: string;\n createdById?: string;\n deletedAt?: string;\n disabled?: boolean;\n frozen?: boolean;\n hidden?: boolean;\n invites?: string;\n lastMessageAt?: string;\n memberCount?: number;\n muted?: boolean;\n ownCapabilities?: string;\n team?: string;\n truncatedAt?: string;\n truncatedBy?: string;\n truncatedById?: string;\n updatedAt?: string;\n };\n members: {\n cid: string;\n banned?: boolean;\n channelRole?: Role;\n createdAt?: string;\n inviteAcceptedAt?: string;\n invited?: boolean;\n inviteRejectedAt?: string;\n isModerator?: boolean;\n role?: string;\n shadowBanned?: boolean;\n updatedAt?: string;\n userId?: string;\n };\n messages: {\n attachments: string;\n cid: string;\n createdAt: string;\n deletedAt: string;\n extraData: string;\n id: string;\n reactionCounts: string;\n type: MessageLabel;\n updatedAt: string;\n text?: string;\n userId?: string;\n };\n pendingTasks: {\n channelId: string;\n channelType: string;\n createdAt: string;\n id: number;\n messageId: string;\n payload: string;\n type: ValueOf<PendingTaskTypes>;\n };\n reactions: {\n createdAt: string;\n messageId: string;\n type: string;\n updatedAt: string;\n extraData?: string;\n score?: number;\n userId?: string;\n };\n reads: {\n cid: string;\n lastRead: string;\n unreadMessages?: number;\n userId?: string;\n };\n users: {\n id: string;\n banned?: boolean;\n createdAt?: string;\n extraData?: string;\n lastActive?: string;\n online?: boolean;\n role?: string;\n updatedAt?: string;\n };\n userSyncStatus: {\n lastSyncedAt: string;\n userId: string;\n };\n};\n"]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.appendOrderByClause = void 0;
|
|
5
|
+
|
|
6
|
+
var appendOrderByClause = function appendOrderByClause(selectQuery, orderBy) {
|
|
7
|
+
if (!orderBy) return [selectQuery, []];
|
|
8
|
+
var orderByClause = [];
|
|
9
|
+
|
|
10
|
+
for (var key in orderBy) {
|
|
11
|
+
var order = orderBy[key];
|
|
12
|
+
if (order === undefined) continue;
|
|
13
|
+
orderByClause.push(key + " " + (order === 1 ? 'ASC' : 'DESC'));
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
if (!orderByClause.length) {
|
|
17
|
+
return [selectQuery, []];
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
return [selectQuery + " ORDER BY " + orderByClause.join(', ')];
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
exports.appendOrderByClause = appendOrderByClause;
|
|
24
|
+
//# sourceMappingURL=appendOrderByClause.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["appendOrderByClause.ts"],"names":["appendOrderByClause","selectQuery","orderBy","orderByClause","key","order","undefined","push","length","join"],"mappings":";;;;;AAGO,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CACjCC,WADiC,EAEjCC,OAFiC,EAGb;AACpB,MAAI,CAACA,OAAL,EAAc,OAAO,CAACD,WAAD,EAAc,EAAd,CAAP;AAEd,MAAME,aAAa,GAAG,EAAtB;;AAEA,OAAK,IAAMC,GAAX,IAAkBF,OAAlB,EAA2B;AACzB,QAAMG,KAAK,GAAGH,OAAO,CAACE,GAAD,CAArB;AACA,QAAIC,KAAK,KAAKC,SAAd,EAAyB;AAEzBH,IAAAA,aAAa,CAACI,IAAd,CAAsBH,GAAtB,UAA6BC,KAAK,KAAK,CAAV,GAAc,KAAd,GAAsB,MAAnD;AACD;;AAED,MAAI,CAACF,aAAa,CAACK,MAAnB,EAA2B;AACzB,WAAO,CAACP,WAAD,EAAc,EAAd,CAAP;AACD;;AAED,SAAO,CAAIA,WAAJ,kBAA4BE,aAAa,CAACM,IAAd,CAAmB,IAAnB,CAA5B,CAAP;AACD,CApBM","sourcesContent":["import type { Schema } from '../schema';\nimport type { PreparedQueries, TableColumnNames } from '../types';\n\nexport const appendOrderByClause = <T extends keyof Schema>(\n selectQuery: string,\n orderBy?: Partial<{ [k in TableColumnNames<T>]: 1 | -1 }>,\n): PreparedQueries => {\n if (!orderBy) return [selectQuery, []];\n\n const orderByClause = [];\n\n for (const key in orderBy) {\n const order = orderBy[key];\n if (order === undefined) continue;\n\n orderByClause.push(`${key} ${order === 1 ? 'ASC' : 'DESC'}`);\n }\n\n if (!orderByClause.length) {\n return [selectQuery, []];\n }\n\n return [`${selectQuery} ORDER BY ${orderByClause.join(', ')}`];\n};\n"]}
|
|
@@ -21,7 +21,7 @@ var createCreateTableQuery = function createCreateTableQuery(tableName) {
|
|
|
21
21
|
|
|
22
22
|
return key + " " + value;
|
|
23
23
|
});
|
|
24
|
-
var primaryKeyConstraints = _schema.tables[tableName].primaryKey.length > 0 ? ["PRIMARY KEY (" + _schema.tables[tableName].primaryKey.join(', ') + ")"] : [];
|
|
24
|
+
var primaryKeyConstraints = (_schema.tables[tableName].primaryKey || []).length > 0 ? ["PRIMARY KEY (" + (_schema.tables[tableName].primaryKey || []).join(', ') + ")"] : [];
|
|
25
25
|
var foreignKeysConstraints = ((_tables$tableName$for = _schema.tables[tableName].foreignKeys) == null ? void 0 : _tables$tableName$for.map(function (k) {
|
|
26
26
|
return "FOREIGN KEY (" + k.column + ") REFERENCES " + k.referenceTable + "(" + k.referenceTableColumn + ") ON DELETE " + (k.onDeleteAction || 'NO ACTION');
|
|
27
27
|
})) || [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["createCreateTableQuery.ts"],"names":["createCreateTableQuery","tableName","columnsWithDescriptors","Object","entries","tables","columns","map","entry","key","value","primaryKeyConstraints","primaryKey","length","join","foreignKeysConstraints","foreignKeys","k","column","referenceTable","referenceTableColumn","onDeleteAction","indexQueries","indexes","index","unique","name"],"mappings":";;;;;;;;;;;AAAA;;AAGO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,SAAD,EAAyC;AAAA;;AAC7E,MAAMC,sBAAsB,GAAGC,MAAM,CAACC,OAAP,CAAeC,eAAOJ,SAAP,EAAkBK,OAAjC,EAA0CC,GAA1C,CAA8C,UAACC,KAAD,EAAW;AACtF,iDAAqBA,KAArB;AAAA,QAAOC,GAAP;AAAA,QAAYC,KAAZ;;AACA,WAAUD,GAAV,SAAiBC,KAAjB;AACD,GAH8B,CAA/B;AAKA,MAAMC,qBAAqB,
|
|
1
|
+
{"version":3,"sources":["createCreateTableQuery.ts"],"names":["createCreateTableQuery","tableName","columnsWithDescriptors","Object","entries","tables","columns","map","entry","key","value","primaryKeyConstraints","primaryKey","length","join","foreignKeysConstraints","foreignKeys","k","column","referenceTable","referenceTableColumn","onDeleteAction","indexQueries","indexes","index","unique","name"],"mappings":";;;;;;;;;;;AAAA;;AAGO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,SAAD,EAAyC;AAAA;;AAC7E,MAAMC,sBAAsB,GAAGC,MAAM,CAACC,OAAP,CAAeC,eAAOJ,SAAP,EAAkBK,OAAjC,EAA0CC,GAA1C,CAA8C,UAACC,KAAD,EAAW;AACtF,iDAAqBA,KAArB;AAAA,QAAOC,GAAP;AAAA,QAAYC,KAAZ;;AACA,WAAUD,GAAV,SAAiBC,KAAjB;AACD,GAH8B,CAA/B;AAKA,MAAMC,qBAAqB,GACzB,CAACN,eAAOJ,SAAP,EAAkBW,UAAlB,IAAgC,EAAjC,EAAqCC,MAArC,GAA8C,CAA9C,GACI,mBAAiB,CAACR,eAAOJ,SAAP,EAAkBW,UAAlB,IAAgC,EAAjC,EAAqCE,IAArC,CAA0C,IAA1C,CAAjB,OADJ,GAEI,EAHN;AAIA,MAAMC,sBAAsB,GAC1B,yCAAOd,SAAP,EAAkBe,WAAlB,2CAA+BT,GAA/B,CACE,UAACU,CAAD;AAAA,6BACkBA,CAAC,CAACC,MADpB,qBAC0CD,CAAC,CAACE,cAD5C,SAEIF,CAAC,CAACG,oBAFN,qBAGiBH,CAAC,CAACI,cAAF,IAAoB,WAHrC;AAAA,GADF,MAKK,EANP;AAQA,MAAMC,YAA+B,GACnC,yCAAOrB,SAAP,EAAkBsB,OAAlB,2CAA2BhB,GAA3B,CAA+B,UAACiB,KAAD;AAAA,WAAW,cAC9BA,KAAK,CAACC,MAAN,GAAe,QAAf,GAA0B,EADI,8BAEtCD,KAAK,CAACE,IAFgC,YAGjCzB,SAHiC,SAGpBuB,KAAK,CAAClB,OAAN,CAAcQ,IAAd,CAAmB,GAAnB,CAHoB,OAAX;AAAA,GAA/B,MAIM,EALR;AAOA,UACE,iCACgCb,SADhC,qBAEQ,8CAAIC,sBAAJ,GAA+BS,qBAA/B,sCAAyDI,sBAAzD,GAAiFD,IAAjF,CACA,KADA,CAFR,kBADF,6CAQKQ,YARL;AAUD,CAnCM","sourcesContent":["import { tables } from '../schema';\nimport type { PreparedQueries, Table } from '../types';\n\nexport const createCreateTableQuery = (tableName: Table): PreparedQueries[] => {\n const columnsWithDescriptors = Object.entries(tables[tableName].columns).map((entry) => {\n const [key, value] = entry;\n return `${key} ${value}`;\n });\n\n const primaryKeyConstraints =\n (tables[tableName].primaryKey || []).length > 0\n ? [`PRIMARY KEY (${(tables[tableName].primaryKey || []).join(', ')})`]\n : [];\n const foreignKeysConstraints =\n tables[tableName].foreignKeys?.map(\n (k) =>\n `FOREIGN KEY (${k.column}) REFERENCES ${k.referenceTable}(${\n k.referenceTableColumn\n }) ON DELETE ${k.onDeleteAction || 'NO ACTION'}`,\n ) || [];\n\n const indexQueries: PreparedQueries[] =\n tables[tableName].indexes?.map((index) => [\n `CREATE ${index.unique ? 'UNIQUE' : ''} INDEX IF NOT EXISTS ${\n index.name\n } ON ${tableName}(${index.columns.join(',')})`,\n ]) || [];\n\n return [\n [\n `CREATE TABLE IF NOT EXISTS ${tableName}(\n ${[...columnsWithDescriptors, ...primaryKeyConstraints, ...foreignKeysConstraints].join(\n ',\\n',\n )}\n );`,\n ],\n ...indexQueries,\n ];\n};\n"]}
|
|
@@ -7,11 +7,14 @@ exports.createSelectQuery = void 0;
|
|
|
7
7
|
|
|
8
8
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
9
9
|
|
|
10
|
+
var _appendOrderByClause3 = require("./appendOrderByClause");
|
|
11
|
+
|
|
10
12
|
var _appendWhereCluase = require("./appendWhereCluase");
|
|
11
13
|
|
|
12
14
|
var createSelectQuery = function createSelectQuery(table) {
|
|
13
15
|
var fields = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : ['*'];
|
|
14
16
|
var whereCondition = arguments.length > 2 ? arguments[2] : undefined;
|
|
17
|
+
var orderBy = arguments.length > 3 ? arguments[3] : undefined;
|
|
15
18
|
var selectQuery = "SELECT " + fields.join(', ') + " FROM " + table;
|
|
16
19
|
|
|
17
20
|
var _appendWhereClause = (0, _appendWhereCluase.appendWhereClause)(selectQuery, whereCondition),
|
|
@@ -19,7 +22,11 @@ var createSelectQuery = function createSelectQuery(table) {
|
|
|
19
22
|
selectQueryWithWhere = _appendWhereClause2[0],
|
|
20
23
|
whereParams = _appendWhereClause2[1];
|
|
21
24
|
|
|
22
|
-
|
|
25
|
+
var _appendOrderByClause = (0, _appendOrderByClause3.appendOrderByClause)(selectQueryWithWhere, orderBy),
|
|
26
|
+
_appendOrderByClause2 = (0, _slicedToArray2["default"])(_appendOrderByClause, 1),
|
|
27
|
+
selectQueryWithOrderBy = _appendOrderByClause2[0];
|
|
28
|
+
|
|
29
|
+
return ["" + selectQueryWithOrderBy, whereParams || []];
|
|
23
30
|
};
|
|
24
31
|
|
|
25
32
|
exports.createSelectQuery = createSelectQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["createSelectQuery.ts"],"names":["createSelectQuery","table","fields","whereCondition","selectQuery","join","selectQueryWithWhere","whereParams"],"mappings":";;;;;;;;;AAAA;;AAeO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,KAD+B,
|
|
1
|
+
{"version":3,"sources":["createSelectQuery.ts"],"names":["createSelectQuery","table","fields","whereCondition","orderBy","selectQuery","join","selectQueryWithWhere","whereParams","selectQueryWithOrderBy"],"mappings":";;;;;;;;;AAAA;;AACA;;AAeO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,KAD+B,EAKX;AAAA,MAHpBC,MAGoB,uEAH8B,CAAC,GAAD,CAG9B;AAAA,MAFpBC,cAEoB;AAAA,MADpBC,OACoB;AACpB,MAAMC,WAAW,eAAaH,MAAM,CAACI,IAAP,CAAY,IAAZ,CAAb,cAAuCL,KAAxD;;AACA,2BAA4C,0CAAkBI,WAAlB,EAA+BF,cAA/B,CAA5C;AAAA;AAAA,MAAOI,oBAAP;AAAA,MAA6BC,WAA7B;;AACA,6BAAiC,+CAAoBD,oBAApB,EAA0CH,OAA1C,CAAjC;AAAA;AAAA,MAAOK,sBAAP;;AAEA,SAAO,MAAIA,sBAAJ,EAA8BD,WAAW,IAAI,EAA7C,CAAP;AACD,CAXM","sourcesContent":["import { appendOrderByClause } from './appendOrderByClause';\nimport { appendWhereClause } from './appendWhereCluase';\n\nimport type { Schema } from '../schema';\nimport type { PreparedQueries, TableColumnNames, TableColumnValue } from '../types';\n\n/**\n * Creates a simple select query for sqlite.\n *\n * @param {string} table Table name\n * @param {Array} fields Array of columns which need to be selected e.g., ['*'] or ['id', 'name']\n * @param {Object} whereCondition Where condition for select query.\n * e.g., { id: 'vishal', cid: ['messaging:id1', 'messaging:id2'] }.\n * All the conditions will be joined with AND in final query.\n * @returns {string} Final select query\n */\nexport const createSelectQuery = <T extends keyof Schema>(\n table: T,\n fields: Array<'*'> | Array<TableColumnNames<T>> = ['*'],\n whereCondition?: Partial<{ [k in TableColumnNames<T>]: TableColumnValue | TableColumnValue[] }>,\n orderBy?: Partial<{ [k in TableColumnNames<T>]: 1 | -1 }>,\n): PreparedQueries => {\n const selectQuery = `SELECT ${fields.join(', ')} FROM ${table}`;\n const [selectQueryWithWhere, whereParams] = appendWhereClause(selectQuery, whereCondition);\n const [selectQueryWithOrderBy] = appendOrderByClause(selectQueryWithWhere, orderBy);\n\n return [`${selectQueryWithOrderBy}`, whereParams || []];\n};\n"]}
|
|
@@ -15,14 +15,14 @@ var createUpdateQuery = function createUpdateQuery(table, set, whereCondition) {
|
|
|
15
15
|
var fields = Object.keys(set).map(function (key) {
|
|
16
16
|
return key + " = ?";
|
|
17
17
|
});
|
|
18
|
-
var updateQuery = "UPDATE " + table + " SET " + fields.join(',');
|
|
18
|
+
var updateQuery = "UPDATE OR IGNORE " + table + " SET " + fields.join(',');
|
|
19
19
|
|
|
20
20
|
var _appendWhereClause = (0, _appendWhereCluase.appendWhereClause)(updateQuery, whereCondition),
|
|
21
21
|
_appendWhereClause2 = (0, _slicedToArray2["default"])(_appendWhereClause, 2),
|
|
22
22
|
updateQueryWithWhere = _appendWhereClause2[0],
|
|
23
23
|
whereParams = _appendWhereClause2[1];
|
|
24
24
|
|
|
25
|
-
return [updateQueryWithWhere, [].concat((0, _toConsumableArray2["default"])(Object.values(set)), (0, _toConsumableArray2["default"])(whereParams || []))];
|
|
25
|
+
return ["" + updateQueryWithWhere, [].concat((0, _toConsumableArray2["default"])(Object.values(set)), (0, _toConsumableArray2["default"])(whereParams || []))];
|
|
26
26
|
};
|
|
27
27
|
|
|
28
28
|
exports.createUpdateQuery = createUpdateQuery;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["createUpdateQuery.ts"],"names":["createUpdateQuery","table","set","whereCondition","fields","Object","keys","map","key","updateQuery","join","updateQueryWithWhere","whereParams","values"],"mappings":";;;;;;;;;;;AAAA;;AAeO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,KAD+B,EAE/BC,GAF+B,EAG/BC,cAH+B,EAIX;AACpB,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYJ,GAAZ,EAAiBK,GAAjB,CAAqB,UAACC,GAAD;AAAA,WAAYA,GAAZ;AAAA,GAArB,CAAf;
|
|
1
|
+
{"version":3,"sources":["createUpdateQuery.ts"],"names":["createUpdateQuery","table","set","whereCondition","fields","Object","keys","map","key","updateQuery","join","updateQueryWithWhere","whereParams","values"],"mappings":";;;;;;;;;;;AAAA;;AAeO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,KAD+B,EAE/BC,GAF+B,EAG/BC,cAH+B,EAIX;AACpB,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYJ,GAAZ,EAAiBK,GAAjB,CAAqB,UAACC,GAAD;AAAA,WAAYA,GAAZ;AAAA,GAArB,CAAf;AAEA,MAAMC,WAAW,yBAAuBR,KAAvB,aAAoCG,MAAM,CAACM,IAAP,CAAY,GAAZ,CAArD;;AAEA,2BAA4C,0CAAkBD,WAAlB,EAA+BN,cAA/B,CAA5C;AAAA;AAAA,MAAOQ,oBAAP;AAAA,MAA6BC,WAA7B;;AAEA,SAAO,MAAID,oBAAJ,gDAAgCN,MAAM,CAACQ,MAAP,CAAcX,GAAd,CAAhC,uCAAwDU,WAAW,IAAI,EAAvE,GAAP;AACD,CAZM","sourcesContent":["import { appendWhereClause } from './appendWhereCluase';\n\nimport type { Schema } from '../schema';\nimport type { PreparedQueries, TableColumnNames, TableColumnValue, TableRow } from '../types';\n\n/**\n * Creates a simple update query for sqlite.\n *\n * @param {string} table Table name\n * @param {Object} set Set conditions for update query.\n * @param {Object} whereCondition Where condition for select query.\n * e.g., { id: 'vishal', cid: ['messaging:id1', 'messaging:id2'] }.\n * All the conditions will be joined with AND in final query.\n * @returns {string} Final update query for sqlite\n */\nexport const createUpdateQuery = <T extends keyof Schema>(\n table: T,\n set: Partial<TableRow<T>>,\n whereCondition: Partial<{ [k in TableColumnNames<T>]: TableColumnValue | TableColumnValue[] }>,\n): PreparedQueries => {\n const fields = Object.keys(set).map((key) => `${key} = ?`);\n\n const updateQuery = `UPDATE OR IGNORE ${table} SET ${fields.join(',')}`;\n\n const [updateQueryWithWhere, whereParams] = appendWhereClause(updateQuery, whereCondition);\n\n return [`${updateQueryWithWhere}`, [...Object.values(set), ...(whereParams || [])]];\n};\n"]}
|
|
@@ -16,7 +16,7 @@ var createUpsertQuery = function createUpsertQuery(table, row, conflictCheckKeys
|
|
|
16
16
|
|
|
17
17
|
var fields = Object.keys(filteredRow);
|
|
18
18
|
var questionMarks = Array(Object.keys(fields).length).fill('?').join(',');
|
|
19
|
-
var conflictKeys = conflictCheckKeys || _schema.tables[table].primaryKey;
|
|
19
|
+
var conflictKeys = conflictCheckKeys || _schema.tables[table].primaryKey || [];
|
|
20
20
|
var conflictMatchersWithoutPK = fields.filter(function (f) {
|
|
21
21
|
return !conflictKeys.includes(f);
|
|
22
22
|
}).map(function (f) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["createUpsertQuery.ts"],"names":["createUpsertQuery","table","row","conflictCheckKeys","filteredRow","key","undefined","fields","Object","keys","questionMarks","Array","length","fill","join","conflictKeys","tables","primaryKey","conflictMatchersWithoutPK","filter","f","includes","map","conflictConstraint","values"],"mappings":";;;;;AAAA;;AAWO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,KAD+B,EAE/BC,GAF+B,EAG/BC,iBAH+B,EAIX;AACpB,MAAMC,WAAuB,GAAG,EAAhC;;AAQA,OAAK,IAAMC,GAAX,IAAkBH,GAAlB,EAAuB;AACrB,QAAIA,GAAG,CAACG,GAAD,CAAH,KAAaC,SAAjB,EAA4B;AAC1BF,MAAAA,WAAW,CAACC,GAAD,CAAX,GAAmBH,GAAG,CAACG,GAAD,CAAtB;AACD;AACF;;AACD,MAAME,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYL,WAAZ,CAAf;AAEA,MAAMM,aAAa,GAAGC,KAAK,CAACH,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBK,MAArB,CAAL,CAAkCC,IAAlC,CAAuC,GAAvC,EAA4CC,IAA5C,CAAiD,GAAjD,CAAtB;AACA,MAAMC,YAAY,GAAGZ,iBAAiB,IAAIa,eAAOf,KAAP,EAAcgB,
|
|
1
|
+
{"version":3,"sources":["createUpsertQuery.ts"],"names":["createUpsertQuery","table","row","conflictCheckKeys","filteredRow","key","undefined","fields","Object","keys","questionMarks","Array","length","fill","join","conflictKeys","tables","primaryKey","conflictMatchersWithoutPK","filter","f","includes","map","conflictConstraint","values"],"mappings":";;;;;AAAA;;AAWO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,CAC/BC,KAD+B,EAE/BC,GAF+B,EAG/BC,iBAH+B,EAIX;AACpB,MAAMC,WAAuB,GAAG,EAAhC;;AAQA,OAAK,IAAMC,GAAX,IAAkBH,GAAlB,EAAuB;AACrB,QAAIA,GAAG,CAACG,GAAD,CAAH,KAAaC,SAAjB,EAA4B;AAC1BF,MAAAA,WAAW,CAACC,GAAD,CAAX,GAAmBH,GAAG,CAACG,GAAD,CAAtB;AACD;AACF;;AACD,MAAME,MAAM,GAAGC,MAAM,CAACC,IAAP,CAAYL,WAAZ,CAAf;AAEA,MAAMM,aAAa,GAAGC,KAAK,CAACH,MAAM,CAACC,IAAP,CAAYF,MAAZ,EAAoBK,MAArB,CAAL,CAAkCC,IAAlC,CAAuC,GAAvC,EAA4CC,IAA5C,CAAiD,GAAjD,CAAtB;AACA,MAAMC,YAAY,GAAGZ,iBAAiB,IAAIa,eAAOf,KAAP,EAAcgB,UAAnC,IAAiD,EAAtE;AACA,MAAMC,yBAAmC,GAAIX,MAAD,CACzCY,MADyC,CAClC,UAACC,CAAD;AAAA,WAAO,CAAEL,YAAD,CAA2BM,QAA3B,CAAoCD,CAApC,CAAR;AAAA,GADkC,EAEzCE,GAFyC,CAErC,UAACF,CAAD;AAAA,WAAUA,CAAV,kBAAwBA,CAAxB;AAAA,GAFqC,CAA5C;AAIA,MAAMG,kBAAkB,GACtBR,YAAY,CAACH,MAAb,GAAsB,CAAtB,oBACmBG,YAAY,CAACD,IAAb,CAAkB,GAAlB,CADnB,2BAEAI,yBAAyB,CAACJ,IAA1B,CAA+B,GAA/B,CAFA,GAGI,EAJN;AAMA,SAAO,kBACUb,KADV,UACoBM,MAAM,CAACO,IAAP,CAAY,GAAZ,CADpB,kBACiDJ,aADjD,UACmEa,kBADnE,EAELf,MAAM,CAACgB,MAAP,CAAcpB,WAAd,CAFK,CAAP;AAID,CApCM","sourcesContent":["import { Schema, tables } from '../schema';\nimport type { PreparedQueries, TableColumnNames, TableRow } from '../types';\n\n/**\n * Creates a simple upsert query for sqlite.\n *\n * @param {string} table Table name\n * @param {Object} row Table row to insert or update.\n * @param {Array} conflictCheckKeys Custom list of columns to check conflicts for - https://www.sqlite.org/lang_UPSERT.html. By default conflicts are checked on primary keys.\n * @returns {string} Final upsert query for sqlite\n */\nexport const createUpsertQuery = <T extends keyof Schema>(\n table: T,\n row: Partial<TableRow<T>>,\n conflictCheckKeys?: Array<TableColumnNames<T>>,\n): PreparedQueries => {\n const filteredRow: typeof row = {};\n\n // In case of \"DO UPDATE SET\", we only want to update the properties which\n // are provided, and not set undefined properties in database.\n // E.g., channel date such as `own_capabilities` is only available in response of client.queryChannels or channel.query.\n // But its not available in `event.channel`. And our mapper functions such as mapChannelToStorable will set fields which are not available as undefined.\n // So when you execute upsert query for storable value of `event.channel` in `channels` table, it will\n // unset ownCapabilities field for that channel in `channels` table.\n for (const key in row) {\n if (row[key] !== undefined) {\n filteredRow[key] = row[key];\n }\n }\n const fields = Object.keys(filteredRow) as (keyof typeof row)[];\n\n const questionMarks = Array(Object.keys(fields).length).fill('?').join(',');\n const conflictKeys = conflictCheckKeys || tables[table].primaryKey || [];\n const conflictMatchersWithoutPK: string[] = (fields as string[])\n .filter((f) => !(conflictKeys as string[]).includes(f))\n .map((f) => `${f}=excluded.${f}`);\n\n const conflictConstraint =\n conflictKeys.length > 0\n ? `ON CONFLICT(${conflictKeys.join(',')}) DO UPDATE SET\n ${conflictMatchersWithoutPK.join(',')}`\n : '';\n\n return [\n `INSERT INTO ${table} (${fields.join(',')}) VALUES (${questionMarks}) ${conflictConstraint}`,\n Object.values(filteredRow),\n ];\n};\n"]}
|