Files
office_translator/data/provider_settings.json
Sepehr Ramezani 2f7347b4db
Some checks failed
Build and Deploy / Backend Tests (push) Has been cancelled
Build and Deploy / Frontend Build Check (push) Has been cancelled
Build and Deploy / Build Docker Images (push) Has been cancelled
Build and Deploy / Deploy to Server (push) Has been cancelled
feat: fix registration 500, add forgot-password flow, frontend validation
- Fix MissingGreenlet: sync_engine now uses psycopg2 instead of asyncpg
- Fix bcrypt/passlib compat: pin bcrypt<4.1 in requirements
- Fix legacy password_hash NOT NULL: alter column to nullable in migration
- Add frontend password validation (uppercase + lowercase + digit)
- Add forgot-password and reset-password backend endpoints
- Add forgot-password and reset-password frontend pages
- Add email_service.py (SMTP via admin settings)
- Add reset_token/reset_token_expires columns to User model
- Migrate legacy JSON-only users to DB on password reset request
- Mount data/ volume in docker-compose.local.yml for persistence
- Add production deployment config (Dockerfile, nginx, deploy.sh)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-05-01 16:23:51 +02:00

78 lines
1.6 KiB
JSON

{
"google": {
"enabled": true,
"api_key": null,
"base_url": null,
"model": null,
"timeout": 30,
"max_retries": 3
},
"google_cloud": {
"enabled": false,
"api_key": "esenaw",
"base_url": null,
"model": null,
"timeout": 30,
"max_retries": 3
},
"deepl": {
"enabled": false,
"api_key": null,
"base_url": null,
"model": null,
"timeout": 30,
"max_retries": 3
},
"openai": {
"enabled": false,
"api_key": null,
"base_url": null,
"model": "gpt-4o-mini",
"timeout": 30,
"max_retries": 3
},
"ollama": {
"enabled": false,
"api_key": null,
"base_url": "http://localhost:11434",
"model": "gpt-oss:20b",
"timeout": 30,
"max_retries": 3
},
"openrouter": {
"enabled": true,
"api_key": null,
"base_url": null,
"model": "deepseek/deepseek-v3.2",
"timeout": 30,
"max_retries": 3
},
"openrouter_premium": {
"enabled": false,
"api_key": null,
"base_url": null,
"model": "anthropic/claude-3.5-haiku",
"timeout": 30,
"max_retries": 3
},
"zai": {
"enabled": false,
"api_key": null,
"base_url": "https://api.x.ai/v1",
"model": "grok-2-1212",
"timeout": 30,
"max_retries": 3
},
"smtp": {
"enabled": true,
"host": "smtp.ionos.fr",
"port": 587,
"username": "admin@wordly.art",
"password": "Esenaw,121151",
"from_email": "admin@wordly.art",
"use_tls": true
},
"fallback_chain": "google,deepl,openai,ollama,openrouter,zai",
"fallback_chain_classic": "google,deepl",
"fallback_chain_llm": "ollama,openai,openrouter,zai"
}