From 7533b8a448b19c279ede6a222cc66b8e0fab79c7 Mon Sep 17 00:00:00 2001 From: BabtouZER Date: Mon, 31 Mar 2025 17:11:27 +0200 Subject: [PATCH 1/5] feat(model): ajout du modele des projets --- depsec_db/models.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/depsec_db/models.py b/depsec_db/models.py index 42fbc8c..4d9c1c7 100644 --- a/depsec_db/models.py +++ b/depsec_db/models.py @@ -9,6 +9,15 @@ from sqlalchemy import func from depsec_db.extensions import db +class Project(db.Model): + """Modèle d'un projet.""" + __tablename__ = 'projects' + + id = db.Column(db.Integer, primary_key=True, autoincrement=True) + titre = db.Column(db.String, nullable=False) + auteur = db.Column(db.String, nullable=False) + status = db.Column(db.String, nullable=False) + sbom = db.Column(db.String, nullable=False) class User(db.Model): """Modèle utilisateur principal pour l'authentification.""" From 6d316b5b4822148f2a30556b3f2f1a4634b6e300 Mon Sep 17 00:00:00 2001 From: BabtouZER <166703741+BabtouZER@users.noreply.github.com> Date: Wed, 2 Apr 2025 11:10:35 +0200 Subject: [PATCH 2/5] Update models.py --- depsec_db/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depsec_db/models.py b/depsec_db/models.py index 4d9c1c7..a3afb19 100644 --- a/depsec_db/models.py +++ b/depsec_db/models.py @@ -17,7 +17,7 @@ class Project(db.Model): titre = db.Column(db.String, nullable=False) auteur = db.Column(db.String, nullable=False) status = db.Column(db.String, nullable=False) - sbom = db.Column(db.String, nullable=False) + path = db.Column(db.String, nullable=False) class User(db.Model): """Modèle utilisateur principal pour l'authentification.""" From c11616aebcb76d0c07fb833526f6407db685d1df Mon Sep 17 00:00:00 2001 From: BabtouZER <166703741+BabtouZER@users.noreply.github.com> Date: Wed, 2 Apr 2025 14:40:31 +0200 Subject: [PATCH 3/5] Update models.py --- depsec_db/models.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/depsec_db/models.py b/depsec_db/models.py index a3afb19..0cf01ec 100644 --- a/depsec_db/models.py +++ b/depsec_db/models.py @@ -14,8 +14,8 @@ class Project(db.Model): __tablename__ = 'projects' id = db.Column(db.Integer, primary_key=True, autoincrement=True) + auteur_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) # Clé étrangère vers l'id de la table User titre = db.Column(db.String, nullable=False) - auteur = db.Column(db.String, nullable=False) status = db.Column(db.String, nullable=False) path = db.Column(db.String, nullable=False) @@ -34,6 +34,10 @@ class User(db.Model): created_at = db.Column(db.DateTime(timezone=True), server_default=func.now(), nullable=False) updated_at = db.Column(db.DateTime(timezone=True), server_default=func.now(), onupdate=func.now(), nullable=False) + """Relation One-To-Many avec la table Project qui utilise l'id de User""" + projects = db.relationship('Project', backref='user', lazy=True) + + def set_password(self, password: str) -> None: """Hash et définit le mot de passe de l'utilisateur.""" self.password_hash = generate_password_hash(password) From 39509bb0d9467c3eeb276771c63470707789aa79 Mon Sep 17 00:00:00 2001 From: BabtouZER Date: Wed, 2 Apr 2025 15:05:12 +0200 Subject: [PATCH 4/5] fix(bdd): pb et tout quoi des choses --- depsec_db/models.py | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/depsec_db/models.py b/depsec_db/models.py index d22a0bf..e07e12c 100644 --- a/depsec_db/models.py +++ b/depsec_db/models.py @@ -12,9 +12,9 @@ class Project(db.Model): """Modèle d'un projet.""" __tablename__ = 'projects' - id = db.Column(db.Integer, primary_key=True, autoincrement=True) - auteur_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) # Clé étrangère vers l'id de la table User + """Clé étrangère vers l'id de la table User""" + auteur_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) titre = db.Column(db.String, nullable=False) status = db.Column(db.String, nullable=False) path = db.Column(db.String, nullable=False) @@ -49,7 +49,6 @@ class User(db.Model): ) """Relation One-To-Many avec la table Project qui utilise l'id de User""" projects = db.relationship('Project', backref='user', lazy=True) - def set_password(self, password: str) -> None: """Hash et définit le mot de passe de l'utilisateur.""" self.password_hash = generate_password_hash(password) @@ -94,14 +93,6 @@ class TrivyReport(db.Model): results = db.Column(db.JSON, nullable=True) -class Project(db.Model): - """ - Modèle d'un projet. - """ - id = db.Column(db.Integer, primary_key=True, autoincrement=True) - name = db.Column(db.String(255), nullable=False) - version = db.Column(db.String(50), nullable=False) - class SBOM(db.Model): """ Modèle d'un SBOM. From 943eeba872894d19ca88246ea32a98a1a87ea3bd Mon Sep 17 00:00:00 2001 From: BabtouZER Date: Wed, 2 Apr 2025 15:11:52 +0200 Subject: [PATCH 5/5] fix(bdd): ya un truc qui marchait pas du coup et voila --- depsec_db/models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/depsec_db/models.py b/depsec_db/models.py index e07e12c..562dfe2 100644 --- a/depsec_db/models.py +++ b/depsec_db/models.py @@ -14,7 +14,7 @@ class Project(db.Model): __tablename__ = 'projects' id = db.Column(db.Integer, primary_key=True, autoincrement=True) """Clé étrangère vers l'id de la table User""" - auteur_id = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) + auteur_id = db.Column(db.Integer, db.ForeignKey('users.id'), nullable=False) titre = db.Column(db.String, nullable=False) status = db.Column(db.String, nullable=False) path = db.Column(db.String, nullable=False)