You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

35 lines
1.0 KiB

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