diff --git a/src/Config.hs b/src/Config.hs index 6095b74..93ff80d 100644 --- a/src/Config.hs +++ b/src/Config.hs @@ -29,6 +29,7 @@ data TransaqConnectorConfig = TransaqConnectorConfig { account :: T.Text, transaqLogin :: T.Text, transaqPassword :: T.Text, + transaqNewPassword :: T.Text, transaqHost :: T.Text, transaqPort :: Int, transaqLogPath :: FilePath, diff --git a/src/TXMLConnector/Internal.hs b/src/TXMLConnector/Internal.hs index 3444202..6113233 100644 --- a/src/TXMLConnector/Internal.hs +++ b/src/TXMLConnector/Internal.hs @@ -427,12 +427,12 @@ handleConnected = do case v of Left result -> do case headMay (parseXML result) >>= parseContent of - Just (TransaqResponseResult (ResponseSuccess (Just transactionId))) -> do + Just (TransaqResponseResult (ResponseSuccess (Just transactionId'))) -> do brState <- asks brokerState respVar <- asks responseVar liftIO $ atomically $ do modifyTVar' (bsOrderMap brState) (M.insert (orderId order) order) - modifyTVar' (bsOrderTransactionIdMap brState) (BM.insert (orderId order) (TransactionId transactionId)) + modifyTVar' (bsOrderTransactionIdMap brState) (BM.insert (orderId order) (TransactionId transactionId')) resp <- readTMVar respVar putTMVar resp ResponseOrderSubmitted maybeCb <- liftIO $ readTVarIO (bsNotificationCallback brState) @@ -442,7 +442,7 @@ handleConnected = do liftIO $ cb notif _ -> pure () log Debug "TXMLConnector.WorkThread" $ "Inserting orderid: " <> - (T.pack . show) (orderId order) <> " <-> " <> (T.pack . show) transactionId + (T.pack . show) (orderId order) <> " <-> " <> (T.pack . show) transactionId' Just (TransaqResponseResult (ResponseFailure err)) -> do brState <- asks brokerState log Debug "TXMLConnector.WorkThread" $ "Order submission failure: " <> err @@ -515,8 +515,9 @@ handleGetInfo = do pure $ Just StageConnection Transaq.Connected -> do log Info "TXMLConnector.WorkThread" "Server connected" - void $ sendCommand $ toXml $ - CommandChangePass (transaqPassword cfg) "goobaka12" + when (transaqPassword cfg /= transaqNewPassword cfg) $ + void $ sendCommand $ toXml $ + CommandChangePass (transaqPassword cfg) (transaqNewPassword cfg) v <- makeSubscriptions cfg case v of Left _ -> do