Files
Checkmate/server/db/mongo/modules/checkModuleQueries.js
T

48 lines
902 B
JavaScript
Raw Normal View History

2025-07-01 18:23:11 +05:30
const buildChecksSummaryByTeamIdPipeline = ({ matchStage }) => {
2025-07-01 17:55:50 +05:30
return [
{ $match: matchStage },
{
$facet: {
summary: [
{
$group: {
_id: null,
totalChecks: { $sum: { $cond: [{ $eq: ["$status", false] }, 1, 0] } },
resolvedChecks: {
$sum: {
$cond: [{ $eq: ["$ack", true] }, 1, 0],
},
},
downChecks: {
$sum: {
$cond: [
{ $and: [{ $eq: ["$ack", false] }, { $eq: ["$status", false] }] },
1,
0,
],
},
},
cannotResolveChecks: {
$sum: {
$cond: [{ $eq: ["$statusCode", 5000] }, 1, 0],
},
},
},
},
{
$project: {
_id: 0,
},
},
],
},
},
{
$project: {
summary: { $arrayElemAt: ["$summary", 0] },
},
},
];
};
2025-07-01 18:23:11 +05:30
export { buildChecksSummaryByTeamIdPipeline };