feat: integrate consumption metrics into plan usage cycle tracking and UI display

This commit is contained in:
2026-07-18 22:02:48 -03:00
parent 0f76ef3118
commit 78ee86ac48
7 changed files with 31 additions and 4 deletions
@@ -2,6 +2,7 @@ import { connect } from "mongoose";
import dayjs from "dayjs";
import AppointmentList from "../../../Models/Appointments/Appointments";
import CompaniesList from "../../../Models/Companies/Companies";
import MetricsList from "../../../Models/Metrics/Metrics";
import PlanUsageCycleList from "../../../Models/PlanUsageCycle/PlanUsageCycle";
import {
SysAdminRecalculatePlanUsageCycleParams,
@@ -37,12 +38,20 @@ export class SysAdminPlanUsageCycleService {
throw new Error("No se pudo recalcular el uso del plan.");
}
await MetricsList.calculateMetrics({ userId: params.userId });
const metrics = await MetricsList.getMetrics(params.userId);
return {
userId: params.userId,
subscriptionId: String(updatedCycle.subscriptionId),
planId: String(updatedCycle.planId),
cycleStart: updatedCycle.cycleStart,
cycleEnd: updatedCycle.cycleEnd,
organizationsCount: metrics.organizationsCount,
employeesCount: metrics.employeesCount,
servicesCount: metrics.servicesCount,
clientsCount: metrics.clientsCount,
repeatsCount: metrics.repeatsCount || 0,
appointmentsCount: updatedCycle.appointmentsCount,
};
}