Swagger fixes

parent 6af8ff7b
...@@ -95,6 +95,7 @@ data TODO = TODO ...@@ -95,6 +95,7 @@ data TODO = TODO
deriving (Generic) deriving (Generic)
instance ToSchema TODO where instance ToSchema TODO where
instance ToParamSchema TODO where
------------------------------------------------------------------------ ------------------------------------------------------------------------
--data FacetFormat = Table | Chart --data FacetFormat = Table | Chart
......
...@@ -19,29 +19,33 @@ Portability : POSIX ...@@ -19,29 +19,33 @@ Portability : POSIX
{-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-} {-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-} {-# LANGUAGE TypeOperators #-}
module Gargantext.API.Upload module Gargantext.API.Upload
where where
import Control.Lens ((.~), (?~))
import qualified Data.Text as Text import qualified Data.Text as Text
import GHC.Generics (Generic) import GHC.Generics (Generic)
import Gargantext.Prelude import Gargantext.Prelude
import Data.Text (Text) import Data.Text (Text)
import Data.Aeson import Data.Aeson
import Data.Monoid
import Servant import Servant
import Servant.Multipart import Servant.Multipart
--import Servant.Mock (HasMock(mock)) --import Servant.Mock (HasMock(mock))
import Servant.Swagger (HasSwagger(toSwagger)) import Servant.Swagger (HasSwagger(toSwagger))
import Servant.Swagger.Internal
-- 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 Servant.CSV.Cassava (CSV'(..)) --import Servant.CSV.Cassava (CSV'(..))
--import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary) --import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
--import Data.Swagger import Data.Swagger
--import Gargantext.API.Ngrams (TODO) 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 ?
...@@ -52,12 +56,23 @@ import Gargantext.API.Types ...@@ -52,12 +56,23 @@ import Gargantext.API.Types
--instance ToSchema Mem --instance ToSchema Mem
--instance Arbitrary Mem --instance Arbitrary Mem
--instance ToSchema (MultipartData Mem) instance ToParamSchema (MultipartData Mem) where
toParamSchema _ = toParamSchema (Proxy :: Proxy TODO)
--instance Arbitrary ( MultipartData Mem) --instance Arbitrary ( MultipartData Mem)
instance HasSwagger (MultipartForm tag a :> sub) where instance (ToParamSchema a, HasSwagger sub) =>
HasSwagger (MultipartForm tag a :> sub) where
-- TODO -- TODO
toSwagger _ = undefined -- toSwagger (Proxy :: Proxy (TODO :> Post '[JSON] ())) toSwagger _ = toSwagger (Proxy :: Proxy sub)
& addParam param
where
param = mempty
& required ?~ True
& schema .~ ParamOther sch
sch = mempty
& in_ .~ ParamFormData
& paramSchema .~ toParamSchema (Proxy :: Proxy a)
--declareNamedSchema _ = declareNamedSchema (Proxy :: Proxy TODO) --declareNamedSchema _ = declareNamedSchema (Proxy :: Proxy TODO)
--instance Arbitrary (MultipartForm Mem (MultipartData Mem)) --instance Arbitrary (MultipartForm Mem (MultipartData Mem))
......
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