mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-22 16:31:15 -05:00
New table to hold scheduled_notifications.
This commit is contained in:
@@ -912,6 +912,16 @@ class NotificationHistory(db.Model, HistoryModel):
|
||||
INVITED_USER_STATUS_TYPES = ['pending', 'accepted', 'cancelled']
|
||||
|
||||
|
||||
class ScheduledNotification(db.Model):
|
||||
__tablename__ = 'scheduled_notifications'
|
||||
|
||||
id = db.Column(UUID(as_uuid=True), primary_key=True, default=uuid.uuid4())
|
||||
notification_id = db.Column(UUID(as_uuid=True), db.ForeignKey('notifications.id'), index=True, nullable=False)
|
||||
notification = db.relationship('Notification')
|
||||
scheduled_for = db.Column(db.DateTime, index=False, nullable=False)
|
||||
pending = db.Column(db.Boolean, nullable=False, default=False)
|
||||
|
||||
|
||||
class InvitedUser(db.Model):
|
||||
__tablename__ = 'invited_users'
|
||||
|
||||
|
||||
31
migrations/versions/0083_scheduled_notifications.py
Normal file
31
migrations/versions/0083_scheduled_notifications.py
Normal file
@@ -0,0 +1,31 @@
|
||||
"""empty message
|
||||
|
||||
Revision ID: 0083_scheduled_notifications
|
||||
Revises: 0082_add_go_live_template
|
||||
Create Date: 2017-05-15 12:50:20.041950
|
||||
|
||||
"""
|
||||
from alembic import op
|
||||
import sqlalchemy as sa
|
||||
from sqlalchemy.dialects import postgresql
|
||||
|
||||
revision = '0083_scheduled_notifications'
|
||||
down_revision = '0082_add_go_live_template'
|
||||
|
||||
|
||||
def upgrade():
|
||||
op.create_table('scheduled_notifications',
|
||||
sa.Column('id', postgresql.UUID(as_uuid=True), nullable=False),
|
||||
sa.Column('notification_id', postgresql.UUID(as_uuid=True), nullable=False),
|
||||
sa.Column('scheduled_for', sa.DateTime(), nullable=False),
|
||||
sa.Column('pending', sa.Boolean(), nullable=False),
|
||||
sa.ForeignKeyConstraint(['notification_id'], ['notifications.id'], ),
|
||||
sa.PrimaryKeyConstraint('id')
|
||||
)
|
||||
op.create_index(op.f('ix_scheduled_notifications_notification_id'), 'scheduled_notifications', ['notification_id'],
|
||||
unique=False)
|
||||
|
||||
|
||||
def downgrade():
|
||||
op.drop_index(op.f('ix_scheduled_notifications_notification_id'), table_name='scheduled_notifications')
|
||||
op.drop_table('scheduled_notifications')
|
||||
Reference in New Issue
Block a user