diff --git a/crc/models/email.py b/crc/models/email.py index dc8c6834..140efc7c 100644 --- a/crc/models/email.py +++ b/crc/models/email.py @@ -1,8 +1,8 @@ from flask_marshmallow.sqla import SQLAlchemyAutoSchema -from marshmallow import EXCLUDE +from marshmallow import EXCLUDE, INCLUDE from sqlalchemy import func -from crc import db +from crc import db, ma from crc.models.study import StudyModel @@ -12,7 +12,20 @@ class EmailModel(db.Model): subject = db.Column(db.String) sender = db.Column(db.String) recipients = db.Column(db.String) + cc = db.Column(db.String, nullable=True) + bcc = db.Column(db.String, nullable=True) content = db.Column(db.String) content_html = db.Column(db.String) study_id = db.Column(db.Integer, db.ForeignKey(StudyModel.id), nullable=True) + timestamp = db.Column(db.DateTime(timezone=True), default=func.now()) + workflow_id = db.Column(db.String, nullable=True) study = db.relationship(StudyModel) + + +class EmailModelSchema(ma.Schema): + # TODO: clean this us. Do we need load_instance and unknown? + class Meta: + model = EmailModel + load_instance = True + additional = ["id", "subject", "sender", "recipients", "timestamp"] + unknown = INCLUDE