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. /// [Table("VWREC_ACTION", Schema = "dbo")] public class RecActionView { [Column("ACTION_ID")] public required long Id { get; set; } [Column("PROFILE_ID")] public long? ProfileId { get; set; } [ForeignKey("ProfileId")] public Profile? Profile { get; set; } [Column("PROFILE_NAME")] [MaxLength(100)] public string? ProfileName { get; set; } [Column("PROFILE_TYPE")] [MaxLength(20)] public string? ProfileType { get; set; } [Column("PROFILE_SEQUENCE")] public byte? ProfileSequence { get; set; } [Column("ENDPOINT_ID")] public long? EndpointId { get; set; } [Column("ENDPOINT_URI")] [MaxLength(4000)] public string? EndpointUri { get; set; } [Column("ENDPOINT_AUTH_ID")] public long? EndpointAuthId { get; set; } [Column("ENDPOINT_AUTH_TYPE")] [MaxLength(50)] public string? EndpointAuthType { get; set; } [Column("ENDPOINT_AUTH_API_KEY")] [MaxLength(300)] public string? EndpointAuthApiKey { get; set; } [Column("ENDPOINT_AUTH_API_VALUE")] [MaxLength(300)] public string? EndpointAuthApiValue { get; set; } [Column("ENDPOINT_AUTH_API_KEY_ADD_TO")] [MaxLength(20)] public string? EndpointAuthApiKeyAddTo { get; set; } [Column("ENDPOINT_AUTH_TOKEN")] [MaxLength(300)] public string? EndpointAuthToken { get; set; } [Column("ENDPOINT_AUTH_USERNAME")] [MaxLength(200)] public string? EndpointAuthUsername { get; set; } [Column("ENDPOINT_AUTH_PASSWORD")] [MaxLength(200)] public string? EndpointAuthPassword { get; set; } [Column("ENDPOINT_AUTH_DOMAIN")] [MaxLength(100)] public string? EndpointAuthDomain { get; set; } [Column("ENDPOINT_AUTH_WORKSTATION")] [MaxLength(100)] public string? EndpointAuthWorkstation { get; set; } [Column("ENDPOINT_PARAMS_ID")] public short? EndpointParamsId { get; set; } [Column("SQL_CONNECTION_ID")] public short? SqlConnectionId { get; set; } [Column("SQL_CONNECTION_SERVER")] [MaxLength(150)] public string? SqlConnectionServer { get; set; } [Column("SQL_CONNECTION_DB")] [MaxLength(100)] public string? SqlConnectionDb { get; set; } [Column("SQL_CONNECTION_USERNAME")] [MaxLength(100)] public string? SqlConnectionUsername { get; set; } [Column("SQL_CONNECTION_PASSWORD")] [MaxLength(100)] public string? SqlConnectionPassword { get; set; } [Column("REST_TYPE")] [MaxLength(20)] public string? RestType { get; set; } [Column("PREPROCESSING_QUERY")] public string? PreprocessingQuery { get; set; } [Column("HEADER_QUERY")] public string? HeaderQuery { get; set; } [Column("BODY_QUERY")] public string? BodyQuery { get; set; } [Column("POSTPROCESSING_QUERY")] public string? PostprocessingQuery { get; set; } }