Improve error handling for Xero linking

This commit is contained in:
Rene Vergara 2022-09-08 10:36:55 -05:00
parent 26b14246e1
commit ec4fcd3fc8
Signed by: pitmutt
GPG key ID: 65122AD495A7F5B2
2 changed files with 9 additions and 4 deletions

View file

@ -356,9 +356,13 @@ getTenantId pipe dbName t = do
setRequestMethod "GET" defaultRequest setRequestMethod "GET" defaultRequest
res <- httpJSON req res <- httpJSON req
let tenants = getResponseBody (res :: Response [XeroTenant]) let tenants = getResponseBody (res :: Response [XeroTenant])
--print tenants print tenants
_ <- access pipe master dbName $ setTenant (t_address t) (head tenants) if not (null tenants)
return () then do
_ <-
access pipe master dbName $ setTenant (t_address t) (head tenants)
return ()
else error "Couldn't find tenant ID"
_ -> error "Incorrect type for authorization_event_id" _ -> error "Incorrect type for authorization_event_id"
-- | Update an Owner with XeroTenant id -- | Update an Owner with XeroTenant id

View file

@ -548,7 +548,8 @@ routes pipe config = do
Nothing -> status noContent204 Nothing -> status noContent204
Just c -> do Just c -> do
res <- res <-
liftIO $ requestXeroToken pipe (c_dbName config) c code address liftAndCatchIO $
requestXeroToken pipe (c_dbName config) c code address
if res if res
then status ok200 then status ok200
else status noContent204 else status noContent204