Add BatchImport model

This commit is contained in:
Son NK 2020-09-10 20:05:25 +02:00
parent f224d16c56
commit 6da48298a6
1 changed files with 26 additions and 0 deletions

View File

@ -94,6 +94,9 @@ class File(db.Model, ModelMixin):
def get_url(self, expires_in=3600):
return s3.get_url(self.path, expires_in)
def __repr__(self):
return f"<File {self.path}>"
class EnumE(enum.Enum):
@classmethod
@ -817,6 +820,13 @@ class Alias(db.Model, ModelMixin):
db.Boolean, nullable=False, default=False, server_default="0"
)
# to know whether an alias is added using a batch import
batch_import_id = db.Column(
db.ForeignKey("batch_import.id", ondelete="SET NULL"),
nullable=True,
default=None,
)
user = db.relationship(User)
mailbox = db.relationship("Mailbox", lazy="joined")
@ -1742,3 +1752,19 @@ class Monitoring(db.Model, ModelMixin):
incoming_queue = db.Column(db.Integer, nullable=False)
active_queue = db.Column(db.Integer, nullable=False)
deferred_queue = db.Column(db.Integer, nullable=False)
class BatchImport(db.Model, ModelMixin):
user_id = db.Column(db.ForeignKey(User.id, ondelete="cascade"), nullable=False)
file_id = db.Column(db.ForeignKey(File.id, ondelete="cascade"), nullable=False)
processed = db.Column(db.Boolean, nullable=False, default=False)
summary = db.Column(db.Text, nullable=True, default=None)
file = db.relationship(File)
user = db.relationship(User)
def nb_alias(self):
return Alias.query.filter_by(batch_import_id=self.id).count()
def __repr__(self):
return f"<BatchImport {self.id}>"