fix(ops): gemini-block i summary-byggaren, inte routen

This commit is contained in:
Sven (AAMOS AI)
2026-08-12 22:41:11 +07:00
parent 7dc7cd1403
commit 10ba64e4ba
3 changed files with 69 additions and 52 deletions
-50
View File
@@ -1,8 +1,6 @@
import { timingSafeEqual } from "node:crypto";
import { gte, sql } from "drizzle-orm";
import type { FastifyInstance, FastifyReply, FastifyRequest } from "fastify";
import BRAND from "../../../../brand.config.json" with { type: "json" };
import { geminiUsage } from "@app/database";
import { errors } from "../lib/errors.js";
const CACHE_KEY = "ops:summary:cache";
@@ -63,54 +61,6 @@ export async function opsRoutes(app: FastifyInstance) {
}
const enriched = structuredClone(summary);
const geminiDefaults = {
anrop_24h: null,
prompt_tokens_24h: null,
output_tokens_24h: null,
total_tokens_24h: null,
total_tokens_manad: null,
kostnad_usd_mikrocent_24h: null,
andel_pa_aamos: 0.0,
aamos_agreement: null,
};
try {
const now = new Date();
const since24h = new Date(now.getTime() - 24 * 60 * 60 * 1000);
const startOfMonth = new Date(now.getFullYear(), now.getMonth(), 1);
const [dayAgg, monthAgg] = await Promise.all([
app.db
.select({
count: sql<number>`count(*)`,
promptTokens: sql<number>`coalesce(sum(${geminiUsage.promptTokens}), 0)`,
outputTokens: sql<number>`coalesce(sum(${geminiUsage.outputTokens}), 0)`,
totalTokens: sql<number>`coalesce(sum(${geminiUsage.totalTokens}), 0)`,
costMicrocents: sql<number>`coalesce(sum(${geminiUsage.costMicrocents}), 0)`,
})
.from(geminiUsage)
.where(gte(geminiUsage.createdAt, since24h)),
app.db
.select({
totalTokens: sql<number>`coalesce(sum(${geminiUsage.totalTokens}), 0)`,
})
.from(geminiUsage)
.where(gte(geminiUsage.createdAt, startOfMonth)),
]);
enriched.gemini = {
anrop_24h: Number(dayAgg[0]?.count ?? 0),
prompt_tokens_24h: Number(dayAgg[0]?.promptTokens ?? 0),
output_tokens_24h: Number(dayAgg[0]?.outputTokens ?? 0),
total_tokens_24h: Number(dayAgg[0]?.totalTokens ?? 0),
total_tokens_manad: Number(monthAgg[0]?.totalTokens ?? 0),
kostnad_usd_mikrocent_24h: Number(dayAgg[0]?.costMicrocents ?? 0),
andel_pa_aamos: 0.0,
aamos_agreement: null,
};
} catch {
enriched.gemini = geminiDefaults;
}
if (
enriched.wall &&