From 42275cf0c1ca71eff9a96522f86416d382eaba36 Mon Sep 17 00:00:00 2001 From: BENOIT Vincent Date: Mon, 4 Nov 2024 17:25:58 +0100 Subject: [PATCH] ajout de la traduction des tables mariadb --- backend/src/drawing/models.py | 107 ++++++++++++++++++++-------------- 1 file changed, 62 insertions(+), 45 deletions(-) diff --git a/backend/src/drawing/models.py b/backend/src/drawing/models.py index 0e2680d..51c7990 100644 --- a/backend/src/drawing/models.py +++ b/backend/src/drawing/models.py @@ -26,57 +26,74 @@ class Role(enum.Enum): Administrateur = "Administrateur" Coach = "Coach" -class User(db.Model): - __tablename__ = 'utilisateur' +class Exercice(db.Model): + __tablename__ = 'Exercices' - userId = db.Column(db.Integer, primary_key=True) - Prenom = db.Column(db.String(32), nullable=False, default="") + ExecID = db.Column(db.Integer, primary_key=True) Nom = db.Column(db.String(32), nullable=False, default="") - Identifiant = db.Column(db.String(32), nullable=False, default="") - Role = db.Column(db.String(16), nullable=False, default=Role.Coach) - Photo = db.Column(db.String(128), default="") - Actif = db.Column(db.Boolean(), nullable=False) - __password = db.Column('Password', db.String(256), nullable=False) + Description = db.Column(db.Text, nullable=False, default="") + NbJoueurs = db.Column(db.Integer, nullable=False) + NbBallons = db.Column(db.Integer, nullable=False) + NbPlots = db.Column(db.Integer, nullable=False) + NbPiquets = db.Column(db.Integer, nullable=False) - def __init__(self, prenom='', nom='', identifiant='', password='', role='', photo='', actif=False): + def __init__(self, + Nom:str='', + Description:str='', + NbJoueurs:int=0, + NbBallons:int=0, + NbPlots:int=0, + NbPiquets:int=0) -> None: ''' constructor ''' - self.Prenom = prenom - self.Nom = nom - self.Identifiant = identifiant - self.Password = password - self.Role = role - self.Photo = photo - self.Actif = actif - - def __get_password(self): - ''' getter password ''' - return self.__password - - def __set_password(self, password): - ''' setter hash password ''' - self.__password = generate_password_hash(password, method='sha256') - - # Hide password encryption by exposing password field only. - Password = db.synonym('__password', - descriptor=property(__get_password, - __set_password)) - - # Return a new property that point to the Message class - Messages = db.relationship('Message', - backref="user", - cascade="all, delete-orphan", - lazy=True) - - def check_password(self, password): - ''' check hash password for user ''' - if self.Password is None: - return False - return check_password_hash(self.Password, password) + self.Nom = Nom + self.Description = Description + self.NbJoueurs = NbJoueurs + self.NbBallons = NbBallons + self.NbPlots = NbPlots + self.NbPiquets = NbPiquets def as_dict(self): ''' User as dictionnary ''' result = {} for c in self.__table__.columns: - if c.name != 'Password': - result[c.name] = getattr(self, c.name) - return result \ No newline at end of file + result[c.name] = getattr(self, c.name) + return result + +class Etape(db.Model): + __tablename__ = 'Etapes' + + EtapeID = db.Column(db.Integer, primary_key=True) + StartX = db.Column(db.Float, nullable=False) + StartY = db.Column(db.Float, nullable=False) + EndX = db.Column(db.Float, nullable=False) + EndY = db.Column(db.Float, nullable=False) + Duration = db.Column(db.Integer, nullable=False) + StartTime = db.Column(db.Integer, nullable=False) + EndTime = db.Column(db.Integer, nullable=False) + ElemID = db.Column(db.Integer, db.ForeignKey('utilisateur.userId'), nullable=False) + + def __init__(self, + StartX:Float=0.0, + StartY:Float=0.0, + EndX:Float=0.0, + EndY:Float=0.0, + Duration:int=0, + StartTime:int=0, + EndTime:int=0, + ElemID:int=0) -> None: + ''' constructor ''' + self.StartX = StartX + self.StartY = StartY + self.EndX = EndX + self.EndY = EndY + self.Duration = Duration + self.StartTime = StartTime + self.EndTime = EndTime + self.ElemID = ElemID + + def as_dict(self): + ''' User as dictionnary ''' + result = {} + for c in self.__table__.columns: + result[c.name] = getattr(self, c.name) + return result