<?php

use Phalcon\Mvc\Model\Migration;

class PancekBinaKonstruksiMigration_560 extends Migration {
    public function up()
    {
        self::$connection->execute("
            INSERT INTO jaga.roles (name, label, description) VALUES ('assignor_bk_pancek', 'Assignor Pancek Bina Konstruksi', 'Assignor Pancek Bina Konstruksi');
            INSERT INTO jaga.roles (name, label, description) VALUES ('verifikator_bk_pancek', 'Verifikator Pancek Bina Konstruksi', 'Verifikator Pancek Bina Konstruksi');
            INSERT INTO jaga.scopes (name, label, description) VALUES ('pancek.bk.assign', 'Melakukan Assign Badan Usaha Bina Konstruksi', 'Melakukan Assign Badan Usaha Bina Konstruksi ke Verifikator Bina Konstruksi');
            INSERT INTO jaga.scopes (name, label, description) VALUES ('pancek.bk.verify', 'Melakukan Verifikasi Badan Usaha Bina Konstruksi', 'Melakukan Verifikasi Badan Usaha Bina Konstruksi');
            INSERT INTO jaga.roles_scopes (role_id, scope_id) VALUES ((SELECT id FROM jaga.roles WHERE name = 'assignor_bk_pancek'), (SELECT id FROM jaga.scopes WHERE name = 'pancek.bk.assign'));
            INSERT INTO jaga.roles_scopes (role_id, scope_id) VALUES ((SELECT id FROM jaga.roles WHERE name = 'verifikator_bk_pancek'), (SELECT id FROM jaga.scopes WHERE name = 'pancek.bk.verify'));
        ");

        self::$connection->execute("CREATE TABLE IF NOT EXISTS jaga.pancek_instansi_verifikator (
            id serial NOT NULL primary key,
            instansi_id integer not null,
            user_id integer not null,
            created_at timestamp without time zone DEFAULT now(),
            deleted_at timestamp without time zone
        );");
    }
    
    public function down()
    {
        self::$connection->execute("
            DELETE FROM jaga.roles_scopes WHERE role_id = (SELECT id FROM jaga.roles WHERE name = 'assignor_bk_pancek');
            DELETE FROM jaga.roles_scopes WHERE role_id = (SELECT id FROM jaga.roles WHERE name = 'verifikator_bk_pancek');
            DELETE FROM jaga.roles WHERE name = 'assignor_bk_pancek';
            DELETE FROM jaga.roles WHERE name = 'verifikator_bk_pancek';
            DELETE FROM jaga.scopes WHERE name = 'pancek.bk.assign';
            DELETE FROM jaga.scopes WHERE name = 'pancek.bk.verify';
        ");

        self::$connection->execute("DROP TABLE IF EXISTS jaga.pancek_instansi_verifikator;");
    }
}
