17 changed files with 359 additions and 39 deletions
@ -0,0 +1,38 @@
@@ -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; |
||||
} |
||||
} |
||||
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
using Bit.Core.Dirt.Reports.ReportFeatures.Requests; |
||||
|
||||
namespace Bit.Core.Dirt.Reports.Models.Data; |
||||
|
||||
public class OrganizationReportMetricsData |
||||
{ |
||||
public Guid OrganizationId { get; set; } |
||||
public int? ApplicationCount { get; set; } |
||||
public int? ApplicationAtRiskCount { get; set; } |
||||
public int? CriticalApplicationCount { get; set; } |
||||
public int? CriticalApplicationAtRiskCount { get; set; } |
||||
public int? MemberCount { get; set; } |
||||
public int? MemberAtRiskCount { get; set; } |
||||
public int? CriticalMemberCount { get; set; } |
||||
public int? CriticalMemberAtRiskCount { get; set; } |
||||
public int? PasswordCount { get; set; } |
||||
public int? PasswordAtRiskCount { get; set; } |
||||
public int? CriticalPasswordCount { get; set; } |
||||
public int? CriticalPasswordAtRiskCount { get; set; } |
||||
|
||||
public static OrganizationReportMetricsData From(Guid organizationId, OrganizationReportMetricsRequest? request) |
||||
{ |
||||
if (request == null) |
||||
{ |
||||
return new OrganizationReportMetricsData |
||||
{ |
||||
OrganizationId = organizationId |
||||
}; |
||||
} |
||||
|
||||
return new OrganizationReportMetricsData |
||||
{ |
||||
OrganizationId = organizationId, |
||||
ApplicationCount = request.ApplicationCount, |
||||
ApplicationAtRiskCount = request.ApplicationAtRiskCount, |
||||
CriticalApplicationCount = request.CriticalApplicationCount, |
||||
CriticalApplicationAtRiskCount = request.CriticalApplicationAtRiskCount, |
||||
MemberCount = request.MemberCount, |
||||
MemberAtRiskCount = request.MemberAtRiskCount, |
||||
CriticalMemberCount = request.CriticalMemberCount, |
||||
CriticalMemberAtRiskCount = request.CriticalMemberAtRiskCount, |
||||
PasswordCount = request.PasswordCount, |
||||
PasswordAtRiskCount = request.PasswordAtRiskCount, |
||||
CriticalPasswordCount = request.CriticalPasswordCount, |
||||
CriticalPasswordAtRiskCount = request.CriticalPasswordAtRiskCount |
||||
}; |
||||
} |
||||
} |
||||
@ -1,16 +1,15 @@
@@ -1,16 +1,15 @@
|
||||
// FIXME: Update this file to be null safe and then delete the line below |
||||
#nullable disable |
||||
|
||||
namespace Bit.Core.Dirt.Reports.ReportFeatures.Requests; |
||||
namespace Bit.Core.Dirt.Reports.ReportFeatures.Requests; |
||||
|
||||
public class AddOrganizationReportRequest |
||||
{ |
||||
public Guid OrganizationId { get; set; } |
||||
public string ReportData { get; set; } |
||||
public string? ReportData { get; set; } |
||||
|
||||
public string? ContentEncryptionKey { get; set; } |
||||
|
||||
public string ContentEncryptionKey { get; set; } |
||||
public string? SummaryData { get; set; } |
||||
|
||||
public string SummaryData { get; set; } |
||||
public string? ApplicationData { get; set; } |
||||
|
||||
public string ApplicationData { get; set; } |
||||
public OrganizationReportMetricsRequest? Metrics { get; set; } |
||||
} |
||||
|
||||
@ -0,0 +1,31 @@
@@ -0,0 +1,31 @@
|
||||
using System.Text.Json.Serialization; |
||||
|
||||
namespace Bit.Core.Dirt.Reports.ReportFeatures.Requests; |
||||
|
||||
public class OrganizationReportMetricsRequest |
||||
{ |
||||
[JsonPropertyName("totalApplicationCount")] |
||||
public int? ApplicationCount { get; set; } = null; |
||||
[JsonPropertyName("totalAtRiskApplicationCount")] |
||||
public int? ApplicationAtRiskCount { get; set; } = null; |
||||
[JsonPropertyName("totalCriticalApplicationCount")] |
||||
public int? CriticalApplicationCount { get; set; } = null; |
||||
[JsonPropertyName("totalCriticalAtRiskApplicationCount")] |
||||
public int? CriticalApplicationAtRiskCount { get; set; } = null; |
||||
[JsonPropertyName("totalMemberCount")] |
||||
public int? MemberCount { get; set; } = null; |
||||
[JsonPropertyName("totalAtRiskMemberCount")] |
||||
public int? MemberAtRiskCount { get; set; } = null; |
||||
[JsonPropertyName("totalCriticalMemberCount")] |
||||
public int? CriticalMemberCount { get; set; } = null; |
||||
[JsonPropertyName("totalCriticalAtRiskMemberCount")] |
||||
public int? CriticalMemberAtRiskCount { get; set; } = null; |
||||
[JsonPropertyName("totalPasswordCount")] |
||||
public int? PasswordCount { get; set; } = null; |
||||
[JsonPropertyName("totalAtRiskPasswordCount")] |
||||
public int? PasswordAtRiskCount { get; set; } = null; |
||||
[JsonPropertyName("totalCriticalPasswordCount")] |
||||
public int? CriticalPasswordCount { get; set; } = null; |
||||
[JsonPropertyName("totalCriticalAtRiskPasswordCount")] |
||||
public int? CriticalPasswordAtRiskCount { get; set; } = null; |
||||
} |
||||
@ -1,11 +1,8 @@
@@ -1,11 +1,8 @@
|
||||
// FIXME: Update this file to be null safe and then delete the line below |
||||
#nullable disable |
||||
|
||||
namespace Bit.Core.Dirt.Reports.ReportFeatures.Requests; |
||||
namespace Bit.Core.Dirt.Reports.ReportFeatures.Requests; |
||||
|
||||
public class UpdateOrganizationReportApplicationDataRequest |
||||
{ |
||||
public Guid Id { get; set; } |
||||
public Guid OrganizationId { get; set; } |
||||
public string ApplicationData { get; set; } |
||||
public string? ApplicationData { get; set; } |
||||
} |
||||
|
||||
@ -1,11 +1,9 @@
@@ -1,11 +1,9 @@
|
||||
// FIXME: Update this file to be null safe and then delete the line below |
||||
#nullable disable |
||||
|
||||
namespace Bit.Core.Dirt.Reports.ReportFeatures.Requests; |
||||
namespace Bit.Core.Dirt.Reports.ReportFeatures.Requests; |
||||
|
||||
public class UpdateOrganizationReportSummaryRequest |
||||
{ |
||||
public Guid OrganizationId { get; set; } |
||||
public Guid ReportId { get; set; } |
||||
public string SummaryData { get; set; } |
||||
public string? SummaryData { get; set; } |
||||
public OrganizationReportMetricsRequest? Metrics { get; set; } |
||||
} |
||||
|
||||
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
CREATE PROCEDURE [dbo].[OrganizationReport_UpdateMetrics] |
||||
@Id UNIQUEIDENTIFIER, |
||||
@ApplicationCount INT, |
||||
@ApplicationAtRiskCount INT, |
||||
@CriticalApplicationCount INT, |
||||
@CriticalApplicationAtRiskCount INT, |
||||
@MemberCount INT, |
||||
@MemberAtRiskCount INT, |
||||
@CriticalMemberCount INT, |
||||
@CriticalMemberAtRiskCount INT, |
||||
@PasswordCount INT, |
||||
@PasswordAtRiskCount INT, |
||||
@CriticalPasswordCount INT, |
||||
@CriticalPasswordAtRiskCount INT, |
||||
@RevisionDate DATETIME2(7) |
||||
AS |
||||
BEGIN |
||||
SET NOCOUNT ON; |
||||
|
||||
UPDATE |
||||
[dbo].[OrganizationReport] |
||||
SET |
||||
[ApplicationCount] = @ApplicationCount, |
||||
[ApplicationAtRiskCount] = @ApplicationAtRiskCount, |
||||
[CriticalApplicationCount] = @CriticalApplicationCount, |
||||
[CriticalApplicationAtRiskCount] = @CriticalApplicationAtRiskCount, |
||||
[MemberCount] = @MemberCount, |
||||
[MemberAtRiskCount] = @MemberAtRiskCount, |
||||
[CriticalMemberCount] = @CriticalMemberCount, |
||||
[CriticalMemberAtRiskCount] = @CriticalMemberAtRiskCount, |
||||
[PasswordCount] = @PasswordCount, |
||||
[PasswordAtRiskCount] = @PasswordAtRiskCount, |
||||
[CriticalPasswordCount] = @CriticalPasswordCount, |
||||
[CriticalPasswordAtRiskCount] = @CriticalPasswordAtRiskCount, |
||||
[RevisionDate] = @RevisionDate |
||||
WHERE |
||||
[Id] = @Id |
||||
|
||||
END |
||||
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
CREATE OR ALTER PROCEDURE [dbo].[OrganizationReport_UpdateMetrics] |
||||
@Id UNIQUEIDENTIFIER, |
||||
@ApplicationCount INT, |
||||
@ApplicationAtRiskCount INT, |
||||
@CriticalApplicationCount INT, |
||||
@CriticalApplicationAtRiskCount INT, |
||||
@MemberCount INT, |
||||
@MemberAtRiskCount INT, |
||||
@CriticalMemberCount INT, |
||||
@CriticalMemberAtRiskCount INT, |
||||
@PasswordCount INT, |
||||
@PasswordAtRiskCount INT, |
||||
@CriticalPasswordCount INT, |
||||
@CriticalPasswordAtRiskCount INT, |
||||
@RevisionDate DATETIME2(7) |
||||
AS |
||||
BEGIN |
||||
SET NOCOUNT ON; |
||||
|
||||
UPDATE |
||||
[dbo].[OrganizationReport] |
||||
SET |
||||
[ApplicationCount] = @ApplicationCount, |
||||
[ApplicationAtRiskCount] = @ApplicationAtRiskCount, |
||||
[CriticalApplicationCount] = @CriticalApplicationCount, |
||||
[CriticalApplicationAtRiskCount] = @CriticalApplicationAtRiskCount, |
||||
[MemberCount] = @MemberCount, |
||||
[MemberAtRiskCount] = @MemberAtRiskCount, |
||||
[CriticalMemberCount] = @CriticalMemberCount, |
||||
[CriticalMemberAtRiskCount] = @CriticalMemberAtRiskCount, |
||||
[PasswordCount] = @PasswordCount, |
||||
[PasswordAtRiskCount] = @PasswordAtRiskCount, |
||||
[CriticalPasswordCount] = @CriticalPasswordCount, |
||||
[CriticalPasswordAtRiskCount] = @CriticalPasswordAtRiskCount, |
||||
[RevisionDate] = @RevisionDate |
||||
WHERE |
||||
[Id] = @Id |
||||
|
||||
END |
||||
Loading…
Reference in new issue