chore(avs): ensure audit log usage for avs problem resolution

This commit is contained in:
Steffen Jost 2023-01-18 18:04:30 +01:00
parent 06f283be7e
commit 53499fd637

View File

@ -388,29 +388,13 @@ getProblemAvsSynchR = do
let no_req = Set.size apids
mkind = if oks < no_req then Warning else Success
addMessageI mkind $ MsgAvsSetLicences aLic oks no_req
redirect ProblemAvsSynchR -- reload to update all tables
procRes alic (LicenceTableRevokeFDriveData, apids) = do
redirect ProblemAvsSynchR -- reload to update all tables
procRes alic (LicenceTableRevokeFDriveData, selectedUsers) = do
runDB $ do
qId <- getKeyBy404 $ UniqueQualificationAvsLicence $ Just alic
uas <- selectList [UserAvsPersonId <-. Set.toList apids] []
let uids = view _userAvsUser <$> uas
endday = pred nowaday
crits = [QualificationUserQualification ==. qId, QualificationUserUser <-. uids]
oks <- fromIntegral <$> updateWhereCount crits [QualificationUserValidUntil =. endday, QualificationUserLastRefresh =. nowaday]
qus <- selectList crits []
forM_ qus $ \qu ->
audit TransactionQualificationUserEdit
{ transactionQualificationUser = qu ^. _entityKey
, transactionQualification = qId -- qu ^. _qualificationUserQualification
, transactionUser = qu ^. _qualificationUserUser
, transactionQualificationValidUntil = endday -- qu ^. _qualificationUserValidUntil
}
if oks /= length qus || oks /= Set.size apids
then do
$logErrorS "AVS" $ "Revoke FRADrive licences discrepancy! Requested: " <> tshow (Set.size apids) <> " Updated: " <> tshow oks <> " Found: " <> tshow (length qus)
liftHandler $ addMessageI Error $ MsgRevokeFraDriveLicences alic oks
else
liftHandler $ addMessageI Success $ MsgRevokeFraDriveLicences alic oks
qId <- getKeyBy404 $ UniqueQualificationAvsLicence $ Just alic
forM_ selectedUsers $ upsertQualificationUser qId nowaday $ pred nowaday
addMessageI Success $ MsgRevokeFraDriveLicences alic oks
redirect ProblemAvsSynchR -- must be outside runDB
procRes _alic (LicenceTableGrantFDriveData{..}, apids ) = do