` //I m using prisma in nest js //QRcode generate and store in the db(mysql) const date = new Date(); // create a new date object const expiryDate = new Date().getTime()+ 120000; // add 120 seconds to the date
// insert data for qrcode
let qrcode_data = await tx.attendanceQrcode.create({
data: {
application_name: createAttendanceQrCodeDto.application_name,
application_version: createAttendanceQrCodeDto.application_version,
expiry_period: new Date(expiryDate),
public_key: hash,
shift_id: getUserSiteInfo.ShiftAssignSite.shift_id,
site_id: getUserSiteInfo.ShiftAssignSite.site_id,
sub_site_id: getUserSiteInfo.ShiftAssignSite.sub_site_id,
},
});
//verify qrcode here
let checkPublicKeyExistance = await this.prisma.attendanceQrcode.findFirst({ where: { public_key: public_key, }, }); if (!checkPublicKeyExistance) { return "public key does't match"; } console.log("checkPublicKeyExistance.expiry_period ",checkPublicKeyExistance.expiry_period)
let currentTime = new Date().getTime();
let qrcodeValidityTime = checkPublicKeyExistance.expiry_period.getTime();
if (currentTime > qrcodeValidityTime) {
return 'Qrcode expired. Please generate qr again';
}
return true;
`
current time is always greater than expiry time. I checked in console.