commit ce4ef3456f28cdfef32275ab1bd44119cc1abf3a Author: Archibald Date: Sun Apr 13 11:56:59 2025 +0500 инициализация декларативной базы diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2c014e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ + +API/.venv +API/.idea + +API/.venv/ +API/.idea/ diff --git a/API/app/__init__.py b/API/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/API/app/application/__init__.py b/API/app/application/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/API/app/contollers/__init__.py b/API/app/contollers/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/API/app/database/__init__.py b/API/app/database/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/API/app/domain/__init__.py b/API/app/domain/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/API/app/domain/entities/__init__.py b/API/app/domain/entities/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/API/app/domain/models/__init__.py b/API/app/domain/models/__init__.py new file mode 100644 index 0000000..7c2377a --- /dev/null +++ b/API/app/domain/models/__init__.py @@ -0,0 +1,3 @@ +from sqlalchemy.ext.declarative import declarative_base + +Base = declarative_base() \ No newline at end of file diff --git a/API/app/domain/models/base.py b/API/app/domain/models/base.py new file mode 100644 index 0000000..61b52a4 --- /dev/null +++ b/API/app/domain/models/base.py @@ -0,0 +1,12 @@ +from sqlalchemy import Integer, Column, DateTime +from sqlalchemy.sql import func + +from app.domain.models import Base + + +class AdvancedBaseModel(Base): + __abstract__ = True + + id = Column(Integer, primary_key=True, autoincrement=True) + created_at = Column(DateTime(timezone=True), server_default=func.now(), nullable=False) + updated_at = Column(DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False) diff --git a/API/app/domain/models/roles.py b/API/app/domain/models/roles.py new file mode 100644 index 0000000..7622841 --- /dev/null +++ b/API/app/domain/models/roles.py @@ -0,0 +1,10 @@ +from sqlalchemy import Column +from sqlalchemy.dialects.mysql import VARCHAR + +from app.domain.models.base import AdvancedBaseModel + + +class Role(AdvancedBaseModel): + __tablename__ = 'roles' + + title = Column(VARCHAR(150), unique=True, nullable=False) diff --git a/API/app/infrastructure/__init__.py b/API/app/infrastructure/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/API/app/main.py b/API/app/main.py new file mode 100644 index 0000000..e69de29 diff --git a/API/app/settings.py b/API/app/settings.py new file mode 100644 index 0000000..e69de29 diff --git a/API/req.txt b/API/req.txt new file mode 100644 index 0000000..e69de29