Refactor: deplacer backend dans apps/backend

This commit is contained in:
Giovanni committed 2026-10-03 12:17:10 +02:00
1 parent ca3de277b4
commit 357b47bd61
18 files changed
+3 -3

No files matched your search

+47
View File
@@ -0,0 +1,47 @@
from app.models.experience_task import ExperienceTask
from sqlalchemy import (
Column,
Integer,
String
)
from sqlalchemy.orm import relationship
from app.database import Base
class Experience(Base):
__tablename__ = "experiences"
id = Column(
Integer,
primary_key=True,
index=True
)
company = Column(
String(255),
nullable=False
)
location = Column(
String(255),
nullable=False
)
duration = Column(
String(255),
nullable=False
)
role = Column(
String(255),
nullable=False
)
tasks = relationship(
"ExperienceTask",
back_populates="experience",
cascade="all, delete-orphan"
)
@@ -0,0 +1,39 @@
from sqlalchemy import (
Column,
Integer,
String,
ForeignKey
)
from sqlalchemy.orm import relationship
from app.database import Base
class ExperienceTask(Base):
__tablename__ = "experience_tasks"
id = Column(
Integer,
primary_key=True,
index=True
)
description = Column(
String(255),
nullable=False
)
experience_id = Column(
Integer,
ForeignKey(
"experiences.id",
ondelete="CASCADE"
),
nullable=False
)
experience = relationship(
"Experience",
back_populates="tasks"
)
+70
View File
@@ -0,0 +1,70 @@
from sqlalchemy import (
Column,
Integer,
String,
Text,
Boolean
)
from sqlalchemy.orm import relationship
from app.database import Base
from app.models.project_skill import project_skills
class Project(Base):
__tablename__ = "projects"
id = Column(Integer, primary_key=True, index=True)
title = Column(
String(255),
nullable=False
)
nb_image = Column(
Integer,
default=1
)
short_description = Column(
Text,
nullable=False
)
image_name = Column(
String(255),
nullable=False,
default="empty"
)
school = Column(
Boolean,
nullable=False
)
long_description = Column(
Text,
nullable=False
)
repo_link = Column(
String(255),
nullable=True
)
beginning_year = Column(
Integer,
nullable=False
)
end_year = Column(
Integer,
nullable=True
)
skills = relationship(
"Skill",
secondary=project_skills,
back_populates="projects"
)
+22
View File
@@ -0,0 +1,22 @@
from sqlalchemy import Table, Column, Integer, ForeignKey
from app.database import Base
project_skills = Table(
"project_skills",
Base.metadata,
Column(
"project_id",
Integer,
ForeignKey("projects.id", ondelete="CASCADE"),
primary_key=True
),
Column(
"skill_id",
Integer,
ForeignKey("skills.id", ondelete="CASCADE"),
primary_key=True
)
)
+28
View File
@@ -0,0 +1,28 @@
from sqlalchemy import Column, Integer, String
from sqlalchemy.orm import relationship
from app.database import Base
from app.models.project_skill import project_skills
class Skill(Base):
__tablename__ = "skills"
id = Column(Integer, primary_key=True, index=True)
name = Column(
String(255),
nullable=False,
unique=True
)
type = Column(
String(255),
nullable=False
)
projects = relationship(
"Project",
secondary=project_skills,
back_populates="skills"
)