Files
tiku-backend.net/Tiku.Api/Contracts/BackgroundJobDtos.cs

23 lines
654 B
C#

using System.Text.Json;
using Tiku.Application.Jobs;
namespace Tiku.Api.Contracts;
public sealed class CreateBackgroundJobDto
{
public string JobType { get; set; } = string.Empty;
public JsonElement Payload { get; set; }
public DateTimeOffset? RunAfter { get; set; }
public int MaxRetries { get; set; } = 3;
public CreateBackgroundJobCommand ToCommand(Guid tenantId)
{
return new CreateBackgroundJobCommand(
tenantId,
JobType,
Payload.ValueKind == JsonValueKind.Undefined ? JsonSerializer.SerializeToElement(new { }) : Payload,
RunAfter,
MaxRetries);
}
}