more files

This commit is contained in:
Kenneth Kehl
2023-07-18 08:28:48 -07:00
parent 9e2a6dafcf
commit 1aaaf6235a
5 changed files with 197 additions and 220 deletions

View File

@@ -9,7 +9,7 @@ from datetime import datetime
from alembic import op
from flask import current_app
from sqlalchemy import text
revision = '0171_add_org_invite_template'
down_revision = '0170_hidden_non_nullable'
@@ -22,12 +22,14 @@ def upgrade():
template_insert = """
INSERT INTO templates (id, name, template_type, created_at, content, archived, service_id, subject,
created_by_id, version, process_type, hidden)
VALUES ('{}', '{}', '{}', '{}', '{}', False, '{}', '{}', '{}', 1, '{}', false)
VALUES (:template_id, :template_name, :template_type, :time_now, :content, False,
:notify_service_id, :subject, :user_id, 1, :process_type, false)
"""
template_history_insert = """
INSERT INTO templates_history (id, name, template_type, created_at, content, archived, service_id, subject,
created_by_id, version, process_type, hidden)
VALUES ('{}', '{}', '{}', '{}', '{}', False, '{}', '{}', '{}', 1, '{}', false)
VALUES (:template_id, :template_name, :template_type, :time_now, :content, False,
:notify_service_id, :subject, :user_id, 1, :process_type, false)
"""
template_content = '\n'.join([
@@ -44,52 +46,39 @@ def upgrade():
template_name = "Notify organisation invitation email"
template_subject = '((user_name)) has invited you to collaborate on ((organisation_name)) on GOV.UK Notify'
op.execute(
template_history_insert.format(
template_id,
template_name,
'email',
datetime.utcnow(),
template_content,
current_app.config['NOTIFY_SERVICE_ID'],
template_subject,
current_app.config['NOTIFY_USER_ID'],
'normal'
)
input_params = {
"template_id": template_id,
"template_name": template_name,
"template_type": 'email',
"time_now": datetime.utcnow(),
"content": template_content,
"notify_service_id": current_app.config['NOTIFY_SERVICE_ID'],
"subject": template_subject,
"user_id": current_app.config['NOTIFY_USER_ID'],
"process_type": 'normal'
}
conn = op.get_bind()
conn.execute(
text(template_history_insert), input_params
)
op.execute(
template_insert.format(
template_id,
template_name,
'email',
datetime.utcnow(),
template_content,
current_app.config['NOTIFY_SERVICE_ID'],
template_subject,
current_app.config['NOTIFY_USER_ID'],
'normal'
)
conn.execute(
text(template_insert), input_params
)
# If you are copying this migration, please remember about an insert to TemplateRedacted,
# which was not originally included here either by mistake or because it was before TemplateRedacted existed
# op.execute(
# """
# INSERT INTO template_redacted (template_id, redact_personalisation, updated_at, updated_by_id)
# VALUES ('{}', '{}', '{}', '{}')
# ;
# """.format(template_id, False, datetime.utcnow(), current_app.config['NOTIFY_USER_ID'])
# )
# clean up constraints on org_to_service - service_id-org_id constraint is redundant
op.drop_constraint('organisation_to_service_service_id_organisation_id_key', 'organisation_to_service', type_='unique')
def downgrade():
op.execute("DELETE FROM notifications WHERE template_id = '{}'".format(template_id))
op.execute("DELETE FROM notification_history WHERE template_id = '{}'".format(template_id))
op.execute("DELETE FROM template_redacted WHERE template_id = '{}'".format(template_id))
op.execute("DELETE FROM templates_history WHERE id = '{}'".format(template_id))
op.execute("DELETE FROM templates WHERE id = '{}'".format(template_id))
input_params = {
'template_id': template_id
}
conn = op.get_bind()
conn.execute(text("DELETE FROM notifications WHERE template_id = :template_id"), input_params)
conn.execute(text("DELETE FROM notification_history WHERE template_id = :template_id"), input_params)
conn.execute(text("DELETE FROM template_redacted WHERE template_id = :template_id"), input_params)
conn.execute(text("DELETE FROM templates_history WHERE id = :template_id"), input_params)
conn.execute(text("DELETE FROM templates WHERE id = :template_id"), input_params)
op.create_unique_constraint('organisation_to_service_service_id_organisation_id_key', 'organisation_to_service', ['service_id', 'organisation_id'])