Midday / packages /db /src /utils /api-keys.ts
Jules
Final deployment with all fixes and verified content
c09f67c
import { randomBytes } from "node:crypto";
/**
* Generates a new API key with the format mid_{random_string}
* @returns A new API key string
*/
export function generateApiKey(): string {
// Generate 32 random bytes and convert to hex
const randomString = randomBytes(32).toString("hex");
return `mid_${randomString}`;
}
/**
* Validates if a string is a valid API key format
* @param key The key to validate
* @returns True if the key starts with 'mid-' and has the correct length
*/
export function isValidApiKeyFormat(key: string): boolean {
return key.startsWith("mid_") && key.length === 68; // mid_ (4) + 64 hex chars
}