<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:/var/app/InputFileSchema.xsd">
    <changeset id="SR-14_sync_deleted_assets:1" author="pdumoulin" run-always="true">
        <precondition>
            <sqlquery>
                <![CDATA[
                    SELECT 
                        track_unique_id AS tuid,
                        OA_ASSET_ID AS neo_asset_id
                    FROM (
                        SELECT 
                            oa.ID as OA_ASSET_ID,
                            au.id,
                            au.TRACK_UNIQUE_ID,
                            CONCAT_WS('.', oa.FILENAME, oa.EXTENSION) AS neo_filename,
                            af.FILENAME AS ows_filename
                        FROM facts.prod.HAS_ASSET AS ha 
                        JOIN facts.prod.ORCHARD_ASSET AS oa 
                            ON oa.ID = ORCHARD_ASSET_ID
                            AND oa."SOURCE" = 'ows-assets-db'
                        JOIN ORCHARD_APP_REPORTING_V2.PROD_OWS_ASSETS_OWS_ASSETS.ASSET_UPLOAD AS au 
                            ON ha.ORCHARD_TRACK_ID = au.TRACK_UNIQUE_ID
                            AND au.API_VERSION = 2
                            AND au.DELETED = 1
                            AND TIMEDIFF(MINUTE, au.UPDATED_TIMESTAMP, CURRENT_TIMESTAMP()) > 120
                        JOIN ORCHARD_APP_REPORTING_V2.PROD_OWS_ASSETS_OWS_ASSETS.ASSET_FINAL AS af 
                            ON au.ID = af.ASSET_UPLOAD_ID
                            AND af.ASSET_TYPE = 'FLAC'
                        WHERE
                            neo_filename = ows_filename
                    )
                    ;
               ]]>
            </sqlquery>
        </precondition>
        <cypherquery>
            <![CDATA[
                MATCH(tr:Track)-[rel:HAS_ASSET]->(oa:OrchardAsset)
                WHERE tr.id = toInteger(event.TUID)
                AND oa.id = event.NEO_ASSET_ID
                CALL apoc.refactor.setType(rel, 'DELETED_HAS_ASSET')
                YIELD output
                RETURN output
            ;
            ]]>
        </cypherquery>
    </changeset>
</changelog>
