Commit 03d73fca authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

[list] add HTML list get endpoint

parent a0bc6f1e
Pipeline #761 failed with stage
......@@ -12,6 +12,8 @@ Portability : POSIX
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
......@@ -21,31 +23,51 @@ Portability : POSIX
module Gargantext.API.Ngrams.List
where
import Gargantext.Prelude
import Gargantext.API.Ngrams
import Servant
import Data.Aeson
-- import qualified Data.ByteString.Lazy as BSL
import Data.List (zip)
import Data.Map (Map, toList, fromList)
import Gargantext.Database.Types.Node
import Gargantext.Database.Schema.Ngrams (NgramsType(..), ngramsTypes)
import Gargantext.Database.Flow (FlowCmdM)
-- import qualified Data.Text as T
-- import qualified Data.Text.Encoding as TE
import Network.HTTP.Media ((//), (/:))
import Servant
import Gargantext.Prelude
import Gargantext.API.Ngrams
import Gargantext.API.Types (GargServer)
import Gargantext.API.Ngrams (putListNgrams')
import Gargantext.Database.Flow (FlowCmdM)
import Gargantext.Database.Schema.Ngrams (NgramsType(..), ngramsTypes)
import Gargantext.Database.Types.Node
type NgramsList = (Map NgramsType (Versioned NgramsTableMap))
data HTML
instance Accept HTML where
contentType _ = "text" // "html" /: ("charset", "utf-8")
instance ToJSON a => MimeRender HTML a where
mimeRender _ = encode
type API = Get '[JSON] NgramsList
:<|> ReqBody '[JSON] NgramsList :> Put '[JSON] Bool
:<|> Get '[HTML] NgramsList
api :: ListId -> GargServer API
api l = get l :<|> put l
api l = get l :<|> put l :<|> get l
get :: RepoCmdM env err m
get :: RepoCmdM env err m
=> ListId -> m NgramsList
get lId = fromList
<$> zip ngramsTypes
<$> mapM (getNgramsTableMap lId) ngramsTypes
getHtml :: RepoCmdM env err m
=> ListId -> m NgramsList
getHtml lId = do
lst <- get lId
return lst
--return $ TE.decodeUtf8 $ BSL.toStrict $ encode lst
-- TODO : purge list
put :: FlowCmdM env err m
=> ListId
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment