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