Fix signup defaults and asset management
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import type { PrismaClient } from '@prisma/client'
|
||||
import type { Prisma, PrismaClient } from '@prisma/client'
|
||||
|
||||
export async function createDefaultMoneyData(prisma: PrismaClient, userId: string) {
|
||||
type MoneyDataClient = PrismaClient | Prisma.TransactionClient
|
||||
|
||||
export async function createDefaultMoneyData(prisma: MoneyDataClient, userId: string) {
|
||||
const cash = await prisma.asset.create({
|
||||
data: {
|
||||
userId,
|
||||
@@ -34,3 +36,13 @@ export async function createDefaultMoneyData(prisma: PrismaClient, userId: strin
|
||||
|
||||
return { cash }
|
||||
}
|
||||
|
||||
export async function ensureDefaultMoneyData(prisma: MoneyDataClient, userId: string) {
|
||||
const [assetCount, categoryCount] = await Promise.all([
|
||||
prisma.asset.count({ where: { userId } }),
|
||||
prisma.category.count({ where: { userId } })
|
||||
])
|
||||
|
||||
if (assetCount || categoryCount) return
|
||||
await createDefaultMoneyData(prisma, userId)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user