CrewMemberUpdate.cs 962 B

12345678910111213141516171819202122232425262728293031323334
  1. using Web.Api.Common;
  2. using MediatR;
  3. namespace Web.Api.Endpoints.Studio.Crew;
  4. /// <summary>크루원 정보 수정</summary>
  5. internal sealed class CrewMemberUpdate : IEndpoint
  6. {
  7. internal sealed record UpdateRequest(
  8. int CrewMemberID,
  9. string Nickname,
  10. string? Role,
  11. int SortOrder,
  12. bool IsActive
  13. );
  14. public void MapEndpoint(IEndpointRouteBuilder app)
  15. {
  16. app.MapPut("api/studio/crew/member/{crewMemberID}", async (
  17. int crewMemberID,
  18. UpdateRequest body,
  19. ISender sender,
  20. CancellationToken ct
  21. ) => {
  22. var command = new Application.Features.Api.Crew.UpdateMember.Command(
  23. crewMemberID, body.Nickname, body.Role, body.SortOrder, body.IsActive
  24. );
  25. await sender.Send(command, ct);
  26. return ApiResponse.Ok();
  27. })
  28. .WithTags("StudioCrew")
  29. .RequireAuthorization();
  30. }
  31. }