20 lines
857 B
JavaScript
20 lines
857 B
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.FindingStatsQuery = void 0;
|
|
const Result_1 = require("../../../../shared/domain/Result");
|
|
class FindingStatsQuery {
|
|
constructor(repository) {
|
|
this.repository = repository;
|
|
}
|
|
async execute(request) {
|
|
const [total, bySeverity, openCount, resolvedCount] = await Promise.all([
|
|
this.repository.count(request.sessionId ? { sessionId: request.sessionId } : undefined),
|
|
this.repository.countBySeverity(),
|
|
this.repository.count({ status: 'open', sessionId: request.sessionId }),
|
|
this.repository.count({ status: 'resolved', sessionId: request.sessionId }),
|
|
]);
|
|
return (0, Result_1.Ok)({ total, bySeverity, openCount, resolvedCount });
|
|
}
|
|
}
|
|
exports.FindingStatsQuery = FindingStatsQuery;
|