Skip to content

VS Broker Sync Flow

---
config:
    theme: redux
    title: VS to BrokerStock
---
graph TD

    Autoline -- Autoline VS Data --> QlikLoad
    subgraph Source Data Extraction
        QlikLoad@{shape: circle, label: "Qlik Loads Data"} -- VS Data in Memory --> 
        QlikStore@{shape: circle, label: "Qlik Saves Data"} -- VS Data CSV On Qlik Server (VSDatas_{dealername}.csv) -->
        QlikServer@{shape: lin-rect, label: "Qlik Server \n [azftp/Broker App Data/]"} 
    end

    subgraph Sync Files on Azure
        QlikServer -- VSDatas_{dealername}.csv on Qlik -->
        AzureSync@{shape: circle, label: "Azure Storage Sync Services \n (qlik-sync)"} -- VSDatas_{dealername}.csv On Azure -->
        AzureStorage@{shape: lin-rect, label: "Azure File Share [tqiplatformac65/qlik-csv/Broker App Data/]"}
    end

    subgraph Sync Data Function
      AzureStorage -- New (source) VSDatas_{dealername}.csv --> 
      CompareCSVFiles@{shape: circle, label: "Compare Source and \n Destination CSV files \n tiq-sync-data-functions/\nTBP_SyncVSDatas_{dealername}"} 
      DestinationCSVFile@{shape: lin-rect, label: "Azure File Share [tqiplatformac65/csv-sync-destination/TBP/]"} -- Existing (destination) VSDatas_{dealername}.csv --> 
      CompareCSVFiles -- The Difference of VS Data Data in Memory -->
      SyncToCosmos@{shape: circle, label: "Sync to \n Cosmos DB"} -- Broker Stock Records -->
      RecordsInTBPDataInCosmos@{shape: lin-rect, label: "Cosmos DB \n [TBP/BrokerStock ('VehilceEntries' propery)]"} -->
      CheckSyncStatus@{shape: circle, label: "Check Cosmos \n Sync Status"} -- True -->
      OverwriteDestinationCSVFile@{shape: circle, label: "Override \n Destination \n CSV File"}
      OverwriteDestinationCSVFile -- VSDatas_{dealername}.csv --> DestinationCSVFile
      CompareCSVFiles -- New (source) VSDatas_{dealername}.csv --> OverwriteDestinationCSVFile
    end