Files
tiku-backend.net/Tiku.Api/Contracts/PlatformGovernanceDtos.cs
xiong c497a3ca8d
Some checks failed
ci / release-gate (push) Has been cancelled
清理代码
2026-08-03 12:31:39 +08:00

53 lines
1.8 KiB
C#

using System.ComponentModel.DataAnnotations;
using System.Text.Json;
using Tiku.Application.PlatformAdmin;
using Tiku.Domain.Common;
using Tiku.Domain.Platform;
namespace Tiku.Api.Contracts;
public sealed record SavePlatformConfigurationDraftDto(
[Required] [MaxLength(120)] string DefinitionCode,
[Required] [MaxLength(80)] string Environment,
JsonElement? Value,
[MaxLength(300)] string? SecretRef,
[Required] [MaxLength(1000)] string Reason)
{
public SavePlatformConfigurationDraftCommand ToCommand()
{
return new SavePlatformConfigurationDraftCommand(DefinitionCode, Environment, Value, SecretRef, Reason);
}
}
public sealed record PlatformRollbackDto([Required] [MaxLength(1000)] string Reason);
public sealed record UpsertPlatformNotificationTemplateDto(
Guid? Id,
[Required] [MaxLength(120)] string Code,
[Required] [MaxLength(200)] string Name,
PlatformNotificationChannel Channel,
[Required] [MaxLength(500)] string SubjectTemplate,
[Required] [MaxLength(8000)] string BodyTemplate,
bool Enabled,
JsonElement? Variables)
{
public UpsertPlatformNotificationTemplateCommand ToCommand()
{
return new UpsertPlatformNotificationTemplateCommand(Id, Code, Name, Channel, SubjectTemplate, BodyTemplate,
Enabled,
Variables?.Clone() ?? JsonDefaults.Array());
}
}
public sealed record SendPlatformNotificationDto(
Guid TemplateId,
[MinLength(1)] IReadOnlyCollection<string> RoleCodes,
IReadOnlyDictionary<string, string>? Variables,
[Required] [MaxLength(200)] string IdempotencyKey)
{
public SendPlatformNotificationCommand ToCommand()
{
return new SendPlatformNotificationCommand(TemplateId, RoleCodes, Variables ?? new Dictionary<string, string>(),
IdempotencyKey);
}
}