better user handling

This commit is contained in:
nocci 2025-05-04 15:03:02 +02:00
parent 4b14d042d7
commit 19da1cf430
1 changed files with 5 additions and 6 deletions

View File

@ -206,7 +206,7 @@ from apscheduler.schedulers.background import BackgroundScheduler
from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore from apscheduler.jobstores.sqlalchemy import SQLAlchemyJobStore
import atexit import atexit
from flask_migrate import Migrate from flask_migrate import Migrate
from sqlalchemy import MetaData, event from sqlalchemy import MetaData, event, UniqueConstraint
from reportlab.pdfgen import canvas from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import A4, landscape, letter from reportlab.lib.pagesizes import A4, landscape, letter
from reportlab.platypus import ( from reportlab.platypus import (
@ -378,6 +378,9 @@ class User(UserMixin, db.Model):
class Game(db.Model): class Game(db.Model):
__tablename__ = 'games' __tablename__ = 'games'
__table_args__ = (
UniqueConstraint('steam_key', 'user_id', name='uq_steam_key_user'),
)
id = db.Column(db.Integer, primary_key=True) id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100), nullable=False) name = db.Column(db.String(100), nullable=False)
@ -392,11 +395,7 @@ class Game(db.Model):
platform = db.Column(db.String(50), default='pc') platform = db.Column(db.String(50), default='pc')
# with users.id # with users.id
user_id = db.Column( user_id = db.Column(db.Integer, db.ForeignKey('users.id', ondelete='CASCADE'), nullable=False)
db.Integer,
db.ForeignKey('users.id', ondelete='CASCADE'), # Wichtig
nullable=False
)
owner = db.relationship( owner = db.relationship(
'User', 'User',