feat(F-099): completed feature
This commit is contained in:
@@ -27,6 +27,13 @@ const updateSettingsSchema = z.object({
|
||||
aiApiKey: z.string().max(500).optional(),
|
||||
aiSeoTitlePrompt: z.string().max(2000).optional(),
|
||||
aiSeoDescriptionPrompt: z.string().max(4000).optional(),
|
||||
aiProductDescriptionPrompt: z.string().max(4000).optional(),
|
||||
smtpHost: z.string().max(255).optional(),
|
||||
smtpPort: z.coerce.number().int().min(1).max(65535).optional(),
|
||||
smtpSecure: z.boolean().optional(),
|
||||
smtpUser: z.string().max(255).optional(),
|
||||
smtpPass: z.string().max(500).optional(),
|
||||
smtpFrom: z.string().email().optional().or(z.literal('')),
|
||||
});
|
||||
|
||||
const SETTING_KEYS: Record<string, string> = {
|
||||
@@ -44,6 +51,13 @@ const SETTING_KEYS: Record<string, string> = {
|
||||
aiApiKey: 'ai_api_key',
|
||||
aiSeoTitlePrompt: 'ai_seo_title_prompt',
|
||||
aiSeoDescriptionPrompt: 'ai_seo_description_prompt',
|
||||
aiProductDescriptionPrompt: 'ai_product_description_prompt',
|
||||
smtpHost: 'smtp_host',
|
||||
smtpPort: 'smtp_port',
|
||||
smtpSecure: 'smtp_secure',
|
||||
smtpUser: 'smtp_user',
|
||||
smtpPass: 'smtp_pass',
|
||||
smtpFrom: 'smtp_from',
|
||||
};
|
||||
|
||||
export async function registerStoreSettingsRoutes(
|
||||
@@ -82,6 +96,14 @@ export async function registerStoreSettingsRoutes(
|
||||
aiApiKeyConfigured: Boolean(map['ai_api_key']),
|
||||
aiSeoTitlePrompt: map['ai_seo_title_prompt'] ?? 'Genera un título SEO breve y atractivo para este producto: {{name}}. Devuelve solo el título.',
|
||||
aiSeoDescriptionPrompt: map['ai_seo_description_prompt'] ?? 'Genera una meta descripción SEO en español, clara y persuasiva, para este producto: {{name}}. Devuelve solo la descripción.',
|
||||
aiProductDescriptionPrompt: map['ai_product_description_prompt'] ?? 'Escribe una descripción comercial clara y útil en español para este producto: {{name}}. Incluye sus beneficios y características usando solo la información disponible. Devuelve solo la descripción.',
|
||||
smtpHost: map['smtp_host'] ?? process.env.SMTP_HOST ?? '',
|
||||
smtpPort: map['smtp_port'] ?? process.env.SMTP_PORT ?? '465',
|
||||
smtpSecure: (map['smtp_secure'] ?? process.env.SMTP_SECURE ?? 'true') !== 'false',
|
||||
smtpUser: map['smtp_user'] ?? process.env.SMTP_USER ?? '',
|
||||
smtpPass: '',
|
||||
smtpPassConfigured: Boolean(map['smtp_pass'] || process.env.SMTP_PASS),
|
||||
smtpFrom: map['smtp_from'] ?? process.env.SMTP_FROM ?? '',
|
||||
});
|
||||
});
|
||||
|
||||
@@ -150,7 +172,15 @@ export async function registerStoreSettingsRoutes(
|
||||
aiApiKey: '',
|
||||
aiApiKeyConfigured: Boolean(map['ai_api_key']),
|
||||
aiSeoTitlePrompt: map['ai_seo_title_prompt'] ?? 'Genera un título SEO breve y atractivo para este producto: {{name}}. Devuelve solo el título.',
|
||||
aiSeoDescriptionPrompt: map['ai_seo_description_prompt'] ?? 'Genera una meta descripción SEO en español, clara y persuasiva, para este producto: {{name}}. Devuelve solo la descripción.',
|
||||
aiSeoDescriptionPrompt: map['ai_seo_description_prompt'] ?? 'Genera una meta descripción SEO en español, clara y persuasiva, para este producto: {{name}}. Incluye sus beneficios y características usando solo la información disponible. Devuelve solo la descripción.',
|
||||
aiProductDescriptionPrompt: map['ai_product_description_prompt'] ?? 'Escribe una descripción comercial clara y útil en español para este producto: {{name}}. Incluye sus beneficios y características usando solo la información disponible. Devuelve solo la descripción.',
|
||||
smtpHost: map['smtp_host'] ?? process.env.SMTP_HOST ?? '',
|
||||
smtpPort: map['smtp_port'] ?? process.env.SMTP_PORT ?? '465',
|
||||
smtpSecure: (map['smtp_secure'] ?? process.env.SMTP_SECURE ?? 'true') !== 'false',
|
||||
smtpUser: map['smtp_user'] ?? process.env.SMTP_USER ?? '',
|
||||
smtpPass: '',
|
||||
smtpPassConfigured: Boolean(map['smtp_pass'] || process.env.SMTP_PASS),
|
||||
smtpFrom: map['smtp_from'] ?? process.env.SMTP_FROM ?? '',
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user