<?php
declare(strict_types=1);

use Phinx\Migration\AbstractMigration;

final class Task2104301635 extends AbstractMigration
{
    public function up(): void
    {
    	$this->execute("
    		INSERT INTO sistema.acao (
    		 	ds_label, 
    		 	ds_module, 
    		 	ds_controller, 
    		 	ds_action, 
    		 	id_parent, 
    		 	ds_descricao, 
    		 	fl_tipo, 
    		 	dt_criacao, 
    		 	id_usuario_criacao, 
    		 	id
    		) VALUES (
    		 	'Consultar Vistoria',
    		 	'seguro',
    		 	'vistoriaprevia',
    		 	'consultarvistoria',
    		 	421,
    		 	'Consultar informações de vistoria prévia.',
    		 	'M',
    		 	'2021-05-25 17:14:53-03',
    		 	3491,
    		 	nextval('sistema.acao_id_seq'::regclass)
		 	);

            DELETE FROM sistema.roles_acao WHERE id_role = 6 AND id_acao in (421, 
                (SELECT id FROM sistema.acao 
                  WHERE ds_controller = 'vistoriaprevia' 
                    AND ds_action = 'consultarvistoria'
                    AND id_usuario_criacao = 3491)
            );

            INSERT INTO sistema.roles_acao (id_role, id_acao, fl_permitido) VALUES (6, 421, true);
            INSERT INTO sistema.roles_acao (id_role, id_acao, fl_permitido) VALUES (
                6,
                (SELECT id FROM sistema.acao 
                  WHERE ds_controller = 'vistoriaprevia' 
                    AND ds_action = 'consultarvistoria'
                    AND id_usuario_criacao = 3491),
                true
            );

    	");
    }

    public function down(): void
    {
    	$this->execute("
            DELETE FROM sistema.roles_acao WHERE id_role = 6 AND id_acao in (421, 
                (SELECT id FROM sistema.acao 
                  WHERE ds_controller = 'vistoriaprevia' 
                    AND ds_action = 'consultarvistoria'
                    AND id_usuario_criacao = 3491)
            );

    		DELETE FROM sistema.acao 
    		 WHERE ds_controller = 'vistoriaprevia' 
			   AND ds_action = 'consultarvistoria'
			   AND id_usuario_criacao = 3491;
    	");
    }
}
