Skip to content
Snippets Groups Projects

Hotfix/2077 fix support admin log

Merged L. Ellenbeck requested to merge Hotfix/2077-fixSupportAdminLog into master
1 file
+ 28
24
Compare changes
  • Side-by-side
  • Inline
@@ -34,7 +34,6 @@ namespace Coscine.Api.Admin.Controllers
@@ -34,7 +34,6 @@ namespace Coscine.Api.Admin.Controllers
private readonly string _adminRole;
private readonly string _adminRole;
private readonly ResourceModel _resourceModel;
private readonly ResourceModel _resourceModel;
private readonly ProjectModel _projectModel;
private readonly ProjectModel _projectModel;
private readonly ProjectRoleModel _projectRoleModel;
private readonly ProjectQuotaModel _projectQuotaModel;
private readonly ProjectQuotaModel _projectQuotaModel;
private readonly ResourceTypeModel _resourceTypeModel;
private readonly ResourceTypeModel _resourceTypeModel;
private readonly Emitter _emitter;
private readonly Emitter _emitter;
@@ -56,7 +55,6 @@ namespace Coscine.Api.Admin.Controllers
@@ -56,7 +55,6 @@ namespace Coscine.Api.Admin.Controllers
_adminRole = "supportAdmin";
_adminRole = "supportAdmin";
_resourceModel = new ResourceModel();
_resourceModel = new ResourceModel();
_projectModel = new ProjectModel();
_projectModel = new ProjectModel();
_projectRoleModel = new ProjectRoleModel();
_projectQuotaModel = new ProjectQuotaModel();
_projectQuotaModel = new ProjectQuotaModel();
_resourceTypeModel = new ResourceTypeModel();
_resourceTypeModel = new ResourceTypeModel();
_emitter = new Emitter(Program.Configuration);
_emitter = new Emitter(Program.Configuration);
@@ -205,36 +203,42 @@ namespace Coscine.Api.Admin.Controllers
@@ -205,36 +203,42 @@ namespace Coscine.Api.Admin.Controllers
if (Request.Query != null && Request.Query["noanalyticslog"] != "true")
if (Request.Query != null && Request.Query["noanalyticslog"] != "true")
{
{
var project = _projectModel.GetById(projectQuota.ProjectId);
LogAnalyticsAdminProjectQuotaChange(projectQuota.ProjectId, user);
LogAnalyticsAdminProjectQuotaChange(project, user);
}
}
return NoContent();
return NoContent();
}
}
private void LogAnalyticsAdminProjectQuotaChange(Project project, User user)
private void LogAnalyticsAdminProjectQuotaChange(Guid projectId, User user)
{
{
var quotas = _projectQuotaModel.GetAllWhere(x => x.ProjectId == project.Id);
try
var quotaObjects = quotas.Select(x => new ProjectQuotaObject
{
{
QuotaId = x.RelationId,
var quotas = _projectQuotaModel.GetAllWhere(x => x.ProjectId == projectId);
ResourceType = _resourceTypeModel.GetById(x.ResourceTypeId).DisplayName,
var quotaObjects = quotas.Select(x => new ProjectQuotaObject
Quota = x.Quota,
MaxQuota = x.MaxQuota,
Used = x.Quota,
Allocated = CalculateAllocatedForAll(_resourceTypeModel.GetById(x.ResourceTypeId), project.Id)
}).ToList();
_coscineLogger.AnalyticsLog(
new AnalyticsLogObject
{
{
Type = "Action",
QuotaId = x.RelationId,
Operation = "Admin Project Quota Change",
ResourceType = _resourceTypeModel.GetById(x.ResourceTypeId).DisplayName,
RoleId = _projectRoleModel.GetGetUserRoleForProject(project.Id, user.Id).ToString(),
Quota = x.Quota,
UserId = user.Id.ToString(),
MaxQuota = x.MaxQuota,
ProjectId = project.Id.ToString(),
Used = x.Quota,
QuotaSize = quotaObjects.ConvertAll(x => $"{x.ResourceType}: {x.Allocated}/{x.Used}")
Allocated = CalculateAllocatedForAll(_resourceTypeModel.GetById(x.ResourceTypeId), projectId)
});
}).ToList();
 
 
_coscineLogger.AnalyticsLog(
 
new AnalyticsLogObject
 
{
 
Type = "Action",
 
Operation = "Admin Project Quota Change",
 
UserId = user.Id.ToString(),
 
ProjectId = projectId.ToString(),
 
QuotaSize = quotaObjects.ConvertAll(x => $"{x.ResourceType}: {x.Allocated}/{x.Used}")
 
});
 
}
 
#pragma warning disable RCS1075 // Avoid empty catch clause that catches System.Exception.
 
catch (Exception)
 
#pragma warning restore RCS1075 // Avoid empty catch clause that catches System.Exception.
 
{
 
}
}
}
}
}
}
}
 
\ No newline at end of file
Loading