All notable changes to this project will be documented in this file.
Fixed issues introduced in previous versions.
- Minded.Extensions.Validation
- Minded.Extensions.Logging
- Fixed logging decorator failing when a command was using the new ICommandHandler<C,R>
- Fixed validation decorator failing when using ICommandHandler without result type with a successful validation
Added LinkSource to all packages and updated Logging configuration setup.
- All
- Logging Decorator allows semplified configuration passing the Type of the
IGlobalCacheKeyPrefixProvider
. - Configuration method AddMinded accepts
IConfiguration
to make it available to extension methods used to setup decorators.
Logging Extension has been refactored to reduce the amount of code needed when creating commands and queries in order to be logged.
- Minded.Extensions.Caching.Memory
- Minded.Extensions.Caching.Abstractions
- Minded.Extensions.Logging
- Minded.Extensions.Validation
- Minded.Extensions.Validation.Abstractions
- Minded.Extensions.WebApi
- Minded.Framework.CQRS
- Minded.Framework.CQRS.Abstractions
IMessage
to encapsulate properties which are used inIQuery
andICommand
, this interface is not meant to be used directlyLoggingOptions
to configure the logging Decorator"Minded": { "LoggingOptions": { // Enables logging of all processed Queries and Commands "Enabled": true, // Logs messages data as defined in ILoggable "LogMessageTemplateData": false } }
- Renamed Caching Extention
NullGlobalCacheKeyPrefixProvider
inEmptyGlobalCacheKeyPrefixProvider
(no changes needed) ILoggableCommand
andILoggableQuery
have been removed and all messages will be logged automatiocally.ILoggable
interface has been updated adding properties to define template and parameters, it can be optionally implemented to log details about the query and commandsLogEvent
andLogInfo
have been removed- Logging decorator can be configured using
LoggingOptions
Added caching support using decorators.
- Added new Minded.Extensions.Caching.Abstractions and Minded.Extensions.Caching.Memory Nuget packages
- Added
MemoryCacheAttribute
to activate theMemoryCacheQueryHandlerDecorator
as long as theIQuery
implements alsoIGenerateCacheKey
- Added
IGlobalCacheKeyPrefixProvider
which can be used to control global generation of cache prefixe
Primary stable version fit for production use. Providers the features described in the documentation.
- Added new Minded.Extensions.WebApi Nuget package
- Introduced
IRestMediator
which allows to process queries and commands to automatically return the appropriateActionResult
calculated using rule processors - Added new Minded.Extensions.CQRS.OData Nuget package
- Added extension method
IQuery<T>.ApplyODataQueryOptions<T>(ODataQueryOptions)
to applyODataQueryOptions
toIQuery
- Added extension method
IQueryable<T>.ApplyODataQueryOptions<T>(ODataQueryOptions)
to applyODataQueryOptions
toIQueryable
- Added new Minded.Extensions.CQRS.EntityFramework Nuget package
- Added extension method
IQuery<IEnumberable<T>>.ApplyQueryTo<T>(IQueryable<T>)
which applies directly query traits to anIQueryable
- Added extension method
IQuery<T>.ApplyQueryTo<T>(IQueryable<T>)
which applies directly query traits to anIQueryable
- Added
ICommandHandler<ICommand<TResult>, TResult>
to strongly type return value from command executions
- Traits not supporting nullable value have been fixed
- Updated sample API project to use the new Minded.Extensions.WebApi
Primary stable version fit for production use. Providers the features described in the documentation.
- Added
RestMediator
and rules processing system to automatically let mediator return the correctIActionResult
- Added
ICommandHandler<ICommand<TResult>, TResult>
to strongly type return value from command executions
- Minor fixes
- Updated the example application to reflect latest changes