Files
permit-api/src/utils/id.ts
2025-02-17 14:48:55 +05:30

30 lines
606 B
TypeScript

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<string> {
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);
}