Add Notification model

This commit is contained in:
Stephan Porada 2020-05-11 16:09:09 +02:00
parent cb8f3faae0
commit 07c104196f
2 changed files with 60 additions and 0 deletions

View File

@ -341,6 +341,10 @@ class Job(db.Model):
cascade='save-update, merge, delete')
results = db.relationship('JobResult', backref='job', lazy='dynamic',
cascade='save-update, merge, delete')
notifications_data = db.relationship('NotificationData',
backref='job',
lazy='dynamic',
cascade='save-update, merge, delete')
def __repr__(self):
"""
@ -384,6 +388,24 @@ class Job(db.Model):
'title': self.title}
class NotificationData(db.Model):
"""
Class to define notification data used for sending a notification mail with
nopaque_notify.
"""
__tablename__ = 'notifications_data'
# Primary key
id = db.Column(db.Integer, primary_key=True)
# Foreign Key
job_id = db.Column(db.Integer, db.ForeignKey('jobs.id'))
# Fields
notified_on_submitted = db.Column(db.Boolean, default=False)
notified_on_queued = db.Column(db.Boolean, default=False)
notified_on_running = db.Column(db.Boolean, default=False)
notified_on_complete = db.Column(db.Boolean, default=False)
notified_on_canceling = db.Column(db.Boolean, default=False)
class CorpusFile(db.Model):
"""
Class to define Files.

View File

@ -0,0 +1,38 @@
"""empty message
Revision ID: 471aa04c1a92
Revises: 62233e0cb2c7
Create Date: 2020-05-11 14:07:12.934869
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '471aa04c1a92'
down_revision = '62233e0cb2c7'
branch_labels = None
depends_on = None
def upgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.create_table('notifications_data',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('job_id', sa.Integer(), nullable=True),
sa.Column('notified_on_submitted', sa.Boolean(), nullable=True),
sa.Column('notified_on_queued', sa.Boolean(), nullable=True),
sa.Column('notified_on_running', sa.Boolean(), nullable=True),
sa.Column('notified_on_complete', sa.Boolean(), nullable=True),
sa.Column('notified_on_canceling', sa.Boolean(), nullable=True),
sa.ForeignKeyConstraint(['job_id'], ['jobs.id'], ),
sa.PrimaryKeyConstraint('id')
)
# ### end Alembic commands ###
def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
op.drop_table('notifications_data')
# ### end Alembic commands ###