RelationService - Log to audit on RelationType Save

This commit is contained in:
Poornima Nayar
2020-05-19 17:55:16 +01:00
committed by Sebastiaan Janssen
parent f2253bc090
commit d7c4f8f055
2 changed files with 10 additions and 2 deletions

View File

@@ -15,13 +15,15 @@ namespace Umbraco.Core.Services.Implement
private readonly IEntityService _entityService;
private readonly IRelationRepository _relationRepository;
private readonly IRelationTypeRepository _relationTypeRepository;
private readonly IAuditRepository _auditRepository;
public RelationService(IScopeProvider uowProvider, ILogger logger, IEventMessagesFactory eventMessagesFactory, IEntityService entityService,
IRelationRepository relationRepository, IRelationTypeRepository relationTypeRepository)
IRelationRepository relationRepository, IRelationTypeRepository relationTypeRepository, IAuditRepository auditRepository)
: base(uowProvider, logger, eventMessagesFactory)
{
_relationRepository = relationRepository;
_relationTypeRepository = relationTypeRepository;
_auditRepository = auditRepository;
_entityService = entityService ?? throw new ArgumentNullException(nameof(entityService));
}
@@ -476,6 +478,7 @@ namespace Umbraco.Core.Services.Implement
}
_relationTypeRepository.Save(relationType);
Audit(AuditType.Save, Constants.Security.SuperUserId, relationType.Id, $"Saved relation type: {relationType.Name}");
scope.Complete();
saveEventArgs.CanCancel = false;
scope.Events.Dispatch(SavedRelationType, this, saveEventArgs);
@@ -565,6 +568,11 @@ namespace Umbraco.Core.Services.Implement
}
return relations;
}
private void Audit(AuditType type, int userId, int objectId, string message = null)
{
_auditRepository.Save(new AuditItem(objectId, type, userId, ObjectTypes.GetName(UmbracoObjectTypes.RelationType), message));
}
#endregion
#region Events Handlers

View File

@@ -183,7 +183,7 @@ namespace Umbraco.Tests.TestHelpers
compiledPackageXmlParser, Mock.Of<IPackageActionRunner>(),
new DirectoryInfo(IOHelper.GetRootDirectorySafe())));
});
var relationService = GetLazyService<IRelationService>(factory, c => new RelationService(scopeProvider, logger, eventMessagesFactory, entityService.Value, GetRepo<IRelationRepository>(c), GetRepo<IRelationTypeRepository>(c)));
var relationService = GetLazyService<IRelationService>(factory, c => new RelationService(scopeProvider, logger, eventMessagesFactory, entityService.Value, GetRepo<IRelationRepository>(c), GetRepo<IRelationTypeRepository>(c), GetRepo<IAuditRepository>(c)));
var tagService = GetLazyService<ITagService>(factory, c => new TagService(scopeProvider, logger, eventMessagesFactory, GetRepo<ITagRepository>(c)));
var redirectUrlService = GetLazyService<IRedirectUrlService>(factory, c => new RedirectUrlService(scopeProvider, logger, eventMessagesFactory, GetRepo<IRedirectUrlRepository>(c)));
var consentService = GetLazyService<IConsentService>(factory, c => new ConsentService(scopeProvider, logger, eventMessagesFactory, GetRepo<IConsentRepository>(c)));