adding a random reference number in user table

This commit is contained in:
2025-11-29 13:48:55 +05:30
parent 6b2b211990
commit 7bec950096
3 changed files with 44 additions and 1 deletions

View File

@@ -12,6 +12,21 @@ import { ROLE } from '../../../../../common/utils/constants/common.constant';
const prismaService = new PrismaService();
const hostService = new HostService(prismaService);
export async function generateHostRefNumber(tx: any) {
const lastrecord = await tx.user.findFirst({
orderBy: {
id: 'desc',
},
select: {
id: true,
},
});
const nextId = lastrecord ? lastrecord.id + 1 : 1;
return `HS-${String(nextId).padStart(6, '0')}`;;
}
export const handler = safeHandler(async (
event: APIGatewayProxyEvent,
context?: Context
@@ -44,13 +59,15 @@ export const handler = safeHandler(async (
let newUserLocal;
const referenceNumber = await generateHostRefNumber(tx);
if (user && !user.userPassword) {
// reuse existing invited user record
newUserLocal = user;
} else {
// create new user record within the transaction
newUserLocal = await tx.user.create({
data: { emailAddress: email, roleXid: ROLE.HOST },
data: { emailAddress: email, roleXid: ROLE.HOST, userRefNumber: referenceNumber },
});
}