From d1dcdcfe914222e0d55d69dd710d744770e9f9a1 Mon Sep 17 00:00:00 2001 From: Steffen Jost Date: Mon, 10 Feb 2025 17:37:14 +0100 Subject: [PATCH] fix(avs): updateReceivers should not re-insert formerly known receivers --- src/Handler/Utils/Avs.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Handler/Utils/Avs.hs b/src/Handler/Utils/Avs.hs index a1db5a6d6..1cd23055d 100644 --- a/src/Handler/Utils/Avs.hs +++ b/src/Handler/Utils/Avs.hs @@ -175,7 +175,7 @@ updateReceivers :: UserId -> Handler (Entity User, [Entity User], Bool) updateReceivers uid = do -- First perform AVS update for receiver runDBRead (getBy (UniqueUserAvsUser uid)) >>= \case - Just Entity{entityVal=UserAvs{userAvsPersonId = apid}} -> catchAll2log $ upsertAvsUserById apid + Just Entity{entityVal=UserAvs{userAvsPersonId = apid}} -> catchAll2log $ runDB $ updateAvsUserById apid Nothing -> return () -- Retrieve updated user and supervisors now (underling :: Entity User, avsSupers :: [(E.Value UserId, E.Value (Maybe AvsPersonId))]) <- runDBRead $ (,) @@ -193,7 +193,7 @@ updateReceivers uid = do receiverIDs :: [UserId] = E.unValue <$> superVs toUpdate = Set.fromList $ mapMaybe E.unValue avsIds directResult = return (underling, pure underling, True) -- already contains updated address - forM_ toUpdate (catchAll2log . upsertAvsUserById) -- attempt to update postaddress from AVS + runDB $ forM_ toUpdate (catchAll2log . updateAvsUserById) -- attempt to update postaddress from AVS if null receiverIDs then directResult else do