stream-chat-react-native-core 5.6.0-beta.1 → 5.6.0-beta.3
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/Channel/Channel.js +23 -17
- package/lib/commonjs/components/Channel/Channel.js.map +1 -1
- package/lib/commonjs/components/Chat/Chat.js +1 -1
- package/lib/commonjs/components/Chat/Chat.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js +51 -22
- package/lib/commonjs/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js +1 -1
- package/lib/commonjs/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js +4 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js +2 -2
- package/lib/commonjs/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/commonjs/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js +16 -7
- package/lib/commonjs/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/commonjs/contexts/themeContext/utils/theme.js +1 -0
- package/lib/commonjs/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/commonjs/native.js +1 -1
- package/lib/commonjs/native.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient.js +46 -1
- package/lib/commonjs/store/QuickSqliteClient.js.map +1 -1
- package/lib/commonjs/store/QuickSqliteClient_v4.js +112 -0
- package/lib/commonjs/store/QuickSqliteClient_v4.js.map +1 -0
- package/lib/commonjs/store/apis/getAppSettings.js +23 -0
- package/lib/commonjs/store/apis/getAppSettings.js.map +1 -0
- package/lib/commonjs/store/apis/getPendingTasks.js.map +1 -1
- package/lib/commonjs/store/apis/index.js +26 -0
- package/lib/commonjs/store/apis/index.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMembersForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/commonjs/store/apis/queries/selectReadsForChannels.js.map +1 -1
- package/lib/commonjs/store/apis/upsertAppSettings.js +26 -0
- package/lib/commonjs/store/apis/upsertAppSettings.js.map +1 -0
- package/lib/commonjs/store/schema.js +1 -0
- package/lib/commonjs/store/schema.js.map +1 -1
- package/lib/commonjs/version.json +1 -1
- package/lib/module/components/Channel/Channel.js +23 -17
- package/lib/module/components/Channel/Channel.js.map +1 -1
- package/lib/module/components/Chat/Chat.js +1 -1
- package/lib/module/components/Chat/Chat.js.map +1 -1
- package/lib/module/components/Chat/hooks/useAppSettings.js +51 -22
- package/lib/module/components/Chat/hooks/useAppSettings.js.map +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js +1 -1
- package/lib/module/components/Chat/hooks/useIsOnline.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js +4 -1
- package/lib/module/components/ImageGallery/components/ImageGrid.js.map +1 -1
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js +2 -2
- package/lib/module/components/ImageGallery/components/ImageGridHandle.js.map +1 -1
- package/lib/module/contexts/chatContext/ChatContext.js.map +1 -1
- package/lib/module/contexts/messageInputContext/MessageInputContext.js +16 -7
- package/lib/module/contexts/messageInputContext/MessageInputContext.js.map +1 -1
- package/lib/module/contexts/themeContext/utils/theme.js +1 -0
- package/lib/module/contexts/themeContext/utils/theme.js.map +1 -1
- package/lib/module/native.js +1 -1
- package/lib/module/native.js.map +1 -1
- package/lib/module/store/QuickSqliteClient.js +46 -1
- package/lib/module/store/QuickSqliteClient.js.map +1 -1
- package/lib/module/store/QuickSqliteClient_v4.js +112 -0
- package/lib/module/store/QuickSqliteClient_v4.js.map +1 -0
- package/lib/module/store/apis/getAppSettings.js +23 -0
- package/lib/module/store/apis/getAppSettings.js.map +1 -0
- package/lib/module/store/apis/getPendingTasks.js.map +1 -1
- package/lib/module/store/apis/index.js +26 -0
- package/lib/module/store/apis/index.js.map +1 -1
- package/lib/module/store/apis/queries/selectChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectMembersForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectMessagesForChannels.js.map +1 -1
- package/lib/module/store/apis/queries/selectReactionsForMessages.js.map +1 -1
- package/lib/module/store/apis/queries/selectReadsForChannels.js.map +1 -1
- package/lib/module/store/apis/upsertAppSettings.js +26 -0
- package/lib/module/store/apis/upsertAppSettings.js.map +1 -0
- package/lib/module/store/schema.js +1 -0
- package/lib/module/store/schema.js.map +1 -1
- package/lib/module/version.json +1 -1
- package/lib/typescript/components/Chat/hooks/useAppSettings.d.ts +2 -2
- package/lib/typescript/components/Chat/hooks/useIsOnline.d.ts +1 -1
- package/lib/typescript/contexts/chatContext/ChatContext.d.ts +1 -1
- package/lib/typescript/contexts/themeContext/utils/theme.d.ts +1 -0
- package/lib/typescript/store/QuickSqliteClient.d.ts +4 -1
- package/lib/typescript/store/QuickSqliteClient_v4.d.ts +12 -0
- package/lib/typescript/store/apis/getAppSettings.d.ts +4 -0
- package/lib/typescript/store/apis/getPendingTasks.d.ts +1 -1
- package/lib/typescript/store/apis/index.d.ts +2 -0
- package/lib/typescript/store/apis/upsertAppSettings.d.ts +6 -0
- package/lib/typescript/store/schema.d.ts +1 -0
- package/package.json +2 -2
- package/src/components/Attachment/__tests__/Gallery.test.js +9 -2
- package/src/components/Attachment/__tests__/Giphy.test.js +9 -5
- package/src/components/Channel/Channel.tsx +11 -3
- package/src/components/Chat/Chat.tsx +1 -1
- package/src/components/Chat/hooks/__tests__/useAppSettings.test.tsx +1 -0
- package/src/components/Chat/hooks/useAppSettings.ts +19 -6
- package/src/components/Chat/hooks/useIsOnline.ts +1 -1
- package/src/components/ImageGallery/__tests__/ImageGallery.test.tsx +29 -15
- package/src/components/ImageGallery/__tests__/ImageGalleryFooter.test.tsx +12 -6
- package/src/components/ImageGallery/__tests__/ImageGalleryHeader.test.tsx +9 -4
- package/src/components/ImageGallery/components/ImageGrid.tsx +2 -1
- package/src/components/ImageGallery/components/ImageGridHandle.tsx +2 -2
- package/src/contexts/chatContext/ChatContext.tsx +1 -1
- package/src/contexts/messageInputContext/MessageInputContext.tsx +7 -0
- package/src/contexts/messageInputContext/__tests__/MessageInputContext.test.tsx +8 -3
- package/src/contexts/messageInputContext/__tests__/uploadFile.test.tsx +16 -6
- package/src/contexts/themeContext/utils/theme.ts +2 -0
- package/src/native.ts +1 -1
- package/src/store/QuickSqliteClient.ts +49 -5
- package/src/store/QuickSqliteClient_v4.ts +98 -0
- package/src/store/apis/getAppSettings.ts +19 -0
- package/src/store/apis/getPendingTasks.ts +2 -1
- package/src/store/apis/index.ts +2 -0
- package/src/store/apis/queries/selectChannels.ts +4 -1
- package/src/store/apis/queries/selectMembersForChannels.ts +1 -1
- package/src/store/apis/queries/selectMessagesForChannels.ts +1 -1
- package/src/store/apis/queries/selectReactionsForMessages.ts +1 -1
- package/src/store/apis/queries/selectReadsForChannels.ts +1 -1
- package/src/store/apis/upsertAppSettings.ts +23 -0
- package/src/store/schema.ts +2 -0
- package/src/version.json +1 -1
package/lib/module/native.js
CHANGED
|
@@ -68,7 +68,7 @@ var registerNativeHandlers = function registerNativeHandlers(handlers) {
|
|
|
68
68
|
exports.getPhotos = getPhotos = handlers.getPhotos;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
if (handlers.pickDocument) {
|
|
71
|
+
if (handlers.pickDocument !== undefined) {
|
|
72
72
|
exports.pickDocument = pickDocument = handlers.pickDocument;
|
|
73
73
|
}
|
|
74
74
|
|
package/lib/module/native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","setClipboardString","shareImage","takePhoto","triggerHaptic","SDK","Sound","Video","registerNativeHandlers","handlers","undefined","isVideoPackageAvailable","isAudioPackageAvailable","Player","initializeSound"],"mappings":"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","sourcesContent":["import type React from 'react';\nimport { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => Promise<string> | never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype SetClipboardString = (text: string) => Promise<void> | never;\nexport let setClipboardString: SetClipboardString = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport type PlaybackStatus = {\n didJustFinish: boolean;\n durationMillis: number;\n error: string;\n isBuffering: boolean;\n isLoaded: boolean;\n isLooping: boolean;\n isPlaying: boolean;\n positionMillis: number;\n};\n\nexport type AVPlaybackStatusToSet = {\n isLooping: boolean;\n isMuted: boolean;\n positionMillis: number;\n progressUpdateIntervalMillis: number;\n rate: number;\n shouldCorrectPitch: boolean;\n shouldPlay: boolean;\n volume: number;\n};\n\nexport let SDK: string;\n\nexport type SoundOptions = {\n basePathOrCallback?: string;\n callback?: () => void;\n filenameOrFile?: string;\n initialStatus?: Partial<AVPlaybackStatusToSet>;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n source?: { uri: string };\n};\n\nexport type SoundReturnType = {\n paused: boolean;\n testID: string;\n getDuration?: () => number;\n isPlaying?: () => boolean;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n pauseAsync?: () => void;\n play?: () => void;\n playAsync?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (millis: number) => void;\n soundRef?: React.RefObject<SoundReturnType>;\n stopAsync?: () => void;\n style?: StyleProp<ViewStyle>;\n unloadAsync?: () => void;\n uri?: string;\n};\n\nexport type SoundType = {\n initializeSound: (\n source?: { uri: string },\n initialStatus?: Partial<AVPlaybackStatusToSet>,\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void,\n ) => Promise<SoundReturnType | null>;\n Player: React.ComponentType<SoundReturnType> | null;\n};\n\nexport let Sound: SoundType;\n\nexport type VideoProgressData = {\n currentTime: number;\n seekableDuration: number;\n playableDuration?: number;\n};\n\nexport type VideoPayloadData = {\n duration: number;\n audioTracks?: { index: number; language: string; title: string; type: string }[];\n currentPosition?: number;\n naturalSize?: { height: number; orientation: 'portrait' | 'landscape'; width: number };\n textTracks?: { index: number; language: string; title: string; type: string }[];\n videoTracks?: {\n bitrate: number;\n codecs: string;\n height: number;\n trackId: number;\n width: number;\n }[];\n};\n\nexport type VideoType = {\n paused: boolean;\n testID: string;\n uri: string;\n videoRef: React.RefObject<VideoType>;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n repeat?: boolean;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (position: number) => void;\n style?: StyleProp<ViewStyle>;\n};\n\nexport let Video: React.ComponentType<VideoType>;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n setClipboardString?: SetClipboardString;\n shareImage?: ShareImage;\n Sound?: SoundType;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n Video?: React.ComponentType<VideoType>;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.pickDocument) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage !== undefined) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.Sound) {\n Sound = handlers.Sound;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n\n if (handlers.Video) {\n Video = handlers.Video;\n }\n\n if (handlers.setClipboardString !== undefined) {\n setClipboardString = handlers.setClipboardString;\n }\n};\n\nexport const isVideoPackageAvailable = () => !!Video;\nexport const isAudioPackageAvailable = () => !!Sound.Player || !!Sound.initializeSound;\n"]}
|
|
1
|
+
{"version":3,"sources":["native.ts"],"names":["fail","Error","compressImage","deleteFile","getLocalAssetUri","getPhotos","FlatList","DefaultFlatList","NetInfo","addEventListener","fetch","pickDocument","saveFile","setClipboardString","shareImage","takePhoto","triggerHaptic","SDK","Sound","Video","registerNativeHandlers","handlers","undefined","isVideoPackageAvailable","isAudioPackageAvailable","Player","initializeSound"],"mappings":"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","sourcesContent":["import type React from 'react';\nimport { FlatList as DefaultFlatList, StyleProp, ViewStyle } from 'react-native';\n\nimport type { NetInfoSubscription } from '@react-native-community/netinfo';\n\nimport type { Asset, File } from './types/types';\n\nconst fail = () => {\n throw Error(\n 'Native handler was not registered, you should import stream-chat-expo or stream-chat-react-native',\n );\n};\n\ntype CompressImage = ({\n compressImageQuality,\n height,\n uri,\n width,\n}: {\n compressImageQuality: number;\n height: number;\n uri: string;\n width: number;\n}) => Promise<string> | never;\nexport let compressImage: CompressImage = fail;\n\ntype DeleteFile = ({ uri }: { uri: string }) => Promise<boolean> | never;\nexport let deleteFile: DeleteFile = fail;\n\ntype GetLocalAssetUri = (uriOrAssetId: string) => Promise<string> | never;\nexport let getLocalAssetUri: GetLocalAssetUri = fail;\n\ntype GetPhotos = ({ after, first }: { first: number; after?: string }) =>\n | Promise<{\n assets: Array<Omit<Asset, 'source'> & { source: 'picker' }>;\n endCursor: string;\n hasNextPage: boolean;\n }>\n | never;\nexport let getPhotos: GetPhotos = fail;\n\ntype NetInfo = {\n addEventListener: (listener: (isConnected: boolean) => void) => NetInfoSubscription | never;\n fetch: (requestedInterface?: string | undefined) => Promise<boolean> | never;\n};\n\nexport let FlatList = DefaultFlatList;\n\nexport let NetInfo: NetInfo = {\n addEventListener: fail,\n fetch: fail,\n};\n\ntype PickDocument = ({ maxNumberOfFiles }: { maxNumberOfFiles?: number }) =>\n | Promise<{\n cancelled: boolean;\n docs?: File[];\n }>\n | never;\nexport let pickDocument: PickDocument = fail;\n\ntype SaveFileOptions = {\n fileName: string;\n fromUrl: string;\n};\ntype SaveFile = (options: SaveFileOptions) => Promise<string> | never;\nexport let saveFile: SaveFile = fail;\n\ntype SetClipboardString = (text: string) => Promise<void> | never;\nexport let setClipboardString: SetClipboardString = fail;\n\ntype ShareOptions = {\n type?: string;\n url?: string;\n};\ntype ShareImage = (options: ShareOptions) => Promise<boolean> | never;\nexport let shareImage: ShareImage = fail;\n\ntype Photo =\n | (Omit<Asset, 'source'> & {\n cancelled: false;\n source: 'camera';\n })\n | { cancelled: true };\ntype TakePhoto = (options: { compressImageQuality?: number }) => Promise<Photo> | never;\nexport let takePhoto: TakePhoto = fail;\n\ntype HapticFeedbackMethod =\n | 'impactHeavy'\n | 'impactLight'\n | 'impactMedium'\n | 'notificationError'\n | 'notificationSuccess'\n | 'notificationWarning'\n | 'selection';\ntype TriggerHaptic = (method: HapticFeedbackMethod) => void | never;\nexport let triggerHaptic: TriggerHaptic = fail;\n\nexport type PlaybackStatus = {\n didJustFinish: boolean;\n durationMillis: number;\n error: string;\n isBuffering: boolean;\n isLoaded: boolean;\n isLooping: boolean;\n isPlaying: boolean;\n positionMillis: number;\n};\n\nexport type AVPlaybackStatusToSet = {\n isLooping: boolean;\n isMuted: boolean;\n positionMillis: number;\n progressUpdateIntervalMillis: number;\n rate: number;\n shouldCorrectPitch: boolean;\n shouldPlay: boolean;\n volume: number;\n};\n\nexport let SDK: string;\n\nexport type SoundOptions = {\n basePathOrCallback?: string;\n callback?: () => void;\n filenameOrFile?: string;\n initialStatus?: Partial<AVPlaybackStatusToSet>;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n source?: { uri: string };\n};\n\nexport type SoundReturnType = {\n paused: boolean;\n testID: string;\n getDuration?: () => number;\n isPlaying?: () => boolean;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n pauseAsync?: () => void;\n play?: () => void;\n playAsync?: () => void;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (millis: number) => void;\n soundRef?: React.RefObject<SoundReturnType>;\n stopAsync?: () => void;\n style?: StyleProp<ViewStyle>;\n unloadAsync?: () => void;\n uri?: string;\n};\n\nexport type SoundType = {\n initializeSound: (\n source?: { uri: string },\n initialStatus?: Partial<AVPlaybackStatusToSet>,\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void,\n ) => Promise<SoundReturnType | null>;\n Player: React.ComponentType<SoundReturnType> | null;\n};\n\nexport let Sound: SoundType;\n\nexport type VideoProgressData = {\n currentTime: number;\n seekableDuration: number;\n playableDuration?: number;\n};\n\nexport type VideoPayloadData = {\n duration: number;\n audioTracks?: { index: number; language: string; title: string; type: string }[];\n currentPosition?: number;\n naturalSize?: { height: number; orientation: 'portrait' | 'landscape'; width: number };\n textTracks?: { index: number; language: string; title: string; type: string }[];\n videoTracks?: {\n bitrate: number;\n codecs: string;\n height: number;\n trackId: number;\n width: number;\n }[];\n};\n\nexport type VideoType = {\n paused: boolean;\n testID: string;\n uri: string;\n videoRef: React.RefObject<VideoType>;\n onBuffer?: (props: { isBuffering: boolean }) => void;\n onEnd?: () => void;\n onLoad?: (payload: VideoPayloadData) => void;\n onLoadStart?: () => void;\n onPlaybackStatusUpdate?: (playbackStatus: PlaybackStatus) => void;\n onProgress?: (data: VideoProgressData) => void;\n onReadyForDisplay?: () => void;\n repeat?: boolean;\n replayAsync?: () => void;\n resizeMode?: string;\n seek?: (progress: number) => void;\n setPositionAsync?: (position: number) => void;\n style?: StyleProp<ViewStyle>;\n};\n\nexport let Video: React.ComponentType<VideoType>;\n\ntype Handlers = {\n compressImage?: CompressImage;\n deleteFile?: DeleteFile;\n FlatList?: typeof DefaultFlatList;\n getLocalAssetUri?: GetLocalAssetUri;\n getPhotos?: GetPhotos;\n NetInfo?: NetInfo;\n pickDocument?: PickDocument;\n saveFile?: SaveFile;\n SDK?: string;\n setClipboardString?: SetClipboardString;\n shareImage?: ShareImage;\n Sound?: SoundType;\n takePhoto?: TakePhoto;\n triggerHaptic?: TriggerHaptic;\n Video?: React.ComponentType<VideoType>;\n};\n\nexport const registerNativeHandlers = (handlers: Handlers) => {\n if (handlers.compressImage) {\n compressImage = handlers.compressImage;\n }\n\n if (handlers.deleteFile) {\n deleteFile = handlers.deleteFile;\n }\n\n if (handlers.FlatList) {\n FlatList = handlers.FlatList;\n }\n if (handlers.NetInfo) {\n NetInfo = handlers.NetInfo;\n }\n\n if (handlers.getLocalAssetUri) {\n getLocalAssetUri = handlers.getLocalAssetUri;\n }\n\n if (handlers.getPhotos) {\n getPhotos = handlers.getPhotos;\n }\n\n if (handlers.pickDocument !== undefined) {\n pickDocument = handlers.pickDocument;\n }\n\n if (handlers.saveFile) {\n saveFile = handlers.saveFile;\n }\n\n if (handlers.SDK) {\n SDK = handlers.SDK;\n }\n\n if (handlers.shareImage !== undefined) {\n shareImage = handlers.shareImage;\n }\n\n if (handlers.Sound) {\n Sound = handlers.Sound;\n }\n\n if (handlers.takePhoto) {\n takePhoto = handlers.takePhoto;\n }\n\n if (handlers.triggerHaptic) {\n triggerHaptic = handlers.triggerHaptic;\n }\n\n if (handlers.Video) {\n Video = handlers.Video;\n }\n\n if (handlers.setClipboardString !== undefined) {\n setClipboardString = handlers.setClipboardString;\n }\n};\n\nexport const isVideoPackageAvailable = () => !!Video;\nexport const isAudioPackageAvailable = () => !!Sound.Player || !!Sound.initializeSound;\n"]}
|
|
@@ -13,6 +13,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
|
|
|
13
13
|
|
|
14
14
|
var _constants = require("./constants");
|
|
15
15
|
|
|
16
|
+
var _QuickSqliteClient_v = require("./QuickSqliteClient_v4");
|
|
17
|
+
|
|
16
18
|
var _schema = require("./schema");
|
|
17
19
|
|
|
18
20
|
var _createCreateTableQuery = require("./sqlite-utils/createCreateTableQuery");
|
|
@@ -39,7 +41,15 @@ QuickSqliteClient.setDbVersion = function (version) {
|
|
|
39
41
|
return QuickSqliteClient.dbVersion = version;
|
|
40
42
|
};
|
|
41
43
|
|
|
44
|
+
QuickSqliteClient.isQuickSqliteV4 = sqlite.executeSql ? true : false;
|
|
45
|
+
|
|
42
46
|
QuickSqliteClient.openDB = function () {
|
|
47
|
+
if (QuickSqliteClient.isQuickSqliteV4) {
|
|
48
|
+
_QuickSqliteClient_v.QuickSqliteClient_v4.openDB();
|
|
49
|
+
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
|
|
43
53
|
try {
|
|
44
54
|
sqlite.open(QuickSqliteClient.dbName, QuickSqliteClient.dbLocation);
|
|
45
55
|
sqlite.execute(QuickSqliteClient.dbName, "PRAGMA foreign_keys = ON", []);
|
|
@@ -49,6 +59,12 @@ QuickSqliteClient.openDB = function () {
|
|
|
49
59
|
};
|
|
50
60
|
|
|
51
61
|
QuickSqliteClient.closeDB = function () {
|
|
62
|
+
if (QuickSqliteClient.isQuickSqliteV4) {
|
|
63
|
+
_QuickSqliteClient_v.QuickSqliteClient_v4.closeDB();
|
|
64
|
+
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
52
68
|
try {
|
|
53
69
|
sqlite.close(QuickSqliteClient.dbName);
|
|
54
70
|
} catch (e) {
|
|
@@ -58,6 +74,13 @@ QuickSqliteClient.closeDB = function () {
|
|
|
58
74
|
|
|
59
75
|
QuickSqliteClient.executeSqlBatch = function (queries) {
|
|
60
76
|
if (!queries || !queries.length) return;
|
|
77
|
+
|
|
78
|
+
if (QuickSqliteClient.isQuickSqliteV4) {
|
|
79
|
+
_QuickSqliteClient_v.QuickSqliteClient_v4.executeSqlBatch(queries);
|
|
80
|
+
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
|
|
61
84
|
QuickSqliteClient.openDB();
|
|
62
85
|
|
|
63
86
|
try {
|
|
@@ -70,9 +93,13 @@ QuickSqliteClient.executeSqlBatch = function (queries) {
|
|
|
70
93
|
};
|
|
71
94
|
|
|
72
95
|
QuickSqliteClient.executeSql = function (query, params) {
|
|
73
|
-
QuickSqliteClient.
|
|
96
|
+
if (QuickSqliteClient.isQuickSqliteV4) {
|
|
97
|
+
return _QuickSqliteClient_v.QuickSqliteClient_v4.executeSql(query, params);
|
|
98
|
+
}
|
|
74
99
|
|
|
75
100
|
try {
|
|
101
|
+
QuickSqliteClient.openDB();
|
|
102
|
+
|
|
76
103
|
var _sqlite$execute = sqlite.execute(_constants.DB_NAME, query, params),
|
|
77
104
|
rows = _sqlite$execute.rows;
|
|
78
105
|
|
|
@@ -92,6 +119,10 @@ QuickSqliteClient.dropTables = function () {
|
|
|
92
119
|
};
|
|
93
120
|
|
|
94
121
|
QuickSqliteClient.deleteDatabase = function () {
|
|
122
|
+
if (QuickSqliteClient.isQuickSqliteV4) {
|
|
123
|
+
return _QuickSqliteClient_v.QuickSqliteClient_v4.deleteDatabase();
|
|
124
|
+
}
|
|
125
|
+
|
|
95
126
|
try {
|
|
96
127
|
sqlite["delete"](QuickSqliteClient.dbName, QuickSqliteClient.dbLocation);
|
|
97
128
|
} catch (e) {
|
|
@@ -106,6 +137,10 @@ QuickSqliteClient.initializeDatabase = function () {
|
|
|
106
137
|
throw new Error('Please install "react-native-quick-sqlite" package to enable offline support');
|
|
107
138
|
}
|
|
108
139
|
|
|
140
|
+
if (QuickSqliteClient.isQuickSqliteV4) {
|
|
141
|
+
console.warn('You seem to be using an older version of "react-native-quick-sqlite" dependency,', 'and we are going to drop support for it in the next major release.', 'Please upgrade to the version v5 of "react-native-quick-sqlite" to avoid any issues.');
|
|
142
|
+
}
|
|
143
|
+
|
|
109
144
|
var version = QuickSqliteClient.getUserPragmaVersion();
|
|
110
145
|
|
|
111
146
|
if (version !== QuickSqliteClient.dbVersion) {
|
|
@@ -121,12 +156,22 @@ QuickSqliteClient.initializeDatabase = function () {
|
|
|
121
156
|
};
|
|
122
157
|
|
|
123
158
|
QuickSqliteClient.updateUserPragmaVersion = function (version) {
|
|
159
|
+
if (QuickSqliteClient.isQuickSqliteV4) {
|
|
160
|
+
_QuickSqliteClient_v.QuickSqliteClient_v4.updateUserPragmaVersion(version);
|
|
161
|
+
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
|
|
124
165
|
QuickSqliteClient.openDB();
|
|
125
166
|
sqlite.execute(_constants.DB_NAME, "PRAGMA user_version = " + version, []);
|
|
126
167
|
QuickSqliteClient.closeDB();
|
|
127
168
|
};
|
|
128
169
|
|
|
129
170
|
QuickSqliteClient.getUserPragmaVersion = function () {
|
|
171
|
+
if (QuickSqliteClient.isQuickSqliteV4) {
|
|
172
|
+
return _QuickSqliteClient_v.QuickSqliteClient_v4.getUserPragmaVersion();
|
|
173
|
+
}
|
|
174
|
+
|
|
130
175
|
QuickSqliteClient.openDB();
|
|
131
176
|
|
|
132
177
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["QuickSqliteClient.ts"],"names":["sqlite","require","QuickSQLite","e","QuickSqliteClient","dbVersion","dbName","DB_NAME","dbLocation","DB_LOCATION","getDbVersion","setDbVersion","version","openDB","open","execute","console","error","closeDB","close","executeSqlBatch","queries","length","executeBatch","Error","executeSql","query","params","rows","_array","dropTables","Object","keys","tables","map","table","deleteDatabase","initializeDatabase","undefined","getUserPragmaVersion","updateUserPragmaVersion","q","reduce","queriesSoFar","tableName","push","result","user_version","resetDB"],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { QuickSQLite } from 'react-native-quick-sqlite';\nlet sqlite: typeof QuickSQLite;\n\ntry {\n sqlite = require('react-native-quick-sqlite').QuickSQLite;\n} catch (e) {\n // Failed for one of the reason\n // 1. Running on expo, where we don't support offline storage yet.\n // 2. Offline support is disabled, in which case this library is not installed.\n}\n\nimport { DB_LOCATION, DB_NAME } from './constants';\nimport { tables } from './schema';\nimport { createCreateTableQuery } from './sqlite-utils/createCreateTableQuery';\nimport type { PreparedQueries, Table } from './types';\n\n/**\n * QuickSqliteClient takes care of any direct interaction with sqlite.\n * This way usage react-native-quick-sqlite package is scoped to a single class/file.\n */\nexport class QuickSqliteClient {\n static dbVersion = 3;\n\n static dbName = DB_NAME;\n static dbLocation = DB_LOCATION;\n\n static getDbVersion = () => this.dbVersion;\n // Force a specific db version. This is mainly useful for testsuit.\n static setDbVersion = (version: number) => (this.dbVersion = version);\n\n static openDB = () => {\n try {\n sqlite.open(this.dbName, this.dbLocation);\n sqlite.execute(this.dbName, `PRAGMA foreign_keys = ON`, []);\n } catch (e) {\n console.error(`Error opening database ${this.dbName}: ${e}`);\n }\n };\n\n static closeDB = () => {\n try {\n sqlite.close(this.dbName);\n } catch (e) {\n console.error(`Error closing database ${this.dbName}: ${e}`);\n }\n };\n\n static executeSqlBatch = (queries: PreparedQueries[]) => {\n if (!queries || !queries.length) return;\n this.openDB();\n\n try {\n sqlite.executeBatch(DB_NAME, queries);\n this.closeDB();\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}`);\n }\n };\n\n static executeSql = (query: string, params?: string[]) => {\n this.openDB();\n\n try {\n const { rows } = sqlite.execute(DB_NAME, query, params);\n this.closeDB();\n\n return rows ? rows._array : [];\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}: `);\n }\n };\n\n static dropTables = () => {\n const queries: PreparedQueries[] = Object.keys(tables).map((table) => [\n `DROP TABLE IF EXISTS ${table}`,\n [],\n ]);\n\n this.executeSqlBatch(queries);\n };\n\n static deleteDatabase = () => {\n try {\n sqlite.delete(this.dbName, this.dbLocation);\n } catch (e) {\n throw new Error(`Error deleting DB: ${e}`);\n }\n\n return true;\n };\n\n static initializeDatabase = () => {\n // @ts-ignore\n if (sqlite === undefined) {\n throw new Error(\n 'Please install \"react-native-quick-sqlite\" package to enable offline support',\n );\n }\n\n const version = this.getUserPragmaVersion();\n\n if (version !== this.dbVersion) {\n this.dropTables();\n this.updateUserPragmaVersion(this.dbVersion);\n }\n const q = (Object.keys(tables) as Table[]).reduce<PreparedQueries[]>(\n (queriesSoFar, tableName) => {\n queriesSoFar.push(...createCreateTableQuery(tableName));\n return queriesSoFar;\n },\n [],\n );\n\n this.executeSqlBatch(q);\n };\n\n static updateUserPragmaVersion = (version: number) => {\n this.openDB();\n\n sqlite.execute(DB_NAME, `PRAGMA user_version = ${version}`, []);\n\n this.closeDB();\n };\n\n static getUserPragmaVersion = () => {\n this.openDB();\n\n try {\n const { rows } = sqlite.execute(DB_NAME, `PRAGMA user_version`, []);\n const result = rows ? rows._array : [];\n this.closeDB();\n return result[0].user_version as number;\n } catch (e) {\n this.closeDB();\n throw new Error(`Querying for user_version failed: ${e}`);\n }\n };\n\n static resetDB = () => {\n this.dropTables();\n this.initializeDatabase();\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["QuickSqliteClient.ts"],"names":["sqlite","require","QuickSQLite","e","QuickSqliteClient","dbVersion","dbName","DB_NAME","dbLocation","DB_LOCATION","getDbVersion","setDbVersion","version","isQuickSqliteV4","executeSql","openDB","QuickSqliteClient_v4","open","execute","console","error","closeDB","close","executeSqlBatch","queries","length","executeBatch","Error","query","params","rows","_array","dropTables","Object","keys","tables","map","table","deleteDatabase","initializeDatabase","undefined","warn","getUserPragmaVersion","updateUserPragmaVersion","q","reduce","queriesSoFar","tableName","push","result","user_version","resetDB"],"mappings":"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","sourcesContent":["/* eslint-disable no-underscore-dangle */\nimport type { QuickSQLite } from 'react-native-quick-sqlite';\nlet sqlite: typeof QuickSQLite;\n\ntry {\n sqlite = require('react-native-quick-sqlite').QuickSQLite;\n} catch (e) {\n // Failed for one of the reason\n // 1. Running on expo, where we don't support offline storage yet.\n // 2. Offline support is disabled, in which case this library is not installed.\n}\n\nimport { DB_LOCATION, DB_NAME } from './constants';\nimport { QuickSqliteClient_v4 } from './QuickSqliteClient_v4';\nimport { tables } from './schema';\nimport { createCreateTableQuery } from './sqlite-utils/createCreateTableQuery';\nimport type { PreparedQueries, Table } from './types';\n\n/**\n * QuickSqliteClient takes care of any direct interaction with sqlite.\n * This way usage react-native-quick-sqlite package is scoped to a single class/file.\n *\n * TODO: Drop the support for v4 of react-native-quick-sqlite in the next major release.\n */\nexport class QuickSqliteClient {\n static dbVersion = 3;\n\n static dbName = DB_NAME;\n static dbLocation = DB_LOCATION;\n\n static getDbVersion = () => this.dbVersion;\n // Force a specific db version. This is mainly useful for testsuit.\n static setDbVersion = (version: number) => (this.dbVersion = version);\n\n // @ts-ignore\n static isQuickSqliteV4 = sqlite.executeSql ? true : false;\n\n // print if legacy version\n static openDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.openDB();\n return;\n }\n\n try {\n sqlite.open(this.dbName, this.dbLocation);\n sqlite.execute(this.dbName, `PRAGMA foreign_keys = ON`, []);\n } catch (e) {\n console.error(`Error opening database ${this.dbName}: ${e}`);\n }\n };\n\n static closeDB = () => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.closeDB();\n return;\n }\n\n try {\n sqlite.close(this.dbName);\n } catch (e) {\n console.error(`Error closing database ${this.dbName}: ${e}`);\n }\n };\n\n static executeSqlBatch = (queries: PreparedQueries[]) => {\n if (!queries || !queries.length) return;\n\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.executeSqlBatch(queries);\n return;\n }\n\n this.openDB();\n try {\n sqlite.executeBatch(DB_NAME, queries);\n\n this.closeDB();\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}`);\n }\n };\n\n static executeSql = (query: string, params?: string[]) => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.executeSql(query, params);\n }\n\n try {\n this.openDB();\n const { rows } = sqlite.execute(DB_NAME, query, params);\n this.closeDB();\n\n return rows ? rows._array : [];\n } catch (e) {\n this.closeDB();\n throw new Error(`Query/queries failed: ${e}: `);\n }\n };\n\n static dropTables = () => {\n const queries: PreparedQueries[] = Object.keys(tables).map((table) => [\n `DROP TABLE IF EXISTS ${table}`,\n [],\n ]);\n\n this.executeSqlBatch(queries);\n };\n\n static deleteDatabase = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.deleteDatabase();\n }\n\n try {\n sqlite.delete(this.dbName, this.dbLocation);\n } catch (e) {\n throw new Error(`Error deleting DB: ${e}`);\n }\n\n return true;\n };\n\n static initializeDatabase = () => {\n // @ts-ignore\n if (sqlite === undefined) {\n throw new Error(\n 'Please install \"react-native-quick-sqlite\" package to enable offline support',\n );\n }\n\n if (this.isQuickSqliteV4) {\n console.warn(\n 'You seem to be using an older version of \"react-native-quick-sqlite\" dependency,',\n 'and we are going to drop support for it in the next major release.',\n 'Please upgrade to the version v5 of \"react-native-quick-sqlite\" to avoid any issues.',\n );\n }\n\n const version = this.getUserPragmaVersion();\n\n if (version !== this.dbVersion) {\n this.dropTables();\n this.updateUserPragmaVersion(this.dbVersion);\n }\n const q = (Object.keys(tables) as Table[]).reduce<PreparedQueries[]>(\n (queriesSoFar, tableName) => {\n queriesSoFar.push(...createCreateTableQuery(tableName));\n return queriesSoFar;\n },\n [],\n );\n\n this.executeSqlBatch(q);\n };\n\n static updateUserPragmaVersion = (version: number) => {\n if (this.isQuickSqliteV4) {\n QuickSqliteClient_v4.updateUserPragmaVersion(version);\n return;\n }\n\n this.openDB();\n sqlite.execute(DB_NAME, `PRAGMA user_version = ${version}`, []);\n this.closeDB();\n };\n\n static getUserPragmaVersion = () => {\n if (this.isQuickSqliteV4) {\n return QuickSqliteClient_v4.getUserPragmaVersion();\n }\n\n this.openDB();\n try {\n const { rows } = sqlite.execute(DB_NAME, `PRAGMA user_version`, []);\n const result = rows ? rows._array : [];\n this.closeDB();\n return result[0].user_version as number;\n } catch (e) {\n this.closeDB();\n throw new Error(`Querying for user_version failed: ${e}`);\n }\n };\n\n static resetDB = () => {\n this.dropTables();\n this.initializeDatabase();\n };\n}\n"]}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.QuickSqliteClient_v4 = void 0;
|
|
7
|
+
|
|
8
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _constants = require("./constants");
|
|
13
|
+
|
|
14
|
+
var sqlite;
|
|
15
|
+
|
|
16
|
+
try {
|
|
17
|
+
sqlite = require('react-native-quick-sqlite').QuickSQLite;
|
|
18
|
+
} catch (e) {}
|
|
19
|
+
|
|
20
|
+
var QuickSqliteClient_v4 = (0, _createClass2["default"])(function QuickSqliteClient_v4() {
|
|
21
|
+
(0, _classCallCheck2["default"])(this, QuickSqliteClient_v4);
|
|
22
|
+
});
|
|
23
|
+
exports.QuickSqliteClient_v4 = QuickSqliteClient_v4;
|
|
24
|
+
QuickSqliteClient_v4.dbName = _constants.DB_NAME;
|
|
25
|
+
QuickSqliteClient_v4.dbLocation = _constants.DB_LOCATION;
|
|
26
|
+
|
|
27
|
+
QuickSqliteClient_v4.openDB = function () {
|
|
28
|
+
var _sqlite$open = sqlite.open(QuickSqliteClient_v4.dbName, QuickSqliteClient_v4.dbLocation),
|
|
29
|
+
message = _sqlite$open.message,
|
|
30
|
+
status = _sqlite$open.status;
|
|
31
|
+
|
|
32
|
+
sqlite.executeSql(QuickSqliteClient_v4.dbName, "PRAGMA foreign_keys = ON", []);
|
|
33
|
+
|
|
34
|
+
if (status === _constants.DB_STATUS_ERROR) {
|
|
35
|
+
console.error("Error opening database " + QuickSqliteClient_v4.dbName + ": " + message);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
QuickSqliteClient_v4.closeDB = function () {
|
|
40
|
+
var _sqlite$close = sqlite.close(QuickSqliteClient_v4.dbName),
|
|
41
|
+
message = _sqlite$close.message,
|
|
42
|
+
status = _sqlite$close.status;
|
|
43
|
+
|
|
44
|
+
if (status === _constants.DB_STATUS_ERROR) {
|
|
45
|
+
console.error("Error closing database " + QuickSqliteClient_v4.dbName + ": " + message);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
QuickSqliteClient_v4.executeSqlBatch = function (queries) {
|
|
50
|
+
QuickSqliteClient_v4.openDB();
|
|
51
|
+
var res = sqlite.executeSqlBatch(_constants.DB_NAME, queries);
|
|
52
|
+
|
|
53
|
+
if (res.status === 1) {
|
|
54
|
+
console.error("Query/queries failed: " + res.message + " " + JSON.stringify(res));
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
QuickSqliteClient_v4.closeDB();
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
QuickSqliteClient_v4.executeSql = function (query, params) {
|
|
61
|
+
QuickSqliteClient_v4.openDB();
|
|
62
|
+
|
|
63
|
+
var _sqlite$executeSql = sqlite.executeSql(_constants.DB_NAME, query, params),
|
|
64
|
+
message = _sqlite$executeSql.message,
|
|
65
|
+
rows = _sqlite$executeSql.rows,
|
|
66
|
+
status = _sqlite$executeSql.status;
|
|
67
|
+
|
|
68
|
+
QuickSqliteClient_v4.closeDB();
|
|
69
|
+
|
|
70
|
+
if (status === 1) {
|
|
71
|
+
console.error("Query/queries failed: " + message + ": ", query);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return rows ? rows._array : [];
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
QuickSqliteClient_v4.deleteDatabase = function () {
|
|
78
|
+
var _sqlite$delete = sqlite["delete"](QuickSqliteClient_v4.dbName, QuickSqliteClient_v4.dbLocation),
|
|
79
|
+
message = _sqlite$delete.message,
|
|
80
|
+
status = _sqlite$delete.status;
|
|
81
|
+
|
|
82
|
+
if (status === _constants.DB_STATUS_ERROR) {
|
|
83
|
+
throw new Error("Error deleting DB: " + message);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
return true;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
QuickSqliteClient_v4.updateUserPragmaVersion = function (version) {
|
|
90
|
+
QuickSqliteClient_v4.openDB();
|
|
91
|
+
sqlite.executeSql(_constants.DB_NAME, "PRAGMA user_version = " + version, []);
|
|
92
|
+
QuickSqliteClient_v4.closeDB();
|
|
93
|
+
};
|
|
94
|
+
|
|
95
|
+
QuickSqliteClient_v4.getUserPragmaVersion = function () {
|
|
96
|
+
QuickSqliteClient_v4.openDB();
|
|
97
|
+
|
|
98
|
+
var _sqlite$executeSql2 = sqlite.executeSql(_constants.DB_NAME, "PRAGMA user_version", []),
|
|
99
|
+
message = _sqlite$executeSql2.message,
|
|
100
|
+
rows = _sqlite$executeSql2.rows,
|
|
101
|
+
status = _sqlite$executeSql2.status;
|
|
102
|
+
|
|
103
|
+
QuickSqliteClient_v4.closeDB();
|
|
104
|
+
|
|
105
|
+
if (status === 1) {
|
|
106
|
+
console.error("Querying for user_version failed: " + message);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
var result = rows ? rows._array : [];
|
|
110
|
+
return result[0].user_version;
|
|
111
|
+
};
|
|
112
|
+
//# sourceMappingURL=QuickSqliteClient_v4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["QuickSqliteClient_v4.ts"],"names":["sqlite","require","QuickSQLite","e","QuickSqliteClient_v4","dbName","DB_NAME","dbLocation","DB_LOCATION","openDB","open","message","status","executeSql","DB_STATUS_ERROR","console","error","closeDB","close","executeSqlBatch","queries","res","JSON","stringify","query","params","rows","_array","deleteDatabase","Error","updateUserPragmaVersion","version","getUserPragmaVersion","result","user_version"],"mappings":"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","sourcesContent":["// We are going to disable type checks for this file, since this QuickSqliteClient is for legacy version of sqlite but\n// dev-dependency \"react-native-quick-sqlite\" is not available for legacy version of sqlite.\n/* eslint-disable no-underscore-dangle */\n// @ts-nocheck\n\nimport type { QuickSQLite } from 'react-native-quick-sqlite';\nlet sqlite: typeof QuickSQLite;\n\ntry {\n sqlite = require('react-native-quick-sqlite').QuickSQLite;\n} catch (e) {\n // Failed for one of the reason\n // 1. Running on expo, where we don't support offline storage yet.\n // 2. Offline support is disabled, in which case this library is not installed.\n}\nimport { DB_LOCATION, DB_NAME, DB_STATUS_ERROR } from './constants';\nimport type { PreparedQueries } from './types';\n\n// QuickSqliteClient takes care of any direct interaction with sqlite for v4 of react-native-quick-sqlite.\n// This is to avoid any breaking changes for users using v4 of react-native-quick-sqlite.\nexport class QuickSqliteClient_v4 {\n static dbName = DB_NAME;\n static dbLocation = DB_LOCATION;\n\n static openDB = () => {\n const { message, status } = sqlite.open(this.dbName, this.dbLocation);\n sqlite.executeSql(this.dbName, `PRAGMA foreign_keys = ON`, []);\n\n if (status === DB_STATUS_ERROR) {\n console.error(`Error opening database ${this.dbName}: ${message}`);\n }\n };\n\n static closeDB = () => {\n const { message, status } = sqlite.close(this.dbName);\n\n if (status === DB_STATUS_ERROR) {\n console.error(`Error closing database ${this.dbName}: ${message}`);\n }\n };\n\n static executeSqlBatch = (queries: PreparedQueries[]) => {\n this.openDB();\n\n const res = sqlite.executeSqlBatch(DB_NAME, queries);\n\n if (res.status === 1) {\n console.error(`Query/queries failed: ${res.message} ${JSON.stringify(res)}`);\n }\n\n this.closeDB();\n };\n\n static executeSql = (query: string, params?: string[]) => {\n this.openDB();\n\n const { message, rows, status } = sqlite.executeSql(DB_NAME, query, params);\n\n this.closeDB();\n\n if (status === 1) {\n console.error(`Query/queries failed: ${message}: `, query);\n }\n\n return rows ? rows._array : [];\n };\n\n static deleteDatabase = () => {\n const { message, status } = sqlite.delete(this.dbName, this.dbLocation);\n if (status === DB_STATUS_ERROR) {\n throw new Error(`Error deleting DB: ${message}`);\n }\n\n return true;\n };\n\n static updateUserPragmaVersion = (version: number) => {\n this.openDB();\n\n sqlite.executeSql(DB_NAME, `PRAGMA user_version = ${version}`, []);\n\n this.closeDB();\n };\n\n static getUserPragmaVersion = () => {\n this.openDB();\n\n const { message, rows, status } = sqlite.executeSql(DB_NAME, `PRAGMA user_version`, []);\n\n this.closeDB();\n if (status === 1) {\n console.error(`Querying for user_version failed: ${message}`);\n }\n\n const result = rows ? rows._array : [];\n return result[0].user_version as number;\n };\n}\n"]}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.getAppSettings = void 0;
|
|
5
|
+
|
|
6
|
+
var _QuickSqliteClient = require("../QuickSqliteClient");
|
|
7
|
+
|
|
8
|
+
var _createSelectQuery = require("../sqlite-utils/createSelectQuery");
|
|
9
|
+
|
|
10
|
+
var getAppSettings = function getAppSettings(_ref) {
|
|
11
|
+
var _result$;
|
|
12
|
+
|
|
13
|
+
var currentUserId = _ref.currentUserId;
|
|
14
|
+
|
|
15
|
+
var result = _QuickSqliteClient.QuickSqliteClient.executeSql.apply(null, (0, _createSelectQuery.createSelectQuery)('userSyncStatus', ['*'], {
|
|
16
|
+
userId: currentUserId
|
|
17
|
+
}));
|
|
18
|
+
|
|
19
|
+
return (_result$ = result[0]) != null && _result$.appSettings ? JSON.parse(result[0].appSettings) : null;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
exports.getAppSettings = getAppSettings;
|
|
23
|
+
//# sourceMappingURL=getAppSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["getAppSettings.ts"],"names":["getAppSettings","currentUserId","result","QuickSqliteClient","executeSql","apply","userId","appSettings","JSON","parse"],"mappings":";;;;;AAEA;;AACA;;AAEO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,OAIA;AAAA;;AAAA,MAH5BC,aAG4B,QAH5BA,aAG4B;;AAC5B,MAAMC,MAAM,GAAGC,qCAAkBC,UAAlB,CAA6BC,KAA7B,CACb,IADa,EAEb,0CAAkB,gBAAlB,EAAoC,CAAC,GAAD,CAApC,EAA2C;AACzCC,IAAAA,MAAM,EAAEL;AADiC,GAA3C,CAFa,CAAf;;AAOA,SAAO,YAAAC,MAAM,CAAC,CAAD,CAAN,sBAAWK,WAAX,GAAyBC,IAAI,CAACC,KAAL,CAAWP,MAAM,CAAC,CAAD,CAAN,CAAUK,WAArB,CAAzB,GAA6D,IAApE;AACD,CAbM","sourcesContent":["import type { AppSettingsAPIResponse } from 'stream-chat';\n\nimport { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createSelectQuery } from '../sqlite-utils/createSelectQuery';\n\nexport const getAppSettings = ({\n currentUserId,\n}: {\n currentUserId: string;\n}): AppSettingsAPIResponse => {\n const result = QuickSqliteClient.executeSql.apply(\n null,\n createSelectQuery('userSyncStatus', ['*'], {\n userId: currentUserId,\n }),\n );\n\n return result[0]?.appSettings ? JSON.parse(result[0].appSettings) : null;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["getPendingTasks.ts"],"names":["getPendingTasks","conditions","query","createdAt","result","QuickSqliteClient","executeSql","apply","map","r"],"mappings":";;;;;AAAA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["getPendingTasks.ts"],"names":["getPendingTasks","conditions","query","createdAt","result","QuickSqliteClient","executeSql","apply","map","r"],"mappings":";;;;;AAAA;;AACA;;AACA;;AAGO,IAAMA,eAAe,GAAG,SAAlBA,eAAkB,GAA6C;AAAA,MAA5CC,UAA4C,uEAAP,EAAO;AAC1E,MAAMC,KAAK,GAAG,0CAAkB,cAAlB,EAAkC,CAAC,GAAD,CAAlC,EAAyCD,UAAzC,EAAqD;AACjEE,IAAAA,SAAS,EAAE;AADsD,GAArD,CAAd;;AAIA,MAAMC,MAAM,GAAGC,qCAAkBC,UAAlB,CAA6BC,KAA7B,CAAmC,IAAnC,EAAyCL,KAAzC,CAAf;;AAEA,SAAOE,MAAM,CAACI,GAAP,CAAW,UAACC,CAAD;AAAA,WAA2C,0CAAkBA,CAAlB,CAA3C;AAAA,GAAX,CAAP;AACD,CARM","sourcesContent":["import { mapStorableToTask } from '../mappers/mapStorableToTask';\nimport { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createSelectQuery } from '../sqlite-utils/createSelectQuery';\nimport type { TableRowJoinedUser } from '../types';\n\nexport const getPendingTasks = (conditions: { messageId?: string } = {}) => {\n const query = createSelectQuery('pendingTasks', ['*'], conditions, {\n createdAt: 1,\n });\n\n const result = QuickSqliteClient.executeSql.apply(null, query);\n\n return result.map((r: TableRowJoinedUser<'pendingTasks'>) => mapStorableToTask(r));\n};\n"]}
|
|
@@ -80,6 +80,19 @@ Object.keys(_getAllChannelIds).forEach(function (key) {
|
|
|
80
80
|
});
|
|
81
81
|
});
|
|
82
82
|
|
|
83
|
+
var _getAppSettings = require("./getAppSettings");
|
|
84
|
+
|
|
85
|
+
Object.keys(_getAppSettings).forEach(function (key) {
|
|
86
|
+
if (key === "default" || key === "__esModule") return;
|
|
87
|
+
if (key in exports && exports[key] === _getAppSettings[key]) return;
|
|
88
|
+
Object.defineProperty(exports, key, {
|
|
89
|
+
enumerable: true,
|
|
90
|
+
get: function get() {
|
|
91
|
+
return _getAppSettings[key];
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
|
|
83
96
|
var _getChannelMessages = require("./getChannelMessages");
|
|
84
97
|
|
|
85
98
|
Object.keys(_getChannelMessages).forEach(function (key) {
|
|
@@ -184,6 +197,19 @@ Object.keys(_updateReaction).forEach(function (key) {
|
|
|
184
197
|
});
|
|
185
198
|
});
|
|
186
199
|
|
|
200
|
+
var _upsertAppSettings = require("./upsertAppSettings");
|
|
201
|
+
|
|
202
|
+
Object.keys(_upsertAppSettings).forEach(function (key) {
|
|
203
|
+
if (key === "default" || key === "__esModule") return;
|
|
204
|
+
if (key in exports && exports[key] === _upsertAppSettings[key]) return;
|
|
205
|
+
Object.defineProperty(exports, key, {
|
|
206
|
+
enumerable: true,
|
|
207
|
+
get: function get() {
|
|
208
|
+
return _upsertAppSettings[key];
|
|
209
|
+
}
|
|
210
|
+
});
|
|
211
|
+
});
|
|
212
|
+
|
|
187
213
|
var _upsertChannelData = require("./upsertChannelData");
|
|
188
214
|
|
|
189
215
|
Object.keys(_upsertChannelData).forEach(function (key) {
|
|
@@ -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;;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"]}
|
|
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;;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 './getAppSettings';\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 './upsertAppSettings';\nexport * from './upsertChannelData';\nexport * from './upsertChannels';\nexport * from './upsertCidsForQuery';\nexport * from './upsertLastSyncedAt';\nexport * from './upsertMembers';\nexport * from './upsertMessages';\nexport * from './upsertReads';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["selectChannels.ts"],"names":["selectChannels","channelIds","query","cid","undefined","result","QuickSqliteClient","executeSql","apply","sort","a","b","indexOf"],"mappings":";;;;;AAAA;;AACA;;AAGO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,GAE0C;AAAA,iFAAzC,EAAyC;AAAA,MADtEC,UACsE,QADtEA,UACsE;;AACtE,MAAMC,KAAK,GAAG,0CACZ,UADY,EAEZ,CAAC,GAAD,CAFY,EAGZD,UAAU,GACN;AACEE,IAAAA,GAAG,EAAEF;AADP,GADM,GAING,SAPQ,CAAd;;AAUA,MAAMC,MAAM,GAAGC,qCAAkBC,UAAlB,CAA6BC,KAA7B,CAAmC,IAAnC,EAAyCN,KAAzC,CAAf;;AAEA,MAAID,UAAJ,EAAgB;AACd,WAAOI,MAAM,CAACI,IAAP,
|
|
1
|
+
{"version":3,"sources":["selectChannels.ts"],"names":["selectChannels","channelIds","query","cid","undefined","result","QuickSqliteClient","executeSql","apply","sort","a","b","indexOf"],"mappings":";;;;;AAAA;;AACA;;AAGO,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,GAE0C;AAAA,iFAAzC,EAAyC;AAAA,MADtEC,UACsE,QADtEA,UACsE;;AACtE,MAAMC,KAAK,GAAG,0CACZ,UADY,EAEZ,CAAC,GAAD,CAFY,EAGZD,UAAU,GACN;AACEE,IAAAA,GAAG,EAAEF;AADP,GADM,GAING,SAPQ,CAAd;;AAUA,MAAMC,MAAM,GAAGC,qCAAkBC,UAAlB,CAA6BC,KAA7B,CAAmC,IAAnC,EAAyCN,KAAzC,CAAf;;AAEA,MAAID,UAAJ,EAAgB;AACd,WAAOI,MAAM,CAACI,IAAP,CACL,UAACC,CAAD,EAAqBC,CAArB;AAAA,aACEV,UAAU,CAACW,OAAX,CAAmBF,CAAC,CAACP,GAArB,IAA4BF,UAAU,CAACW,OAAX,CAAmBD,CAAC,CAACR,GAArB,CAD9B;AAAA,KADK,CAAP;AAID,GALD,MAKO;AACL,WAAOE,MAAP;AACD;AACF,CAvBM","sourcesContent":["import { QuickSqliteClient } from '../../QuickSqliteClient';\nimport { createSelectQuery } from '../../sqlite-utils/createSelectQuery';\nimport type { TableRowJoinedUser } from '../../types';\n\nexport const selectChannels = ({\n channelIds,\n}: { channelIds?: string[] } = {}): TableRowJoinedUser<'channels'>[] => {\n const query = createSelectQuery(\n 'channels',\n ['*'],\n channelIds\n ? {\n cid: channelIds,\n }\n : undefined,\n );\n\n const result = QuickSqliteClient.executeSql.apply(null, query);\n\n if (channelIds) {\n return result.sort(\n (a: { cid: string }, b: { cid: string }) =>\n channelIds.indexOf(a.cid) - channelIds.indexOf(b.cid),\n );\n } else {\n return result;\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["selectMembersForChannels.ts"],"names":["selectMembersForChannels","cids","questionMarks","Array","length","fill","join","membersColumnNames","Object","keys","tables","members","columns","map","name","userColumnNames","users","result","QuickSqliteClient","executeSql","r","JSON","parse","value"],"mappings":";;;;;AAEA;;AACA;;AAEO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,IAAD,EAAqD;AAC3F,MAAMC,aAAa,GAAGC,KAAK,CAACF,IAAI,CAACG,MAAN,CAAL,CAAmBC,IAAnB,CAAwB,GAAxB,EAA6BC,IAA7B,CAAkC,GAAlC,CAAtB;AACA,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,IAAP,CAAYC,eAAOC,OAAP,CAAeC,OAA3B,EACxBC,GADwB,CACpB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADoB,EAExBR,IAFwB,CAEnB,IAFmB,CAA3B;AAGA,MAAMS,eAAe,GAAGP,MAAM,CAACC,IAAP,CAAYC,eAAOM,KAAP,CAAaJ,OAAzB,EACrBC,GADqB,CACjB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADiB,EAErBR,IAFqB,CAEhB,IAFgB,CAAxB;;AAIA,MAAMW,MAAM,GAAGC,qCAAkBC,UAAlB,0EAILJ,eAJK,8BAMPR,kBANO,yHAYGL,aAZH,4CAabD,IAba,CAAf;;AAgBA,SAAOgB,MAAM,CAACJ,GAAP,CAAW,UAACO,CAAD;AAAA,
|
|
1
|
+
{"version":3,"sources":["selectMembersForChannels.ts"],"names":["selectMembersForChannels","cids","questionMarks","Array","length","fill","join","membersColumnNames","Object","keys","tables","members","columns","map","name","userColumnNames","users","result","QuickSqliteClient","executeSql","r","JSON","parse","value"],"mappings":";;;;;AAEA;;AACA;;AAEO,IAAMA,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,IAAD,EAAqD;AAC3F,MAAMC,aAAa,GAAGC,KAAK,CAACF,IAAI,CAACG,MAAN,CAAL,CAAmBC,IAAnB,CAAwB,GAAxB,EAA6BC,IAA7B,CAAkC,GAAlC,CAAtB;AACA,MAAMC,kBAAkB,GAAGC,MAAM,CAACC,IAAP,CAAYC,eAAOC,OAAP,CAAeC,OAA3B,EACxBC,GADwB,CACpB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADoB,EAExBR,IAFwB,CAEnB,IAFmB,CAA3B;AAGA,MAAMS,eAAe,GAAGP,MAAM,CAACC,IAAP,CAAYC,eAAOM,KAAP,CAAaJ,OAAzB,EACrBC,GADqB,CACjB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADiB,EAErBR,IAFqB,CAEhB,IAFgB,CAAxB;;AAIA,MAAMW,MAAM,GAAGC,qCAAkBC,UAAlB,0EAILJ,eAJK,8BAMPR,kBANO,yHAYGL,aAZH,4CAabD,IAba,CAAf;;AAgBA,SAAOgB,MAAM,CAACJ,GAAP,CAAW,UAACO,CAAD;AAAA,WAA0BC,IAAI,CAACC,KAAL,CAAWF,CAAC,CAACG,KAAb,CAA1B;AAAA,GAAX,CAAP;AACD,CA1BM","sourcesContent":["import type { TableRowJoinedUser } from 'src/store/types';\n\nimport { QuickSqliteClient } from '../../QuickSqliteClient';\nimport { tables } from '../../schema';\n\nexport const selectMembersForChannels = (cids: string[]): TableRowJoinedUser<'members'>[] => {\n const questionMarks = Array(cids.length).fill('?').join(',');\n const membersColumnNames = Object.keys(tables.members.columns)\n .map((name) => `'${name}', a.${name}`)\n .join(', ');\n const userColumnNames = Object.keys(tables.users.columns)\n .map((name) => `'${name}', b.${name}`)\n .join(', ');\n\n const result = QuickSqliteClient.executeSql(\n `SELECT\n json_object(\n 'user', json_object(\n ${userColumnNames}\n ),\n ${membersColumnNames}\n ) as value\n FROM members a\n LEFT JOIN\n users b\n ON b.id = a.userId \n WHERE cid in (${questionMarks}) ORDER BY datetime(a.createdAt) DESC`,\n cids,\n );\n\n return result.map((r: { value: string }) => JSON.parse(r.value));\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["selectMessagesForChannels.ts"],"names":["selectMessagesForChannels","cids","questionMarks","Array","length","fill","join","messagesColumnNames","Object","keys","tables","messages","columns","map","name","userColumnNames","users","result","QuickSqliteClient","executeSql","r","JSON","parse","value"],"mappings":";;;;;AAAA;;AACA;;AAGO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,IAAD,EAAsD;AAC7F,MAAMC,aAAa,GAAGC,KAAK,CAACF,IAAI,CAACG,MAAN,CAAL,CAAmBC,IAAnB,CAAwB,GAAxB,EAA6BC,IAA7B,CAAkC,GAAlC,CAAtB;AACA,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,IAAP,CAAYC,eAAOC,QAAP,CAAgBC,OAA5B,EACzBC,GADyB,CACrB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADqB,EAEzBR,IAFyB,CAEpB,IAFoB,CAA5B;AAGA,MAAMS,eAAe,GAAGP,MAAM,CAACC,IAAP,CAAYC,eAAOM,KAAP,CAAaJ,OAAzB,EACrBC,GADqB,CACjB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADiB,EAErBR,IAFqB,CAEhB,IAFgB,CAAxB;;AAIA,MAAMW,MAAM,GAAGC,qCAAkBC,UAAlB,0EAILJ,eAJK,8BAMPR,mBANO,mOAgBKL,aAhBL,gGAsBbD,IAtBa,CAAf;;AAyBA,SAAOgB,MAAM,CAACJ,GAAP,CAAW,UAACO,CAAD;AAAA,
|
|
1
|
+
{"version":3,"sources":["selectMessagesForChannels.ts"],"names":["selectMessagesForChannels","cids","questionMarks","Array","length","fill","join","messagesColumnNames","Object","keys","tables","messages","columns","map","name","userColumnNames","users","result","QuickSqliteClient","executeSql","r","JSON","parse","value"],"mappings":";;;;;AAAA;;AACA;;AAGO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,IAAD,EAAsD;AAC7F,MAAMC,aAAa,GAAGC,KAAK,CAACF,IAAI,CAACG,MAAN,CAAL,CAAmBC,IAAnB,CAAwB,GAAxB,EAA6BC,IAA7B,CAAkC,GAAlC,CAAtB;AACA,MAAMC,mBAAmB,GAAGC,MAAM,CAACC,IAAP,CAAYC,eAAOC,QAAP,CAAgBC,OAA5B,EACzBC,GADyB,CACrB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADqB,EAEzBR,IAFyB,CAEpB,IAFoB,CAA5B;AAGA,MAAMS,eAAe,GAAGP,MAAM,CAACC,IAAP,CAAYC,eAAOM,KAAP,CAAaJ,OAAzB,EACrBC,GADqB,CACjB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADiB,EAErBR,IAFqB,CAEhB,IAFgB,CAAxB;;AAIA,MAAMW,MAAM,GAAGC,qCAAkBC,UAAlB,0EAILJ,eAJK,8BAMPR,mBANO,mOAgBKL,aAhBL,gGAsBbD,IAtBa,CAAf;;AAyBA,SAAOgB,MAAM,CAACJ,GAAP,CAAW,UAACO,CAAD;AAAA,WAA0BC,IAAI,CAACC,KAAL,CAAWF,CAAC,CAACG,KAAb,CAA1B;AAAA,GAAX,CAAP;AACD,CAnCM","sourcesContent":["import { QuickSqliteClient } from '../../QuickSqliteClient';\nimport { tables } from '../../schema';\nimport type { TableRowJoinedUser } from '../../types';\n\nexport const selectMessagesForChannels = (cids: string[]): TableRowJoinedUser<'messages'>[] => {\n const questionMarks = Array(cids.length).fill('?').join(',');\n const messagesColumnNames = Object.keys(tables.messages.columns)\n .map((name) => `'${name}', a.${name}`)\n .join(', ');\n const userColumnNames = Object.keys(tables.users.columns)\n .map((name) => `'${name}', b.${name}`)\n .join(', ');\n\n const result = QuickSqliteClient.executeSql(\n `SELECT\n json_object(\n 'user', json_object(\n ${userColumnNames}\n ),\n ${messagesColumnNames}\n ) as value\n FROM (\n SELECT\n *,\n ROW_NUMBER() OVER (\n PARTITION BY cid\n ORDER BY datetime(createdAt) DESC\n ) RowNum\n FROM messages\n WHERE cid in (${questionMarks})\n ) a\n LEFT JOIN\n users b\n ON b.id = a.userId \n WHERE RowNum < 200`,\n cids,\n );\n\n return result.map((r: { value: string }) => JSON.parse(r.value));\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["selectReactionsForMessages.ts"],"names":["selectReactionsForMessages","messageIds","questionMarks","Array","length","fill","join","reactionsColumnNames","Object","keys","tables","reactions","columns","map","name","userColumnNames","users","result","QuickSqliteClient","executeSql","r","JSON","parse","value"],"mappings":";;;;;AAAA;;AACA;;AAGO,IAAMA,0BAA0B,GAAG,SAA7BA,0BAA6B,CACxCC,UADwC,EAEF;AACtC,MAAMC,aAAa,GAAGC,KAAK,CAACF,UAAU,CAACG,MAAZ,CAAL,CAAyBC,IAAzB,CAA8B,GAA9B,EAAmCC,IAAnC,CAAwC,GAAxC,CAAtB;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,IAAP,CAAYC,eAAOC,SAAP,CAAiBC,OAA7B,EAC1BC,GAD0B,CACtB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADsB,EAE1BR,IAF0B,CAErB,IAFqB,CAA7B;AAGA,MAAMS,eAAe,GAAGP,MAAM,CAACC,IAAP,CAAYC,eAAOM,KAAP,CAAaJ,OAAzB,EACrBC,GADqB,CACjB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADiB,EAErBR,IAFqB,CAEhB,IAFgB,CAAxB;;AAIA,MAAMW,MAAM,GAAGC,qCAAkBC,UAAlB,0EAILJ,eAJK,8BAMPR,oBANO,mIAYWL,aAZX,QAabD,UAba,CAAf;;AAgBA,SAAOgB,MAAM,CAACJ,GAAP,CAAW,UAACO,CAAD;AAAA,
|
|
1
|
+
{"version":3,"sources":["selectReactionsForMessages.ts"],"names":["selectReactionsForMessages","messageIds","questionMarks","Array","length","fill","join","reactionsColumnNames","Object","keys","tables","reactions","columns","map","name","userColumnNames","users","result","QuickSqliteClient","executeSql","r","JSON","parse","value"],"mappings":";;;;;AAAA;;AACA;;AAGO,IAAMA,0BAA0B,GAAG,SAA7BA,0BAA6B,CACxCC,UADwC,EAEF;AACtC,MAAMC,aAAa,GAAGC,KAAK,CAACF,UAAU,CAACG,MAAZ,CAAL,CAAyBC,IAAzB,CAA8B,GAA9B,EAAmCC,IAAnC,CAAwC,GAAxC,CAAtB;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,IAAP,CAAYC,eAAOC,SAAP,CAAiBC,OAA7B,EAC1BC,GAD0B,CACtB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADsB,EAE1BR,IAF0B,CAErB,IAFqB,CAA7B;AAGA,MAAMS,eAAe,GAAGP,MAAM,CAACC,IAAP,CAAYC,eAAOM,KAAP,CAAaJ,OAAzB,EACrBC,GADqB,CACjB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADiB,EAErBR,IAFqB,CAEhB,IAFgB,CAAxB;;AAIA,MAAMW,MAAM,GAAGC,qCAAkBC,UAAlB,0EAILJ,eAJK,8BAMPR,oBANO,mIAYWL,aAZX,QAabD,UAba,CAAf;;AAgBA,SAAOgB,MAAM,CAACJ,GAAP,CAAW,UAACO,CAAD;AAAA,WAA0BC,IAAI,CAACC,KAAL,CAAWF,CAAC,CAACG,KAAb,CAA1B;AAAA,GAAX,CAAP;AACD,CA5BM","sourcesContent":["import { QuickSqliteClient } from '../../QuickSqliteClient';\nimport { tables } from '../../schema';\nimport type { TableRowJoinedUser } from '../../types';\n\nexport const selectReactionsForMessages = (\n messageIds: string[],\n): TableRowJoinedUser<'reactions'>[] => {\n const questionMarks = Array(messageIds.length).fill('?').join(',');\n const reactionsColumnNames = Object.keys(tables.reactions.columns)\n .map((name) => `'${name}', a.${name}`)\n .join(', ');\n const userColumnNames = Object.keys(tables.users.columns)\n .map((name) => `'${name}', b.${name}`)\n .join(', ');\n\n const result = QuickSqliteClient.executeSql(\n `SELECT\n json_object(\n 'user', json_object(\n ${userColumnNames}\n ),\n ${reactionsColumnNames}\n ) as value\n FROM reactions a\n LEFT JOIN\n users b\n ON b.id = a.userId \n WHERE a.messageId in (${questionMarks})`,\n messageIds,\n );\n\n return result.map((r: { value: string }) => JSON.parse(r.value));\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["selectReadsForChannels.ts"],"names":["selectReadsForChannels","cids","questionMarks","Array","length","fill","join","readsColumnNames","Object","keys","tables","reads","columns","map","name","userColumnNames","users","result","QuickSqliteClient","executeSql","r","JSON","parse","value"],"mappings":";;;;;AAAA;;AACA;;AAGO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,IAAD,EAAmD;AACvF,MAAMC,aAAa,GAAGC,KAAK,CAACF,IAAI,CAACG,MAAN,CAAL,CAAmBC,IAAnB,CAAwB,GAAxB,EAA6BC,IAA7B,CAAkC,GAAlC,CAAtB;AACA,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,IAAP,CAAYC,eAAOC,KAAP,CAAaC,OAAzB,EACtBC,GADsB,CAClB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADkB,EAEtBR,IAFsB,CAEjB,IAFiB,CAAzB;AAGA,MAAMS,eAAe,GAAGP,MAAM,CAACC,IAAP,CAAYC,eAAOM,KAAP,CAAaJ,OAAzB,EACrBC,GADqB,CACjB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADiB,EAErBR,IAFqB,CAEhB,IAFgB,CAAxB;;AAGA,MAAMW,MAAM,GAAGC,qCAAkBC,UAAlB,0EAILJ,eAJK,8BAMPR,gBANO,yHAYKL,aAZL,QAabD,IAba,CAAf;;AAgBA,SAAOgB,MAAM,CAACJ,GAAP,CAAW,UAACO,CAAD;AAAA,
|
|
1
|
+
{"version":3,"sources":["selectReadsForChannels.ts"],"names":["selectReadsForChannels","cids","questionMarks","Array","length","fill","join","readsColumnNames","Object","keys","tables","reads","columns","map","name","userColumnNames","users","result","QuickSqliteClient","executeSql","r","JSON","parse","value"],"mappings":";;;;;AAAA;;AACA;;AAGO,IAAMA,sBAAsB,GAAG,SAAzBA,sBAAyB,CAACC,IAAD,EAAmD;AACvF,MAAMC,aAAa,GAAGC,KAAK,CAACF,IAAI,CAACG,MAAN,CAAL,CAAmBC,IAAnB,CAAwB,GAAxB,EAA6BC,IAA7B,CAAkC,GAAlC,CAAtB;AACA,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,IAAP,CAAYC,eAAOC,KAAP,CAAaC,OAAzB,EACtBC,GADsB,CAClB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADkB,EAEtBR,IAFsB,CAEjB,IAFiB,CAAzB;AAGA,MAAMS,eAAe,GAAGP,MAAM,CAACC,IAAP,CAAYC,eAAOM,KAAP,CAAaJ,OAAzB,EACrBC,GADqB,CACjB,UAACC,IAAD;AAAA,iBAAcA,IAAd,aAA0BA,IAA1B;AAAA,GADiB,EAErBR,IAFqB,CAEhB,IAFgB,CAAxB;;AAGA,MAAMW,MAAM,GAAGC,qCAAkBC,UAAlB,0EAILJ,eAJK,8BAMPR,gBANO,yHAYKL,aAZL,QAabD,IAba,CAAf;;AAgBA,SAAOgB,MAAM,CAACJ,GAAP,CAAW,UAACO,CAAD;AAAA,WAA0BC,IAAI,CAACC,KAAL,CAAWF,CAAC,CAACG,KAAb,CAA1B;AAAA,GAAX,CAAP;AACD,CAzBM","sourcesContent":["import { QuickSqliteClient } from '../../QuickSqliteClient';\nimport { tables } from '../../schema';\nimport type { TableRowJoinedUser } from '../../types';\n\nexport const selectReadsForChannels = (cids: string[]): TableRowJoinedUser<'reads'>[] => {\n const questionMarks = Array(cids.length).fill('?').join(',');\n const readsColumnNames = Object.keys(tables.reads.columns)\n .map((name) => `'${name}', a.${name}`)\n .join(', ');\n const userColumnNames = Object.keys(tables.users.columns)\n .map((name) => `'${name}', b.${name}`)\n .join(', ');\n const result = QuickSqliteClient.executeSql(\n `SELECT\n json_object(\n 'user', json_object(\n ${userColumnNames}\n ),\n ${readsColumnNames}\n ) as value\n FROM reads a\n LEFT JOIN\n users b\n ON b.id = a.userId \n WHERE a.cid in (${questionMarks})`,\n cids,\n );\n\n return result.map((r: { value: string }) => JSON.parse(r.value));\n};\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", {
|
|
2
|
+
value: true
|
|
3
|
+
});
|
|
4
|
+
exports.upsertAppSettings = void 0;
|
|
5
|
+
|
|
6
|
+
var _QuickSqliteClient = require("../QuickSqliteClient");
|
|
7
|
+
|
|
8
|
+
var _createUpsertQuery = require("../sqlite-utils/createUpsertQuery");
|
|
9
|
+
|
|
10
|
+
var upsertAppSettings = function upsertAppSettings(_ref) {
|
|
11
|
+
var appSettings = _ref.appSettings,
|
|
12
|
+
currentUserId = _ref.currentUserId,
|
|
13
|
+
_ref$flush = _ref.flush,
|
|
14
|
+
flush = _ref$flush === void 0 ? true : _ref$flush;
|
|
15
|
+
var query = (0, _createUpsertQuery.createUpsertQuery)('userSyncStatus', {
|
|
16
|
+
appSettings: JSON.stringify(appSettings),
|
|
17
|
+
userId: currentUserId
|
|
18
|
+
});
|
|
19
|
+
|
|
20
|
+
if (flush) {
|
|
21
|
+
_QuickSqliteClient.QuickSqliteClient.executeSql.apply(null, query);
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
exports.upsertAppSettings = upsertAppSettings;
|
|
26
|
+
//# sourceMappingURL=upsertAppSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["upsertAppSettings.ts"],"names":["upsertAppSettings","appSettings","currentUserId","flush","query","JSON","stringify","userId","QuickSqliteClient","executeSql","apply"],"mappings":";;;;;AAEA;;AACA;;AAEO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB,OAQ3B;AAAA,MAPJC,WAOI,QAPJA,WAOI;AAAA,MANJC,aAMI,QANJA,aAMI;AAAA,wBALJC,KAKI;AAAA,MALJA,KAKI,2BALI,IAKJ;AACJ,MAAMC,KAAK,GAAG,0CAAkB,gBAAlB,EAAoC;AAChDH,IAAAA,WAAW,EAAEI,IAAI,CAACC,SAAL,CAAeL,WAAf,CADmC;AAEhDM,IAAAA,MAAM,EAAEL;AAFwC,GAApC,CAAd;;AAKA,MAAIC,KAAJ,EAAW;AACTK,yCAAkBC,UAAlB,CAA6BC,KAA7B,CAAmC,IAAnC,EAAyCN,KAAzC;AACD;AACF,CAjBM","sourcesContent":["import type { AppSettingsAPIResponse } from 'stream-chat';\n\nimport { QuickSqliteClient } from '../QuickSqliteClient';\nimport { createUpsertQuery } from '../sqlite-utils/createUpsertQuery';\n\nexport const upsertAppSettings = ({\n appSettings,\n currentUserId,\n flush = true,\n}: {\n appSettings: AppSettingsAPIResponse;\n currentUserId: string;\n flush?: boolean;\n}) => {\n const query = createUpsertQuery('userSyncStatus', {\n appSettings: JSON.stringify(appSettings),\n userId: currentUserId,\n });\n\n if (flush) {\n QuickSqliteClient.executeSql.apply(null, query);\n }\n};\n"]}
|
|
@@ -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","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"]}
|
|
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","appSettings","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 appSettings: 'TEXT',\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 appSettings: string;\n lastSyncedAt: string;\n userId: string;\n };\n};\n"]}
|