Hello from MCP server
import { getDb } from "@/dataAccess/getDb";
export interface JobCount {
name: string;
refId: string;
count: number;
}
/**
* Count job occurrences from service_call logs
*
* @returns Array of job counts with name, refId, and count
*/
export async function countJobs(): Promise<JobCount[]> {
const db = await getDb();
const query = `SELECT log_data FROM logs WHERE log_type = ?`;
const result = await db.dbConn.query(query, ['service_call']);
const jobCounts: Map<string, JobCount> = new Map();
for (const row of result.values || []) {
const logData = JSON.parse(row.log_data || '{}');
const jobs = logData.jobs || [];
for (const job of jobs) {
const name = job.problem?.name || job.title || 'Unknown';
const refId = job.problem?.refId || '';
const key = `${refId}|${name}`;
if (jobCounts.has(key)) {
jobCounts.get(key)!.count++;
} else {
jobCounts.set(key, { name, refId, count: 1 });
}
}
}
return Array.from(jobCounts.values()).sort((a, b) => b.count - a.count);
}