<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
                   xmlns:neo4j="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-latest.xsd">
    <changeSet id="WAR-2219_add_vendor_star_access:1" author="menger">
        <neo4j:cypher>
            <![CDATA[
                MATCH (identity:Identity {email: 'piannone@sonymusic-pde.com'})
                MERGE (increment:IncrementId {nodeName: 'Profile'})
                    ON CREATE SET increment.id = 2
                    ON MATCH SET increment.id = increment.id + 1
                CREATE (profile:Profile {
                    profileId: (increment.id),
                    profileType: 'MoneyhubProfile',
                    profileName: identity.name,
                    brand: identity.defaultBrand,
                    fullCatalogAccess: true,
                    roles: ['accounting'],
                    uuid: apoc.create.uuid(),
                    createdAt: datetime(),
                    lastModifiedAt: datetime(),
                    createdBy: 'database/WAR-2243_add_vendor_star_access:1',
                    lastModifiedBy: 'database/WAR-2243_add_vendor_star_access:1'
                })
                MERGE (identity)-[:HAS_PROFILE]->(profile)
                WITH profile
                MATCH (vendor:Vendor {id: '*'})
                MERGE (profile)-[:HAS_ACCESS_TO]->(vendor)
            ]]>
        </neo4j:cypher>
    </changeSet>

    <changeSet id="WAR-2219_add_vendor_star_access:2" author="menger">
        <neo4j:cypher>
            <![CDATA[
                MATCH (identity:Identity {email: 'mbalan@sonymusic-pde.com'})
                MERGE (increment:IncrementId {nodeName: 'Profile'})
                    ON CREATE SET increment.id = 2
                    ON MATCH SET increment.id = increment.id + 1
                CREATE (profile:Profile {
                    profileId: (increment.id),
                    profileType: 'MoneyhubProfile',
                    profileName: identity.name,
                    brand: identity.defaultBrand,
                    fullCatalogAccess: true,
                    roles: ['accounting'],
                    uuid: apoc.create.uuid(),
                    createdAt: datetime(),
                    lastModifiedAt: datetime(),
                    createdBy: 'database/WAR-2243_add_vendor_star_access:2',
                    lastModifiedBy: 'database/WAR-2243_add_vendor_star_access:2'
                })
                MERGE (identity)-[:HAS_PROFILE]->(profile)
                WITH profile
                MATCH (vendor:Vendor {id: '*'})
                MERGE (profile)-[:HAS_ACCESS_TO]->(vendor)
            ]]>
        </neo4j:cypher>
    </changeSet>

    <changeSet id="WAR-2219_add_vendor_star_access:3" author="menger">
        <neo4j:cypher>
            <![CDATA[
                MATCH (identity:Identity {email: 'juliana.gomez@awal.com'})
                MERGE (increment:IncrementId {nodeName: 'Profile'})
                    ON CREATE SET increment.id = 2
                    ON MATCH SET increment.id = increment.id + 1
                CREATE (profile:Profile {
                    profileId: (increment.id),
                    profileType: 'MoneyhubProfile',
                    profileName: identity.name,
                    brand: identity.defaultBrand,
                    fullCatalogAccess: true,
                    roles: ['accounting'],
                    uuid: apoc.create.uuid(),
                    createdAt: datetime(),
                    lastModifiedAt: datetime(),
                    createdBy: 'database/WAR-2243_add_vendor_star_access:3',
                    lastModifiedBy: 'database/WAR-2243_add_vendor_star_access:3'
                })
                MERGE (identity)-[:HAS_PROFILE]->(profile)
                WITH profile
                MATCH (vendor:Vendor {id: '*'})
                MERGE (profile)-[:HAS_ACCESS_TO]->(vendor)
            ]]>
        </neo4j:cypher>
    </changeSet>
</databaseChangeLog>
