from fastapi import Depends, Query from typing import Optional import yaml import logging logger = logging.getLogger(__name__) def load_config() -> dict: """Carica configurazione dal file YAML""" try: with open('api/config.yaml', 'r') as file: return yaml.safe_load(file) except Exception as e: logger.error(f"Errore nel caricamento della configurazione: {e}") raise # Configurazione globale config = load_config() def get_config() -> dict: """Dipendenza per ottenere la configurazione dell'applicazione""" return config class PaginationParams: def __init__( self, skip: int = Query(0, ge=0, description="Numero di elementi da saltare"), limit: int = Query(20, ge=1, le=100, description="Numero di elementi da restituire") ): self.skip = skip self.limit = limit def get_pagination_params(params: PaginationParams = Depends()) -> PaginationParams: """Dipendenza per i parametri di paginazione""" return params