summaryrefslogtreecommitdiff
path: root/app/utils
diff options
context:
space:
mode:
authorl3wdfut4pwr <l3wdfut4pwr@gmail.com>2026-04-04 00:03:04 +0300
committerl3wdfut4pwr <l3wdfut4pwr@gmail.com>2026-04-04 00:03:04 +0300
commit63e87a3ed84ee9e9e4a4ff329a40d2b7ce5e5d0d (patch)
treec24731c200df3b5854a5abc14f7a5481a33d838a /app/utils
parentd835d79eb24c730ec8148415113e846a01cefd19 (diff)
add profile
Diffstat (limited to 'app/utils')
-rw-r--r--app/utils/__init__.py17
-rw-r--r--app/utils/db.py20
2 files changed, 32 insertions, 5 deletions
diff --git a/app/utils/__init__.py b/app/utils/__init__.py
index e69de29..a05c4d1 100644
--- a/app/utils/__init__.py
+++ b/app/utils/__init__.py
@@ -0,0 +1,17 @@
+from .cors import setup_cors
+from .create_tables import init_db
+from .db import Base, async_session, engine, get_async_session
+from .hash_cfg import hash_password, verify_password
+from .logger_cfg import logger
+
+__all__ = [
+ "engine",
+ "async_session",
+ "get_async_session",
+ "Base",
+ "setup_cors",
+ "init_db",
+ "hash_password",
+ "verify_password",
+ "logger",
+]
diff --git a/app/utils/db.py b/app/utils/db.py
index b823904..4daca74 100644
--- a/app/utils/db.py
+++ b/app/utils/db.py
@@ -1,3 +1,4 @@
+import asyncio
import os
from dotenv import load_dotenv
@@ -5,20 +6,29 @@ from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine
from sqlalchemy.orm import DeclarativeBase, sessionmaker
load_dotenv()
-
DATABASE_URL = os.getenv("DATABASE_URL")
if not DATABASE_URL:
- raise ValueError("DATABASE_URL not found .env")
+ raise ValueError("DATABASE_URL not found in .env")
engine = create_async_engine(DATABASE_URL, echo=True, future=True)
-
async_session = sessionmaker(bind=engine, class_=AsyncSession, expire_on_commit=False)
+class Base(DeclarativeBase):
+ pass
+
+
async def get_async_session() -> AsyncSession:
async with async_session() as session:
yield session
-class Base(DeclarativeBase):
- pass
+async def init_db():
+
+ async with engine.begin() as conn:
+ await conn.run_sync(Base.metadata.create_all)
+
+
+if __name__ == "__main__":
+ asyncio.run(init_db())
+ print("All tables created!")