1import { GLOBAL_DEFAULT_TTL, VERSION } from "../../../shared/mod.ts";2import type { StatusResponse } from "../../../shared/mod.ts";3import { defaultVaults, listSites, listVaults } from "../db.ts";4import { type Env, json } from "../env.ts";56export async function handleStatus(env: Env): Promise<Response> {7 const vaults = await listVaults(env);8 const sites = await listSites(env);9 const soon = Math.floor(Date.now() / 1000) + 48 * 3600;10 return json<StatusResponse>({11 ok: true,12 version: VERSION,13 defaultVaults: await defaultVaults(env),14 globalDefaultTtl: GLOBAL_DEFAULT_TTL,15 vaults,16 siteCount: sites.length,17 expiringSoon: sites.filter((site) => site.expires_at !== null && site.expires_at < soon).length,18 });19}