namespace Flyshot.Server.Host;

/// <summary>
/// 表示宿主 Swagger/OpenAPI 文档的标准配置项。
/// </summary>
public sealed class HostSwaggerOptions
{
    /// <summary>
    /// 获取或设置是否启用 Swagger。
    /// </summary>
    public bool Enabled { get; set; } = true;

    /// <summary>
    /// 获取或设置文档名称。
    /// </summary>
    public string DocumentName { get; set; } = "v1";

    /// <summary>
    /// 获取或设置 Swagger 文档标题。
    /// </summary>
    public string Title { get; set; } = "Flyshot Replacement HTTP API";

    /// <summary>
    /// 获取或设置 Swagger 文档版本文本。
    /// </summary>
    public string Version { get; set; } = "v1";

    /// <summary>
    /// 获取或设置 Swagger JSON 路由模板。
    /// </summary>
    public string JsonRouteTemplate { get; set; } = "swagger/{documentName}/swagger.json";

    /// <summary>
    /// 获取或设置 Swagger UI 路由前缀。
    /// </summary>
    public string RoutePrefix { get; set; } = "swagger";
}
