From a2a400fff31271d160fc2048cbd2999c90cfcb90 Mon Sep 17 00:00:00 2001 From: VinokurovVE Date: Wed, 31 Jul 2024 17:58:26 +0900 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B2=D1=8B=D0=B5=20=D1=88?= =?UTF-8?q?=D0=B0=D0=B3=D0=B8=20=D0=BF=D0=BE=D0=B4=D0=BA=D0=BB=D1=8E=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20BD=20=D0=BA=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend-app/database.py | 23 +++++++++++++++++++++++ backend-app/repo/__init__.py | 0 backend-app/repo/crud.py | 0 backend-app/repo/model.py | 21 +++++++++++++++++++++ backend-app/repo/schema.py | 2 ++ 5 files changed, 46 insertions(+) create mode 100644 backend-app/database.py create mode 100644 backend-app/repo/__init__.py create mode 100644 backend-app/repo/crud.py create mode 100644 backend-app/repo/model.py create mode 100644 backend-app/repo/schema.py diff --git a/backend-app/database.py b/backend-app/database.py new file mode 100644 index 0000000..a1a4cf2 --- /dev/null +++ b/backend-app/database.py @@ -0,0 +1,23 @@ +from sqlalchemy.ext.asyncio import async_sessionmaker, AsyncSession, create_async_engine +from sqlalchemy.orm import DeclarativeBase + +class Model(DeclarativeBase): + pass + + +async_engine=create_async_engine( + url = "mssql+aioodbc://sa:159357"\ + "@10.124.30.208:1433/test_db"\ + "?driver=ODBC+Driver+17+for+SQL+Server", + connect_args={"check_same_thread": False} + ) + +async_session = async_sessionmaker( + async_engine, + autoflush=True, + autocommit=False, + expire_on_commit =False + ) +# async def get_async_session() -> AsyncSession: +# async with async_session() as session: +# session. \ No newline at end of file diff --git a/backend-app/repo/__init__.py b/backend-app/repo/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend-app/repo/crud.py b/backend-app/repo/crud.py new file mode 100644 index 0000000..e69de29 diff --git a/backend-app/repo/model.py b/backend-app/repo/model.py new file mode 100644 index 0000000..61d1adb --- /dev/null +++ b/backend-app/repo/model.py @@ -0,0 +1,21 @@ +from database import Model +from sqlalchemy.orm import Mapped, mapped_column +from sqlalchemy import String, Integer, Boolean, ForeignKey +from typing import Optional, Sequence + +class UserModel(Model): + __tablename__ ="users" + + id: Mapped[int] = mapped_column(Integer, primary_key=True) + firstname: Mapped[str | None]= mapped_column(String(255), nullable=True) + lastname: Mapped[str | None]= mapped_column(String(255), nullable=True) + age: Mapped[int | None] = mapped_column(Integer, nullable=True) + email: Mapped[str | None] = mapped_column(String(255), nullable=True) + login_id: Mapped[int] = mapped_column(Integer, ForeignKey("logins.id")) + +class LoginModel(Model): + __tablename__ ="logins" + + id: Mapped[int] = mapped_column(Integer, primary_key=True) + login: Mapped[str]= mapped_column(String(255), nullable=False) + password: Mapped[str]= mapped_column(String(255), nullable=False) diff --git a/backend-app/repo/schema.py b/backend-app/repo/schema.py new file mode 100644 index 0000000..8d86299 --- /dev/null +++ b/backend-app/repo/schema.py @@ -0,0 +1,2 @@ +from pydantic import BaseModel +