2024-11-20 01:59:52 +02:00
|
|
|
import PouchDB from '@/api/PouchDB'
|
|
|
|
|
|
2024-11-24 11:51:45 +02:00
|
|
|
import type {
|
2024-12-05 23:33:51 +02:00
|
|
|
BaseDocument,
|
2024-11-24 11:51:45 +02:00
|
|
|
QRCodeDocument,
|
2024-12-06 23:00:31 +02:00
|
|
|
ChatDocument,
|
2024-11-24 11:51:45 +02:00
|
|
|
MessageDocument,
|
|
|
|
|
WebPushSubscriptionDocument,
|
2024-11-27 15:57:11 +02:00
|
|
|
PublicSettingsDocument,
|
2024-12-02 08:50:25 +02:00
|
|
|
UserChatSettingsDocument,
|
2024-11-27 15:57:11 +02:00
|
|
|
} from '@hereconnect/types'
|
2024-12-05 23:33:51 +02:00
|
|
|
import { DB_NAMES } from '@/constants/dbNames'
|
2024-11-18 23:28:33 +02:00
|
|
|
|
2024-12-05 23:33:51 +02:00
|
|
|
export const getRemoteDb = <T extends BaseDocument>(dbName: DB_NAMES) =>
|
|
|
|
|
new PouchDB<T>(`${import.meta.env.VITE_API_URL}/${dbName}`, { skip_setup: true })
|
2024-11-18 23:28:33 +02:00
|
|
|
|
2024-12-05 23:33:51 +02:00
|
|
|
export const getLocalDb = <T extends BaseDocument>(dbName: DB_NAMES) => new PouchDB<T>(dbName)
|
2024-11-20 01:59:52 +02:00
|
|
|
|
2024-12-05 23:33:51 +02:00
|
|
|
export const qrCodeDbRemote = getRemoteDb<QRCodeDocument>(DB_NAMES.QR)
|
|
|
|
|
export const qrCodeDbLocal = getLocalDb<QRCodeDocument>(DB_NAMES.QR)
|
|
|
|
|
export const messagesDbLocal = getLocalDb<MessageDocument>(DB_NAMES.MESSAGES)
|
2024-12-06 23:00:31 +02:00
|
|
|
export const chatsDbRemote = getRemoteDb<ChatDocument>(DB_NAMES.CHATS)
|
2024-12-05 23:33:51 +02:00
|
|
|
export const webPushSubscriptionsDbRemote = getRemoteDb<
|
2024-12-02 08:50:25 +02:00
|
|
|
WebPushSubscriptionDocument<PushSubscriptionJSON>
|
2024-12-05 23:33:51 +02:00
|
|
|
>(DB_NAMES.WEB_PUSH_SUBSCRIPTIONS)
|
|
|
|
|
export const publicSettingsDbRemote = getRemoteDb<PublicSettingsDocument>(DB_NAMES.PUBLIC_SETTINGS)
|
|
|
|
|
export const messagesDbRemote = getRemoteDb<MessageDocument>(DB_NAMES.MESSAGES)
|
|
|
|
|
export const userChatSettingsDbRemote = getRemoteDb<UserChatSettingsDocument>(
|
|
|
|
|
DB_NAMES.USER_CHAT_SETTINGS,
|
2024-12-02 08:50:25 +02:00
|
|
|
)
|