Adds user Alias. Make StoredDataUrls optionals.

This commit is contained in:
Jonathan Bourdon
2024-07-22 00:42:27 -04:00
parent 8551398edc
commit 0faf5a9a0e
31 changed files with 1720 additions and 174 deletions

View File

@@ -1,14 +1,30 @@
using FastEndpoints;
using FluentValidation;
using Hutopy.Web.Common;
using Hutopy.Web.Features.Messages.Data;
namespace Hutopy.Web.Features.Messages.Handlers;
public class AddMessageRequest
public sealed class AddMessageRequest
{
public Guid? Id { get; set; }
public Guid SubjectId { get; set; }
public string Message { get; set; }
public required Guid SubjectId { get; set; }
public required string Message { get; set; }
}
internal sealed class AddMessageRequestValidator
: Validator<AddMessageRequest>
{
public AddMessageRequestValidator()
{
RuleFor(r => r.SubjectId)
.NotNull().WithMessage("You must specify a SubjectId")
.NotEmpty().WithMessage("You must specify a non-empty SubjectId");
RuleFor(r => r.Message)
.NotNull().WithMessage("You must specify a Message")
.NotEmpty().WithMessage("You must specify a non-empty Message");
}
}
public class AddMessage(
@@ -30,6 +46,8 @@ public class AddMessage(
Id = req.Id ?? GuidHelper.GenerateUuidV7(),
SubjectId = req.SubjectId,
CreatedBy = User.GetUserId(),
CreatedByName = User.GetAlias() ?? $"{User.GetFirstName()} {User.GetLastName()}",
CreatedByPortraitUrl = User.GetPortraitUrl(),
Value = req.Message
};