summaryrefslogtreecommitdiff
path: root/fig-web/src/Fig/Web/Module/User.hs
blob: 5b27b2dbb450e82e83c647724a703ced089a5a85 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module Fig.Web.Module.User
  ( public
  ) where

import Fig.Prelude

import qualified Data.Text as Text

import Fig.Web.Utils
import Fig.Web.Types
import qualified Fig.Web.DB as DB

public :: Module
public a = do
  onGet "/api/user/:name" do
    name <- Text.toLower <$> pathParam "name"
    DB.get a.db ("user:" <> encodeUtf8 name) >>= \case
      Nothing -> do
        status status404
        respondText "user not found"
      Just val -> respondText $ decodeUtf8 val