""" Revision ID: 0346_notify_number_sms_sender Revises: 0345_move_broadcast_provider Create Date: 2021-02-17 10:40:10.181087 """ import uuid from alembic import op from flask import current_app from sqlalchemy import text revision = '0346_notify_number_sms_sender' down_revision = '0345_move_broadcast_provider' SMS_SENDER_ID = 'd24b830b-57b4-4f14-bd80-02f46f8d54de' NOTIFY_SERVICE_ID = current_app.config['NOTIFY_SERVICE_ID'] INBOUND_NUMBER = current_app.config['NOTIFY_INTERNATIONAL_SMS_SENDER'].strip('+') def upgrade(): conn = op.get_bind() input_params = { "sms_sender_id": SMS_SENDER_ID, "inbound_number": INBOUND_NUMBER, "notify_service_id": NOTIFY_SERVICE_ID } conn.execute(text("INSERT INTO service_sms_senders (id, sms_sender, service_id, is_default, created_at) " "VALUES (:sms_sender_id, :inbound_number, :notify_service_id,false, now())"), input_params) inbound_number_id = uuid.uuid4() input_params = { "inbound_number_id": inbound_number_id, "inbound_number": INBOUND_NUMBER, } # by adding a row in inbound_number we ensure the number isn't added to the table and assigned to a service. conn.execute(text("INSERT INTO INBOUND_NUMBERS (id, number, provider, active, created_at) VALUES(:inbound_number_id, " ":inbound_number, 'mmg', false, now())"), input_params) def downgrade(): conn = op.get_bind() input_params = { "sms_sender_id": SMS_SENDER_ID } conn.execute(text("delete from service_sms_senders where id = :sms_sender_id"), input_params) input_params = { "inbound_number": INBOUND_NUMBER } conn.execute(text("delete from inbound_numbers where number = :inbound_number"), input_params)