Skip to content

Commit f5c4050

Browse files
committed
refactor(db): move setting related code to separate directory (#528)
1 parent fe7c5dd commit f5c4050

36 files changed

+132
-231
lines changed

packages/background/src/services/db.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@ import type { Account } from '@workspace/db/account/account'
55
import { accountCreate } from '@workspace/db/account/account-create'
66
import { accountFindUnique } from '@workspace/db/account/account-find-unique'
77
import { db } from '@workspace/db/db'
8-
import { dbSettingGetValue } from '@workspace/db/db-setting-get-value'
98
import { dbWalletCreate } from '@workspace/db/db-wallet-create'
109
import type { WalletInputCreate } from '@workspace/db/dto/wallet-input-create'
10+
import { settingGetValue } from '@workspace/db/setting/setting-get-value'
1111
import { deriveFromMnemonicAtIndex } from '@workspace/keypair/derive-from-mnemonic-at-index'
1212
import { ellipsify } from '@workspace/ui/lib/ellipsify'
1313

1414
// TODO: Database abstraction layer to avoid duplicating this code from db and db-react packages
1515
export const [registerDbService, getDbService] = defineProxyService('DbService', () => ({
1616
account: {
1717
active: async (): Promise<Account> => {
18-
const accountId = await dbSettingGetValue(db, 'activeAccountId')
18+
const accountId = await settingGetValue(db, 'activeAccountId')
1919
if (!accountId) {
2020
throw new Error('No active account set')
2121
}

packages/db-react/src/db-loader.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { Account } from '@workspace/db/account/account'
2-
import type { Setting } from '@workspace/db/entity/setting'
32
import type { Network } from '@workspace/db/network/network'
3+
import type { Setting } from '@workspace/db/setting/setting'
44
import { dbAccountOptions } from './db-account-options.tsx'
55
import { dbGetOrFetchQuery } from './db-get-or-fetch.tsx'
66
import { dbNetworkOptions } from './db-network-options.tsx'

packages/db-react/src/db-setting-options.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { type MutateOptions, mutationOptions, queryOptions } from '@tanstack/react-query'
22
import { db } from '@workspace/db/db'
3-
import { dbSettingGetAll } from '@workspace/db/db-setting-get-all'
4-
import { dbSettingGetValue } from '@workspace/db/db-setting-get-value'
5-
import { dbSettingSetValue } from '@workspace/db/db-setting-set-value'
6-
import type { SettingKey } from '@workspace/db/entity/setting-key'
3+
import { settingGetAll } from '@workspace/db/setting/setting-get-all'
4+
import { settingGetValue } from '@workspace/db/setting/setting-get-value'
5+
import type { SettingKey } from '@workspace/db/setting/setting-key'
6+
import { settingSetValue } from '@workspace/db/setting/setting-set-value'
77
import { toastError } from '@workspace/ui/lib/toast-error'
88
import { queryClient } from './db-query-client.tsx'
99

@@ -12,17 +12,17 @@ export type DbSettingSetValueMutateOptions = MutateOptions<void, Error, string>
1212
export const dbSettingOptions = {
1313
getAll: () =>
1414
queryOptions({
15-
queryFn: () => dbSettingGetAll(db),
16-
queryKey: ['dbSettingGetAll'],
15+
queryFn: () => settingGetAll(db),
16+
queryKey: ['settingGetAll'],
1717
}),
1818
getValue: (key: SettingKey) =>
1919
queryOptions({
20-
queryFn: () => dbSettingGetValue(db, key),
21-
queryKey: ['dbSettingGetValue', key],
20+
queryFn: () => settingGetValue(db, key),
21+
queryKey: ['settingGetValue', key],
2222
}),
2323
setValue: (key: SettingKey, props: DbSettingSetValueMutateOptions = {}) =>
2424
mutationOptions({
25-
mutationFn: (value: string) => dbSettingSetValue(db, key, value),
25+
mutationFn: (value: string) => settingSetValue(db, key, value),
2626
onError: () => toastError('Error setting value'),
2727
onSuccess: () => {
2828
queryClient.invalidateQueries(dbSettingOptions.getValue(key))

packages/db-react/src/use-db-setting-get-value-live.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { db } from '@workspace/db/db'
2-
import { dbSettingGetValue } from '@workspace/db/db-setting-get-value'
3-
import type { SettingKey } from '@workspace/db/entity/setting-key'
2+
import { settingGetValue } from '@workspace/db/setting/setting-get-value'
3+
import type { SettingKey } from '@workspace/db/setting/setting-key'
44
import { useLiveQuery } from 'dexie-react-hooks'
55
import { useRootLoaderData } from './use-root-loader-data.tsx'
66

@@ -12,5 +12,5 @@ export function useDbSettingGetValueLive(key: SettingKey) {
1212

1313
const value = data.settings.find((s) => s.key === key)?.value ?? null
1414

15-
return useLiveQuery<null | string, null | string>(() => dbSettingGetValue(db, key), [key], value)
15+
return useLiveQuery<null | string, null | string>(() => settingGetValue(db, key), [key], value)
1616
}

packages/db-react/src/use-db-setting-get-value.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useQuery } from '@tanstack/react-query'
2-
import type { SettingKey } from '@workspace/db/entity/setting-key'
2+
import type { SettingKey } from '@workspace/db/setting/setting-key'
33

44
import { dbSettingOptions } from './db-setting-options.tsx'
55

packages/db-react/src/use-db-setting-set-value.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useMutation } from '@tanstack/react-query'
2-
import type { SettingKey } from '@workspace/db/entity/setting-key'
2+
import type { SettingKey } from '@workspace/db/setting/setting-key'
33
import type { DbSettingSetValueMutateOptions } from './db-setting-options.tsx'
44
import { dbSettingOptions } from './db-setting-options.tsx'
55

packages/db-react/src/use-db-setting.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import type { SettingKey } from '@workspace/db/entity/setting-key'
1+
import type { SettingKey } from '@workspace/db/setting/setting-key'
22

33
import { useDbSettingGetValueLive } from './use-db-setting-get-value-live.tsx'
44
import { useDbSettingSetValue } from './use-db-setting-set-value.tsx'

packages/db/src/account/account-create.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import { tryCatch } from '@workspace/core/try-catch'
22

33
import type { Database } from '../database.ts'
4-
import { dbSettingGetValue } from '../db-setting-get-value.ts'
5-
import { dbSettingSetValue } from '../db-setting-set-value.ts'
4+
import { settingGetValue } from '../setting/setting-get-value.ts'
5+
import { settingSetValue } from '../setting/setting-set-value.ts'
66
import { accountCreateDetermineOrder } from './account-create-determine-order.ts'
77
import type { AccountCreateInput } from './account-create-input.ts'
88
import { accountCreateSchema } from './account-create-schema.ts'
@@ -28,9 +28,9 @@ export async function accountCreate(db: Database, input: AccountCreateInput): Pr
2828
throw new Error(`Error creating account`)
2929
}
3030

31-
const activeAccountId = await dbSettingGetValue(db, 'activeAccountId')
31+
const activeAccountId = await settingGetValue(db, 'activeAccountId')
3232
if (!activeAccountId) {
33-
await dbSettingSetValue(db, 'activeAccountId', data)
33+
await settingSetValue(db, 'activeAccountId', data)
3434
}
3535

3636
return data

packages/db/src/account/account-set-active.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { Database } from '../database.ts'
2-
import { dbSettingFindUniqueByKey } from '../db-setting-find-unique-by-key.ts'
3-
import { dbSettingSetValue } from '../db-setting-set-value.ts'
4-
import type { SettingKey } from '../entity/setting-key.ts'
2+
import { settingFindUniqueByKey } from '../setting/setting-find-unique-by-key.ts'
3+
import type { SettingKey } from '../setting/setting-key.ts'
4+
import { settingSetValue } from '../setting/setting-set-value.ts'
55
import { accountFindUnique } from './account-find-unique.ts'
66

77
export async function accountSetActive(db: Database, id: string) {
@@ -18,13 +18,13 @@ export async function accountSetActive(db: Database, id: string) {
1818
const keyWallet: SettingKey = 'activeWalletId'
1919
const keyAccount: SettingKey = 'activeAccountId'
2020
// get the `activeWalletId` setting
21-
const activeWallet = await dbSettingFindUniqueByKey(db, keyWallet)
21+
const activeWallet = await settingFindUniqueByKey(db, keyWallet)
2222

2323
// ensure that the request `Account.walletId` is equal to `activeWalletId`
2424
if (found.walletId !== activeWallet?.value) {
25-
await dbSettingSetValue(db, keyWallet, found.walletId)
25+
await settingSetValue(db, keyWallet, found.walletId)
2626
}
2727

28-
await dbSettingSetValue(db, keyAccount, accountId)
28+
await settingSetValue(db, keyAccount, accountId)
2929
})
3030
}

packages/db/src/database.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
import { Dexie, type Table } from 'dexie'
22
import type { Account } from './account/account.ts'
33
import { dbPopulate } from './db-populate.ts'
4-
import type { Setting } from './entity/setting.ts'
54
import type { Wallet } from './entity/wallet.ts'
65
import type { Network } from './network/network.ts'
6+
import type { Setting } from './setting/setting.ts'
77

88
export interface DatabaseConfig {
99
name: string

0 commit comments

Comments
 (0)