chore: cleaned up dependencies and database schema
This commit is contained in:
parent
1e273834b8
commit
0f36610e23
@ -89,7 +89,6 @@
|
|||||||
"eslint-plugin-unused-imports": "^4.0.0",
|
"eslint-plugin-unused-imports": "^4.0.0",
|
||||||
"gpt-tokens": "^1.3.10",
|
"gpt-tokens": "^1.3.10",
|
||||||
"i18next": "^23.11.5",
|
"i18next": "^23.11.5",
|
||||||
"localforage": "^1.10.0",
|
|
||||||
"lodash": "^4.17.21",
|
"lodash": "^4.17.21",
|
||||||
"mime": "^4.0.4",
|
"mime": "^4.0.4",
|
||||||
"openai": "patch:openai@npm%3A4.71.1#~/.yarn/patches/openai-npm-4.71.1-b5940d6401.patch",
|
"openai": "patch:openai@npm%3A4.71.1#~/.yarn/patches/openai-npm-4.71.1-b5940d6401.patch",
|
||||||
|
|||||||
@ -1,8 +1,6 @@
|
|||||||
import { FileType, Topic } from '@renderer/types'
|
import { FileType, Topic } from '@renderer/types'
|
||||||
import { Dexie, type EntityTable } from 'dexie'
|
import { Dexie, type EntityTable } from 'dexie'
|
||||||
|
|
||||||
import { populateTopics } from './populate'
|
|
||||||
|
|
||||||
// Database declaration (move this to its own module also)
|
// Database declaration (move this to its own module also)
|
||||||
export const db = new Dexie('CherryStudio') as Dexie & {
|
export const db = new Dexie('CherryStudio') as Dexie & {
|
||||||
files: EntityTable<FileType, 'id'>
|
files: EntityTable<FileType, 'id'>
|
||||||
@ -14,14 +12,10 @@ db.version(1).stores({
|
|||||||
files: 'id, name, origin_name, path, size, ext, type, created_at, count'
|
files: 'id, name, origin_name, path, size, ext, type, created_at, count'
|
||||||
})
|
})
|
||||||
|
|
||||||
db.version(2)
|
db.version(2).stores({
|
||||||
.stores({
|
files: 'id, name, origin_name, path, size, ext, type, created_at, count',
|
||||||
files: 'id, name, origin_name, path, size, ext, type, created_at, count',
|
topics: '&id, messages',
|
||||||
topics: '&id, messages',
|
settings: '&id, value'
|
||||||
settings: '&id, value'
|
})
|
||||||
})
|
|
||||||
.upgrade(populateTopics)
|
|
||||||
|
|
||||||
db.on('populate', populateTopics)
|
|
||||||
|
|
||||||
export default db
|
export default db
|
||||||
|
|||||||
@ -1,27 +0,0 @@
|
|||||||
import i18n from '@renderer/i18n'
|
|
||||||
import { Transaction } from 'dexie'
|
|
||||||
import localforage from 'localforage'
|
|
||||||
|
|
||||||
export async function populateTopics(trans: Transaction) {
|
|
||||||
const indexedKeys = await localforage.keys()
|
|
||||||
|
|
||||||
if (indexedKeys.length > 0) {
|
|
||||||
for (const key of indexedKeys) {
|
|
||||||
const value: any = await localforage.getItem(key)
|
|
||||||
if (key.startsWith('topic:')) {
|
|
||||||
await trans.db.table('topics').add({ id: value.id, messages: value.messages })
|
|
||||||
}
|
|
||||||
if (key === 'image://avatar') {
|
|
||||||
await trans.db.table('settings').add({ id: key, value: await localforage.getItem(key) })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
window.modal.success({
|
|
||||||
title: i18n.t('message.upgrade.success.title'),
|
|
||||||
content: i18n.t('message.upgrade.success.content'),
|
|
||||||
okText: i18n.t('message.upgrade.success.button'),
|
|
||||||
centered: true,
|
|
||||||
onOk: () => window.api.reload()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,17 +1,6 @@
|
|||||||
import KeyvStorage from '@kangfenmao/keyv-storage'
|
import KeyvStorage from '@kangfenmao/keyv-storage'
|
||||||
import localforage from 'localforage'
|
|
||||||
|
|
||||||
import { APP_NAME } from './config/env'
|
|
||||||
|
|
||||||
function init() {
|
function init() {
|
||||||
localforage.config({
|
|
||||||
driver: localforage.INDEXEDDB,
|
|
||||||
name: 'CherryAI',
|
|
||||||
version: 1.0,
|
|
||||||
storeName: 'cherryai',
|
|
||||||
description: `${APP_NAME} Storage`
|
|
||||||
})
|
|
||||||
|
|
||||||
window.keyv = new KeyvStorage()
|
window.keyv = new KeyvStorage()
|
||||||
window.keyv.init()
|
window.keyv.init()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,7 +2,6 @@ import db from '@renderer/databases'
|
|||||||
import i18n from '@renderer/i18n'
|
import i18n from '@renderer/i18n'
|
||||||
import store from '@renderer/store'
|
import store from '@renderer/store'
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import localforage from 'localforage'
|
|
||||||
|
|
||||||
export async function backup() {
|
export async function backup() {
|
||||||
const filename = `cherry-studio.${dayjs().format('YYYYMMDDHHmm')}.zip`
|
const filename = `cherry-studio.${dayjs().format('YYYYMMDDHHmm')}.zip`
|
||||||
@ -49,7 +48,6 @@ export async function reset() {
|
|||||||
centered: true,
|
centered: true,
|
||||||
onOk: async () => {
|
onOk: async () => {
|
||||||
await localStorage.clear()
|
await localStorage.clear()
|
||||||
await localforage.clear()
|
|
||||||
await clearDatabase()
|
await clearDatabase()
|
||||||
await window.api.file.clear()
|
await window.api.file.clear()
|
||||||
window.api.reload()
|
window.api.reload()
|
||||||
|
|||||||
19
yarn.lock
19
yarn.lock
@ -2374,7 +2374,6 @@ __metadata:
|
|||||||
gpt-tokens: "npm:^1.3.10"
|
gpt-tokens: "npm:^1.3.10"
|
||||||
html2canvas: "npm:^1.4.1"
|
html2canvas: "npm:^1.4.1"
|
||||||
i18next: "npm:^23.11.5"
|
i18next: "npm:^23.11.5"
|
||||||
localforage: "npm:^1.10.0"
|
|
||||||
lodash: "npm:^4.17.21"
|
lodash: "npm:^4.17.21"
|
||||||
markdown-it: "npm:^14.1.0"
|
markdown-it: "npm:^14.1.0"
|
||||||
mime: "npm:^4.0.4"
|
mime: "npm:^4.0.4"
|
||||||
@ -7186,15 +7185,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"lie@npm:3.1.1":
|
|
||||||
version: 3.1.1
|
|
||||||
resolution: "lie@npm:3.1.1"
|
|
||||||
dependencies:
|
|
||||||
immediate: "npm:~3.0.5"
|
|
||||||
checksum: 10c0/d62685786590351b8e407814acdd89efe1cb136f05cb9236c5a97b2efdca1f631d2997310ad2d565c753db7596799870140e4777c9c9b8c44a0f6bf42d1804a1
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"lie@npm:~3.3.0":
|
"lie@npm:~3.3.0":
|
||||||
version: 3.3.0
|
version: 3.3.0
|
||||||
resolution: "lie@npm:3.3.0"
|
resolution: "lie@npm:3.3.0"
|
||||||
@ -7242,15 +7232,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"localforage@npm:^1.10.0":
|
|
||||||
version: 1.10.0
|
|
||||||
resolution: "localforage@npm:1.10.0"
|
|
||||||
dependencies:
|
|
||||||
lie: "npm:3.1.1"
|
|
||||||
checksum: 10c0/00f19f1f97002e6721587ed5017f502d58faf80dae567d5065d4d1ee0caf0762f40d2e2dba7f0ef7d3f14ee6203242daae9ecad97359bfc10ecff36df11d85a3
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"locate-path@npm:^3.0.0":
|
"locate-path@npm:^3.0.0":
|
||||||
version: 3.0.0
|
version: 3.0.0
|
||||||
resolution: "locate-path@npm:3.0.0"
|
resolution: "locate-path@npm:3.0.0"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user