chore: only write favourites to db when userMaxFavourites>0

This commit is contained in:
Wolfgang Witt 2021-04-06 11:24:41 +02:00 committed by Gregor Kleen
parent 0556b769cf
commit 942c8bd59d

View File

@ -184,11 +184,9 @@ updateFavourites cData = void . withReaderT projectBackend . runMaybeT $ do
mcid <- (for cData $ \(tid, ssh, csh) -> MaybeT . getKeyBy $ TermSchoolCourseShort tid ssh csh) :: MaybeT (SqlPersistT m) (Maybe CourseId)
User{userMaxFavourites} <- MaybeT $ get uid
-- TODO optimize for `userMaxFavourites == 0`
-- no need to store (upsert?) them, since they will be removed in the pruning step anyway!
-- update Favourites
for_ mcid $ \cid ->
-- no need to store them with userMaxFavourites==0, since they will be removed in the pruning step anyway!
when (userMaxFavourites > 0) $ for_ mcid $ \cid ->
void . lift $ upsertBy
(UniqueCourseFavourite uid cid)
(CourseFavourite uid cid FavouriteVisited now)