namespace FlatRender.ContentSvc.Models; // ── AI settings ─────────────────────────────────────────────────────────────── /// Settings returned to the admin UI. The API key is never returned in full. public record AiSettingsResponse( string Provider, string BaseUrl, string Model, bool Enabled, bool HasApiKey, string? ApiKeyMasked, DateTime? UpdatedAt ); public record UpdateAiSettingsRequest( string? Provider, string? ApiKey, // null = leave unchanged; "" = clear string? BaseUrl, string? Model, bool? Enabled ); // ── SEO post generation ───────────────────────────────────────────────────── public record GenerateSeoPostRequest( string Description, string? Title, string? Type, // e.g. "video template", "image template", "product" string[]? Tags, string? Locale, // "fa" (default) or "en" string? Audience, // optional target-audience hint string? Keyword // optional primary keyword to target ); public record SeoPostResponse( string Title, string Slug, string MetaTitle, string MetaDescription, string[] Keywords, string ShortDescription, string ContentHtml );