Commit 20185e50 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[API Query] api connection ok, needs RootId fix

parent ee32691f
Pipeline #824 failed with stage
...@@ -27,13 +27,12 @@ import Gargantext.API.Admin.Settings (withDevEnv, runCmdDev, DevEnv) ...@@ -27,13 +27,12 @@ import Gargantext.API.Admin.Settings (withDevEnv, runCmdDev, DevEnv)
import Gargantext.API.Admin.Types (GargError) import Gargantext.API.Admin.Types (GargError)
import Gargantext.Core (Lang(..)) import Gargantext.Core (Lang(..))
import Gargantext.Core.Types.Individu (User(..)) import Gargantext.Core.Types.Individu (User(..))
import Gargantext.Database.Action.Flow (FlowCmdM, flowCorpusFile, flowAnnuaire) import Gargantext.Database.Action.Flow (FlowCmdM, flowCorpusFile, flowAnnuaire, TermType(..))
import Gargantext.Database.Action.Query.User (insertUsersDemo) import Gargantext.Database.Action.Query.User (insertUsersDemo)
import Gargantext.Database.Admin.Types.Node (CorpusId, toHyperdataDocument) import Gargantext.Database.Admin.Types.Node (CorpusId, toHyperdataDocument)
import Gargantext.Database.Admin.Utils (Cmd, ) import Gargantext.Database.Admin.Utils (Cmd, )
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Text.Corpus.Parsers (FileFormat(..)) import Gargantext.Text.Corpus.Parsers (FileFormat(..))
import Gargantext.Text.Terms (TermType(..))
import Prelude (read) import Prelude (read)
import System.Environment (getArgs) import System.Environment (getArgs)
import qualified Data.Text as Text import qualified Data.Text as Text
......
...@@ -35,10 +35,10 @@ import Data.Text (Text) ...@@ -35,10 +35,10 @@ import Data.Text (Text)
import GHC.Generics (Generic) import GHC.Generics (Generic)
import Gargantext.API.Admin.Orchestrator.Types import Gargantext.API.Admin.Orchestrator.Types
import Gargantext.API.Corpus.New.File import Gargantext.API.Corpus.New.File
import Gargantext.Core (Lang(..)) import Gargantext.Core (Lang(..), allLangs)
import Gargantext.Core.Types.Individu (UserId, User(..)) import Gargantext.Core.Types.Individu (UserId, User(..))
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Database.Action.Flow (FlowCmdM, flowCorpus, getDataText, flowDataText, TermType(..), DataOrigin(..)) import Gargantext.Database.Action.Flow (FlowCmdM, flowCorpus, getDataText, flowDataText, TermType(..), DataOrigin(..), allDataOrigins)
import Gargantext.Database.Admin.Types.Node (CorpusId, ToHyperdataDocument(..)) import Gargantext.Database.Admin.Types.Node (CorpusId, ToHyperdataDocument(..))
import Gargantext.Prelude import Gargantext.Prelude
import Servant import Servant
...@@ -55,20 +55,22 @@ import qualified Gargantext.Text.Corpus.Parsers as Parser (FileFormat(..), parse ...@@ -55,20 +55,22 @@ import qualified Gargantext.Text.Corpus.Parsers as Parser (FileFormat(..), parse
------------------------------------------------------------------------ ------------------------------------------------------------------------
data Query = Query { query_query :: Text data Query = Query { query_query :: Text
, query_corpus_id :: Int , query_node_id :: Int
, query_databases :: [API.ExternalAPIs] , query_lang :: Lang
, query_databases :: [DataOrigin]
} }
deriving (Eq, Show, Generic) deriving (Eq, Generic)
deriveJSON (unPrefix "query_") 'Query deriveJSON (unPrefix "query_") 'Query
instance Arbitrary Query where instance Arbitrary Query where
arbitrary = elements [ Query q n fs arbitrary = elements [ Query q n la fs
| q <- ["honeybee* AND collapse" | q <- ["honeybee* AND collapse"
,"covid 19" ,"covid 19"
] ]
, n <- [0..10] , n <- [0..10]
, fs <- take 3 $ repeat API.externalAPIs , la <- allLangs
, fs <- take 3 $ repeat allDataOrigins
] ]
instance ToSchema Query where instance ToSchema Query where
...@@ -204,7 +206,7 @@ addToCorpusWithQuery u cid (WithQuery q dbs l) logStatus = do ...@@ -204,7 +206,7 @@ addToCorpusWithQuery u cid (WithQuery q dbs l) logStatus = do
-- TODO if cid is folder -> create Corpus -- TODO if cid is folder -> create Corpus
-- if cid is corpus -> add to corpus -- if cid is corpus -> add to corpus
-- if cid is root -> create corpus in Private -- if cid is root -> create corpus in Private
txts <- mapM (\db -> getDataText db (fromMaybe (Multi EN) l) q (Just 10000)) dbs txts <- mapM (\db -> getDataText db (fromMaybe (Multi EN) l) q (Just 10000)) dbs
cids <- mapM (\txt -> flowDataText u txt (fromMaybe (Multi EN) l) cid) txts cids <- mapM (\txt -> flowDataText u txt (fromMaybe (Multi EN) l) cid) txts
printDebug "corpus id" cids printDebug "corpus id" cids
-- TODO ... -- TODO ...
......
...@@ -41,6 +41,13 @@ module Gargantext.Database.Action.Flow -- (flowDatabase, ngrams2list) ...@@ -41,6 +41,13 @@ module Gargantext.Database.Action.Flow -- (flowDatabase, ngrams2list)
, getOrMk_RootWithCorpus , getOrMk_RootWithCorpus
, TermType(..) , TermType(..)
, DataOrigin(..) , DataOrigin(..)
, allDataOrigins
-- To remove maybe
, tt_lang
, tt_ngramsSize
, tt_windowSize
, do_api
) )
where where
...@@ -52,7 +59,7 @@ import Data.Map (Map, lookup) ...@@ -52,7 +59,7 @@ import Data.Map (Map, lookup)
import Data.Maybe (Maybe(..), catMaybes) import Data.Maybe (Maybe(..), catMaybes)
import Data.Monoid import Data.Monoid
import Data.Swagger import Data.Swagger
import Data.Text (Text, splitOn, intercalate) import Data.Text (splitOn, intercalate)
import Data.Traversable (traverse) import Data.Traversable (traverse)
import Data.Tuple.Extra (first, second) import Data.Tuple.Extra (first, second)
import Debug.Trace (trace) import Debug.Trace (trace)
...@@ -96,9 +103,20 @@ import qualified Gargantext.Text.Corpus.API as API ...@@ -96,9 +103,20 @@ import qualified Gargantext.Text.Corpus.API as API
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- TODO use internal with API name (could be old data) -- TODO use internal with API name (could be old data)
data DataOrigin = Internal Gargantext data DataOrigin = Internal { _do_api :: API.ExternalAPIs }
| External API.ExternalAPIs | External { _do_api :: API.ExternalAPIs }
-- TODO Web -- TODO Web
deriving (Generic, Eq)
makeLenses ''DataOrigin
deriveJSON (unPrefix "_do_") ''DataOrigin
instance ToSchema DataOrigin where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_do_")
allDataOrigins :: [DataOrigin]
allDataOrigins = map Internal API.externalAPIs <> map External API.externalAPIs
---------------
data DataText = DataOld ![NodeId] data DataText = DataOld ![NodeId]
| DataNew ![[HyperdataDocument]] | DataNew ![[HyperdataDocument]]
...@@ -114,7 +132,7 @@ getDataText :: FlowCmdM env err m ...@@ -114,7 +132,7 @@ getDataText :: FlowCmdM env err m
getDataText (External api) la q li = liftBase $ DataNew getDataText (External api) la q li = liftBase $ DataNew
<$> splitEvery 500 <$> splitEvery 500
<$> API.get api (_tt_lang la) q li <$> API.get api (_tt_lang la) q li
getDataText Gargantext la q li = do getDataText (Internal _) _la q _li = do
(_masterUserId, _masterRootId, cId) <- getOrMk_RootWithCorpus (_masterUserId, _masterRootId, cId) <- getOrMk_RootWithCorpus
(UserName userMaster) (UserName userMaster)
(Left "") (Left "")
...@@ -146,7 +164,7 @@ makeLenses ''TermType ...@@ -146,7 +164,7 @@ makeLenses ''TermType
deriveJSON (unPrefix "_tt_") ''TermType deriveJSON (unPrefix "_tt_") ''TermType
instance (ToSchema a) => ToSchema (TermType a) where instance (ToSchema a) => ToSchema (TermType a) where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_tta_") declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_tt_")
flowDataText :: FlowCmdM env err m flowDataText :: FlowCmdM env err m
......
...@@ -37,13 +37,10 @@ module Gargantext.Text.Terms ...@@ -37,13 +37,10 @@ module Gargantext.Text.Terms
where where
import Control.Lens import Control.Lens
import Data.Aeson.TH (deriveJSON)
import Data.Swagger
import Data.Text (Text) import Data.Text (Text)
import Data.Traversable import Data.Traversable
import GHC.Base (String) import GHC.Base (String)
import GHC.Generics (Generic) import GHC.Generics (Generic)
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Core import Gargantext.Core
import Gargantext.Core.Types import Gargantext.Core.Types
import Gargantext.Prelude import Gargantext.Prelude
......
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