Files
hereconnect/apps/frontend/src/api/dbs.ts
T

34 lines
1.3 KiB
TypeScript
Raw Normal View History

2024-11-20 01:59:52 +02:00
import PouchDB from '@/api/PouchDB'
import type {
2024-12-05 23:33:51 +02:00
BaseDocument,
QRCodeDocument,
2024-12-06 23:00:31 +02:00
ChatDocument,
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-12-05 23:33:51 +02:00
export const getRemoteDb = <T extends BaseDocument>(dbName: DB_NAMES) =>
2024-12-10 13:21:38 +02:00
new PouchDB<T>(new URL(`${import.meta.env.VITE_API_URL}/${dbName}`, location.origin).toString(), {
skip_setup: true,
})
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:50:51 +02:00
export const chatsDbLocal = getLocalDb<ChatDocument>(DB_NAMES.CHATS)
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
)