1
0
mirror of https://github.com/bitwarden/server synced 2025-12-10 05:13:48 +00:00

[PM-23580] Security Task Metrics (#6164)

* add metrics endpoint for an organization to return completed and total security tasks

* refactor metrics fetch to use sql sproc for efficiency rather than having to pull all security task data

* add separate response model for security task metrics endpoint

* Pascal Case to match existing implementations

* refactor org to organization for consistency with other methods

* alter security task endpoint:
- remove "count" from variable naming
- update sproc naming

* remove enablement check

* replace orgId with organizationId
This commit is contained in:
Nick Krantz
2025-08-13 08:23:22 -05:00
committed by GitHub
parent 9022ad2360
commit f88baba66b
12 changed files with 254 additions and 1 deletions

View File

@@ -48,6 +48,19 @@ public class SecurityTaskRepository : Repository<SecurityTask, Guid>, ISecurityT
return results.ToList();
}
/// <inheritdoc />
public async Task<SecurityTaskMetrics> GetTaskMetricsAsync(Guid organizationId)
{
await using var connection = new SqlConnection(ConnectionString);
var result = await connection.QueryAsync<SecurityTaskMetrics>(
$"[{Schema}].[SecurityTask_ReadMetricsByOrganizationId]",
new { OrganizationId = organizationId },
commandType: CommandType.StoredProcedure);
return result.FirstOrDefault() ?? new SecurityTaskMetrics(0, 0);
}
/// <inheritdoc />
public async Task<ICollection<SecurityTask>> CreateManyAsync(IEnumerable<SecurityTask> tasks)
{