Update Azure BlobStorage appsettings.

This commit is contained in:
2025-04-09 20:37:53 -04:00
parent 46b1dae2ad
commit ef9ff2b90f
5 changed files with 75 additions and 21 deletions

View File

@@ -48,7 +48,7 @@ public sealed class CreateCreatorHandler(
.Slugs
.SingleAsync(s => s.Id == req.SlugReservationId, ct);
if (slug.Active == true
if (slug.Active
|| slug.ReservedUntil < DateTimeOffset.UtcNow
|| slug.CreatedBy != User.GetUserId())
{

View File

@@ -0,0 +1,66 @@
using Hutopy.Web.Common.Security;
using Hutopy.Web.Features.Contents.Data;
namespace Hutopy.Web.Features.Contents.Handlers;
[PublicAPI]
public record RemoveCreatorRequest(
Guid CreatorId);
[UsedImplicitly]
public sealed class RemoveCreatorRequestValidator : Validator<RemoveCreatorRequest>
{
public RemoveCreatorRequestValidator()
{
RuleFor(r => r.CreatorId)
.NotNull()
.NotEmpty()
.WithMessage("You should specify a valid CreatorId");
}
}
[PublicAPI]
public sealed class RemoveCreatorHandler(
ContentDbContext context)
: Endpoint<RemoveCreatorRequest>
{
public override void Configure()
{
Delete("/api/creators");
Options(o => o.WithTags("Creators"));
}
public override async Task HandleAsync(
RemoveCreatorRequest req,
CancellationToken ct)
{
await using var transaction = await context.Database.BeginTransactionAsync(ct);
try
{
var creator = await context
.Creators
.Include(c => c.Slugs)
.Where(c => c.Id == req.CreatorId)
.SingleOrDefaultAsync(cancellationToken: ct);
if (creator is null)
{
await SendNotFoundAsync(ct);
return;
}
creator.Slugs.Active = false;
await context.SaveChangesAsync(ct);
await transaction.CommitAsync(ct);
await SendOkAsync(ct);
}
catch (Exception e)
{
await transaction.RollbackAsync(ct);
}
}
}