Skip to content

Commit f7bc424

Browse files
Migrate to Mediato (#63)
- migrated from MediatR to Mediator (#60) - improved logging and debug logging - fixed some potential concurrency problems in testing - formatting changes
1 parent 8803329 commit f7bc424

File tree

93 files changed

+256
-283
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+256
-283
lines changed

Directory.Packages.props

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,14 @@
2424
<PackageVersion Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="9.0.4" />
2525
<PackageVersion Include="Microsoft.IdentityModel.Tokens" Version="8.9.0" />
2626
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
27-
<PackageVersion Include="MediatR" Version="12.5.0" />
2827
<PackageVersion Include="NetArchTest.Rules" Version="1.3.2" />
2928
<PackageVersion Include="Npgsql.EntityFrameworkCore.PostgreSQL" Version="9.0.4" />
3029
<PackageVersion Include="Quartz" Version="3.14.0" />
3130
<PackageVersion Include="Quartz.Extensions.Hosting" Version="3.14.0" />
3231
<PackageVersion Include="Respawn" Version="6.2.1" />
3332
<PackageVersion Include="Riok.Mapperly" Version="4.2.1" />
33+
<PackageVersion Include="Skrasek.Mediato.Abstractions" Version="1.0.4" />
34+
<PackageVersion Include="Skrasek.Mediato.MicrosoftDependencyInjection" Version="1.0.4" />
3435
<PackageVersion Include="Skrasek.RailwayResult" Version="1.2.0" />
3536
<PackageVersion Include="Skrasek.RailwayResult.Errors" Version="1.2.0" />
3637
<PackageVersion Include="Skrasek.RailwayResult.FunctionalExtensions" Version="1.2.0" />

src/TeamUp.Api/Endpoints/Events/CreateEventEndpoint.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Events.CreateEvent;
75
using TeamUp.Contracts.Events;
@@ -28,7 +26,7 @@ public void MapEndpoints(RouteGroupBuilder group)
2826
public async Task<IResult> CreateEventAsync(
2927
[FromRoute] Guid teamId,
3028
[FromBody] CreateEventRequest request,
31-
[FromServices] ISender sender,
29+
[FromServices] IRequestSender sender,
3230
[FromServices] LinkGenerator linkGenerator,
3331
HttpContext httpContext,
3432
CancellationToken ct)
@@ -44,7 +42,7 @@ public async Task<IResult> CreateEventAsync(
4442
ReplyClosingTimeBeforeMeetTime: request.ReplyClosingTimeBeforeMeetTime
4543
);
4644

47-
var result = await sender.Send(command, ct);
45+
var result = await sender.SendAsync<CreateEventCommand, RailwayResult.Result<EventId>>(command, ct);
4846
return result.ToResponse(eventId => TypedResults.Created(
4947
linkGenerator.GetPathByName(httpContext, nameof(GetEventEndpoint), new { teamId, eventId = eventId.Value }),
5048
eventId

src/TeamUp.Api/Endpoints/Events/GetEventEndpoint.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Events.GetEvent;
75
using TeamUp.Contracts.Events;
@@ -27,7 +25,7 @@ public void MapEndpoints(RouteGroupBuilder group)
2725
public async Task<IResult> GetEventAsync(
2826
[FromRoute] Guid teamId,
2927
[FromRoute] Guid eventId,
30-
[FromServices] ISender sender,
28+
[FromServices] IRequestSender sender,
3129
HttpContext httpContext,
3230
CancellationToken ct)
3331
{
@@ -37,7 +35,7 @@ public async Task<IResult> GetEventAsync(
3735
EventId.FromGuid(eventId)
3836
);
3937

40-
var result = await sender.Send(query, ct);
38+
var result = await sender.SendAsync<GetEventQuery, RailwayResult.Result<EventResponse>>(query, ct);
4139
return result.ToResponse(TypedResults.Ok);
4240
}
4341
}

src/TeamUp.Api/Endpoints/Events/GetEventsEndpoint.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Events.GetEvents;
75
using TeamUp.Contracts.Events;
@@ -26,7 +24,7 @@ public void MapEndpoints(RouteGroupBuilder group)
2624
public async Task<IResult> GetEventsAsync(
2725
[FromRoute] Guid teamId,
2826
[FromQuery] DateTime? fromUtc,
29-
[FromServices] ISender sender,
27+
[FromServices] IRequestSender sender,
3028
HttpContext httpContext,
3129
CancellationToken ct)
3230
{
@@ -36,7 +34,7 @@ public async Task<IResult> GetEventsAsync(
3634
fromUtc
3735
);
3836

39-
var result = await sender.Send(query, ct);
37+
var result = await sender.SendAsync<GetEventsQuery, RailwayResult.Result<List<EventSlimResponse>>>(query, ct);
4038
return result.ToResponse(TypedResults.Ok);
4139
}
4240
}

src/TeamUp.Api/Endpoints/Events/RemoveEventEndpoint.cs

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Events.RemoveEvent;
75
using TeamUp.Contracts.Teams;
@@ -25,13 +23,12 @@ public void MapEndpoints(RouteGroupBuilder group)
2523
private async Task<IResult> RemoveEventAsync(
2624
[FromRoute] Guid teamId,
2725
[FromRoute] Guid eventId,
28-
[FromServices] ISender sender,
26+
[FromServices] IRequestSender sender,
2927
HttpContext httpContext,
3028
CancellationToken ct)
3129
{
3230
var command = new RemoveEventCommand(httpContext.GetCurrentUserId(), TeamId.FromGuid(teamId), EventId.FromGuid(eventId));
33-
var result = await sender.Send(command, ct);
31+
var result = await sender.SendAsync<RemoveEventCommand, RailwayResult.Result>(command, ct);
3432
return result.ToResponse(TypedResults.Ok);
3533
}
36-
3734
}

src/TeamUp.Api/Endpoints/Events/UpsertEventReplyEndpoint.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Events.UpsertEventReply;
75
using TeamUp.Contracts.Events;
@@ -30,7 +28,7 @@ public async Task<IResult> UpsertEventReplyAsync(
3028
[FromRoute] Guid teamId,
3129
[FromRoute] Guid eventId,
3230
[FromBody] UpsertEventReplyRequest request,
33-
[FromServices] ISender sender,
31+
[FromServices] IRequestSender sender,
3432
HttpContext httpContext,
3533
CancellationToken ct)
3634
{
@@ -42,7 +40,7 @@ public async Task<IResult> UpsertEventReplyAsync(
4240
Message: request.Message
4341
);
4442

45-
var result = await sender.Send(command, ct);
43+
var result = await sender.SendAsync<UpsertEventReplyCommand, RailwayResult.Result>(command, ct);
4644
return result.ToResponse(TypedResults.Ok);
4745
}
4846
}

