Scaffold vertical-slice migration: Shared.Contracts, Shared.Application, MediatR

Begins the move to vertical-slice architecture. ResponseBody moves out of
API.Core into Shared.Contracts so slices won't have to depend on the API
host project for it. Shared.Application adds the MediatR pipeline's
ValidationBehavior plus the cross-slice email commands that Features.Auth
will send and Features.Emails will handle, keeping slices decoupled from
each other.
This commit is contained in:
Aaron Po
2026-06-19 23:23:10 -04:00
parent 4554fff534
commit 60a7b790d4
16 changed files with 115 additions and 8 deletions

View File

@@ -0,0 +1,13 @@
using MediatR;
namespace Shared.Application.Emails;
/// <summary>
/// Cross-slice command sent by Features.Auth and handled by Features.Emails to dispatch a
/// registration confirmation email, without either slice taking a project reference on the other.
/// </summary>
public record SendRegistrationEmailCommand(
string FirstName,
string Email,
string ConfirmationToken
) : IRequest;