(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:
Vasily Zubarev
2025-03-13 00:30:47 +01:00
commit 0b98a2c307
153 changed files with 17271 additions and 0 deletions

24
data/settings.ts Normal file
View 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,
},
})
})