release: opensource snapshot 2026-02-27 19:25:00

This commit is contained in:
saturn
2026-02-27 19:25:00 +08:00
commit 5de9622c8b
1055 changed files with 164772 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
import { randomUUID } from 'node:crypto'
import type { TaskBillingInfo, TaskType } from '@/lib/task/types'
import { TASK_STATUS } from '@/lib/task/types'
import { Prisma } from '@prisma/client'
import { prisma } from './prisma'
export async function createTestUser() {
const suffix = randomUUID().slice(0, 8)
return await prisma.user.create({
data: {
name: `billing_user_${suffix}`,
email: `billing_${suffix}@example.com`,
},
})
}
export async function createTestProject(userId: string) {
const suffix = randomUUID().slice(0, 8)
return await prisma.project.create({
data: {
name: `Billing Project ${suffix}`,
userId,
},
})
}
export async function seedBalance(userId: string, balance: number) {
return await prisma.userBalance.upsert({
where: { userId },
create: {
userId,
balance,
frozenAmount: 0,
totalSpent: 0,
},
update: {
balance,
frozenAmount: 0,
totalSpent: 0,
},
})
}
export async function createQueuedTask(params: {
id: string
userId: string
projectId: string
type: TaskType
targetType: string
targetId: string
billingInfo?: TaskBillingInfo | null
payload?: Record<string, unknown> | null
}) {
return await prisma.task.create({
data: {
id: params.id,
userId: params.userId,
projectId: params.projectId,
type: params.type,
targetType: params.targetType,
targetId: params.targetId,
status: TASK_STATUS.QUEUED,
billingInfo: (params.billingInfo ?? Prisma.JsonNull) as unknown as Prisma.InputJsonValue,
payload: (params.payload ?? Prisma.JsonNull) as unknown as Prisma.InputJsonValue,
queuedAt: new Date(),
},
})
}