2017-10-13 07:29:22 -04:00
|
|
|
{-# LANGUAGE FlexibleContexts #-}
|
2017-10-11 06:38:53 -04:00
|
|
|
{-# LANGUAGE NoImplicitPrelude #-}
|
|
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
module Handler.Avatars where
|
|
|
|
|
2017-10-13 07:29:22 -04:00
|
|
|
import Import hiding ( (==.) )
|
2017-10-11 06:38:53 -04:00
|
|
|
|
2017-10-13 07:29:22 -04:00
|
|
|
import Database.Esqueleto
|
2017-10-11 06:38:53 -04:00
|
|
|
import Settings.StaticR ( staticR )
|
|
|
|
|
|
|
|
getAvatarR :: UserId -> Handler ()
|
2017-10-13 07:29:22 -04:00
|
|
|
getAvatarR = responseFrom <=< runDB . select . from . queryAvatar
|
|
|
|
where responseFrom (a:_) = redirect $ staticR ["img", unValue a]
|
|
|
|
responseFrom [] = notFound
|
|
|
|
queryAvatar userId user = do
|
|
|
|
where_ $ user ^. UserId ==. val userId
|
|
|
|
return $ user ^. UserAvatar
|