mirror of
https://github.com/marcogll/TaxHacker_s23.git
synced 2026-01-13 21:35:19 +00:00
(squash) init
feat: filters, settings, backups fix: ts compile errors feat: new dashboard, webp previews and settings feat: use webp for pdfs feat: use webp fix: analyze resets old data fix: switch to corsproxy fix: switch to free cors fix: max upload limit fix: currency conversion feat: transaction export fix: currency conversion feat: refactor settings actions feat: new loader feat: README + LICENSE doc: update readme doc: update readme doc: update readme doc: update screenshots ci: bump prisma
This commit is contained in:
24
data/settings.ts
Normal file
24
data/settings.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
import { prisma } from "@/lib/db"
|
||||
import { cache } from "react"
|
||||
|
||||
export type SettingsMap = Record<string, string>
|
||||
|
||||
export const getSettings = cache(async (): Promise<SettingsMap> => {
|
||||
const settings = await prisma.setting.findMany()
|
||||
return settings.reduce((acc, setting) => {
|
||||
acc[setting.code] = setting.value || ""
|
||||
return acc
|
||||
}, {} as SettingsMap)
|
||||
})
|
||||
|
||||
export const updateSettings = cache(async (code: string, value: string) => {
|
||||
return await prisma.setting.upsert({
|
||||
where: { code },
|
||||
update: { value },
|
||||
create: {
|
||||
code,
|
||||
value,
|
||||
name: code,
|
||||
},
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user