<?xml version="1.0" encoding="UTF-8"?>
<changelog xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="./schema.xsd">
    <changeset id="TAP-1100-grant-access-to-abacus:1" author="vsvirskyi" run-always="true">
        <cypherquery>
            <![CDATA[
                UNWIND [
                    "30ec9e58-2b1f-4632-a395-f0a01e0af810",
                    "0ec4ffa7-0850-48da-ad71-97377ffa6b6a",
                    "d137f64a-f7ae-47cc-bd90-62fb87ba957a",
                    "5e6b9d9d-3488-41b6-abe2-9e32980c283c",
                    "3d10b832-7c34-4715-8a8e-4a1b9a9f566b",
                    "ff276516-8874-4a7e-9810-60a7149abc5b"
                ] AS identity
                CALL {
                    WITH identity
                    MATCH (v:Vendor {id: '*'})
                    MATCH (i:Identity {id: identity})
                    MERGE (inc:IncrementId {nodeName: 'Profile'})
                        ON CREATE SET
                            inc.id = 2
                        ON MATCH SET
                            inc.id = inc.id + 1
                    MERGE (i)-[hp:HAS_PROFILE]->(p:Profile {profileType: 'AbacusProfile'})
                        ON CREATE SET
                            p.createdAt = datetime(),
                            p.uuid = apoc.create.uuid(),
                            p.profileId = inc.id - 1,
                            p.profileName = i.name,
                            p.fullCatalogAccess = true,
                            p.roles = ['administrator']
                        SET
                            p.updatedBy = 'database/TAP-1100-grant-access',
                            p.updatedOn = datetime(),
                            p.lastModifiedAt = datetime(),
                            p.lastModifiedBy = 'database/TAP-1100-grant-access',
                            hp.createdAt = datetime(),
                            hp.updatedBy = 'database/TAP-1100-grant-access',
                            hp.updatedOn = datetime()
                        MERGE (p)-[hat:HAS_ACCESS_TO]->(v)
                        SET
                            hat.createdAt = datetime(),
                            hat.updatedOn = datetime(),
                            hat.updatedBy = 'database/TAP-1100-grant-access'
                }
                RETURN TRUE;
            ]]>
        </cypherquery>
    </changeset>
</changelog>