<?php

use Phalcon\Mvc\Model\Migration;

class KeluhanDesaMigration_371 extends Migration
{
    public function up()
    {
        $this->down();
        self::$connection->execute("
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type) VALUES ('Desa - Anggaran Dana Desa', 'DESA');
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type) VALUES ('Desa - Pengadaan Sarana dan Prasarana', 'DESA');
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type) VALUES ('Desa - Pengelolaan BUMDes', 'DESA');
            INSERT INTO jaga.topik_diskusi_bansos (deskripsi, type) VALUES ('Desa - Lainnya', 'DESA');
        ");

        self::$connection->execute("
            INSERT INTO jaga.scopes(name, label, description) VALUES ('keluhan.ikn.follow_up', 'Melakukan followup keluhan IKN', 'Melakukan followup keluhan IKN');
            INSERT INTO jaga.scopes(name, label, description) VALUES ('keluhan.desa.follow_up', 'Melakukan followup keluhan Desa', 'Melakukan followup keluhan Desa');
        ");

        self::$connection->execute("
            INSERT INTO jaga.roles(name, label, description) VALUES ('admin_keluhan_ikn_klop', 'Administrator KLOP Keluhan IKN', 'Administrator KLOP Keluhan IKN');
            INSERT INTO jaga.roles(name, label, description) VALUES ('admin_keluhan_desa_klop', 'Administrator KLOP Keluhan Desa', 'Administrator KLOP Keluhan Desa');
        ");

        self::$connection->execute("
            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_ikn_klop'), (select id from jaga.scopes where name = 'keluhan.ikn.follow_up') 
            );
            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_ikn_klop'), (select id from jaga.scopes where name = 'discussion.create') 
            );
            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_ikn_klop'), (select id from jaga.scopes where name = 'discussion.react') 
            );
            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_ikn_klop'), (select id from jaga.scopes where name = 'report.create') 
            );

            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_desa_klop'), (select id from jaga.scopes where name = 'keluhan.desa.follow_up')
            );
            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_desa_klop'), (select id from jaga.scopes where name = 'discussion.create') 
            );
            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_desa_klop'), (select id from jaga.scopes where name = 'discussion.react')
            );
            INSERT INTO jaga.roles_scopes(role_id, scope_id) values(
				(select id from jaga.roles where name = 'admin_keluhan_desa_klop'), (select id from jaga.scopes where name = 'report.create')
            );
        ");
    }

    public function down()
    {
        self::$connection->execute("
            DELETE FROM jaga.topik_diskusi_bansos WHERE type = 'DESA';
            SELECT setval('jaga.topik_diskusi_bansos_id_seq', COALESCE((SELECT MAX(id)+1 FROM jaga.topik_diskusi_bansos), 1), false);
        ");

        self::$connection->execute("
            DELETE FROM jaga.roles_scopes WHERE 
            role_id = (select id from jaga.roles where name = 'admin_keluhan_ikn_klop');
        ");

        self::$connection->execute("
            DELETE FROM jaga.roles_scopes WHERE 
            role_id = (select id from jaga.roles where name = 'admin_keluhan_desa_klop');
        ");

        self::$connection->execute("
            DELETE FROM jaga.scopes WHERE name = 'keluhan.ikn.follow_up';
            DELETE FROM jaga.scopes WHERE name = 'keluhan.desa.follow_up';
        ");

        self::$connection->execute("
            DELETE FROM jaga.roles WHERE name = 'admin_keluhan_ikn_klop';
            DELETE FROM jaga.roles WHERE name = 'admin_keluhan_desa_klop';
        ");
    }
}
