The panel decides the probe/agent pairs and probes always dial out. A new fleet.auto_link setting connects every probe to every agent (default); with it off only the pairs chosen by hand connect, and any pair can be forced on or off. The Probes page has a link matrix with the switch and per-pair toggles.
86 lines
3.7 KiB
C#
86 lines
3.7 KiB
C#
using System.Text.Json;
|
|
using System.Text.Json.Serialization;
|
|
|
|
namespace Monitor.Backend.Api;
|
|
|
|
/// <summary>
|
|
/// REST 的 JSON 源生成上下文(snake_case,字段始终存在、未知值写 null,枚举与时间的格式见数据表示规则)。
|
|
/// 新增 DTO 时在这里登记一行,不使用反射。
|
|
/// </summary>
|
|
[JsonSourceGenerationOptions(
|
|
PropertyNamingPolicy = JsonKnownNamingPolicy.SnakeCaseLower,
|
|
DictionaryKeyPolicy = JsonKnownNamingPolicy.Unspecified,
|
|
DefaultIgnoreCondition = JsonIgnoreCondition.Never,
|
|
Converters = [typeof(Rfc3339Converter)],
|
|
NumberHandling = JsonNumberHandling.Strict)]
|
|
[JsonSerializable(typeof(ProblemDto))]
|
|
[JsonSerializable(typeof(HealthDto))]
|
|
[JsonSerializable(typeof(IdDto))]
|
|
[JsonSerializable(typeof(OverviewDto))]
|
|
[JsonSerializable(typeof(SeriesDto))]
|
|
[JsonSerializable(typeof(CompareDto))]
|
|
[JsonSerializable(typeof(DistributionDto))]
|
|
[JsonSerializable(typeof(HeatmapDto))]
|
|
[JsonSerializable(typeof(LineDto))]
|
|
[JsonSerializable(typeof(TestDto))]
|
|
[JsonSerializable(typeof(PageDto<TestDto>))]
|
|
[JsonSerializable(typeof(PageDto<KindDto>))]
|
|
[JsonSerializable(typeof(PageDto<PlanDto>))]
|
|
[JsonSerializable(typeof(PageDto<MetricDto>))]
|
|
[JsonSerializable(typeof(PageDto<PresetDto>))]
|
|
[JsonSerializable(typeof(PageDto<ModelDto>))]
|
|
[JsonSerializable(typeof(LiveNodeDto))]
|
|
[JsonSerializable(typeof(LiveTestDto))]
|
|
[JsonSerializable(typeof(LoginRequest))]
|
|
[JsonSerializable(typeof(LoginResponse))]
|
|
[JsonSerializable(typeof(MeDto))]
|
|
[JsonSerializable(typeof(AgentDto))]
|
|
[JsonSerializable(typeof(PageDto<AgentDto>))]
|
|
[JsonSerializable(typeof(AgentPatchRequest))]
|
|
[JsonSerializable(typeof(LinkDto))]
|
|
[JsonSerializable(typeof(LinkMatrixDto))]
|
|
[JsonSerializable(typeof(SetLinkRequest))]
|
|
[JsonSerializable(typeof(BuildDto))]
|
|
[JsonSerializable(typeof(ReleaseDto))]
|
|
[JsonSerializable(typeof(PageDto<ReleaseDto>))]
|
|
[JsonSerializable(typeof(PublishReleaseRequest))]
|
|
[JsonSerializable(typeof(AboutDto))]
|
|
[JsonSerializable(typeof(NodeBuildDto))]
|
|
[JsonSerializable(typeof(BuildInfoDto))]
|
|
[JsonSerializable(typeof(NodeInfoDto))]
|
|
[JsonSerializable(typeof(PageDto<NodeInfoDto>))]
|
|
[JsonSerializable(typeof(JoinTokenDto))]
|
|
[JsonSerializable(typeof(PageDto<JoinTokenDto>))]
|
|
[JsonSerializable(typeof(CreateJoinTokenRequest))]
|
|
[JsonSerializable(typeof(CreatedJoinTokenDto))]
|
|
[JsonSerializable(typeof(ProbeIdentityDto))]
|
|
[JsonSerializable(typeof(CreateProbeRequest))]
|
|
[JsonSerializable(typeof(PatchProbeRequest))]
|
|
[JsonSerializable(typeof(ProbeDto))]
|
|
[JsonSerializable(typeof(PageDto<HostItemDto>))]
|
|
[JsonSerializable(typeof(HostSeriesDto))]
|
|
[JsonSerializable(typeof(LiveHostDto))]
|
|
[JsonSerializable(typeof(PageDto<ProbeDto>))]
|
|
[JsonSerializable(typeof(TaskDto))]
|
|
[JsonSerializable(typeof(PageDto<TaskDto>))]
|
|
[JsonSerializable(typeof(CreateTaskRequest))]
|
|
[JsonSerializable(typeof(PatchTaskRequest))]
|
|
[JsonSerializable(typeof(StartTestRequestDto))]
|
|
[JsonSerializable(typeof(RawChunkMetaDto))]
|
|
[JsonSerializable(typeof(PageDto<RawChunkMetaDto>))]
|
|
[JsonSerializable(typeof(PageDto<EventDto>))]
|
|
[JsonSerializable(typeof(ApiTokenDto))]
|
|
[JsonSerializable(typeof(PageDto<ApiTokenDto>))]
|
|
[JsonSerializable(typeof(CreateApiTokenRequest))]
|
|
[JsonSerializable(typeof(CreatedApiTokenDto))]
|
|
[JsonSerializable(typeof(PageDto<SettingDto>))]
|
|
[JsonSerializable(typeof(Dictionary<string, JsonElement>), TypeInfoPropertyName = "SettingsPatch")]
|
|
[JsonSerializable(typeof(PageDto<UserDto>))]
|
|
[JsonSerializable(typeof(UserDto))]
|
|
[JsonSerializable(typeof(CreateUserRequest))]
|
|
[JsonSerializable(typeof(ChangePasswordRequest))]
|
|
[JsonSerializable(typeof(RecomputeDto))]
|
|
[JsonSerializable(typeof(Monitor.Protocol.LocalLimits))]
|
|
[JsonSerializable(typeof(List<Fleet.Rpc.RejectedItem>))]
|
|
public sealed partial class ApiJsonContext : JsonSerializerContext;
|