0

` //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.

0 Answers0