<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class Task2210052018 extends AbstractMigration
{
    public function up(): void
    {
        $this->execute(<<<SQL
        INSERT INTO sistema.acao (
                ds_label, 
                ds_module, 
                ds_controller, 
                ds_action,
                ds_param,
                id_parent,
                ds_descricao, 
                fl_tipo, 
                id
            ) VALUES (
                'Relatório de Condições Comerciais por Corretor/Preposto', 
                'relatorio', 
                'tecnica',
                'login', 
                'formlogin',
                709,
                'Facilitar a visualização dos pacotes, quando solicitado o cadastramento por autorização prévia ', 
                'R', 
                nextval('sistema.acao_id_seq'::regclass)
            )
            -- Permissão para a técnica
            -- INSERT INTO sistema.roles_acao (id_role, id_acao) VALUES (20, currval('sistema.acao_id_seq'));
            -- Permissão para a Carolina Aguiar
            -- INSERT INTO sistema.usuarios_acao (id_usuario_criacao, dt_criacao, id_usuario, id_acao) VALUES (2068, NOW(), 1600, 330);
            -- INSERT INTO sistema.usuarios_acao (id_usuario_criacao, dt_criacao, id_usuario, id_acao) VALUES (2068, NOW(), 1600, 709);
            -- INSERT INTO sistema.usuarios_acao (id_usuario_criacao, dt_criacao, id_usuario, id_acao) VALUES (2068, NOW(), 1600, currval('sistema.acao_id_seq'));
SQL
        );
    }

    public function down(): void
    {
        $this->execute(<<<SQL

            -- DELETE FROM sistema.usuarios_acao WHERE id_usuario = 1600 AND id_acao in (SELECT id FROM sistema.acao WHERE ds_module = 'relatorio' AND ds_controller = 'tecnica' AND ds_action = 'controlesafradataemissaoapolices');
            -- DELETE FROM sistema.usuarios_acao WHERE id_usuario = 1600 AND id_acao in (709);
            -- DELETE FROM sistema.usuarios_acao WHERE id_usuario = 1600 AND id_acao in (330);
            -- DELETE FROM sistema.roles_acao WHERE id_role = 20 AND id_acao in (SELECT id FROM sistema.acao WHERE ds_module = 'relatorio' AND ds_controller = 'tecnica' AND ds_action = 'controlesafradataemissaoapolices');

            DELETE FROM sistema.acao
             WHERE ds_controller = 'tecnica' 
               AND ds_action = 'login'
               AND ds_label = 'Relatório de Condições Comerciais por Corretor/Preposto'

SQL
        );
    }
}