src/TeamUp.Api/Endpoints/Invitations/AcceptInvitaionEndpoint.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Invitations.AcceptInvitation;
75
using TeamUp.Contracts.Invitations;
@@ -24,12 +22,12 @@ public void MapEndpoints(RouteGroupBuilder group)
2422

2523
private async Task<IResult> AcceptInvitationAsync(
2624
[FromRoute] Guid invitationId,
27-
[FromServices] ISender sender,
25+
[FromServices] IRequestSender sender,
2826
HttpContext httpContext,
2927
CancellationToken ct)
3028
{
3129
var command = new AcceptInvitationCommand(httpContext.GetCurrentUserId(), InvitationId.FromGuid(invitationId));
32-
var result = await sender.Send(command, ct);
30+
var result = await sender.SendAsync<AcceptInvitationCommand, RailwayResult.Result>(command, ct);
3331
return result.ToResponse(TypedResults.Ok);
3432
}
3533
}

src/TeamUp.Api/Endpoints/Invitations/GetMyInvitationsEndpoint.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Invitations.GetMyInvitations;
75
using TeamUp.Contracts.Invitations;
@@ -20,12 +18,12 @@ public void MapEndpoints(RouteGroupBuilder group)
2018
}
2119

2220
private async Task<IResult> GetTeamInvitationsAsync(
23-
[FromServices] ISender sender,
21+
[FromServices] IRequestSender sender,
2422
HttpContext httpContext,
2523
CancellationToken ct)
2624
{
2725
var query = new GetMyInvitationsQuery(httpContext.GetCurrentUserId());
28-
var result = await sender.Send(query, ct);
26+
var result = await sender.SendAsync<GetMyInvitationsQuery, RailwayResult.Result<List<InvitationResponse>>>(query, ct);
2927
return result.ToResponse(TypedResults.Ok);
3028
}
3129
}

src/TeamUp.Api/Endpoints/Invitations/GetTeamInvitationsEndpoint.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Invitations.GetTeamInvitations;
75
using TeamUp.Contracts.Invitations;
@@ -24,12 +22,12 @@ public void MapEndpoints(RouteGroupBuilder group)
2422

2523
private async Task<IResult> GetTeamInvitationsAsync(
2624
[FromRoute] Guid teamId,
27-
[FromServices] ISender sender,
25+
[FromServices] IRequestSender sender,
2826
HttpContext httpContext,
2927
CancellationToken ct)
3028
{
3129
var query = new GetTeamInvitationsQuery(httpContext.GetCurrentUserId(), TeamId.FromGuid(teamId));
32-
var result = await sender.Send(query, ct);
30+
var result = await sender.SendAsync<GetTeamInvitationsQuery, RailwayResult.Result<List<TeamInvitationResponse>>>(query, ct);
3331
return result.ToResponse(TypedResults.Ok);
3432
}
3533
}

src/TeamUp.Api/Endpoints/Invitations/InviteUserEndpoint.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
using MediatR;
2-
1+
using Mediato.Abstractions;
32
using Microsoft.AspNetCore.Mvc;
4-
53
using TeamUp.Api.Extensions;
64
using TeamUp.Application.Invitations.InviteUser;
75
using TeamUp.Contracts.Invitations;
@@ -24,14 +22,14 @@ public void MapEndpoints(RouteGroupBuilder group)
2422

2523
private async Task<IResult> InviteUserAsync(
2624
[FromBody] InviteUserRequest request,
27-
[FromServices] ISender sender,
25+
[FromServices] IRequestSender sender,
2826
[FromServices] LinkGenerator linkGenerator,
2927
HttpContext httpContext,
3028
CancellationToken ct)
3129
{
3230
var command = new InviteUserCommand(httpContext.GetCurrentUserId(), request.TeamId, request.Email);
3331

34-
var result = await sender.Send(command, ct);
32+
var result = await sender.SendAsync<InviteUserCommand, RailwayResult.Result<InvitationId>>(command, ct);
3533
return result.ToResponse(invitationId => TypedResults.Created(
3634
uri: linkGenerator.GetPathByName(httpContext, nameof(GetTeamInvitationsEndpoint), request.TeamId.Value),
3735
value: invitationId

0 commit comments

Comments
 (0)