chore(avs): add more debug message for company updates failing
This commit is contained in:
parent
9814712c61
commit
ea0fa9a3fa
@ -573,6 +573,7 @@ getAvsCompany afi =
|
||||
upsertAvsCompany :: AvsFirmInfo -> Maybe AvsFirmInfo -> DB (Entity Company)
|
||||
upsertAvsCompany newAvsFirmInfo mbOldAvsFirmInfo = do
|
||||
mbFirmEnt <- getAvsCompany newAvsFirmInfo -- primarily by AvsId, then Shorthand, then name
|
||||
$logInfoS "AVS" [st|upsertAvsCompany: old #{tshow mbFirmEnt} new #{tshow newAvsFirmInfo}|]
|
||||
case (mbFirmEnt, mbOldAvsFirmInfo) of
|
||||
(Nothing, _) -> do -- insert new company, neither AvsId, Shorthand or Name are known to exist
|
||||
let upd = flip updateRecord newAvsFirmInfo
|
||||
@ -583,23 +584,30 @@ upsertAvsCompany newAvsFirmInfo mbOldAvsFirmInfo = do
|
||||
, companyPrefersPostal = True
|
||||
, companyPostAddress = newAvsFirmInfo ^. _avsFirmPostAddress
|
||||
, companyEmail = newAvsFirmInfo ^? _avsFirmPrimaryEmail . _Just . from _CI
|
||||
}
|
||||
newCmp <- insertEntity $ foldl' upd dmy $ firmInfo2key : firmInfo2companyUniques <> firmInfo2company
|
||||
}
|
||||
cmp = foldl' upd dmy $ firmInfo2key : firmInfo2companyUniques <> firmInfo2company
|
||||
$logInfoS "AVS" $ "Insert new company: " <> tshow cmp
|
||||
newCmp <- insertEntity cmp
|
||||
reportAdminProblem $ AdminProblemNewCompany $ entityKey newCmp
|
||||
$logInfoS "AVS" "Insert new company completed."
|
||||
return newCmp
|
||||
|
||||
(Just Entity{entityKey=firmid, entityVal=firm}, oldAvsFirmInfo) -> do -- possibly update existing company, if isJust oldAvsFirmInfo and changed occurred
|
||||
let cmp_ups = mapMaybe (mkUpdate' firm newAvsFirmInfo oldAvsFirmInfo) firmInfo2company
|
||||
key_ups = mkUpdate' firm newAvsFirmInfo oldAvsFirmInfo firmInfo2key
|
||||
uniq_ups <- maybeMapM (mkUpdateCheckUnique' firm newAvsFirmInfo oldAvsFirmInfo) firmInfo2companyUniques
|
||||
$logInfoS "AVS" [st|Update company #{companyShorthand firm}: #{tshow (length cmp_ups)}, #{tshow (length key_ups)}, #{tshow (length uniq_ups)} for #{tshow newAvsFirmInfo}|]
|
||||
res_cmp <- updateGetEntity firmid $ cmp_ups <> uniq_ups
|
||||
case key_ups of
|
||||
Nothing -> return res_cmp
|
||||
Nothing -> do
|
||||
$logInfoS "AVS" "Update new company completed."
|
||||
return res_cmp
|
||||
Just key_up -> do
|
||||
let compId = res_cmp ^. _entityVal . _companyAvsId
|
||||
uniq_cmp = if compId > 0 then UniqueCompanyAvsId compId
|
||||
else UniqueCompanyName $ res_cmp ^. _entityVal . _companyName
|
||||
updateBy uniq_cmp [key_up] -- this is ok, since we have OnUpdateCascade on all CompanyId entries
|
||||
$logInfoS "AVS" "Update new company completed."
|
||||
maybeM (return res_cmp) return $ getBy uniq_cmp
|
||||
|
||||
where
|
||||
|
||||
Loading…
Reference in New Issue
Block a user