Flowsy.Auditable 0.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Flowsy.Auditable --version 0.1.0                
NuGet\Install-Package Flowsy.Auditable -Version 0.1.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Flowsy.Auditable" Version="0.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Flowsy.Auditable --version 0.1.0                
#r "nuget: Flowsy.Auditable, 0.1.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Flowsy.Auditable as a Cake Addin
#addin nuget:?package=Flowsy.Auditable&version=0.1.0

// Install Flowsy.Auditable as a Cake Tool
#tool nuget:?package=Flowsy.Auditable&version=0.1.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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.2.0 174 8/22/2024
0.1.0 175 8/16/2024