{
  "Comment": "Synchronizes addressbase premium properties with wmfs gazetteer.",
  "version": "1.0",
  "StartAt": "SynchronizingTable",
  "States": {
    "SynchronizingTable": {
      "Type": "Task",
      "InputPath": "$.outputDir",
      "Resource": "module:synchronizingTable",
      "ResourceConfig": {
        "transformerFunctionName": "wmfs_addressbaseConverter",
        "source": {
          "tableName": "ordnance_survey.addressbase_premium_holding",
          "hashSumColumnName": "hash_sum"
        },
        "target": {
          "tableName": "wmfs.gazetteer",
          "hashSumColumnName": "origin_hash_sum",
          "where": {
            "data_source": { "equals": "OrdnanceSurvey" }
          }
        },
        "join": {
          "uprn": "uprn",
          "counter": "counter"
        }
      },
      "Next": "ProcessConflicts"
    },
    "ProcessConflicts": {
      "Type": "Task",
      "Resource": "function:ordnanceSurvey_importConflictConvertor",
      "Parameters": {
        "tableName": "wmfs.gazetteer",
        "syncDir.$": "$.outputDir"
      },
      "Next": "InsertConflictsIntoRewind"
    },
    "InsertConflictsIntoRewind": {
      "Type": "Task",
      "InputPath": "$.rewindDir",
      "Resource": "module:importingCsvFiles",
      "ResourceConfig": {
        "headerColumnNamePkPrefix": ".",
        "topDownTableOrder": [
          "rewind"
        ],
        "schemaName": "tymly",
        "quote": "'",
        "truncateTables": false
      },
      "End": true
    }
  },
  "restrictions": [
    {
      "roleId": "$authenticated",
      "allows": [
        "*"
      ]
    }
  ]
}
