From c86329bf991bf0c705477b19734c5b5673d1928f Mon Sep 17 00:00:00 2001 From: Steve Smith Date: Tue, 1 Aug 2023 11:43:58 -0400 Subject: [PATCH] Add CQRS omterfaces --- .../Ardalis.SharedKernel.csproj | 4 ++-- src/Ardalis.SharedKernel/ICommand.cs | 11 +++++++++++ src/Ardalis.SharedKernel/ICommandHandler.cs | 13 +++++++++++++ src/Ardalis.SharedKernel/IQuery.cs | 11 +++++++++++ src/Ardalis.SharedKernel/IQueryHandler.cs | 13 +++++++++++++ 5 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 src/Ardalis.SharedKernel/ICommand.cs create mode 100644 src/Ardalis.SharedKernel/ICommandHandler.cs create mode 100644 src/Ardalis.SharedKernel/IQuery.cs create mode 100644 src/Ardalis.SharedKernel/IQueryHandler.cs diff --git a/src/Ardalis.SharedKernel/Ardalis.SharedKernel.csproj b/src/Ardalis.SharedKernel/Ardalis.SharedKernel.csproj index 7b1d7e6..4b0ceb3 100644 --- a/src/Ardalis.SharedKernel/Ardalis.SharedKernel.csproj +++ b/src/Ardalis.SharedKernel/Ardalis.SharedKernel.csproj @@ -13,9 +13,9 @@ https://github.com/ardalis/Ardalis.SharedKernel DDD;Shared Kernel;SharedKernel;Domain-Driven Design;Repository;Specification;ValueObject;Value Object;Ardalis;Clean;Clean Architecture;Clean Architecture Template icon.png - 1.1.0 + 1.2.0 - * Add MediatR Domain Event Dispatcher + * Add Commands, Queries, and Handler interfaces true true diff --git a/src/Ardalis.SharedKernel/ICommand.cs b/src/Ardalis.SharedKernel/ICommand.cs new file mode 100644 index 0000000..7367b2e --- /dev/null +++ b/src/Ardalis.SharedKernel/ICommand.cs @@ -0,0 +1,11 @@ +using MediatR; + +namespace Ardalis.SharedKernel; + +/// +/// Source: https://code-maze.com/cqrs-mediatr-fluentvalidation/ +/// +/// +public interface ICommand : IRequest +{ +} diff --git a/src/Ardalis.SharedKernel/ICommandHandler.cs b/src/Ardalis.SharedKernel/ICommandHandler.cs new file mode 100644 index 0000000..160925d --- /dev/null +++ b/src/Ardalis.SharedKernel/ICommandHandler.cs @@ -0,0 +1,13 @@ +using MediatR; + +namespace Ardalis.SharedKernel; + +/// +/// Source: https://code-maze.com/cqrs-mediatr-fluentvalidation/ +/// +/// +/// +public interface ICommandHandler : IRequestHandler + where TCommand : ICommand +{ +} diff --git a/src/Ardalis.SharedKernel/IQuery.cs b/src/Ardalis.SharedKernel/IQuery.cs new file mode 100644 index 0000000..f9019b9 --- /dev/null +++ b/src/Ardalis.SharedKernel/IQuery.cs @@ -0,0 +1,11 @@ +using MediatR; + +namespace Ardalis.SharedKernel; + +/// +/// Source: https://code-maze.com/cqrs-mediatr-fluentvalidation/ +/// +/// +public interface IQuery : IRequest +{ +} diff --git a/src/Ardalis.SharedKernel/IQueryHandler.cs b/src/Ardalis.SharedKernel/IQueryHandler.cs new file mode 100644 index 0000000..fff209b --- /dev/null +++ b/src/Ardalis.SharedKernel/IQueryHandler.cs @@ -0,0 +1,13 @@ +using MediatR; + +namespace Ardalis.SharedKernel; + +/// +/// Source: https://code-maze.com/cqrs-mediatr-fluentvalidation/ +/// +/// +/// +public interface IQueryHandler : IRequestHandler + where TQuery : IQuery +{ +}