ajout de la traduction des tables mariadb

This commit is contained in:
2024-11-04 17:25:58 +01:00
parent e81d64072b
commit 42275cf0c1

View File

@@ -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
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