namespace ReC.Application.Common.Dto; public record RecActionDto { public required long Id { get; init; } public long? ProfileId { get; init; } public string? ProfileName { get; init; } public string? ProfileType { get; init; } public byte? ProfileSequence { get; init; } public long? EndpointId { get; init; } public string? EndpointUri { get; init; } public long? EndpointAuthId { get; init; } public string? EndpointAuthType { get; init; } public string? EndpointAuthApiKey { get; init; } public string? EndpointAuthApiValue { get; init; } public string? EndpointAuthApiKeyAddTo { get; init; } public string? EndpointAuthToken { get; init; } public string? EndpointAuthUsername { get; init; } public string? EndpointAuthPassword { get; init; } public string? EndpointAuthDomain { get; init; } public string? EndpointAuthWorkstation { get; init; } public short? EndpointParamsId { get; init; } public short? SqlConnectionId { get; init; } public string? SqlConnectionServer { get; init; } public string? SqlConnectionDb { get; init; } public string? SqlConnectionUsername { get; init; } public string? SqlConnectionPassword { get; init; } public string? RestType { get; init; } public string? PreprocessingQuery { get; init; } public string? HeaderQuery { get; init; } public Dictionary? Headers { get; set; } public string? BodyQuery { get; init; } public string? Body { get; set; } public string? PostprocessingQuery { get; init; } public UriBuilder ToEndpointUriBuilder() { var builder = EndpointUri is null ? new UriBuilder() : new UriBuilder(EndpointUri); builder.Port = -1; if (ProfileType is not null) builder.Scheme = ProfileType; return builder; } }