using DigitalData.Core.Abstractions; using Microsoft.AspNetCore.Mvc; using System.ComponentModel.DataAnnotations.Schema; using System.Text.Json.Serialization; namespace EnvelopeGenerator.Application.DTOs; /// /// Data Transfer Object representing configuration settings. /// [ApiExplorerSettings(IgnoreApi = true)] public class ConfigDto : IUnique { /// /// Gets or sets the path to the document. /// public string DocumentPath { get; set; } /// /// Gets or sets the sending profile identifier. /// public int SendingProfile { get; set; } /// /// Gets or sets the signature host URL or name. /// public string SignatureHost { get; set; } /// /// Gets or sets the name of the external program. /// public string ExternalProgramName { get; set; } /// /// Gets or sets the path where exports will be saved. /// public string ExportPath { get; set; } /// /// Gets the ID of the configuration. /// This DTO represents a single row in the database and does not support an ID. /// [NotMapped] [JsonIgnore] [Obsolete("Configuration does not have an ID; it represents a single table in the database.")] public int Id => throw new InvalidOperationException("This configuration does not support an ID as it represents a single row in the database."); }