from ..extensions import db class Document(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(100), nullable=False) tenant_id = db.Column(db.Integer, db.ForeignKey('tenant.id'), nullable=False) valid_from = db.Column(db.DateTime, nullable=True) valid_to = db.Column(db.DateTime, nullable=True) # Versioning Information created_at = db.Column(db.DateTime, nullable=False, server_default=db.func.now()) created_by = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) updated_at = db.Column(db.DateTime, nullable=False, server_default=db.func.now(), onupdate=db.func.now()) updated_by = db.Column(db.Integer, db.ForeignKey('user.id')) class DocumentLanguage(db.Model): id = db.Column(db.Integer, primary_key=True) document_id = db.Column(db.Integer, db.ForeignKey('document.id'), nullable=False) language = db.Column(db.String(2), nullable=False) # Versioning Information created_at = db.Column(db.DateTime, nullable=False, server_default=db.func.now()) created_by = db.Column(db.Integer, db.ForeignKey('user.id'), nullable=False) class DocumentVersion(db.Model): id = db.Column(db.Integer, primary_key=True) doc_lang_id = db.Column(db.Integer, db.ForeignKey('document_language.id'), nullable=False) url = db.Column(db.String(200), nullable=True) embeddings = db.Column(db.PickleType, nullable=True) # Versioning Information created_at = db.Column(db.DateTime, nullable=False, server_default=db.func.now()) created_by = db.Column(db.Integer, db.ForeignKey('user.id'))