diff --git a/src/ReC.Domain/Entities/Action.cs b/src/ReC.Domain/Entities/Action.cs new file mode 100644 index 0000000..3d34c52 --- /dev/null +++ b/src/ReC.Domain/Entities/Action.cs @@ -0,0 +1,117 @@ +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 VwRecAction +{ + [Column("ACTION_ID")] + public long? ActionId { get; set; } + + [Column("PROFILE_ID")] + public long? ProfileId { 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; } +} \ No newline at end of file