<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="
            http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">

    <!-- Update class name for existing Person in database for FOIA -->
    <changeSet id="38-foia-acm_person-update-cm-class-name" author="ana.serafmoska"
               logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <update tableName="acm_person">
            <column name="cm_class_name" value="gov.foia.model.FOIAPerson"/>
            <where>cm_class_name = "com.armedia.acm.plugins.person.model.Person"</where>
        </update>
    </changeSet>

    <changeSet id="39-update-request-legacy-data" author="vladimir.cherepnalkovski"
               logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_ttc_on_last_redirection = 20, fo_perfected_date = fo_received_date,
            cm_case_modified = NOW() WHERE fo_ttc_on_last_redirection IS NULL
        </sql>
    </changeSet>

    <changeSet id="40-update-redirected-legacy-data" author="vladimir.cherepnalkovski"
               logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_redirected_date = fo_perfected_date,
            cm_case_modified = NOW() WHERE fo_request_type= 'New Request'
        </sql>
    </changeSet>

    <changeSet id="41-update-appeals-perfected-date" author="vladimir.cherepnalkovski"
               logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_perfected_date = fo_received_date,
            cm_case_modified = NOW() WHERE fo_request_type= 'Appeal'
        </sql>
    </changeSet>
    <changeSet id="1-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$25' WHERE fo_pay_fee= '$25.00'</sql>
    </changeSet>
    <changeSet id="2-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$55' WHERE fo_pay_fee= '$55.00'</sql>
    </changeSet>
    <changeSet id="3-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$75' WHERE fo_pay_fee= '$75.00'</sql>
    </changeSet>
    <changeSet id="4-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$100' WHERE fo_pay_fee= '$100.00'</sql>
    </changeSet>
    <changeSet id="5-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$125' WHERE fo_pay_fee= '$125.00'</sql>
    </changeSet>
    <changeSet id="6-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$150' WHERE fo_pay_fee= '$150.00'</sql>
    </changeSet>
    <changeSet id="7-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$175' WHERE fo_pay_fee= '$175.00'</sql>
    </changeSet>
    <changeSet id="8-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$200' WHERE fo_pay_fee= '$200.00'</sql>
    </changeSet>
    <changeSet id="9-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$225' WHERE fo_pay_fee= '$225.00'</sql>
    </changeSet>
    <changeSet id="10-update-pay-fees" author="mario.gjurcheski"
        logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <sql>UPDATE acm_case_file SET fo_pay_fee = '$250' WHERE fo_pay_fee= '$250.00'</sql>
    </changeSet>
    <changeSet id="11-set-role-for-portal-person" author="ncuculova">
        <sql>
            UPDATE acm_person SET fo_portal_role='PENDING_USER' WHERE cm_person_id IN
            (SELECT cm_person_id FROM acm_foia_person_portal_roles);

            UPDATE acm_person SET fo_portal_role='REGISTERED_USER' WHERE cm_person_id in
            (SELECT cm_person_id FROM acm_foia_person_portal_roles WHERE cm_user_role='REGISTERED_USER');

            UPDATE acm_person SET fo_portal_role='REJECTED_USER' WHERE cm_person_id in
            (SELECT cm_person_id FROM acm_foia_person_portal_roles WHERE cm_user_role='REJECTED_USER');
        </sql>
    </changeSet>
    <changeSet id="12-set-role-where-null-for-portal-person" author="ncuculova">
        <sql>
            UPDATE acm_person SET fo_portal_role='PENDING_USER' WHERE cm_class_name='gov.foia.model.PortalFOIAPerson'
            AND fo_portal_role IS NULL;
        </sql>
    </changeSet>

    <changeSet id="13-foia-acm_person-update-cm_class_name-and-cm_person_title" author="ana.serafimoska"
               logicalFilePath="/ddl/sql/foia-request-db-sql-1.0.xml">
        <update tableName="acm_person">
            <column name="cm_class_name" value="gov.foia.model.FOIAPerson"/>
            <where>cm_class_name = "com.armedia.acm.plugins.person.model.Person"</where>
        </update>
        <update tableName="acm_person">
            <column name="cm_person_title" value="-"/>
            <where>cm_person_title is null</where>
        </update>
    </changeSet>

    <changeSet id="14-change-cm-case-file-datetime" author="marija.blazhevska">
        <modifyDataType tableName="acm_case_file" columnName="fo_disposition_closed_date" newDataType="DATETIME"/>
        <modifyDataType tableName="acm_case_file" columnName="fo_expedite_date" newDataType="DATETIME"/>
        <modifyDataType tableName="acm_case_file" columnName="fo_feeWaived_date" newDataType="DATETIME"/>
        <modifyDataType tableName="acm_case_file" columnName="fo_redirected_date" newDataType="DATETIME"/>
    </changeSet>

    <changeSet id="15-setting-made-public-date-to-public-files" author="martin.jovanovski">
        <sql>
            UPDATE acm_file SET fo_made_public_date=cm_file_modified WHERE fo_public_flag LIKE 'true' AND fo_made_public_date IS NULL;
        </sql>
    </changeSet>

</databaseChangeLog>

