- session: set_tenant use bound param (SQL injection fix)
- health: text('SELECT 1'), REDIS_URL from config
- deps: re-export get_db from session, use settings.ENABLE_DEV_AUTH (default False)
- routes: all get_db from app.api.deps; conftest overrides deps.get_db
- main: register exception handlers from app.api.exceptions
- next.config: enable ESLint and TypeScript checks
- .eslintrc: drop @typescript-eslint/recommended; fix no-console (logger, ws-client, regulations)
- backend/.env.example added
- frontend: export apiFetch; dashboard, profile, settings, risks use api-client
- docs/ANALYSIS_AND_RECOMMENDATIONS.md
Co-authored-by: Cursor <cursoragent@cursor.com>
44 lines
1.1 KiB
Plaintext
44 lines
1.1 KiB
Plaintext
# ===========================================
|
||
# KLG ASUTK Backend — шаблон переменных окружения
|
||
# Скопируйте в .env в каталоге backend и заполните. НЕ коммитьте реальные значения.
|
||
# ===========================================
|
||
|
||
# API
|
||
API_V1_PREFIX=/api/v1
|
||
CORS_ORIGINS=http://localhost:3000,http://localhost:8000,http://localhost:8080
|
||
|
||
# Database
|
||
DATABASE_URL=postgresql://klg:klg@localhost:5432/klg
|
||
|
||
# Redis
|
||
REDIS_URL=redis://localhost:6379
|
||
|
||
# MinIO (S3-compatible)
|
||
MINIO_ENDPOINT=localhost:9000
|
||
MINIO_ACCESS_KEY=minioadmin
|
||
MINIO_SECRET_KEY=minioadmin
|
||
MINIO_BUCKET=klg-attachments
|
||
MINIO_SECURE=false
|
||
|
||
# Auth (production: ENABLE_DEV_AUTH=false)
|
||
ENABLE_DEV_AUTH=false
|
||
DEV_TOKEN=dev
|
||
OIDC_ISSUER=http://localhost:8180/realms/klg
|
||
OIDC_JWKS_URL=
|
||
|
||
# Rate limiting
|
||
RATE_LIMIT_PER_MINUTE=60
|
||
|
||
# Inbox
|
||
INBOX_DATA_DIR=./data
|
||
INBOX_UPLOAD_MAX_MB=50
|
||
|
||
# Multi-tenancy
|
||
ENABLE_RLS=true
|
||
|
||
# Optional: streaming
|
||
ENABLE_RISINGWAVE=false
|
||
ENABLE_REDPANDA=false
|
||
REDPANDA_BROKERS=localhost:19092
|
||
RISINGWAVE_URL=postgresql://root:risingwave@localhost:4566/dev
|