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

[document] export works now, first version

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