<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog
        xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext"
        xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.0.xsd
        http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
    <changeSet id="1" author="jchung">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
          USE art_relations;;

          DROP PROCEDURE IF EXISTS `sp_get_orchadmin_user_privileges`;;

          CREATE DEFINER=`theorchard`@`10.10.%` PROCEDURE `sp_get_orchadmin_user_privileges`(IN orchadmin_user_id INT(11), IN resource VARCHAR(50))
            BEGIN
              SELECT oa.id, oar.resource, oapriv.privilege
              FROM orchadmin_users oa
                INNER JOIN orchadmin_user_roles oaur ON oa.id = oaur.orchadmin_user_id
                INNER JOIN orchadmin_role_permissions oarp ON oaur.orchadmin_role_id = oarp.orchadmin_role_id AND allow = 'Y'
                INNER JOIN orchadmin_permissions oap ON oarp.orchadmin_permission_id = oap.orchadmin_permission_id
                LEFT JOIN orchadmin_resources oar ON oap.orchadmin_resource_id = oar.orchadmin_resource_id 
                LEFT JOIN orchadmin_privileges oapriv ON oapriv.orchadmin_privilege_id = oap.orchadmin_privilege_id
              WHERE oa.id=orchadmin_user_id AND oar.resource=resource;
            END;;
        </sql>
        <rollback>
          <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            USE art_relations;;            

            DROP PROCEDURE IF EXISTS `sp_get_orchadmin_user_privileges`;;
          </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
