chore(add-users): audit tutorial participant edit

This commit is contained in:
Sarah Vaupel 2022-12-13 20:16:53 +01:00
parent b1161f27d0
commit a4fc235ed4
2 changed files with 14 additions and 4 deletions

View File

@ -112,6 +112,17 @@ data Transaction
{ transactionTutorial :: TutorialId
}
| TransactionTutorialParticipantEdit
{ transactionTutorial :: TutorialId
, transactionTutorialParticipant :: TutorialParticipantId
, transactionUser :: UserId
}
| TransactionTutorialParticipantDelete
{ transactionTutorial :: TutorialId
, transactionTutorialParticipant :: TutorialParticipantId
, transactionUser :: UserId
}
| TransactionExternalExamEdit
{ transactionExternalExam :: ExternalExamId
}

View File

@ -287,10 +287,9 @@ upsertNewTutorial cid tutorialName = do
registerTutorialMembers :: TutorialId -> Set UserId -> Handler ()
registerTutorialMembers tutId (Set.toList -> users) = runDB $ do
prevParticipants <- fmap Set.fromList $ selectList [TutorialParticipantUser <-. users, TutorialParticipantTutorial ==. tutId] []
participants <- fmap Set.fromList . for users $ \tutorialParticipantUser -> upsert
TutorialParticipant { tutorialParticipantTutorial = tutId, .. }
[]
-- TODO: audit
participants <- fmap Set.fromList . for users $ \tutorialParticipantUser -> do
tutPartId <- upsert TutorialParticipant { tutorialParticipantTutorial = tutId, .. } []
audit $ TransactionTutorialParticipantEdit tutId tutPartId tutorialParticipantUser
let newParticipants = participants Set.\\ prevParticipants
unless (Set.null newParticipants) $
addMessageI Success . MsgCourseParticipantsRegisteredTutorial $ Set.size newParticipants