Class DataAuditApi
Namespace: Casewhere.Runtime.DSL.Api
Assembly: Casewhere.Runtime.dll
public class DataAuditApi : IDataAuditApi, IDslApi, IDslContextualApi
Inheritance
Implements
IDataAuditApi, IDslApi, IDslContextualApi
Inherited Members
object.ToString(), object.Equals(object), object.Equals(object, object), object.ReferenceEquals(object, object), object.GetHashCode(), object.GetType(), object.MemberwiseClone()
Extension Methods
ObjectExtension.ConvertToBsonValue(object), EnumExtensions.DeepClone<DataAuditApi>(DataAuditApi)
Constructors
DataAuditApi(IAuditLogService, IDomainRepository, IAuditLogRepository, IAuditLogListConverter)
public DataAuditApi(IAuditLogService auditLogService, IDomainRepository repository, IAuditLogRepository auditLogRepository, IAuditLogListConverter auditLogListConverter)
Parameters
auditLogService IAuditLogService
repository IDomainRepository
auditLogRepository IAuditLogRepository
auditLogListConverter IAuditLogListConverter
Methods
Enumerate(DataAuditEnumerationQuery, CancellationToken)
Enumerate Audit Logs.
public IEnumerable<DataAuditLog> Enumerate(DataAuditEnumerationQuery query, CancellationToken token = default)
Parameters
query DataAuditEnumerationQuery
The enumeration query.
token CancellationToken
An instance of CancellationToken. If it isn't passed, the default value will be assigned.
Returns
Enumeration of Audit Logs.
Examples
var dataAuditApi = ctx.Use<IDataAuditApi>();
var relatedDOId = "RelatedDataClass/f97b09f9-896b-44d5-8885-aa50001be638";
var filter = FilterBuilder.Create().Eq("DataObjectId", relatedDOId).Build();
var query = DataAuditEnumerationQuery
.FilterBy(filter)
.Paging(0,10);
foreach (var dataAuditLog in dataAuditApi.Enumerate(query))
{
Log.Info("EnumerateAuditLog - {@dataAuditLog}", dataAuditLog);
}
HardDelete(params string[])
Hard delete audit logs by DataObjectId.
public void HardDelete(params string[] dataObjectIds)
Parameters
dataObjectIds string[]
List DataObjectId
Examples
var dataAuditApi = ctx.Use<IDataAuditApi>();
var ids = new string[]{ "DataClassName/711d41a0-1eff-44da-8105-b0f1006e1fef", "DataClassName/fff094f7-d9a6-445c-984d-b0e000b88225" };
dataAuditApi.HardDelete(ids);
Log(string, string, string, object)
Manually log a log entry to Audit log system.
public void Log(string id, string eventName, string correlationId = "", object data = null)
Parameters
id string
Id of the ActualData Object to be logged.
eventName string
correlationId string
Log to correlation Id
data object
ActualData to be logged.
Search(DataAuditApiQuery)
Search Audit Logs.
public DataAuditQueryResult Search(DataAuditApiQuery query)
Parameters
query DataAuditApiQuery
The search query.
Returns
Collection of Audit Logs.
Examples
var dataAuditApi = ctx.Use<IDataAuditApi>();
var relatedDOId = "RelatedDataClass/f97b09f9-896b-44d5-8885-aa50001be638";
var filter = FilterBuilder.Create().Eq("DataObjectId", relatedDOId).Build();
var result = dataAuditApi.Search(DataAuditApiQuery.FilterBy(filter));
Log.Info("Total: {Total}", result.Total);
foreach(var auditLog in result.Data)
Log.Info("{AuditLog}", auditLog);
SetContext(WorkflowContext)
public void SetContext(WorkflowContext context)
Parameters
context WorkflowContext