Flowsy.Auditable
0.2.0
dotnet add package Flowsy.Auditable --version 0.2.0
NuGet\Install-Package Flowsy.Auditable -Version 0.2.0
<PackageReference Include="Flowsy.Auditable" Version="0.2.0" />
paket add Flowsy.Auditable --version 0.2.0
#r "nuget: Flowsy.Auditable, 0.2.0"
// Install Flowsy.Auditable as a Cake Addin #addin nuget:?package=Flowsy.Auditable&version=0.2.0 // Install Flowsy.Auditable as a Cake Tool #tool nuget:?package=Flowsy.Auditable&version=0.2.0
Flowsy Auditable
Fundamental components for managing audit trails in applications.
IAuditable Interface
Represents an auditable entity in your system, which includes the following properties:
Property | Type | Description |
---|---|---|
Creation | AuditableOperation | The operation that created the entity. |
LastMutation | AuditableOperation | The last operation mutating the entity. |
Lifetime | AuditableLifetime | Start, end and duration of the entity's lifetime. For soft deletes, this should represent the time between creation and deletion. |
AuditableOperation Class
Represents an operation that can be audited, which includes the following properties:
Property | Type | Description |
---|---|---|
Type | AuditableOperationType | The type of operation. |
Instant | DateTimeOffset | The instant of the operation. |
Context | AuditableOperationContext | The context of the operation. |
AuditableOperationType Enum
Represents the type of operation that can be audited, which includes the following values:
Value | Description |
---|---|
Void | Represents a null or empty operation. |
Initialization | The entity was automatically initialized by the system. |
Creation | The entity was created by the user. |
Mutation | The entity was modified by the user. |
Synchronization | The entity was synchronized from another entity or some kind of external source. |
SoftDeletion | The entity was soft-deleted by the user. Soft-deleted entities are not actually removed from the system, but marked as deleted. |
HardDeletion | The entity was hard-deleted by the user. Hard-deleted entities are actually removed from the system and cannot be restored. |
Restoration | The previously soft-deleted entity was restored, so it is no longer marked as deleted, has a new lifetime and is fully functional again. |
AuditableOperationContext Class
Represents the context of an auditable operation, which includes the following properties:
Property | Type | Description |
---|---|---|
UserId | string | The unique identifier of the user who performed the operation. |
UserNickname | string | The nickname of the user who performed the operation. |
UserAccountId | string | The unique identifier of the user account who performed the operation. |
UserAccountEmail | string | The email of the user account who performed the operation. |
Details | IDictionary<string, object?> | Additional details about the operation. |
For systems where a user can only have one account, UserId
and UserAccountId
shall be the same.
IAuditableOperationContextProvider Interface
Provides the context for an auditable operation. Implementations of this interface should resolve the operation context according to the current environment. For example, a web application could resolve the operation context from the current HTTP request.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- UAParser (>= 3.1.47)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.