我想使用$transaction
,但我不知道应该将什么类型传递给 Prisma,以便它为我提供模型的类型检查和自动完成功能。
export default async function SignUp(data: SIGNUP_INTERFACE) {
try {
let user = await prisma.$transaction(async (prisma: any /* <- this */) => {
let encrypted_password = await bcrypt.hash(data.password, 10);
// 1. Add user to database
const user = await prisma.user.create({
data: {
username: data.username,
password: encrypted_password,
},
});
// 2. Add email/phone number to database
if (data.phoneNumber) {
await prisma.user_phone.create({
data: { phone_number: data.phoneNumber },
});
}
if (data.email) {
await prisma.user_email.create({
data: { email: data.email },
});
}
});
return user;
} catch (err: any) {
throw new CustomError(err.message);
}
}
我努力了
PrismaClient<Prisma.PrismaClientOptions, never, Prisma.RejectOnNotFound | Prisma.RejectPerOperation | undefined>
但它给了
类型 '(prisma: PrismaClient<PrismaClientOptions, never, RejectOnNotFound | RejectPerOperation | undefined>) => Promise<...>' 缺少来自类型 'PrismaPromise[]' 的以下属性:pop、push、concat、join 和 28更多的