76 lines
1.9 KiB
TypeScript
76 lines
1.9 KiB
TypeScript
import { db } from "../db.server";
|
|
|
|
export async function getRegistrationByEmail(email: string) {
|
|
return await db.registration.findFirst({
|
|
where: {
|
|
email,
|
|
},
|
|
});
|
|
}
|
|
|
|
export async function getRegistrationByToken(token: string) {
|
|
return await db.registration.findUnique({
|
|
where: {
|
|
token,
|
|
},
|
|
});
|
|
}
|
|
|
|
export async function createRegistration(data: {
|
|
email: string;
|
|
firstName: string;
|
|
lastName: string;
|
|
token: string;
|
|
company: string | null;
|
|
selectedSubscriptionPriceId: string | null;
|
|
leadConversionLeadId?: string | null;
|
|
leadConversionToken?: string | null;
|
|
leadConversionPlanId?: string | null;
|
|
ipAddress: string | null;
|
|
slug: string | null;
|
|
}) {
|
|
return await db.registration.create({
|
|
data: {
|
|
email: data.email,
|
|
firstName: data.firstName,
|
|
lastName: data.lastName,
|
|
token: data.token,
|
|
company: data.company,
|
|
selectedSubscriptionPriceId: data.selectedSubscriptionPriceId,
|
|
leadConversionLeadId: data.leadConversionLeadId ?? null,
|
|
leadConversionToken: data.leadConversionToken ?? null,
|
|
leadConversionPlanId: data.leadConversionPlanId ?? null,
|
|
ipAddress: data.ipAddress,
|
|
slug: data.slug,
|
|
},
|
|
});
|
|
}
|
|
|
|
export async function updateRegistration(
|
|
id: string,
|
|
data: {
|
|
firstName?: string;
|
|
lastName?: string;
|
|
company?: string | null;
|
|
createdTenantId?: string | null;
|
|
token?: string;
|
|
leadConversionLeadId?: string | null;
|
|
leadConversionToken?: string | null;
|
|
leadConversionPlanId?: string | null;
|
|
}
|
|
) {
|
|
return await db.registration.update({
|
|
where: { id },
|
|
data: {
|
|
firstName: data.firstName,
|
|
lastName: data.lastName,
|
|
company: data.company,
|
|
createdTenantId: data.createdTenantId,
|
|
token: data.token,
|
|
leadConversionLeadId: data.leadConversionLeadId,
|
|
leadConversionToken: data.leadConversionToken,
|
|
leadConversionPlanId: data.leadConversionPlanId,
|
|
},
|
|
});
|
|
}
|