mirror of
https://github.com/bitwarden/server
synced 2026-01-05 10:03:23 +00:00
[PM-26967] Added new metric properties (#6519)
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using Bit.Core.Context;
|
||||
using Bit.Api.Dirt.Models.Response;
|
||||
using Bit.Core.Context;
|
||||
using Bit.Core.Dirt.Reports.ReportFeatures.Interfaces;
|
||||
using Bit.Core.Dirt.Reports.ReportFeatures.Requests;
|
||||
using Bit.Core.Exceptions;
|
||||
@@ -61,8 +62,9 @@ public class OrganizationReportsController : Controller
|
||||
}
|
||||
|
||||
var latestReport = await _getOrganizationReportQuery.GetLatestOrganizationReportAsync(organizationId);
|
||||
var response = latestReport == null ? null : new OrganizationReportResponseModel(latestReport);
|
||||
|
||||
return Ok(latestReport);
|
||||
return Ok(response);
|
||||
}
|
||||
|
||||
[HttpGet("{organizationId}/{reportId}")]
|
||||
@@ -102,7 +104,8 @@ public class OrganizationReportsController : Controller
|
||||
}
|
||||
|
||||
var report = await _addOrganizationReportCommand.AddOrganizationReportAsync(request);
|
||||
return Ok(report);
|
||||
var response = report == null ? null : new OrganizationReportResponseModel(report);
|
||||
return Ok(response);
|
||||
}
|
||||
|
||||
[HttpPatch("{organizationId}/{reportId}")]
|
||||
@@ -119,7 +122,8 @@ public class OrganizationReportsController : Controller
|
||||
}
|
||||
|
||||
var updatedReport = await _updateOrganizationReportCommand.UpdateOrganizationReportAsync(request);
|
||||
return Ok(updatedReport);
|
||||
var response = new OrganizationReportResponseModel(updatedReport);
|
||||
return Ok(response);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -182,10 +186,10 @@ public class OrganizationReportsController : Controller
|
||||
{
|
||||
throw new BadRequestException("Report ID in the request body must match the route parameter");
|
||||
}
|
||||
|
||||
var updatedReport = await _updateOrganizationReportSummaryCommand.UpdateOrganizationReportSummaryAsync(request);
|
||||
var response = new OrganizationReportResponseModel(updatedReport);
|
||||
|
||||
return Ok(updatedReport);
|
||||
return Ok(response);
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -228,7 +232,9 @@ public class OrganizationReportsController : Controller
|
||||
}
|
||||
|
||||
var updatedReport = await _updateOrganizationReportDataCommand.UpdateOrganizationReportDataAsync(request);
|
||||
return Ok(updatedReport);
|
||||
var response = new OrganizationReportResponseModel(updatedReport);
|
||||
|
||||
return Ok(response);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -265,7 +271,6 @@ public class OrganizationReportsController : Controller
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
if (!await _currentContext.AccessReports(organizationId))
|
||||
{
|
||||
throw new NotFoundException();
|
||||
@@ -282,10 +287,9 @@ public class OrganizationReportsController : Controller
|
||||
}
|
||||
|
||||
var updatedReport = await _updateOrganizationReportApplicationDataCommand.UpdateOrganizationReportApplicationDataAsync(request);
|
||||
var response = new OrganizationReportResponseModel(updatedReport);
|
||||
|
||||
|
||||
|
||||
return Ok(updatedReport);
|
||||
return Ok(response);
|
||||
}
|
||||
catch (Exception ex) when (!(ex is BadRequestException || ex is NotFoundException))
|
||||
{
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
using Bit.Core.Dirt.Entities;
|
||||
|
||||
namespace Bit.Api.Dirt.Models.Response;
|
||||
|
||||
public class OrganizationReportResponseModel
|
||||
{
|
||||
public Guid Id { get; set; }
|
||||
public Guid OrganizationId { get; set; }
|
||||
public string? ReportData { get; set; }
|
||||
public string? ContentEncryptionKey { get; set; }
|
||||
public string? SummaryData { get; set; }
|
||||
public string? ApplicationData { get; set; }
|
||||
public int? PasswordCount { get; set; }
|
||||
public int? PasswordAtRiskCount { get; set; }
|
||||
public int? MemberCount { get; set; }
|
||||
public DateTime? CreationDate { get; set; } = null;
|
||||
public DateTime? RevisionDate { get; set; } = null;
|
||||
|
||||
public OrganizationReportResponseModel(OrganizationReport organizationReport)
|
||||
{
|
||||
if (organizationReport == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
Id = organizationReport.Id;
|
||||
OrganizationId = organizationReport.OrganizationId;
|
||||
ReportData = organizationReport.ReportData;
|
||||
ContentEncryptionKey = organizationReport.ContentEncryptionKey;
|
||||
SummaryData = organizationReport.SummaryData;
|
||||
ApplicationData = organizationReport.ApplicationData;
|
||||
PasswordCount = organizationReport.PasswordCount;
|
||||
PasswordAtRiskCount = organizationReport.PasswordAtRiskCount;
|
||||
MemberCount = organizationReport.MemberCount;
|
||||
CreationDate = organizationReport.CreationDate;
|
||||
RevisionDate = organizationReport.RevisionDate;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user