From a49347264543947f1c45d407c08e34af6d5005ca Mon Sep 17 00:00:00 2001 From: sanj <67624670+iodrift@users.noreply.github.com> Date: Tue, 30 Jul 2024 11:54:34 -0700 Subject: [PATCH] Auto-update: Tue Jul 30 11:54:34 PDT 2024 --- sijapi/classes.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sijapi/classes.py b/sijapi/classes.py index a810cc0..1301acb 100644 --- a/sijapi/classes.py +++ b/sijapi/classes.py @@ -14,7 +14,7 @@ import reverse_geocoder as rg from pathlib import Path from typing import Any, Dict, List, Optional, Tuple, Union, TypeVar from dotenv import load_dotenv -from pydantic import BaseModel, Field, create_model +from pydantic import BaseModel, Field, create_model, validator from concurrent.futures import ThreadPoolExecutor from contextlib import asynccontextmanager from datetime import datetime, timedelta, timezone @@ -204,12 +204,16 @@ class APIConfig(BaseModel): TZ: str KEYS: List[str] GARBAGE: Dict[str, Any] - db_pool: DatabasePool = None + db_pool: Optional[DatabasePool] = Field(default=None, exclude=True) def __init__(self, **data): super().__init__(**data) self.db_pool = DatabasePool() + @validator('db_pool', pre=True, always=True) + def set_db_pool(cls, v): + return v or DatabasePool() + @classmethod def load(cls, config_path: Union[str, Path], secrets_path: Union[str, Path]): config_path = cls._resolve_path(config_path, 'config')