using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; namespace ReC.Domain.Entities; /// /// Represents the VWREC_ACTION view from the database. /// /// All properties are defined as nullable to provide flexibility in case the underlying view /// changes in production (e.g., columns added, removed, or modified). This approach prevents /// runtime mapping errors and ensures the application can handle schema changes without /// requiring immediate code updates. /// public class RecActionView { public required long Id { get; set; } public RecAction? Root { get; set; } public long? ProfileId { get; set; } public Profile? Profile { get; set; } public string? ProfileName { get; set; } public string? ProfileType { get; set; } public byte? Sequence { get; set; } public long? EndpointId { get; set; } public string? EndpointUri { get; set; } public long? EndpointAuthId { get; set; } [ForeignKey("EndpointAuthId")] public EndpointAuth? EndpointAuth { get; set; } public string? EndpointAuthType { get; set; } public string? EndpointAuthApiKey { get; set; } public string? EndpointAuthApiValue { get; set; } public string? EndpointAuthApiKeyAddTo { get; set; } public string? EndpointAuthToken { get; set; } public string? EndpointAuthUsername { get; set; } public string? EndpointAuthPassword { get; set; } public string? EndpointAuthDomain { get; set; } public string? EndpointAuthWorkstation { get; set; } public short? EndpointParamsId { get; set; } public short? SqlConnectionId { get; set; } public string? SqlConnectionServer { get; set; } public string? SqlConnectionDb { get; set; } public string? SqlConnectionUsername { get; set; } public string? SqlConnectionPassword { get; set; } public string? RestType { get; set; } public string? PreprocessingQuery { get; set; } public string? HeaderQuery { get; set; } public string? BodyQuery { get; set; } public string? PostprocessingQuery { get; set; } }