shellphone.app/app/public-area/queries/get-metrics.ts
2021-08-29 04:17:01 +08:00

23 lines
580 B
TypeScript

import { resolver } from "blitz";
import db from "../../../db";
export default resolver.pipe(async () => {
const phoneNumbers = await db.phoneNumber.count();
const smsExchanged = await db.message.count();
const allPhoneCalls = await db.phoneCall.findMany();
const secondsCalled = allPhoneCalls.reduce<number>((minutes, phoneCall) => {
if (!phoneCall.duration) {
return minutes;
}
return minutes + Number.parseInt(phoneCall.duration);
}, 0);
const minutesCalled = Math.round(secondsCalled / 60);
return {
phoneNumbers,
smsExchanged,
minutesCalled,
};
});