Interface IDataAuditApi
Namespace: Casewhere.Runtime.DSL.Api
Assembly: Casewhere.Runtime.dll
Provides methods for adding custom logs.
public interface IDataAuditApi : IDslApi
Implements
Extension Methods
ObjectExtension.ConvertToBsonValue(object), EnumExtensions.DeepClone<IDataAuditApi>(IDataAuditApi)
Examples
var dataAuditApi = ctx.Use<IDataAuditApi>();
var correlationId = "RootDataClass/e7a7d4fc-9f0b-4496-be13-aa500067a8dd";
var data = new { Description = "To Description" };
var rootDOId = "RootDataClass/e7a7d4fc-9f0b-4496-be13-aa500067a8dd";
dataAuditApi.Log(rootDOId, "test manually audit log", correlationId, new {Description = "New Description"});
var relatedDOId = "RelatedDataClass/f97b09f9-896b-44d5-8885-aa50001be638";
dataAuditApi.Log(relatedDOId, "updated pool period", correlationId, new {SomeField = "Some thing is changed"});
Methods
Enumerate(DataAuditEnumerationQuery, CancellationToken)
Enumerate Audit Logs.
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.
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.
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.
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);