ASC.AuditTrail: refactoring
This commit is contained in:
parent
45b6e59350
commit
93506010b8
@ -20,7 +20,7 @@ global using ASC.Web.Core.Files;
|
||||
global using ASC.Web.Files.Classes;
|
||||
global using ASC.Web.Files.Utils;
|
||||
global using ASC.AuditTrail.Models;
|
||||
global using ASC.AuditTrail.Models.Mapping;
|
||||
global using ASC.AuditTrail.Models.Mappings;
|
||||
global using ASC.Common.Mapping;
|
||||
|
||||
global using Autofac;
|
||||
|
@ -49,6 +49,6 @@ public class AuditEvent : BaseEvent, IMapFrom<AuditEventQuery>
|
||||
profile.CreateMap<DbAuditEvent, AuditEvent>();
|
||||
|
||||
profile.CreateMap<AuditEventQuery, AuditEvent>()
|
||||
.ConvertUsing<EventsConverter>();
|
||||
.ConvertUsing<EventTypeConverter>();
|
||||
}
|
||||
}
|
@ -23,8 +23,6 @@
|
||||
*
|
||||
*/
|
||||
|
||||
using ASC.AuditTrail.Models.Mapping;
|
||||
|
||||
namespace ASC.AuditTrail.Models;
|
||||
|
||||
public class LoginEvent : BaseEvent, IMapFrom<LoginEventQuery>
|
||||
@ -37,6 +35,6 @@ public class LoginEvent : BaseEvent, IMapFrom<LoginEventQuery>
|
||||
profile.CreateMap<DbLoginEvent, LoginEvent>();
|
||||
|
||||
profile.CreateMap<LoginEventQuery, LoginEvent>()
|
||||
.ConvertUsing<EventsConverter>();
|
||||
.ConvertUsing<EventTypeConverter>();
|
||||
}
|
||||
}
|
@ -1,74 +0,0 @@
|
||||
namespace ASC.AuditTrail.Models.Mapping
|
||||
{
|
||||
public class EventsConverter : ITypeConverter<LoginEventQuery, LoginEvent>, ITypeConverter<AuditEventQuery, AuditEvent>
|
||||
{
|
||||
private readonly UserFormatter _userFormatter;
|
||||
private readonly AuditActionMapper _auditActionMapper;
|
||||
private readonly MessageTarget _messageTarget;
|
||||
|
||||
public EventsConverter(
|
||||
UserFormatter userFormatter,
|
||||
AuditActionMapper actionMapper,
|
||||
MessageTarget messageTarget)
|
||||
{
|
||||
_userFormatter = userFormatter;
|
||||
_auditActionMapper = actionMapper;
|
||||
_messageTarget = messageTarget;
|
||||
}
|
||||
|
||||
public LoginEvent Convert(LoginEventQuery source, LoginEvent destination, ResolutionContext context)
|
||||
{
|
||||
var result = context.Mapper.Map<LoginEvent>(source.Event);
|
||||
|
||||
if (source.Event.DescriptionRaw != null)
|
||||
{
|
||||
result.Description = JsonConvert.DeserializeObject<IList<string>>(source.Event.DescriptionRaw,
|
||||
new JsonSerializerSettings
|
||||
{
|
||||
DateTimeZoneHandling = DateTimeZoneHandling.Utc
|
||||
});
|
||||
}
|
||||
|
||||
result.UserName = (!string.IsNullOrEmpty(source.FirstName) && !string.IsNullOrEmpty(source.LastName))
|
||||
? _userFormatter.GetUserName(source.FirstName, source.LastName)
|
||||
: !string.IsNullOrWhiteSpace(source.Event.Login)
|
||||
? source.Event.Login
|
||||
: source.Event.UserId == Core.Configuration.Constants.Guest.ID
|
||||
? AuditReportResource.GuestAccount
|
||||
: AuditReportResource.UnknownAccount;
|
||||
|
||||
result.ActionText = _auditActionMapper.GetActionText(result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public AuditEvent Convert(AuditEventQuery source, AuditEvent destination, ResolutionContext context)
|
||||
{
|
||||
var result = context.Mapper.Map<AuditEvent>(source.Event);
|
||||
|
||||
if (source.Event.DescriptionRaw != null)
|
||||
{
|
||||
result.Description = JsonConvert.DeserializeObject<IList<string>>(
|
||||
JsonConvert.ToString(source.Event.DescriptionRaw),
|
||||
new JsonSerializerSettings
|
||||
{
|
||||
DateTimeZoneHandling = DateTimeZoneHandling.Utc
|
||||
});
|
||||
}
|
||||
|
||||
result.Target = _messageTarget.Parse(source.Event.Target);
|
||||
|
||||
result.UserName = (source.FirstName != null && source.LastName != null) ? _userFormatter.GetUserName(source.FirstName, source.LastName) :
|
||||
source.Event.UserId == Core.Configuration.Constants.CoreSystem.ID ? AuditReportResource.SystemAccount :
|
||||
source.Event.UserId == Core.Configuration.Constants.Guest.ID ? AuditReportResource.GuestAccount :
|
||||
source.Event.Initiator ?? AuditReportResource.UnknownAccount;
|
||||
|
||||
result.ActionText = _auditActionMapper.GetActionText(result);
|
||||
result.ActionTypeText = _auditActionMapper.GetActionTypeText(result);
|
||||
result.Product = _auditActionMapper.GetProductText(result);
|
||||
result.Module = _auditActionMapper.GetModuleText(result);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,74 @@
|
||||
namespace ASC.AuditTrail.Models.Mappings;
|
||||
|
||||
public class EventTypeConverter : ITypeConverter<LoginEventQuery, LoginEvent>,
|
||||
ITypeConverter<AuditEventQuery, AuditEvent>
|
||||
{
|
||||
private readonly UserFormatter _userFormatter;
|
||||
private readonly AuditActionMapper _auditActionMapper;
|
||||
private readonly MessageTarget _messageTarget;
|
||||
|
||||
public EventTypeConverter(
|
||||
UserFormatter userFormatter,
|
||||
AuditActionMapper actionMapper,
|
||||
MessageTarget messageTarget)
|
||||
{
|
||||
_userFormatter = userFormatter;
|
||||
_auditActionMapper = actionMapper;
|
||||
_messageTarget = messageTarget;
|
||||
}
|
||||
|
||||
public LoginEvent Convert(LoginEventQuery source, LoginEvent destination, ResolutionContext context)
|
||||
{
|
||||
var result = context.Mapper.Map<LoginEvent>(source.Event);
|
||||
|
||||
if (source.Event.DescriptionRaw != null)
|
||||
{
|
||||
result.Description = JsonConvert.DeserializeObject<IList<string>>(source.Event.DescriptionRaw,
|
||||
new JsonSerializerSettings
|
||||
{
|
||||
DateTimeZoneHandling = DateTimeZoneHandling.Utc
|
||||
});
|
||||
}
|
||||
|
||||
result.UserName = (!string.IsNullOrEmpty(source.FirstName) && !string.IsNullOrEmpty(source.LastName))
|
||||
? _userFormatter.GetUserName(source.FirstName, source.LastName)
|
||||
: !string.IsNullOrWhiteSpace(source.Event.Login)
|
||||
? source.Event.Login
|
||||
: source.Event.UserId == Core.Configuration.Constants.Guest.ID
|
||||
? AuditReportResource.GuestAccount
|
||||
: AuditReportResource.UnknownAccount;
|
||||
|
||||
result.ActionText = _auditActionMapper.GetActionText(result);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
public AuditEvent Convert(AuditEventQuery source, AuditEvent destination, ResolutionContext context)
|
||||
{
|
||||
var result = context.Mapper.Map<AuditEvent>(source.Event);
|
||||
|
||||
if (source.Event.DescriptionRaw != null)
|
||||
{
|
||||
result.Description = JsonConvert.DeserializeObject<IList<string>>(
|
||||
JsonConvert.ToString(source.Event.DescriptionRaw),
|
||||
new JsonSerializerSettings
|
||||
{
|
||||
DateTimeZoneHandling = DateTimeZoneHandling.Utc
|
||||
});
|
||||
}
|
||||
|
||||
result.Target = _messageTarget.Parse(source.Event.Target);
|
||||
|
||||
result.UserName = (source.FirstName != null && source.LastName != null) ? _userFormatter.GetUserName(source.FirstName, source.LastName) :
|
||||
source.Event.UserId == Core.Configuration.Constants.CoreSystem.ID ? AuditReportResource.SystemAccount :
|
||||
source.Event.UserId == Core.Configuration.Constants.Guest.ID ? AuditReportResource.GuestAccount :
|
||||
source.Event.Initiator ?? AuditReportResource.UnknownAccount;
|
||||
|
||||
result.ActionText = _auditActionMapper.GetActionText(result);
|
||||
result.ActionTypeText = _auditActionMapper.GetActionTypeText(result);
|
||||
result.Product = _auditActionMapper.GetProductText(result);
|
||||
result.Module = _auditActionMapper.GetModuleText(result);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
@ -90,6 +90,6 @@ public class AuditEventsRepository
|
||||
query = query.Take((int)limit);
|
||||
}
|
||||
|
||||
return _mapper.Map<List<AuditEventQuery>, List<AuditEvent>>(query.ToList());
|
||||
return _mapper.Map<List<AuditEventQuery>, IEnumerable<AuditEvent>>(query.ToList());
|
||||
}
|
||||
}
|
@ -57,7 +57,7 @@ public class LoginEventsRepository
|
||||
})
|
||||
.Take(chunk);
|
||||
|
||||
return _mapper.Map<List<LoginEventQuery>, List<LoginEvent>>(query.ToList());
|
||||
return _mapper.Map<List<LoginEventQuery>, IEnumerable<LoginEvent>>(query.ToList());
|
||||
}
|
||||
|
||||
public IEnumerable<LoginEvent> Get(int tenant, DateTime fromDate, DateTime to)
|
||||
@ -77,7 +77,7 @@ public class LoginEventsRepository
|
||||
LastName = p.LastName
|
||||
};
|
||||
|
||||
return _mapper.Map<List<LoginEventQuery>, List<LoginEvent>>(query.ToList());
|
||||
return _mapper.Map<List<LoginEventQuery>, IEnumerable<LoginEvent>>(query.ToList());
|
||||
}
|
||||
|
||||
public int GetCount(int tenant, DateTime? from = null, DateTime? to = null)
|
||||
|
Loading…
Reference in New Issue
Block a user