Disable the Mock mode which is currently incompatible with servant-multipart

parent 45b48498
...@@ -27,7 +27,7 @@ import Options.Generic ...@@ -27,7 +27,7 @@ import Options.Generic
import Data.Text (unpack) import Data.Text (unpack)
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.API (startGargantext, startGargantextMock) import Gargantext.API (startGargantext) -- , startGargantextMock)
-------------------------------------------------------- --------------------------------------------------------
-- Graph Tests -- Graph Tests
...@@ -73,7 +73,9 @@ main = do ...@@ -73,7 +73,9 @@ main = do
myIniFile' = case myIniFile of myIniFile' = case myIniFile of
Nothing -> panic "[ERROR] gargantext.ini needed" Nothing -> panic "[ERROR] gargantext.ini needed"
Just i -> i Just i -> i
_ -> startGargantextMock myPort' Dev -> panic "[ERROR] Dev mode unsupported"
Mock -> panic "[ERROR] Mock mode unsupported"
-- _ -> startGargantextMock myPort'
putStrLn $ "Starting with " <> show myMode <> " mode." putStrLn $ "Starting with " <> show myMode <> " mode."
start start
......
...@@ -56,7 +56,7 @@ import Network.Wai.Handler.Warp hiding (defaultSettings) ...@@ -56,7 +56,7 @@ import Network.Wai.Handler.Warp hiding (defaultSettings)
import Servant import Servant
import Servant.HTML.Blaze (HTML) import Servant.HTML.Blaze (HTML)
import Servant.Mock (mock) --import Servant.Mock (mock)
--import Servant.Job.Server (WithCallbacks) --import Servant.Job.Server (WithCallbacks)
import Servant.Static.TH.Internal.Server (fileTreeToServer) import Servant.Static.TH.Internal.Server (fileTreeToServer)
import Servant.Static.TH.Internal.FileTree (fileTypeToFileTree, FileType(FileTypeFile)) import Servant.Static.TH.Internal.FileTree (fileTypeToFileTree, FileType(FileTypeFile))
...@@ -145,7 +145,7 @@ fireWall req fw = do ...@@ -145,7 +145,7 @@ fireWall req fw = do
then pure True then pure True
else pure False else pure False
{-
-- makeMockApp :: Env -> IO (Warp.Settings, Application) -- makeMockApp :: Env -> IO (Warp.Settings, Application)
makeMockApp :: MockEnv -> IO Application makeMockApp :: MockEnv -> IO Application
makeMockApp env = do makeMockApp env = do
...@@ -178,7 +178,7 @@ makeMockApp env = do ...@@ -178,7 +178,7 @@ makeMockApp env = do
--pure (warpS, logWare $ checkOriginAndHost $ corsMiddleware $ serverApp) --pure (warpS, logWare $ checkOriginAndHost $ corsMiddleware $ serverApp)
pure $ logStdoutDev $ checkOriginAndHost $ corsMiddleware $ serverApp pure $ logStdoutDev $ checkOriginAndHost $ corsMiddleware $ serverApp
-}
makeDevMiddleware :: IO Middleware makeDevMiddleware :: IO Middleware
...@@ -340,16 +340,16 @@ swaggerFront :: Server SwaggerFrontAPI ...@@ -340,16 +340,16 @@ swaggerFront :: Server SwaggerFrontAPI
swaggerFront = schemaUiServer swaggerDoc swaggerFront = schemaUiServer swaggerDoc
:<|> frontEndServer :<|> frontEndServer
gargMock :: Server GargAPI --gargMock :: Server GargAPI
gargMock = mock apiGarg Proxy --gargMock = mock apiGarg Proxy
--------------------------------------------------------------------- ---------------------------------------------------------------------
makeApp :: (HasConnection env, HasRepo env, HasSettings env) makeApp :: (HasConnection env, HasRepo env, HasSettings env)
=> env -> IO Application => env -> IO Application
makeApp = fmap (serve api) . server makeApp = fmap (serve api) . server
appMock :: Application --appMock :: Application
appMock = serve api (swaggerFront :<|> gargMock :<|> serverStatic) --appMock = serve api (swaggerFront :<|> gargMock :<|> serverStatic)
--------------------------------------------------------------------- ---------------------------------------------------------------------
api :: Proxy API api :: Proxy API
...@@ -414,9 +414,10 @@ startGargantext port file = do ...@@ -414,9 +414,10 @@ startGargantext port file = do
mid <- makeDevMiddleware mid <- makeDevMiddleware
run port (mid app) `finally` stopGargantext env run port (mid app) `finally` stopGargantext env
{-
startGargantextMock :: PortNumber -> IO () startGargantextMock :: PortNumber -> IO ()
startGargantextMock port = do startGargantextMock port = do
portRouteInfo port portRouteInfo port
application <- makeMockApp . MockEnv $ FireWall False application <- makeMockApp . MockEnv $ FireWall False
run port application run port application
-}
...@@ -11,14 +11,16 @@ Portability : POSIX ...@@ -11,14 +11,16 @@ Portability : POSIX
{-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE DataKinds #-} {-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-} {-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE NoImplicitPrelude #-} {-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE RankNTypes #-} {-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE TypeOperators #-} {-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-}
module Gargantext.API.Upload module Gargantext.API.Upload
where where
...@@ -28,27 +30,42 @@ import Gargantext.Prelude ...@@ -28,27 +30,42 @@ import Gargantext.Prelude
import Data.Text (Text) import Data.Text (Text)
import Servant import Servant
import Servant.Multipart import Servant.Multipart
--import Servant.Mock (HasMock(mock))
import Servant.Swagger (HasSwagger(toSwagger))
import qualified Data.ByteString.Lazy as LBS import qualified Data.ByteString.Lazy as LBS
import Control.Monad import Control.Monad
import Control.Monad.IO.Class import Control.Monad.IO.Class
import Gargantext.API.Types import Gargantext.API.Types
import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary) --import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
import Data.Swagger --import Data.Swagger
--import Gargantext.API.Ngrams (TODO)
-- | Upload files -- | Upload files
-- TODO Is it possible to adapt the function according to iValue input ? -- TODO Is it possible to adapt the function according to iValue input ?
--type API = MultipartForm Mem (MultipartData Mem) :> Post '[JSON] Integer --type API = MultipartForm Mem (MultipartData Mem) :> Post '[JSON] Integer
instance Generic Mem -- instance Generic Mem
instance ToSchema Mem --instance ToSchema Mem
instance Arbitrary Mem --instance Arbitrary Mem
instance ToSchema (MultipartData Mem) --instance ToSchema (MultipartData Mem)
instance Arbitrary ( MultipartData Mem) --instance Arbitrary ( MultipartData Mem)
instance ToSchema (MultipartForm Mem (MultipartData Mem)) instance HasSwagger (MultipartForm tag a :> sub) where
instance Arbitrary (MultipartForm Mem (MultipartData Mem)) -- TODO
toSwagger _ = undefined -- toSwagger (Proxy :: Proxy (TODO :> Post '[JSON] ()))
--declareNamedSchema _ = declareNamedSchema (Proxy :: Proxy TODO)
--instance Arbitrary (MultipartForm Mem (MultipartData Mem))
{-
instance (FromMultipart tag a, MultipartBackend tag, Servant.Multipart.LookupContext context (MultipartOptions tag))
=> HasMock (MultipartForm tag a :> sub) context where
mock _ _ = undefined
instance HasMock (MultipartForm Mem (MultipartData Mem) :> sub) context where
mock _ _ = undefined
-}
type ApiUpload = MultipartForm Mem (MultipartData Mem) :> Post '[JSON] Integer type ApiUpload = MultipartForm Mem (MultipartData Mem) :> Post '[JSON] Integer
-- MultipartData consists in textual inputs, -- MultipartData consists in textual inputs,
......
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