""" JSON Schemas for Settings Validation """ SETTINGS_SCHEMAS = { 'table_settings': { "type": "object", "properties": { "records_per_page": {"type": "integer", "minimum": 5, "maximum": 100}, "default_sort": {"type": "string"}, "default_sort_direction": {"type": "string", "enum": ["asc", "desc"]} }, "required": ["records_per_page"] }, 'planner_automation': { "type": "object", "properties": { "auto_cluster_enabled": {"type": "boolean"}, "auto_ideas_enabled": {"type": "boolean"}, "max_keywords_per_cluster": {"type": "integer", "minimum": 1, "maximum": 50} } }, 'writer_automation': { "type": "object", "properties": { "auto_generate_content_enabled": {"type": "boolean"}, "auto_generate_images_enabled": {"type": "boolean"}, "auto_publish_enabled": {"type": "boolean"} } }, 'ai_settings': { "type": "object", "properties": { "default_model": {"type": "string"}, "temperature": {"type": "number", "minimum": 0, "maximum": 2}, "max_tokens": {"type": "integer", "minimum": 1, "maximum": 32000} } }, 'user_preferences': { "type": "object", "properties": { "theme": {"type": "string", "enum": ["light", "dark", "auto"]}, "language": {"type": "string"}, "notifications_enabled": {"type": "boolean"} } } } # Map settings keys to their schemas SETTINGS_KEY_SCHEMA_MAP = { 'table_settings': 'table_settings', 'planner_automation': 'planner_automation', 'writer_automation': 'writer_automation', 'ai_settings': 'ai_settings', 'user_preferences': 'user_preferences', }