(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

34
data/projects.ts Normal file
View File

@@ -0,0 +1,34 @@
import { prisma } from "@/lib/db"
import { codeFromName } from "@/lib/utils"
import { Prisma } from "@prisma/client"
import { cache } from "react"
export const getProjects = cache(async () => {
return await prisma.project.findMany({
orderBy: {
name: "asc",
},
})
})
export const createProject = async (project: Prisma.ProjectCreateInput) => {
if (!project.code) {
project.code = codeFromName(project.name as string)
}
return await prisma.project.create({
data: project,
})
}
export const updateProject = async (code: string, project: Prisma.ProjectUpdateInput) => {
return await prisma.project.update({
where: { code },
data: project,
})
}
export const deleteProject = async (code: string) => {
return await prisma.project.delete({
where: { code },
})
}