Cloud_Computing_II/backend/config/config.py

27 lines
816 B
Python
Raw Permalink Normal View History

2023-03-07 23:17:34 +00:00
from beanie import init_beanie
from motor.motor_asyncio import AsyncIOMotorClient
from pydantic import BaseSettings, Field
import re
2023-03-07 23:17:34 +00:00
from models.request import Request
class Settings(BaseSettings):
DATABASE_URL: str = Field(..., env="DATABASE_URL")
AZURE_KEY: str = Field(..., env="AZURE_KEY")
AZURE_ENDPOINT: str = Field(..., env="AZURE_ENDPOINT")
AZURE_LOCATION: str = Field(..., env="AZURE_LOCATION")
ENV: str = Field(..., env="ENV")
2023-03-07 23:17:34 +00:00
class Config:
env_file = ".env"
orm_mode = True
async def initiate_database():
parts = Settings().DATABASE_URL.split("/?")
db_url_with_database = parts[0] + "/requests?" + parts[1]
client = AsyncIOMotorClient(db_url_with_database)
2023-03-07 23:17:34 +00:00
await init_beanie(database=client.get_default_database(), document_models=[Request])