import { init } from "@paralleldrive/cuid2"; import crypto from "crypto"; const id = init({ length: 15, }); export function generateId(perfix?: string) { return perfix ? perfix + id() : id(); } export async function generateToken(): Promise { return new Promise((resolve, reject) => { crypto.generateKey("aes", { length: 256 }, (err, key) => { if (err) reject(err); resolve(key.export().toString("base64url")); }); }); } export function generateOTP() { let otp = ""; for (let i = 0; i < 6; i++) { otp += crypto.randomInt(10); } return parseInt(otp); }