2023-03-07 23:17:34 +00:00
|
|
|
from beanie import init_beanie
|
|
|
|
from motor.motor_asyncio import AsyncIOMotorClient
|
2023-03-15 12:54:06 +00:00
|
|
|
from pydantic import BaseSettings, Field
|
2023-03-07 23:17:34 +00:00
|
|
|
|
|
|
|
from models.request import Request
|
|
|
|
|
|
|
|
|
|
|
|
class Settings(BaseSettings):
|
2023-03-15 12:54:06 +00:00
|
|
|
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():
|
|
|
|
client = AsyncIOMotorClient(Settings().DATABASE_URL)
|
|
|
|
await init_beanie(database=client.get_default_database(), document_models=[Request])
|