diff --git a/source/java/org/alfresco/rest/api/Audit.java b/source/java/org/alfresco/rest/api/Audit.java index de7ae4a36c..791b7d2543 100644 --- a/source/java/org/alfresco/rest/api/Audit.java +++ b/source/java/org/alfresco/rest/api/Audit.java @@ -62,8 +62,7 @@ public interface Audit * @param parameters * @return an audit entry */ - // AuditApp update(String auditAppId, AuditApp auditApp, Parameters - // parameters); + AuditApp update(String auditAppId, AuditApp auditApp, Parameters parameters); /** * Gets a single audit entry by id diff --git a/source/java/org/alfresco/rest/api/audit/AuditApplicationsEntityResource.java b/source/java/org/alfresco/rest/api/audit/AuditApplicationsEntityResource.java index d39e7909a4..4337f8243d 100644 --- a/source/java/org/alfresco/rest/api/audit/AuditApplicationsEntityResource.java +++ b/source/java/org/alfresco/rest/api/audit/AuditApplicationsEntityResource.java @@ -70,8 +70,7 @@ public class AuditApplicationsEntityResource implements EntityResourceAction.Rea @WebApiDescription(title = "Update audit", description = "Update audit") public AuditApp update(String auditAppId, AuditApp auditApp, Parameters parameters) { - // return audit.update(auditAppId, auditApp, parameters); - return null; // TODO fixme + return audit.update(auditAppId, auditApp, parameters); } @Override diff --git a/source/java/org/alfresco/rest/api/impl/AuditImpl.java b/source/java/org/alfresco/rest/api/impl/AuditImpl.java index 6130f99834..371fa938b1 100644 --- a/source/java/org/alfresco/rest/api/impl/AuditImpl.java +++ b/source/java/org/alfresco/rest/api/impl/AuditImpl.java @@ -140,4 +140,30 @@ public class AuditImpl implements Audit return CollectionWithPagingInfo.asPaged(paging, auditApps, hasMoreItems, totalItems); } + @Override + public AuditApp update(String auditAppId, AuditApp auditApp, Parameters parameters) + { + checkEnabled(); + + AuditService.AuditApplication auditApplication = findAuditAppById(auditAppId); + + // Check if id is valid + if (auditApplication == null) + { + throw new EntityNotFoundException(auditAppId); + } + + // Enable/Disable audit application + if (auditApp.getIsEnabled() && !auditApplication.isEnabled()) + { + auditService.enableAudit(auditApplication.getName(), auditApplication.getKey()); + } + else if (!auditApp.getIsEnabled() && auditApplication.isEnabled()) + { + auditService.disableAudit(auditApplication.getName(), auditApplication.getKey()); + } + + return new AuditApp(auditApplication.getKey().substring(1), auditApplication.getName(), auditApp.getIsEnabled()); + } + }