Ajout de booking pour des One on One avec son coach,

Demande par discord au coach pour confirmer la rencontre
Ajout de message automatisé discord pour avertir des nouveaux match et rappel 24h a l'avance
This commit is contained in:
cedrick2711
2026-07-17 15:32:32 -04:00
parent c795df8e60
commit 4ed42d5ec8
16 changed files with 714 additions and 50 deletions
+7 -2
View File
@@ -85,7 +85,8 @@ class User(UserMixin, db.Model):
# E-Sports specific fields
games = db.Column(db.Text, nullable=True) # Comma-separated list of games
discord_username = db.Column(db.String(128), nullable=True) # Discord handle
discord_username = db.Column(db.String(128), nullable=True) # Discord handle (e.g., Username#1234)
discord_user_id = db.Column(db.String(64), nullable=True) # Discord User ID for DMs (numeric, e.g., 123456789012345678)
league_os_profile = db.Column(db.String(256), nullable=True) # League OS profile URL or ID
evaluations_given = db.relationship('Evaluation', foreign_keys='Evaluation.evaluator_id', backref='evaluator', lazy='dynamic')
@@ -773,6 +774,8 @@ class OneOnOneRequest(db.Model):
status: Request status (pending, approved, rejected, scheduled).
created_at: Timestamp of creation.
responded_at: Timestamp when coach responded.
discord_message_id: Discord message ID for reaction handling.
coach_rejection_message: Optional justification from coach when rejecting.
"""
__tablename__ = 'one_on_one_requests'
id = db.Column(db.Integer, primary_key=True)
@@ -786,7 +789,9 @@ class OneOnOneRequest(db.Model):
status = db.Column(db.String(20), default='pending') # pending, approved, rejected, scheduled
created_at = db.Column(db.DateTime, default=datetime.utcnow)
responded_at = db.Column(db.DateTime, nullable=True)
discord_message_id = db.Column(db.BigInteger, nullable=True) # Discord message ID for reaction handling
coach_rejection_message = db.Column(db.Text, nullable=True) # Optional justification when rejecting
player = db.relationship('User', foreign_keys=[player_id], backref='one_on_one_requests')
coach = db.relationship('User', foreign_keys=[coach_id])
team = db.relationship('OrgTeam', foreign_keys=[org_team_id])
team = db.relationship('OrgTeam', foreign_keys=[org_team_id])