Table of Contents

Class DataAuditApi

Namespace: Casewhere.Runtime.DSL.Api
Assembly: Casewhere.Runtime.dll

public class DataAuditApi : IDataAuditApi, IDslApi, IDslContextualApi

Inheritance

objectDataAuditApi

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

IEnumerable<DataAuditLog>

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

DataAuditQueryResult

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