chore(lms): filter lms by qualification id

This commit is contained in:
Steffen Jost 2023-06-02 09:28:34 +00:00
parent a5dff16d35
commit 798a4bdf0a

View File

@ -93,16 +93,16 @@ dispatchJobLmsEnqueue qid = JobHandlerAtomic act
dispatchJobLmsEnqueueUser :: QualificationId -> UserId -> JobHandler UniWorX
dispatchJobLmsEnqueueUser qid uid = JobHandlerAtomic act
where
where
act :: YesodJobDB UniWorX ()
act = do
identsInUseVs <- E.select $ do
lui <- E.from $
( (E.^. LmsUserlistIdent) <$> E.from (E.table @LmsUserlist) )
do { u <- E.from (E.table @LmsUserlist); E.where_ (u E.^. LmsUserlistQualification E.==. E.val qid); pure (u E.^. LmsUserlistIdent) }
`E.union_`
( (E.^. LmsResultIdent) <$> E.from (E.table @LmsResult) )
do { u <- E.from (E.table @LmsResult ); E.where_ (u E.^. LmsResultQualification E.==. E.val qid); pure (u E.^. LmsResultIdent) }
`E.union_`
( (E.^. LmsUserIdent) <$> E.from (E.table @LmsUser) )
do { u <- E.from (E.table @LmsUser ); E.where_ (u E.^. LmsUserQualification E.==. E.val qid); pure (u E.^. LmsUserIdent) }
E.orderBy [E.asc lui]
pure lui
now <- liftIO getCurrentTime