mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-13 16:52:23 -05:00
Now that the encryption module has been moved from this app to utils, we can remove it from here (along with its tests) and import it from utils instead. This also renames the `encryption.py` file to `hashing.py`, since it no longer contains the encryption class.
107 lines
6.7 KiB
Python
107 lines
6.7 KiB
Python
"""empty message
|
||
|
||
Revision ID: 0025_notify_service_data
|
||
Revises: 0024_add_research_mode_defaults
|
||
Create Date: 2016-06-01 14:17:01.963181
|
||
|
||
"""
|
||
|
||
# revision identifiers, used by Alembic.
|
||
from datetime import datetime
|
||
|
||
from alembic import op
|
||
|
||
from app.hashing import hashpw
|
||
import uuid
|
||
revision = '0025_notify_service_data'
|
||
down_revision = '0024_add_research_mode_defaults'
|
||
|
||
|
||
user_id= '6af522d0-2915-4e52-83a3-3690455a5fe6'
|
||
service_id = 'd6aa2c68-a2d9-4437-ab19-3ae8eb202553'
|
||
|
||
|
||
def upgrade():
|
||
password = hashpw(str(uuid.uuid4()))
|
||
op.get_bind()
|
||
user_insert = """INSERT INTO users (id, name, email_address, created_at, failed_login_count, _password, mobile_number, state, platform_admin)
|
||
VALUES ('{}', 'Notify service user', 'notify-service-user@digital.cabinet-office', '{}', 0,'{}', '+441234123412', 'active', False)
|
||
"""
|
||
op.execute(user_insert.format(user_id, datetime.utcnow(), password))
|
||
service_history_insert = """INSERT INTO services_history (id, name, created_at, active, message_limit, restricted, research_mode, email_from, created_by_id, reply_to_email_address, version)
|
||
VALUES ('{}', 'Notify service', '{}', True, 1000, False, False, 'notify@digital.cabinet-office.gov.uk',
|
||
'{}', 'notify@digital.cabinet-office.gov.uk', 1)
|
||
|
||
"""
|
||
op.execute(service_history_insert.format(service_id, datetime.utcnow(), user_id))
|
||
service_insert = """INSERT INTO services (id, name, created_at, active, message_limit, restricted, research_mode, email_from, created_by_id, reply_to_email_address, version)
|
||
VALUES ('{}', 'Notify service', '{}', True, 1000, False, False, 'notify@digital.cabinet-office.gov.uk',
|
||
'{}', 'notify@digital.cabinet-office.gov.uk', 1)
|
||
"""
|
||
op.execute(service_insert.format(service_id, datetime.utcnow(), user_id))
|
||
user_to_service_insert = """INSERT INTO user_to_service (user_id, service_id) VALUES ('{}', '{}')"""
|
||
op.execute(user_to_service_insert.format(user_id, service_id))
|
||
|
||
template_history_insert = """INSERT INTO templates_history (id, name, template_type, created_at,
|
||
content, archived, service_id,
|
||
subject, created_by_id, version)
|
||
VALUES ('{}', '{}', '{}', '{}', '{}', False, '{}', '{}', '{}', 1)
|
||
"""
|
||
template_insert = """INSERT INTO templates (id, name, template_type, created_at,
|
||
content, archived, service_id, subject, created_by_id, version)
|
||
VALUES ('{}', '{}', '{}', '{}', '{}', False, '{}', '{}', '{}', 1)
|
||
"""
|
||
email_verification_content = \
|
||
"""Hi ((name)),\n\nTo complete your registration for GOV.UK Notify please click the link below\n\n((url))"""
|
||
op.execute(template_history_insert.format(uuid.uuid4(), 'Notify email verification code', 'email',
|
||
datetime.utcnow(), email_verification_content, service_id,
|
||
'Confirm GOV.UK Notify registration', user_id))
|
||
op.execute(template_insert.format('ece42649-22a8-4d06-b87f-d52d5d3f0a27', 'Notify email verification code', 'email',
|
||
datetime.utcnow(), email_verification_content, service_id,
|
||
'Confirm GOV.UK Notify registration', user_id))
|
||
|
||
invitation_subject = "((user_name)) has invited you to collaborate on ((service_name)) on GOV.UK Notify"
|
||
invitation_content = """((user_name)) has invited you to collaborate on ((service_name)) on GOV.UK Notify.\n\n
|
||
GOV.UK Notify makes it easy to keep people updated by helping you send text messages, emails and letters.\n\n
|
||
Click this link to create an account on GOV.UK Notify:\n((url))\n\n
|
||
This invitation will stop working at midnight tomorrow. This is to keep ((service_name)) secure.
|
||
"""
|
||
op.execute(template_history_insert.format('4f46df42-f795-4cc4-83bb-65ca312f49cc', 'Notify invitation email',
|
||
'email', datetime.utcnow(), invitation_content, service_id,
|
||
invitation_subject, user_id))
|
||
op.execute(template_insert.format('4f46df42-f795-4cc4-83bb-65ca312f49cc', 'Notify invitation email',
|
||
'email', datetime.utcnow(), invitation_content, service_id,
|
||
invitation_subject, user_id))
|
||
|
||
sms_code_content = '((verify_code)) is your Notify authentication code'
|
||
op.execute(template_history_insert.format('36fb0730-6259-4da1-8a80-c8de22ad4246', 'Notify SMS verify code',
|
||
'sms', datetime.utcnow(), sms_code_content, service_id, None, user_id))
|
||
|
||
op.execute(template_insert.format('36fb0730-6259-4da1-8a80-c8de22ad4246', 'Notify SMS verify code',
|
||
'sms', datetime.utcnow(), sms_code_content, service_id, None, user_id))
|
||
|
||
password_reset_content = "Hi ((user_name)),\n\n" \
|
||
"We received a request to reset your password on GOV.UK Notify.\n\n" \
|
||
"If you didn''t request this email, you can ignore it – " \
|
||
"your password has not been changed.\n\n" \
|
||
"To reset your password, click this link:\n\n" \
|
||
"((url))"
|
||
|
||
op.execute(template_history_insert.format('474e9242-823b-4f99-813d-ed392e7f1201', 'Notify password reset email',
|
||
'email', datetime.utcnow(), password_reset_content, service_id,
|
||
'Reset your GOV.UK Notify password', user_id))
|
||
op.execute(template_insert.format('474e9242-823b-4f99-813d-ed392e7f1201', 'Notify password reset email',
|
||
'email', datetime.utcnow(), password_reset_content, service_id,
|
||
'Reset your GOV.UK Notify password', user_id))
|
||
|
||
|
||
def downgrade():
|
||
op.get_bind()
|
||
op.execute("delete from templates where service_id = '{}'".format(service_id))
|
||
op.execute("delete from templates_history where service_id = '{}'".format(service_id))
|
||
op.execute("delete from user_to_service where service_id = '{}'".format(service_id))
|
||
op.execute("delete from services_history where id = '{}'".format(service_id))
|
||
op.execute("delete from services where id = '{}'".format(service_id))
|
||
op.execute("delete from users where id = '{}'".format(user_id))
|
||
|