24 lines
580 B
Python
24 lines
580 B
Python
from beanie import init_beanie
|
|
from motor.motor_asyncio import AsyncIOMotorClient
|
|
from pydantic import BaseSettings
|
|
from typing import Literal
|
|
|
|
from models.request import Request
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
DATABASE_URL: str
|
|
AZURE_KEY: str
|
|
AZURE_ENDPOINT: str
|
|
AZURE_LOCATION: str
|
|
ENV: Literal["dev", "prod"]
|
|
|
|
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])
|