adding a random reference number in user table
This commit is contained in:
@@ -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 },
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user