import motor.motor_asyncio

from beanie import init_beanie

from .user import User, AccessToken
from .entity.models import Entity
from .template.models import ContractTemplate, ProvisionTemplate
from .contract.models import ContractDraft, Contract
# from .order.models import Order

DB_PASSWORD = "IBO3eber0mdw2R9pnInLdtFykQFY2f06"
DATABASE_URL = f"mongodb://root:{DB_PASSWORD}@mongo:27017/"


async def init_db():
    client = motor.motor_asyncio.AsyncIOMotorClient(
        DATABASE_URL, uuidRepresentation="standard"
    )

    await init_beanie(database=client.db_name,
                      document_models=[User, AccessToken, Entity, ContractTemplate, ProvisionTemplate, ContractDraft,
                                       Contract, ],
                      allow_index_dropping=True)
