refractor structure project and add user endpoint

This commit is contained in:
2026-01-08 15:05:23 +03:00
parent 423ce8bc62
commit 8e0131451d
25 changed files with 329 additions and 218 deletions
+26
View File
@@ -0,0 +1,26 @@
from datetime import datetime
from sqlalchemy.ext.asyncio import create_async_engine, async_sessionmaker
from sqlalchemy.orm import DeclarativeBase, Mapped, mapped_column
from sqlalchemy import MetaData, NullPool, func
from app.core.config import settings
from app.core.constants import DB_NAMING_CONVENTION
class Base(DeclarativeBase):
metadata = MetaData(naming_convention=DB_NAMING_CONVENTION)
created_at: Mapped[datetime] = mapped_column(server_default=func.now())
updated_at: Mapped[datetime] = mapped_column(server_default=func.now(), onupdate=func.now())
if settings.MODE == "TEST":
DATABASE_URL = settings.TEST_DATABASE_URL
DATABASE_PARAMS = {"poolclass": NullPool}
else:
DATABASE_URL = settings.DATABASE_URL
DATABASE_PARAMS = {}
async_engine = create_async_engine(DATABASE_URL, **DATABASE_PARAMS)
async_session_maker = async_sessionmaker(async_engine, expire_on_commit=False)