diff --git a/API/app/domain/models/contest_carousel_photos.py b/API/app/domain/models/contest_carousel_photos.py new file mode 100644 index 0000000..e6e2243 --- /dev/null +++ b/API/app/domain/models/contest_carousel_photos.py @@ -0,0 +1,12 @@ +from sqlalchemy import String, Column, Integer, ForeignKey + +from app.domain.models.base import AdvancedBaseModel + + +class ContestCarouselPhotos(AdvancedBaseModel): + __tablename__ = 'contest_carousel_photos' + + file_path = Column(String, nullable=False) + number = Column(Integer, nullable=False) + + contest_id = Column(Integer, ForeignKey('contests.id'), nullable=False) diff --git a/API/app/domain/models/contest_files.py b/API/app/domain/models/contest_files.py new file mode 100644 index 0000000..680e3b9 --- /dev/null +++ b/API/app/domain/models/contest_files.py @@ -0,0 +1,11 @@ +from sqlalchemy import Column, String, ForeignKey, Integer + +from app.domain.models.base import AdvancedBaseModel + + +class ContestFile(AdvancedBaseModel): + __tablename__ = 'contest_files' + + file_path = Column(String, nullable=False) + + contest_id = Column(Integer, ForeignKey('contests.id'), nullable=False) diff --git a/API/app/domain/models/contest_statuses.py b/API/app/domain/models/contest_statuses.py new file mode 100644 index 0000000..ad4b8bc --- /dev/null +++ b/API/app/domain/models/contest_statuses.py @@ -0,0 +1,9 @@ +from sqlalchemy import VARCHAR, Column + +from app.domain.models.base import AdvancedBaseModel + + +class ContestStatus(AdvancedBaseModel): + __tablename__ = 'contest_statuses' + + title = Column(VARCHAR(150), unique=True, nullable=False) diff --git a/API/app/domain/models/contests.py b/API/app/domain/models/contests.py new file mode 100644 index 0000000..70b488f --- /dev/null +++ b/API/app/domain/models/contests.py @@ -0,0 +1,17 @@ +from sqlalchemy import VARCHAR, Column, String, ForeignKey, Integer, Boolean + +from app.domain.models.base import AdvancedBaseModel + + +class Contest(AdvancedBaseModel): + __tablename__ = 'contests' + + title = Column(VARCHAR(150), unique=True, nullable=False) + description = Column(String) + web_url = Column(String, nullable=False) + photo = Column(String) + results = Column(String) + is_win = Column(Boolean) + + project_id = Column(Integer, ForeignKey('projects.id'), nullable=False) + status_id = Column(Integer, ForeignKey('contest_status.id'), nullable=False) diff --git a/API/app/domain/models/profiles.py b/API/app/domain/models/profiles.py new file mode 100644 index 0000000..c24102d --- /dev/null +++ b/API/app/domain/models/profiles.py @@ -0,0 +1,17 @@ +from sqlalchemy import Column, VARCHAR, Date, ForeignKey, Integer + +from app.domain.models.base import AdvancedBaseModel + + +class Profile(AdvancedBaseModel): + __tablename__ = 'profiles' + + first_name = Column(VARCHAR(150), nullable=False) + last_name = Column(VARCHAR(150), nullable=False) + patronymic = Column(VARCHAR(150)) + birthday = Column(Date, nullable=False) + email = Column(VARCHAR(150)) + phone = Column(VARCHAR(28)) + + role_id = Column(Integer, ForeignKey('roles.id'), nullable=False) + team_id = Column(Integer, ForeignKey('teams.id'), nullable=False) diff --git a/API/app/domain/models/project_files.py b/API/app/domain/models/project_files.py new file mode 100644 index 0000000..50840c0 --- /dev/null +++ b/API/app/domain/models/project_files.py @@ -0,0 +1,11 @@ +from sqlalchemy import Column, String, Integer, ForeignKey + +from app.domain.models.base import AdvancedBaseModel + + +class ProjectFile(AdvancedBaseModel): + __tablename__ = 'project_files' + + file_path = Column(String, unique=True, nullable=False) + + project_id = Column(Integer, ForeignKey('projects.id'), nullable=False) diff --git a/API/app/domain/models/projects.py b/API/app/domain/models/projects.py new file mode 100644 index 0000000..f576df3 --- /dev/null +++ b/API/app/domain/models/projects.py @@ -0,0 +1,10 @@ +from sqlalchemy import Column, VARCHAR, String + +from app.domain.models.base import AdvancedBaseModel + + +class Project(AdvancedBaseModel): + __tablename__ = 'projects' + + description = Column(VARCHAR(150)) + repository_url = Column(String, nullable=False) diff --git a/API/app/domain/models/teams.py b/API/app/domain/models/teams.py new file mode 100644 index 0000000..45970de --- /dev/null +++ b/API/app/domain/models/teams.py @@ -0,0 +1,12 @@ +from sqlalchemy import Column, VARCHAR, String + +from app.domain.models.base import AdvancedBaseModel + + +class Team(AdvancedBaseModel): + __tablename__ = 'teams' + + title = Column(VARCHAR(150), nullable=False) + description = Column(VARCHAR(150)) + logo = Column(String) + git_url = Column(String) \ No newline at end of file diff --git a/API/app/domain/models/users.py b/API/app/domain/models/users.py new file mode 100644 index 0000000..3558db0 --- /dev/null +++ b/API/app/domain/models/users.py @@ -0,0 +1,12 @@ +from sqlalchemy import Column, VARCHAR, ForeignKey, Integer + +from app.domain.models.base import AdvancedBaseModel + + +class User(AdvancedBaseModel): + __tablename__ = 'users' + + login = Column(VARCHAR(150), unique=True, nullable=False) + password = Column(VARCHAR(150), nullable=False) + + profile_id = Column(Integer, ForeignKey('profiles.id'), nullable=False)