<?php

use Phalcon\Db\Column;
use Phalcon\Db\Index;
use Phalcon\Mvc\Model\Migration;

class RoleScopeMigration_247 extends Migration
{

    public function up()
    {
        self::$connection->execute("
            INSERT INTO jaga.roles (name, label, description)
                VALUES ('observer_bansos', 'Observer Bansos', 'Pengamat untuk Bansos') ON CONFLICT DO NOTHING;

            INSERT INTO jaga.roles (name, label, description)
                VALUES ('admin_bansos_korwil', 'Administrator Korwil Bansos', 'Administrator Korwil Bansos') ON CONFLICT DO NOTHING;
            
            INSERT INTO jaga.roles (name, label, description)
                VALUES ('admin_bansos_klop', 'Administrator KLOP Bansos', 'Administrator KLOP Bansos') ON CONFLICT DO NOTHING;

            INSERT INTO jaga.scopes (name, label, description)
                VALUES ('bansos.view_all', 'Melihat semua data bansos', 'Melihat semua data bansos') ON CONFLICT DO NOTHING;
            
            INSERT INTO jaga.scopes (name, label, description)
                VALUES ('bansos.confirm_all', 'Mengkonfirmasi semua data bansos', 'Mengkonfirmasi semua data bansos') ON CONFLICT DO NOTHING;

            INSERT INTO jaga.scopes (name, label, description)
                VALUES ('bansos.view_assigned', 'Melihat data bansos terkait satgas', 'Melihat data bansos terkait satgas') ON CONFLICT DO NOTHING;

            INSERT INTO jaga.scopes (name, label, description)
                VALUES ('bansos.confirm_assigned', 'Mengkonfirmasi data bansos terkait satgas', 'Mengkonfirmasi data bansos terkait satgas') ON CONFLICT DO NOTHING;

            INSERT INTO jaga.scopes (name, label, description)
                VALUES ('bansos.follow_up', 'Melakukan followup data bansos', 'Melakukan followup data bansos') ON CONFLICT DO NOTHING;

            INSERT INTO jaga.roles_scopes (role_id, scope_id)
                SELECT r.id, s.id
                FROM jaga.roles r
                JOIN jaga.scopes s ON r.name = 'observer_bansos' and s.name = 'bansos.view_all' ON CONFLICT DO NOTHING;

            INSERT INTO jaga.roles_scopes (role_id, scope_id)
                SELECT r.id, s.id
                FROM jaga.roles r
                JOIN jaga.scopes s ON r.name = 'admin_bansos_korwil' and s.name = 'bansos.view_assigned' ON CONFLICT DO NOTHING;

            INSERT INTO jaga.roles_scopes (role_id, scope_id)
                SELECT r.id, s.id
                FROM jaga.roles r
                JOIN jaga.scopes s ON r.name = 'admin_bansos_korwil' and s.name = 'bansos.confirm_assigned' ON CONFLICT DO NOTHING;

            INSERT INTO jaga.roles_scopes (role_id, scope_id)
                SELECT r.id, s.id
                FROM jaga.roles r
                JOIN jaga.scopes s ON r.name = 'admin_bansos_klop' and s.name = 'bansos.follow_up' ON CONFLICT DO NOTHING;
        ");
    }

    /**
     * Reverse the migrations
     *
     * @return void
     */
    public function down()
    {
    }
}
