import { datadogRequest, type DatadogAuthOptions } from './core.ts' /** * Validate the API key, then read the current user with both keys. * GET /api/v1/validate plus GET /api/v2/current_user. */ export async function validateKeys(input: DatadogAuthOptions = {}) { const validation = await datadogRequest('/api/v1/validate', { ...input, label: 'Datadog validate API key', }) let currentUser: any = null try { currentUser = await datadogRequest('/api/v2/current_user', { ...input, label: 'Datadog current user', }) } catch { currentUser = null } const user = currentUser?.data?.attributes ?? currentUser?.data ?? null return { ok: validation?.valid === true || validation?.valid === undefined, valid: validation?.valid ?? true, user: user ? { id: currentUser?.data?.id ?? user.id ?? null, name: user.name ?? user.handle ?? null, email: user.email ?? user.handle ?? null, } : null, } } export default validateKeys