Public/compare-AllegisIDNtransforms.ps1

function compare-AllegisIDNtransforms ($sourceOrg,$destOrg,$sourceAccessToken,$destAccessToken,$mapping,$change=$false){
    $sourcetransforms=get-AllegisIDNtransform -orgName $sourceOrg -accessToken $sourceAccessToken
    $desttransforms=get-AllegisIDNtransform -orgName $destOrg -accessToken $destAccessToken
    $converted=@()
    foreach ($transform in $sourcetransforms.items){
        $temp=$transform | convertto-json -Depth 100
        foreach ($map in $mapping.GetEnumerator()){
            $temp=$temp -replace $map.name , $map.value
        }
        $converted+=$temp     
    }
    $sources=get-AllegisIDNsource -orgName $destOrg -accessToken $destAccessToken

    foreach ($transform in $converted){
        $pstransform=$transform | ConvertFrom-Json
        $strArray=($transform -split '\r?\n').Trim()
        foreach ($line in $strArray.where{$_ -like "*sourceName*"}){
            $name=$line -replace  '"sourceName":', ''
            $name=($name -replace '"','').trim()
            if ($name -notin $sources.name){write-warning "destination missing $name"}
        }
        $destps=$desttransforms.items.where{$_.id -eq $pstransform.id}
        $destjson=$destps | convertto-json -Depth 100
        if ($destjson -eq $null){
            "$($pstransform.id) - new-AllegisIDNtransform -orgName $destOrg -accessToken `$destAccessToken -transform `$transform"
            if ($change){
                $confirmation = Read-Host "Are you Sure You Want To Proceed:"
                if ($confirmation -eq 'y') {
                    new-AllegisIDNtransform -orgName $destOrg -accessToken $destAccessToken -transform $transform
                }                
            }
        }else{
            $diff=Compare-Object $transform $destjson
            if ($diff -ne $null){
                "$($pstransform.id) - update-AllegisIDNtransform -orgName $destOrg -accessToken `$destAccessToken -name '$($pstransform.id)' -transform `$transform"
                if ($change){
                    #$transform
                    $confirmation = Read-Host "Are you Sure You Want To Proceed:"
                    if ($confirmation -eq 'y') {
                        update-AllegisIDNtransform -orgName $destOrg -accessToken $destAccessToken -name "$($pstransform.id)" -transform $transform
                    }
                }
            }
        }
        #$destjson=$transform | convertto-json -Depth 100
    }
}