<?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="ngaikwad">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
            INSERT INTO orchadmin_roles (orchadmin_role) VALUES ('Impersonate');;
            SELECT @roleId:=LAST_INSERT_ID();;
            INSERT INTO orchadmin_privileges (privilege) VALUES ('Workstation Login');;
            SELECT @privilegeId:=LAST_INSERT_ID();;
            SET @resource_id:= (SELECT orchadmin_resource_id FROM `orchadmin_resources` WHERE resource = 'user');;
            INSERT INTO orchadmin_permissions (orchadmin_resource_id, orchadmin_privilege_id, description) 
            VALUES (@resource_id, @privilegeId, 'Workstation Login');;
            SELECT @permissionId:=LAST_INSERT_ID();;
            INSERT INTO orchadmin_role_permissions (orchadmin_permission_id, orchadmin_role_id, allow) 
            VALUES (@permissionId, @roleId, 'Y');;
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">
                DELETE FROM orchadmin_role_permissions WHERE orchadmin_role_id IN 
                    (SELECT orchadmin_role_id FROM orchadmin_roles WHERE orchadmin_role = 'Impersonate');;
                DELETE FROM orchadmin_permissions WHERE description = 'Workstation Login';;
                DELETE FROM orchadmin_privileges WHERE privilege = 'Workstation Login';;
                DELETE FROM orchadmin_roles WHERE orchadmin_role = 'Impersonate';;
            </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
