| from . import db | |
| from datetime import datetime | |
| class User(db.Model): | |
| id = db.Column(db.Integer, primary_key=True) | |
| email = db.Column(db.String(120), unique=True, nullable=False) | |
| password = db.Column(db.String(128), nullable=False) | |
| role = db.Column(db.String(20), default="viewer") | |
| class Ad(db.Model): | |
| id = db.Column(db.UUID, primary_key=True) | |
| content = db.Column(db.Text) | |
| sentiment = db.Column(db.JSON) | |
| ad_metadata = db.Column(db.JSON) | |
| user_id = db.Column(db.Integer, db.ForeignKey('user.id')) | |
| versions = db.relationship('AdVersion', backref='ad') | |
| class AdVersion(db.Model): | |
| id = db.Column(db.Integer, primary_key=True) | |
| ad_id = db.Column(db.UUID, db.ForeignKey('ad.id')) | |
| content = db.Column(db.Text) | |
| timestamp = db.Column(db.DateTime, default=datetime.utcnow) |