Split Slug from Creator

This commit is contained in:
2025-04-15 03:58:13 -04:00
parent d3a4f66b0e
commit a332b1082d
16 changed files with 545 additions and 49 deletions

View File

@@ -16,7 +16,7 @@ public sealed class CreateCreatorRequestValidator : Validator<CreateCreatorReque
RuleFor(r => r.SlugReservationId)
.NotNull()
.NotEmpty()
.WithMessage("You should specify a valid Name");
.WithMessage("You should specify a valid SlugReservationId");
RuleFor(r => r.CreatorId)
.NotNull()
@@ -48,7 +48,7 @@ public sealed class CreateCreatorHandler(
.Slugs
.SingleAsync(s => s.Id == req.SlugReservationId, ct);
if (slug.Active
if (slug.UsedBy is not null
|| slug.ReservedUntil < DateTimeOffset.UtcNow
|| slug.CreatedBy != User.GetUserId())
{
@@ -56,14 +56,15 @@ public sealed class CreateCreatorHandler(
return;
}
slug.Active = true;
slug.UsedBy = req.CreatorId;
await context.Creators.AddAsync(
new Creator
{
Id = req.CreatorId,
CreatedBy = User.GetUserId(),
Slugs = slug
Name = slug.Name,
Slug = slug.NormalizedName,
},
ct);