<?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="rpapat">
        <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">        
            USE art_relations;;

            SET @resource_name = 'youtubereports';;

            -- Create the resource(s) if it doesn't already exist
            INSERT INTO `orchadmin_resources` (`resource`)
            SELECT * FROM (SELECT @resource_name) AS tmp
            WHERE NOT EXISTS (
              SELECT `orchadmin_resource_id` FROM `orchadmin_resources` WHERE `resource` = @resource_name
            ) LIMIT 1;;
            SET @orchadmin_resource_id = (
              SELECT `orchadmin_resource_id` FROM `orchadmin_resources` WHERE`resource` = @resource_name LIMIT 1
            );;
            
            INSERT INTO orchadmin_privileges (privilege) VALUES ('generateyoutubereport');;
            SET @privilegeId = LAST_INSERT_ID();;

            INSERT INTO orchadmin_permissions (orchadmin_resource_id, orchadmin_privilege_id, description)
            VALUES (@orchadmin_resource_id, @privilegeId, 'Generate Youtube Reports');;
            
            INSERT INTO orchadmin_privileges (privilege) VALUES ('downloadyoutubereport');;
            SET @privilegeId = LAST_INSERT_ID();;

            INSERT INTO orchadmin_permissions (orchadmin_resource_id, orchadmin_privilege_id, description)
            VALUES (@orchadmin_resource_id, @privilegeId, 'Download Youtube Reports from S3');;                                
        </sql>
        <rollback>
            <sql dbms="mysql" endDelimiter=";;" splitStatements="true" stripComments="true">

                USE art_relations;;

                SET @resource_name = 'youtubereports';;

                SET @orchadmin_resource_id = (SELECT orchadmin_resource_id FROM orchadmin_resources 
                WHERE resource = @resource_name);;                
                DELETE FROM orchadmin_resources WHERE orchadmin_resource_id = @orchadmin_resource_id;;
                
                SET @privilegeId = (SELECT orchadmin_privilege_id FROM orchadmin_privileges WHERE privilege = "generateyoutubereport");;
                DELETE FROM orchadmin_permissions WHERE orchadmin_resource_id = @orchadmin_resource_id AND orchadmin_privilege_id = @privilegeId;;
                DELETE FROM orchadmin_privileges WHERE privilege = 'generateyoutubereport';;  

                SET @privilegeId = (SELECT orchadmin_privilege_id FROM orchadmin_privileges WHERE privilege = "downloadyoutubereport");;
                DELETE FROM orchadmin_permissions WHERE orchadmin_resource_id = @orchadmin_resource_id AND orchadmin_privilege_id = @privilegeId;;
                DELETE FROM orchadmin_privileges WHERE privilege = 'downloadyoutubereport';;
            </sql>
        </rollback>
    </changeSet>
</databaseChangeLog>
