""" Revision ID: 0171_add_org_invite_template Revises: 0170_hidden_non_nullable Create Date: 2018-02-16 14:16:43.618062 """ from datetime import datetime from alembic import op from flask import current_app revision = '0171_add_org_invite_template' down_revision = '0170_hidden_non_nullable' template_id = '203566f0-d835-47c5-aa06-932439c86573' 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) """ 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) """ template_content = '\n'.join([ "((user_name)) has invited you to collaborate on ((organisation_name)) on GOV.UK Notify.", "", "GOV.UK Notify makes it easy to keep people updated by helping you send text messages, emails and letters.", "", "Open this link to create an account on GOV.UK Notify:", "((url))", "", "This invitation will stop working at midnight tomorrow. This is to keep ((organisation_name)) secure.", ]) 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' ) ) 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' ) ) # 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)) op.create_unique_constraint('organisation_to_service_service_id_organisation_id_key', 'organisation_to_service', ['service_id', 'organisation_id'])