Mejora de fromts
This commit is contained in:
@@ -5,7 +5,6 @@ Configuración centralizada usando Pydantic Settings v2
|
||||
"""
|
||||
|
||||
from functools import lru_cache
|
||||
from typing import List, Optional
|
||||
from pydantic_settings import BaseSettings
|
||||
from pydantic import field_validator, Field
|
||||
import os
|
||||
@@ -60,8 +59,8 @@ class Settings(BaseSettings):
|
||||
# ===================================
|
||||
SMTP_HOST: str = Field(default="localhost")
|
||||
SMTP_PORT: int = Field(default=587)
|
||||
SMTP_USER: Optional[str] = Field(default=None)
|
||||
SMTP_PASSWORD: Optional[str] = Field(default=None)
|
||||
SMTP_USER: str | None = Field(default=None)
|
||||
SMTP_PASSWORD: str | None = Field(default=None)
|
||||
SMTP_USE_TLS: bool = Field(default=True)
|
||||
SMTP_USE_SSL: bool = Field(default=False)
|
||||
|
||||
@@ -79,7 +78,7 @@ class Settings(BaseSettings):
|
||||
UPLOAD_PATH: str = Field(default="/app/uploads")
|
||||
|
||||
@property
|
||||
def ALLOWED_FILE_EXTENSIONS(self) -> List[str]:
|
||||
def ALLOWED_FILE_EXTENSIONS(self) -> list[str]:
|
||||
"""Parse the comma-separated file extensions."""
|
||||
return [ext.strip().lower() for ext in self.ALLOWED_FILE_EXTENSIONS_STR.split(",")]
|
||||
|
||||
@@ -102,7 +101,7 @@ class Settings(BaseSettings):
|
||||
# ===================================
|
||||
LOG_LEVEL: str = Field(default="INFO")
|
||||
LOG_FORMAT: str = Field(default="json")
|
||||
LOG_FILE: Optional[str] = Field(default=None)
|
||||
LOG_FILE: str | None = Field(default=None)
|
||||
|
||||
# ===================================
|
||||
# FRONTEND URLS
|
||||
|
||||
20
backend/app/core/limiter.py
Normal file
20
backend/app/core/limiter.py
Normal file
@@ -0,0 +1,20 @@
|
||||
"""
|
||||
Rate Limiter - ServiceManagerWeb
|
||||
|
||||
Configura slowapi con Redis como storage backend.
|
||||
Respeta settings.RATE_LIMIT_ENABLED: si está desactivado usa memoria
|
||||
y el limiter queda en modo noop (enabled=False).
|
||||
"""
|
||||
|
||||
from slowapi import Limiter
|
||||
from slowapi.util import get_remote_address
|
||||
|
||||
from app.core.config import get_settings
|
||||
|
||||
settings = get_settings()
|
||||
|
||||
limiter = Limiter(
|
||||
key_func=get_remote_address,
|
||||
storage_uri=settings.REDIS_URL if settings.RATE_LIMIT_ENABLED else "memory://",
|
||||
enabled=settings.RATE_LIMIT_ENABLED,
|
||||
)
|
||||
Reference in New Issue
Block a user