Commit 1f68e162 authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

[document] export works now, first version

parent 2c2ac330
Pipeline #2293 passed with stage
in 72 minutes and 23 seconds
......@@ -14,12 +14,23 @@ module Gargantext.API.Node.Document.Export
import Gargantext.API.Node.Document.Export.Types
import Gargantext.API.Prelude (GargNoServer)
import Gargantext.Core.Types
-- import Gargantext.Database.Admin.Types.Hyperdata (HyperdataDocument(..))
import Gargantext.Database.Query.Table.Node (getDocumentsWithParentId)
import Gargantext.Prelude
-- import Servant (Proxy(..))
--------------------------------------------------
-- | Hashes are ordered by Set
getDocuments :: DocId
-> GargNoServer [Document]
getDocuments dId = do
printDebug "[getDocuments] dId" dId
pure []
-> GargNoServer DocumentExport
getDocuments pId = do
printDebug "[getDocuments] pId" pId
docs <- getDocumentsWithParentId pId -- NodeDocument (Proxy :: Proxy HyperdataDocument)
printDebug "[getDocuments] got docs" docs
pure $ DocumentExport { _de_documents = mapDoc <$> docs
, _de_garg_version = "" }
where
mapDoc d = Document { _d_document = d
, _d_ngrams = Ngrams { _ng_ngrams = []
, _ng_hash = "" }
, _d_hash = ""}
......@@ -24,6 +24,11 @@ import Servant
-- | Document Export
data DocumentExport =
DocumentExport { _de_documents :: [Document]
, _de_garg_version :: Text
} deriving (Generic)
data Document =
Document { _d_document :: Node HyperdataDocument
, _d_ngrams :: Ngrams
......@@ -37,6 +42,9 @@ data Ngrams =
type Hash = Text
-------
instance ToSchema DocumentExport where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_de_")
instance ToSchema Document where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_d_")
......@@ -44,6 +52,9 @@ instance ToSchema Ngrams where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_ng_")
-------
instance ToParamSchema DocumentExport where
toParamSchema _ = toParamSchema (Proxy :: Proxy TODO)
instance ToParamSchema Document where
toParamSchema _ = toParamSchema (Proxy :: Proxy TODO)
......@@ -52,7 +63,8 @@ instance ToParamSchema Ngrams where
--------------------------------------------------
type API = Summary "Document Export"
:> "export"
:> Get '[JSON] [Document]
:> Get '[JSON] DocumentExport
$(deriveJSON (unPrefix "_de_") ''DocumentExport)
$(deriveJSON (unPrefix "_d_") ''Document)
$(deriveJSON (unPrefix "_ng_") ''Ngrams)
......@@ -23,6 +23,7 @@ import Gargantext.API.Node
import Gargantext.API.Node.Contact
import Gargantext.API.Node.Corpus.Export.Types
import Gargantext.API.Node.Corpus.New
import qualified Gargantext.API.Node.Document.Export.Types as DocumentExport
import Gargantext.API.Node.DocumentsFromWriteNodes
import Gargantext.API.Node.DocumentUpload
import Gargantext.API.Node.File
......@@ -357,6 +358,9 @@ killDocumentNgramsTableAsyncJob :: Token -> DocId -> JobID 'Unsafe -> Maybe Limi
pollDocumentNgramsTableAsyncJob :: Token -> DocId -> JobID 'Unsafe -> Maybe Limit -> Maybe Offset -> ClientM (JobStatus 'Safe JobLog)
waitDocumentNgramsTableAsyncJob :: Token -> DocId -> JobID 'Unsafe -> ClientM (JobOutput JobLog)
-- document export API
getDocumentExport :: Token -> DocId -> ClientM DocumentExport.DocumentExport
-- count api
postCountQuery :: Token -> Query -> ClientM Counts
......@@ -652,6 +656,7 @@ postAuth
:<|> killDocumentNgramsTableAsyncJob
:<|> pollDocumentNgramsTableAsyncJob
:<|> waitDocumentNgramsTableAsyncJob
:<|> getDocumentExport
:<|> postCountQuery
:<|> getGraphHyperdata
:<|> postGraphAsync
......
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