diff --git a/app/models/products_contacts.py b/app/models/products_contacts.py new file mode 100644 index 0000000..6f0bf2c --- /dev/null +++ b/app/models/products_contacts.py @@ -0,0 +1,52 @@ +from app.extensions import db +from sqlalchemy.exc import IntegrityError +from sqlalchemy.orm import relationship +from dateutil.relativedelta import relativedelta +import logging +from sqlalchemy import and_, or_, not_ +from sqlalchemy.sql import func + +logger = logging.getLogger(__name__) + +class ProductsContacts(db.Model): + __tablename__ = 'products_contacts' + + id = db.Column( + db.Integer, + primary_key=True, + autoincrement=True, + ) + + uid = db.Column(db.String(150), nullable=True) + member_id = db.Column(db.Integer, nullable=False) + product_id = db.Column(db.String(25), nullable=False) + subscription_uid = db.Column(db.String(100), nullable=False) + title = db.Column(db.String(100), nullable=True) + email = db.Column(db.String(100), nullable=True) + sender = db.Column(db.String(100), nullable=True) + message = db.Column(db.Text, nullable=True) + status = db.Column(db.Integer, nullable=True, default=0) + added = db.Column(db.DateTime(timezone=True), server_default=func.now()) + updated = db.Column(db.DateTime(timezone=True), server_default=func.now(), onupdate=func.now()) + + + + def to_dict(self): + return { + "id": self.id, + "uid": self.uid, + "product_id": self.product_id, + "member_id": self.member_id, + "subscription_uid": self.subscription_uid, + "title": self.title, + "email": self.email, + "sender": self.sender, + "message": self.message, + "status": self.status, + "added": self.added.isoformat() if self.added else None, + "updated": self.added.isoformat() if self.updated else None + } + + def __repr__(self): + return f'' +