[refactor] move some of API stuff to Core

Overall idea is: Core and Database contain base stuff and don't import
API. And API imports from Core and Database.
parent 1e78d061
Pipeline #5645 failed with stages
...@@ -16,13 +16,13 @@ Import a corpus binary. ...@@ -16,13 +16,13 @@ Import a corpus binary.
module Main where module Main where
import Data.Either import Data.Either
import qualified Data.Text as Text import Data.Text qualified as Text
import Gargantext.API.Dev (withDevEnv, runCmdGargDev)
import Gargantext.API.Admin.EnvTypes (DevEnv(..), DevJobHandle(..)) import Gargantext.API.Admin.EnvTypes (DevEnv(..), DevJobHandle(..))
import Gargantext.API.Dev (withDevEnv, runCmdGargDev)
import Gargantext.API.Errors.Types import Gargantext.API.Errors.Types
import Gargantext.API.Node () -- instances import Gargantext.API.Node () -- instances
import Gargantext.Core (Lang(..)) import Gargantext.Core (Lang(..))
import Gargantext.Core.Text.Corpus.Parsers.Types (FileFormat(..), FileType(..))
import Gargantext.Core.Text.Terms (TermType(..)) import Gargantext.Core.Text.Terms (TermType(..))
import Gargantext.Core.Types.Individu (User(..)) import Gargantext.Core.Types.Individu (User(..))
import Gargantext.Core.Types.Query (Limit) import Gargantext.Core.Types.Query (Limit)
...@@ -30,9 +30,9 @@ import Gargantext.Database.Action.Flow (flowCorpusFile, flowAnnuaire) ...@@ -30,9 +30,9 @@ import Gargantext.Database.Action.Flow (flowCorpusFile, flowAnnuaire)
import Gargantext.Database.Action.Flow.Types (FlowCmdM) import Gargantext.Database.Action.Flow.Types (FlowCmdM)
import Gargantext.Database.Admin.Types.Node (CorpusId) import Gargantext.Database.Admin.Types.Node (CorpusId)
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Core.Text.Corpus.Parsers (FileFormat(..), FileType(..))
import Gargantext.Utils.Jobs (MonadJobStatus, JobHandle) import Gargantext.Utils.Jobs (MonadJobStatus, JobHandle)
main :: IO () main :: IO ()
main = do main = do
[fun, user, name, iniPath, limit, corpusPath] <- getArgs [fun, user, name, iniPath, limit, corpusPath] <- getArgs
......
...@@ -28,11 +28,12 @@ import Data.Text qualified as T ...@@ -28,11 +28,12 @@ import Data.Text qualified as T
import Data.Vector qualified as Vector import Data.Vector qualified as Vector
import GHC.IO.Encoding import GHC.IO.Encoding
import Gargantext.API.Ngrams.Prelude (toTermList) import Gargantext.API.Ngrams.Prelude (toTermList)
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Text.Context (TermList) import Gargantext.Core.Text.Context (TermList)
import Gargantext.Core.Text.Corpus.Parsers (FileFormat(..), FileType(..), parseFile) import Gargantext.Core.Text.Corpus.Parsers (parseFile)
import Gargantext.Core.Text.Corpus.Parsers.CSV (csv_title, csv_abstract, csv_publication_year, csv_publication_month, csv_publication_day, csv'_source, csv'_title, csv'_abstract, csv'_publication_year, csv'_publication_month, csv'_publication_day, csv'_weight) import Gargantext.Core.Text.Corpus.Parsers.CSV (csv_title, csv_abstract, csv_publication_year, csv_publication_month, csv_publication_day, csv'_source, csv'_title, csv'_abstract, csv'_publication_year, csv'_publication_month, csv'_publication_day, csv'_weight)
import Gargantext.Core.Text.Corpus.Parsers.CSV qualified as Csv import Gargantext.Core.Text.Corpus.Parsers.CSV qualified as Csv
import Gargantext.Core.Text.Corpus.Parsers.Types (FileFormat(..), FileType(..))
import Gargantext.Core.Text.List.Formats.CSV (csvMapTermList) import Gargantext.Core.Text.List.Formats.CSV (csvMapTermList)
import Gargantext.Core.Text.Terms.WithList (Patterns, buildPatterns, extractTermsWithList) import Gargantext.Core.Text.Terms.WithList (Patterns, buildPatterns, extractTermsWithList)
import Gargantext.Core.Types.Main (ListType(..)) import Gargantext.Core.Types.Main (ListType(..))
......
...@@ -107,7 +107,6 @@ library ...@@ -107,7 +107,6 @@ library
Gargantext.API.Ngrams.List.Types Gargantext.API.Ngrams.List.Types
Gargantext.API.Ngrams.Prelude Gargantext.API.Ngrams.Prelude
Gargantext.API.Ngrams.Tools Gargantext.API.Ngrams.Tools
Gargantext.API.Ngrams.Types
Gargantext.API.Node Gargantext.API.Node
Gargantext.API.Node.Corpus.New Gargantext.API.Node.Corpus.New
Gargantext.API.Node.Corpus.Types Gargantext.API.Node.Corpus.Types
...@@ -120,6 +119,7 @@ library ...@@ -120,6 +119,7 @@ library
Gargantext.Core Gargantext.Core
Gargantext.Core.Mail.Types Gargantext.Core.Mail.Types
Gargantext.Core.Methods.Similarities Gargantext.Core.Methods.Similarities
Gargantext.Core.Ngrams.Types
Gargantext.Core.NLP Gargantext.Core.NLP
Gargantext.Core.NodeStory Gargantext.Core.NodeStory
Gargantext.Core.NodeStory.DB Gargantext.Core.NodeStory.DB
...@@ -137,6 +137,7 @@ library ...@@ -137,6 +137,7 @@ library
Gargantext.Core.Text.Corpus.Parsers.CSV Gargantext.Core.Text.Corpus.Parsers.CSV
Gargantext.Core.Text.Corpus.Parsers.Date Gargantext.Core.Text.Corpus.Parsers.Date
Gargantext.Core.Text.Corpus.Parsers.Date.Parsec Gargantext.Core.Text.Corpus.Parsers.Date.Parsec
Gargantext.Core.Text.Corpus.Parsers.Types
Gargantext.Core.Text.List.Formats.CSV Gargantext.Core.Text.List.Formats.CSV
Gargantext.Core.Text.Metrics Gargantext.Core.Text.Metrics
Gargantext.Core.Text.Metrics.CharByChar Gargantext.Core.Text.Metrics.CharByChar
......
{-|
Module : Gargantext.API.Admin.Orchestrator.Types
Description : Types for Orchestrator
Copyright : (c) CNRS, 2017-Present
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Stability : experimental
Portability : POSIX
-}
{-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-} {-# LANGUAGE TypeOperators #-}
......
...@@ -24,8 +24,8 @@ import Data.Time (UTCTime) ...@@ -24,8 +24,8 @@ import Data.Time (UTCTime)
import Data.Vector (Vector) import Data.Vector (Vector)
import Gargantext.API.HashedResponse import Gargantext.API.HashedResponse
import Gargantext.API.Ngrams.NgramsTree import Gargantext.API.Ngrams.NgramsTree
import Gargantext.API.Ngrams.Types
import Gargantext.API.Prelude (GargServer) import Gargantext.API.Prelude (GargServer)
import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Text.Metrics (Scored(..), {-normalizeGlobal,-} normalizeLocal) import Gargantext.Core.Text.Metrics (Scored(..), {-normalizeGlobal,-} normalizeLocal)
import Gargantext.Core.Types (CorpusId, ListId, ListType(..)) import Gargantext.Core.Types (CorpusId, ListId, ListType(..))
......
...@@ -55,8 +55,8 @@ import Gargantext.API.Admin.Types (HasSettings) ...@@ -55,8 +55,8 @@ import Gargantext.API.Admin.Types (HasSettings)
import Gargantext.API.Errors.Types (BackendInternalError) import Gargantext.API.Errors.Types (BackendInternalError)
import Gargantext.API.Metrics qualified as Metrics import Gargantext.API.Metrics qualified as Metrics
import Gargantext.API.Ngrams.Tools (getNgramsTableMap, getNodeStory, setNgramsTableScores, tableNgramsPull) import Gargantext.API.Ngrams.Tools (getNgramsTableMap, getNodeStory, setNgramsTableScores, tableNgramsPull)
import Gargantext.API.Ngrams.Types
import Gargantext.API.Prelude (GargM) import Gargantext.API.Prelude (GargM)
import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory (HasNodeStory, HasNodeArchiveStoryImmediateSaver(..), HasNodeStoryImmediateSaver(..), NgramsStatePatch', a_history, a_state, a_version, currentVersion) import Gargantext.Core.NodeStory (HasNodeStory, HasNodeArchiveStoryImmediateSaver(..), HasNodeStoryImmediateSaver(..), NgramsStatePatch', a_history, a_state, a_version, currentVersion)
import Gargantext.Core.NodeStory.Utils (saveNodeStory) import Gargantext.Core.NodeStory.Utils (saveNodeStory)
-- import Gargantext.Core.Types (Terms(..)) -- import Gargantext.Core.Types (Terms(..))
......
...@@ -34,9 +34,9 @@ import Gargantext.API.Errors.Types ...@@ -34,9 +34,9 @@ import Gargantext.API.Errors.Types
import Gargantext.API.Ngrams (setListNgrams) import Gargantext.API.Ngrams (setListNgrams)
import Gargantext.API.Ngrams.List.Types import Gargantext.API.Ngrams.List.Types
import Gargantext.API.Ngrams.Prelude (getNgramsList) import Gargantext.API.Ngrams.Prelude (getNgramsList)
import Gargantext.API.Ngrams.Types
import Gargantext.API.Prelude (GargServer, GargM, serverError, HasServerError) import Gargantext.API.Prelude (GargServer, GargM, serverError, HasServerError)
import Gargantext.API.Types import Gargantext.API.Types
import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory import Gargantext.Core.NodeStory
import Gargantext.Core.Types.Main (ListType(..)) import Gargantext.Core.Types.Main (ListType(..))
import Gargantext.Database.Action.Flow (reIndexWith) import Gargantext.Database.Action.Flow (reIndexWith)
......
...@@ -13,20 +13,17 @@ Portability : POSIX ...@@ -13,20 +13,17 @@ Portability : POSIX
module Gargantext.API.Ngrams.List.Types where module Gargantext.API.Ngrams.List.Types where
--import Control.Lens hiding (elements, Indexed)
import Data.Aeson import Data.Aeson
import qualified Data.ByteString.Lazy as BSL import Data.ByteString.Lazy qualified as BSL
import Data.Swagger (ToSchema, declareNamedSchema, genericDeclareNamedSchema) import Data.Swagger (ToSchema, declareNamedSchema, genericDeclareNamedSchema)
import Data.Text import Data.Text
import qualified Data.Text.Encoding as E import Data.Text.Encoding qualified as E
import Servant.Job.Utils (jsonOptions)
import Web.FormUrlEncoded (FromForm(..), ToForm, parseUnique)
import Protolude
import Gargantext.API.Ngrams.Types (NgramsList)
import Gargantext.API.Node.Corpus.New.Types (FileType(..)) import Gargantext.API.Node.Corpus.New.Types (FileType(..))
import Gargantext.Core.Ngrams.Types (NgramsList)
import Gargantext.Core.Utils.Prefix (unPrefixSwagger) import Gargantext.Core.Utils.Prefix (unPrefixSwagger)
import Protolude
import Servant.Job.Utils (jsonOptions)
import Web.FormUrlEncoded (FromForm(..), ToForm, parseUnique)
......
...@@ -21,7 +21,7 @@ import Data.List qualified as List ...@@ -21,7 +21,7 @@ import Data.List qualified as List
import Data.Set qualified as Set import Data.Set qualified as Set
import Data.Swagger import Data.Swagger
import Data.Tree import Data.Tree
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Types (ListType(..), NodeId) import Gargantext.Core.Types (ListType(..), NodeId)
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -22,7 +22,7 @@ import Data.Map.Strict qualified as Map ...@@ -22,7 +22,7 @@ import Data.Map.Strict qualified as Map
import Data.Text qualified as Text import Data.Text qualified as Text
import Data.Validity import Data.Validity
import Gargantext.API.Ngrams.Tools (getNgramsTableMap) import Gargantext.API.Ngrams.Tools (getNgramsTableMap)
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Text.Context (TermList) import Gargantext.Core.Text.Context (TermList)
import Gargantext.Core.Text.List.Social.Prelude import Gargantext.Core.Text.List.Social.Prelude
......
...@@ -42,7 +42,7 @@ import Data.Set qualified as Set ...@@ -42,7 +42,7 @@ import Data.Set qualified as Set
import Data.Text qualified as T import Data.Text qualified as T
import Data.Text.Lazy.IO as DTL import Data.Text.Lazy.IO as DTL
import Formatting (hprint, int, (%)) import Formatting (hprint, int, (%))
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory (ArchiveList, HasNodeStory, NodeListStory, a_history, a_state, a_version, hasNodeStory, nse_getter, nse_getter_multi, unNodeStory) import Gargantext.Core.NodeStory (ArchiveList, HasNodeStory, NodeListStory, a_history, a_state, a_version, hasNodeStory, nse_getter, nse_getter_multi, unNodeStory)
import Gargantext.Core.Types (ListType(..), NodeId, ListId) import Gargantext.Core.Types (ListType(..), NodeId, ListId)
import Gargantext.Database.Action.Metrics.NgramsByContext (getOccByNgramsOnlyFast) import Gargantext.Database.Action.Metrics.NgramsByContext (getOccByNgramsOnlyFast)
......
...@@ -39,7 +39,6 @@ import Gargantext.API.Auth.PolicyCheck ...@@ -39,7 +39,6 @@ import Gargantext.API.Auth.PolicyCheck
import Gargantext.API.Errors.Types import Gargantext.API.Errors.Types
import Gargantext.API.Metrics import Gargantext.API.Metrics
import Gargantext.API.Ngrams (TableNgramsApi, apiNgramsTableCorpus) import Gargantext.API.Ngrams (TableNgramsApi, apiNgramsTableCorpus)
import Gargantext.API.Ngrams.Types (TabType(..))
import Gargantext.API.Node.DocumentUpload qualified as DocumentUpload import Gargantext.API.Node.DocumentUpload qualified as DocumentUpload
import Gargantext.API.Node.File import Gargantext.API.Node.File
import Gargantext.API.Node.FrameCalcUpload qualified as FrameCalcUpload import Gargantext.API.Node.FrameCalcUpload qualified as FrameCalcUpload
...@@ -49,6 +48,7 @@ import Gargantext.API.Node.Update qualified as Update ...@@ -49,6 +48,7 @@ import Gargantext.API.Node.Update qualified as Update
import Gargantext.API.Prelude import Gargantext.API.Prelude
import Gargantext.API.Search qualified as Search import Gargantext.API.Search qualified as Search
import Gargantext.API.Table import Gargantext.API.Table
import Gargantext.Core.Ngrams.Types (TabType(..))
import Gargantext.Core.Types (NodeTableResult) import Gargantext.Core.Types (NodeTableResult)
import Gargantext.Core.Types.Individu (User(..)) import Gargantext.Core.Types.Individu (User(..))
import Gargantext.Core.Types.Main (Tree, NodeTree) import Gargantext.Core.Types.Main (Tree, NodeTree)
......
...@@ -22,10 +22,10 @@ import Data.Map.Strict qualified as Map ...@@ -22,10 +22,10 @@ import Data.Map.Strict qualified as Map
import Data.Set qualified as Set import Data.Set qualified as Set
import Data.Text (pack) import Data.Text (pack)
import Gargantext.API.Ngrams.Tools (filterListWithRoot, mapTermListRoot, getRepo) import Gargantext.API.Ngrams.Tools (filterListWithRoot, mapTermListRoot, getRepo)
import Gargantext.API.Ngrams.Types
import Gargantext.API.Node.Corpus.Export.Types import Gargantext.API.Node.Corpus.Export.Types
import Gargantext.API.Node.Document.Export.Types qualified as DocumentExport import Gargantext.API.Node.Document.Export.Types qualified as DocumentExport
import Gargantext.API.Prelude (GargNoServer) import Gargantext.API.Prelude (GargNoServer)
import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory import Gargantext.Core.NodeStory
import Gargantext.Core.Types import Gargantext.Core.Types
import Gargantext.Database.Action.Metrics.NgramsByContext (getNgramsByContextOnlyUser) import Gargantext.Database.Action.Metrics.NgramsByContext (getNgramsByContextOnlyUser)
......
This diff is collapsed.
{-|
Module : Gargantext.API.Node.Corpus.New.Types
Description : New corpus API Types
Copyright : (c) CNRS, 2017-Present
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Stability : experimental
Portability : POSIX
-}
{-# LANGUAGE TemplateHaskell #-}
module Gargantext.API.Node.Corpus.New.Types where module Gargantext.API.Node.Corpus.New.Types where
import Data.Aeson import Control.Lens (makeLenses)
import Data.Swagger import Data.Aeson (FromJSON(..), ToJSON(..), genericParseJSON, genericToJSON)
import Data.Swagger (ToParamSchema, ToSchema(..), genericDeclareNamedSchema)
import Data.Text (pack) import Data.Text (pack)
import Gargantext.API.Node.Corpus.Types (Database, Datafield)
import Gargantext.Core (Lang(..))
import Gargantext.Core.Text.Corpus.Query qualified as Corpus
import Gargantext.Core.Text.Corpus.Parsers.Types qualified as Parsers
import Gargantext.Core.Text.List.Social (FlowSocialListWith(..))
import Gargantext.Core.Utils.Prefix (unPrefixSwagger)
import Gargantext.Prelude import Gargantext.Prelude
import Servant import Servant (FromHttpApiData(..), ToHttpApiData(..))
import Servant.Job.Utils (jsonOptions)
import Test.QuickCheck (elements) import Test.QuickCheck (elements)
import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary) import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
data FileType = CSV
| CSV_HAL -- | This is just a wrapper around G.C.T.C.Parsers -> FileType for API requests
| Istex newtype FileType = FileType { unFileType :: Parsers.FileType }
| PresseRIS
| WOS
| Iramuteq
| JSON
deriving (Eq, Show, Generic) deriving (Eq, Show, Generic)
instance ToSchema FileType instance ToSchema FileType
instance Arbitrary FileType where arbitrary = elements [CSV, PresseRIS] instance Arbitrary FileType where arbitrary = elements [ FileType Parsers.CsvGargV3
, FileType Parsers.RisPresse]
instance ToParamSchema FileType instance ToParamSchema FileType
instance FromJSON FileType instance FromJSON FileType
instance ToJSON FileType instance ToJSON FileType
instance FromHttpApiData FileType where instance FromHttpApiData FileType where
parseUrlPiece "CSV" = pure CSV parseUrlPiece "CSV" = pure $ FileType Parsers.CsvGargV3
parseUrlPiece "CSV_HAL" = pure CSV_HAL parseUrlPiece "CSV_HAL" = pure $ FileType Parsers.CsvHal
parseUrlPiece "Istex" = pure Istex parseUrlPiece "Iramuteq" = pure $ FileType Parsers.Iramuteq
parseUrlPiece "PresseRis" = pure PresseRIS parseUrlPiece "Istex" = pure $ FileType Parsers.Istex
parseUrlPiece "WOS" = pure WOS parseUrlPiece "JSON" = pure $ FileType Parsers.JSON
parseUrlPiece "Iramuteq" = pure Iramuteq parseUrlPiece "PresseRis" = pure $ FileType Parsers.RisPresse
parseUrlPiece "JSON" = pure JSON parseUrlPiece "WOS" = pure $ FileType Parsers.WOS
parseUrlPiece s = panicTrace $ "[G.A.A.Node.Corpus.New] File Type not implemented (yet): " <> s parseUrlPiece s = panicTrace $ "[G.A.A.Node.Corpus.New] File Type not implemented (yet): " <> s
instance ToHttpApiData FileType where instance ToHttpApiData FileType where
toUrlPiece = pack . show toUrlPiece = pack . show
data FileFormat = Plain | ZIP
newtype FileFormat = FileFormat { unFileFormat :: Parsers.FileFormat }
deriving (Eq, Show, Generic) deriving (Eq, Show, Generic)
instance ToSchema FileFormat instance ToSchema FileFormat
instance Arbitrary FileFormat where arbitrary = elements [ Plain, ZIP ] instance Arbitrary FileFormat where arbitrary = elements [ FileFormat Parsers.Plain
, FileFormat Parsers.ZIP ]
instance ToParamSchema FileFormat instance ToParamSchema FileFormat
instance FromJSON FileFormat instance FromJSON FileFormat
instance ToJSON FileFormat instance ToJSON FileFormat
instance FromHttpApiData FileFormat where instance FromHttpApiData FileFormat where
parseUrlPiece "Plain" = pure Plain parseUrlPiece "Plain" = pure $ FileFormat Parsers.Plain
parseUrlPiece "ZIP" = pure ZIP parseUrlPiece "ZIP" = pure $ FileFormat Parsers.ZIP
parseUrlPiece _ = pure Plain -- TODO error here parseUrlPiece _ = pure $ FileFormat Parsers.Plain -- TODO error here
instance ToHttpApiData FileFormat where instance ToHttpApiData FileFormat where
toUrlPiece = pack . show toUrlPiece = pack . show
------------------------------------------------------------------------
data WithQuery = WithQuery
{ _wq_query :: !Corpus.RawQuery
, _wq_databases :: !Database
, _wq_datafield :: !(Maybe Datafield)
, _wq_lang :: !Lang
, _wq_node_id :: !Int
, _wq_flowListWith :: !FlowSocialListWith
, _wq_pubmedAPIKey :: !(Maybe Text)
, _wq_epoAPIUser :: !(Maybe Text)
, _wq_epoAPIToken :: !(Maybe Text)
}
deriving (Show, Eq, Generic)
makeLenses ''WithQuery
instance FromJSON WithQuery where
parseJSON = genericParseJSON $ jsonOptions "_wq_"
instance ToJSON WithQuery where
toJSON = genericToJSON $ jsonOptions "_wq_"
instance ToSchema WithQuery where
declareNamedSchema = genericDeclareNamedSchema (unPrefixSwagger "_wq_")
instance Arbitrary WithQuery where
arbitrary = WithQuery <$> arbitrary
<*> arbitrary
<*> arbitrary
<*> arbitrary
<*> arbitrary
<*> arbitrary
<*> arbitrary
<*> arbitrary
<*> arbitrary
------------------------------------------------------------------------
...@@ -28,9 +28,9 @@ import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs) ...@@ -28,9 +28,9 @@ import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs)
import Gargantext.API.Admin.Types (HasSettings) import Gargantext.API.Admin.Types (HasSettings)
import Gargantext.API.Errors.Types import Gargantext.API.Errors.Types
import Gargantext.API.Ngrams (commitStatePatch) import Gargantext.API.Ngrams (commitStatePatch)
import Gargantext.API.Ngrams.Types (Versioned(..))
import Gargantext.API.Prelude (GargM) import Gargantext.API.Prelude (GargM)
import Gargantext.Core (Lang(..)) import Gargantext.Core (Lang(..))
import Gargantext.Core.Ngrams.Types (Versioned(..))
import Gargantext.Core.NodeStory (HasNodeStoryImmediateSaver, HasNodeArchiveStoryImmediateSaver, currentVersion) import Gargantext.Core.NodeStory (HasNodeStoryImmediateSaver, HasNodeArchiveStoryImmediateSaver, currentVersion)
import Gargantext.Core.Text.Corpus.Parsers.Date (split') import Gargantext.Core.Text.Corpus.Parsers.Date (split')
import Gargantext.Core.Text.Corpus.Parsers.FrameWrite import Gargantext.Core.Text.Corpus.Parsers.FrameWrite
......
...@@ -8,7 +8,7 @@ Stability : experimental ...@@ -8,7 +8,7 @@ Stability : experimental
Portability : POSIX Portability : POSIX
-} -}
{-# OPTIONS_GHC -fno-warn-orphans -fno-warn-unused-matches #-} {-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE TypeOperators #-} {-# LANGUAGE TypeOperators #-}
...@@ -20,15 +20,11 @@ module Gargantext.API.Node.File where ...@@ -20,15 +20,11 @@ module Gargantext.API.Node.File where
import Control.Lens ((^.)) import Control.Lens ((^.))
import Data.ByteString qualified as BS import Data.ByteString qualified as BS
import Data.ByteString.Lazy qualified as BSL import Data.ByteString.Lazy qualified as BSL
import Data.Either
import Data.MIME.Types qualified as DMT import Data.MIME.Types qualified as DMT
import Data.Swagger import Data.Swagger
import Data.Text qualified as T
import Data.Text import Data.Text
import Servant import Data.Text qualified as T
import qualified Gargantext.Database.GargDB as GargDB
import qualified Network.HTTP.Media as M
import Data.Either
import Gargantext.API.Admin.Auth.Types import Gargantext.API.Admin.Auth.Types
import Gargantext.API.Admin.EnvTypes (GargJob(..), Env) import Gargantext.API.Admin.EnvTypes (GargJob(..), Env)
import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs) import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs)
...@@ -41,11 +37,15 @@ import Gargantext.Database.Action.Flow.Types ...@@ -41,11 +37,15 @@ import Gargantext.Database.Action.Flow.Types
import Gargantext.Database.Action.Node (mkNodeWithParent) import Gargantext.Database.Action.Node (mkNodeWithParent)
import Gargantext.Database.Admin.Types.Hyperdata.File import Gargantext.Database.Admin.Types.Hyperdata.File
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node
import Gargantext.Database.GargDB qualified as GargDB
import Gargantext.Database.Query.Table.Node (getNodeWith) import Gargantext.Database.Query.Table.Node (getNodeWith)
import Gargantext.Database.Query.Table.Node.UpdateOpaleye (updateHyperdata) import Gargantext.Database.Query.Table.Node.UpdateOpaleye (updateHyperdata)
import Gargantext.Database.Schema.Node (node_hyperdata) import Gargantext.Database.Schema.Node (node_hyperdata)
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Utils.Jobs (serveJobsAPI, MonadJobStatus(..)) import Gargantext.Utils.Jobs (serveJobsAPI, MonadJobStatus(..))
import Network.HTTP.Media qualified as M
import Servant
data RESPONSE deriving Typeable data RESPONSE deriving Typeable
......
...@@ -16,36 +16,37 @@ Portability : POSIX ...@@ -16,36 +16,37 @@ Portability : POSIX
module Gargantext.API.Node.FrameCalcUpload where module Gargantext.API.Node.FrameCalcUpload where
import Control.Lens ((^.)) import Control.Lens ((^.))
import Data.Aeson import Data.Aeson (FromJSON, ToJSON)
import Data.ByteString.Lazy qualified as BSL import Data.ByteString.Lazy qualified as BSL
import Data.ByteString.UTF8 qualified as BSU8 import Data.ByteString.UTF8 qualified as BSU8
import Data.Swagger import Data.Swagger (ToSchema)
import Data.Text qualified as T import Data.Text qualified as T
import Network.HTTP.Client (newManager, httpLbs, parseRequest, responseBody) import Gargantext.API.Admin.Auth.Types (AuthenticatedUser, auth_node_id)
import Network.HTTP.Client.TLS (tlsManagerSettings)
import Servant
import Web.FormUrlEncoded (FromForm)
import Gargantext.API.Admin.Auth.Types
import Gargantext.API.Admin.EnvTypes (GargJob(..), Env) import Gargantext.API.Admin.EnvTypes (GargJob(..), Env)
import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs) import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs)
import Gargantext.API.Errors.Types import Gargantext.API.Errors.Types (BackendInternalError)
import Gargantext.API.Node.Corpus.New (addToCorpusWithForm) import Gargantext.API.Node.Corpus.New (addToCorpusWithForm)
import Gargantext.API.Node.Corpus.New.Types (FileFormat(..), FileType(..)) import Gargantext.API.Node.Corpus.New.Types (FileFormat(..), FileType(..))
import Gargantext.API.Node.Types (NewWithForm(..)) import Gargantext.API.Node.Types (NewWithForm(..))
import Gargantext.API.Prelude import Gargantext.API.Prelude (GargM)
import Gargantext.Core (Lang) import Gargantext.Core (Lang)
import Gargantext.Core.NodeStory (HasNodeArchiveStoryImmediateSaver) import Gargantext.Core.NodeStory (HasNodeArchiveStoryImmediateSaver)
import Gargantext.Core.Text.List.Social (FlowSocialListWith(..)) import Gargantext.Core.Text.List.Social (FlowSocialListWith(..))
import Gargantext.Core.Text.Corpus.Parsers.Types (FileFormat(..), FileType(..))
import Gargantext.Core.Types.Individu (User(..)) import Gargantext.Core.Types.Individu (User(..))
import Gargantext.Database.Action.Flow.Types import Gargantext.Database.Action.Flow.Types (FlowCmdM)
import Gargantext.Database.Admin.Types.Hyperdata.Frame import Gargantext.Database.Admin.Types.Hyperdata.Frame (HyperdataFrame(..))
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node (NodeId, NodeType(NodeCorpus))
import Gargantext.Database.Prelude (HasConfig) import Gargantext.Database.Prelude (HasConfig)
import Gargantext.Database.Query.Table.Node (getClosestParentIdByType, getNodeWith) import Gargantext.Database.Query.Table.Node (getClosestParentIdByType, getNodeWith)
import Gargantext.Database.Schema.Node (node_hyperdata) import Gargantext.Database.Schema.Node (node_hyperdata)
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Utils.Jobs (serveJobsAPI, MonadJobStatus(..)) import Gargantext.Utils.Jobs (serveJobsAPI, MonadJobStatus(..))
import Network.HTTP.Client (newManager, httpLbs, parseRequest, responseBody)
import Network.HTTP.Client.TLS (tlsManagerSettings)
import Servant ((:>)(), JSON, ServerT, Summary)
import Web.FormUrlEncoded (FromForm)
data FrameCalcUpload = FrameCalcUpload { data FrameCalcUpload = FrameCalcUpload {
_wf_lang :: !(Maybe Lang) _wf_lang :: !(Maybe Lang)
...@@ -110,8 +111,8 @@ frameCalcUploadAsync authenticatedUser nId (FrameCalcUpload _wf_lang _wf_selecti ...@@ -110,8 +111,8 @@ frameCalcUploadAsync authenticatedUser nId (FrameCalcUpload _wf_lang _wf_selecti
-- FIXME(adn) Audit this conversion. -- FIXME(adn) Audit this conversion.
addToCorpusWithForm (RootId userNodeId) addToCorpusWithForm (RootId userNodeId)
cId cId
(NewWithForm { _wf_filetype = CSV (NewWithForm { _wf_filetype = FileType CsvGargV3
, _wf_fileformat = Plain , _wf_fileformat = FileFormat Plain
, _wf_data = body , _wf_data = body
, _wf_lang , _wf_lang
, _wf_name = "calc-upload.csv" , _wf_name = "calc-upload.csv"
......
...@@ -25,9 +25,9 @@ import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs) ...@@ -25,9 +25,9 @@ import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs)
import Gargantext.API.Admin.Types (HasSettings) import Gargantext.API.Admin.Types (HasSettings)
import Gargantext.API.Errors.Types import Gargantext.API.Errors.Types
import Gargantext.API.Metrics qualified as Metrics import Gargantext.API.Metrics qualified as Metrics
import Gargantext.API.Ngrams.Types qualified as NgramsTypes
import Gargantext.API.Prelude (GargM, simuLogs) import Gargantext.API.Prelude (GargM, simuLogs)
import Gargantext.Core.Methods.Similarities (GraphMetric(..)) import Gargantext.Core.Methods.Similarities (GraphMetric(..))
import Gargantext.Core.Ngrams.Types qualified as NgramsTypes
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Types.Main (ListType(..)) import Gargantext.Core.Types.Main (ListType(..))
import Gargantext.Core.Viz.Graph.API (recomputeGraph) import Gargantext.Core.Viz.Graph.API (recomputeGraph)
......
...@@ -36,8 +36,8 @@ import Data.Maybe ...@@ -36,8 +36,8 @@ import Data.Maybe
import Data.Swagger import Data.Swagger
import Data.Text qualified as T import Data.Text qualified as T
import Gargantext.API.HashedResponse import Gargantext.API.HashedResponse
import Gargantext.API.Ngrams.Types (TabType(..))
import Gargantext.API.Prelude (GargServer) import Gargantext.API.Prelude (GargServer)
import Gargantext.Core.Ngrams.Types (TabType(..))
import Gargantext.Core.Text.Corpus.Query (RawQuery, parseQuery, getRawQuery) import Gargantext.Core.Text.Corpus.Query (RawQuery, parseQuery, getRawQuery)
import Gargantext.Core.Types (TableResult(..)) import Gargantext.Core.Types (TableResult(..))
import Gargantext.Core.Types.Query (Offset, Limit) import Gargantext.Core.Types.Query (Offset, Limit)
......
{-| {-|
Module : Gargantext.API.Ngrams.Types Module : Gargantext.Core.Ngrams.Types
Description : Ngrams List Types Description : Ngrams List Types
Copyright : (c) CNRS, 2017-Present Copyright : (c) CNRS, 2017-Present
License : AGPL + CECILL v3 License : AGPL + CECILL v3
...@@ -15,7 +15,7 @@ Portability : POSIX ...@@ -15,7 +15,7 @@ Portability : POSIX
{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeFamilies #-}
{-# OPTIONS -fno-warn-orphans #-} {-# OPTIONS -fno-warn-orphans #-}
module Gargantext.API.Ngrams.Types module Gargantext.Core.Ngrams.Types
( AddRem ( AddRem
, addPatch , addPatch
...@@ -841,7 +841,7 @@ instance ToHttpApiData (Map TableNgrams.NgramsType (Versioned NgramsTableMap)) w ...@@ -841,7 +841,7 @@ instance ToHttpApiData (Map TableNgrams.NgramsType (Versioned NgramsTableMap)) w
ngramsTypeFromTabType :: TabType -> TableNgrams.NgramsType ngramsTypeFromTabType :: TabType -> TableNgrams.NgramsType
ngramsTypeFromTabType tabType = ngramsTypeFromTabType tabType =
let here = "Garg.API.Ngrams: " :: Text in let here = "Garg.Core.Ngrams: " :: Text in
case tabType of case tabType of
Sources -> TableNgrams.Sources Sources -> TableNgrams.Sources
Authors -> TableNgrams.Authors Authors -> TableNgrams.Authors
......
...@@ -70,7 +70,7 @@ import Data.Set qualified as Set ...@@ -70,7 +70,7 @@ import Data.Set qualified as Set
import Database.PostgreSQL.Simple qualified as PGS import Database.PostgreSQL.Simple qualified as PGS
import Database.PostgreSQL.Simple.SqlQQ (sql) import Database.PostgreSQL.Simple.SqlQQ (sql)
import Database.PostgreSQL.Simple.ToField qualified as PGS import Database.PostgreSQL.Simple.ToField qualified as PGS
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory.DB import Gargantext.Core.NodeStory.DB
import Gargantext.Core.NodeStory.Types import Gargantext.Core.NodeStory.Types
import Gargantext.Core.Types (ListId, NodeId(..)) import Gargantext.Core.Types (ListId, NodeId(..))
......
...@@ -36,8 +36,8 @@ import Data.Monoid ...@@ -36,8 +36,8 @@ import Data.Monoid
import Database.PostgreSQL.Simple qualified as PGS import Database.PostgreSQL.Simple qualified as PGS
import Database.PostgreSQL.Simple.SqlQQ (sql) import Database.PostgreSQL.Simple.SqlQQ (sql)
import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..)) import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..))
import Gargantext.API.Ngrams.Types
import Gargantext.Core (toDBid) import Gargantext.Core (toDBid)
import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory.Types import Gargantext.Core.NodeStory.Types
import Gargantext.Core.Types (NodeId(..), NodeType) import Gargantext.Core.Types (NodeId(..), NodeType)
import Gargantext.Database.Admin.Config () import Gargantext.Database.Admin.Config ()
......
...@@ -58,7 +58,7 @@ import Data.Profunctor.Product.TH (makeAdaptorAndInstance) ...@@ -58,7 +58,7 @@ import Data.Profunctor.Product.TH (makeAdaptorAndInstance)
import Data.Semigroup import Data.Semigroup
import Data.Set qualified as Set import Data.Set qualified as Set
import Database.PostgreSQL.Simple.FromField (FromField(fromField), fromJSONField) import Database.PostgreSQL.Simple.FromField (FromField(fromField), fromJSONField)
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Types (NodeId(..)) import Gargantext.Core.Types (NodeId(..))
import Gargantext.Core.Utils.Prefix (unPrefix) import Gargantext.Core.Utils.Prefix (unPrefix)
import Gargantext.Database.Admin.Config () import Gargantext.Database.Admin.Config ()
......
...@@ -16,8 +16,9 @@ Format Converter. ...@@ -16,8 +16,9 @@ Format Converter.
module Gargantext.Core.Text.Convert (risPress2csvWrite) module Gargantext.Core.Text.Convert (risPress2csvWrite)
where where
import Gargantext.Core.Text.Corpus.Parsers (parseFile, FileFormat(..), FileType(..)) import Gargantext.Core.Text.Corpus.Parsers (parseFile)
import Gargantext.Core.Text.Corpus.Parsers.CSV (writeDocs2Csv) import Gargantext.Core.Text.Corpus.Parsers.CSV (writeDocs2Csv)
import Gargantext.Core.Text.Corpus.Parsers.Types (FileFormat(..), FileType(..))
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -7,17 +7,18 @@ Maintainer : team@gargantext.org ...@@ -7,17 +7,18 @@ Maintainer : team@gargantext.org
Stability : experimental Stability : experimental
Portability : POSIX Portability : POSIX
-} -}
module Gargantext.Core.Text.Corpus.API.OpenAlex where module Gargantext.Core.Text.Corpus.API.OpenAlex where
import Conduit import Conduit
import Data.LanguageCodes qualified as ISO639 import Data.LanguageCodes qualified as ISO639
import qualified Data.Text as T import Data.Text qualified as T
import Gargantext.Core (iso639ToText) import Gargantext.Core (iso639ToText)
import Gargantext.Core.Text.Corpus.Query as Corpus import Gargantext.Core.Text.Corpus.Query as Corpus
import Gargantext.Database.Admin.Types.Hyperdata (HyperdataDocument(..)) import Gargantext.Database.Admin.Types.Hyperdata (HyperdataDocument(..))
import OpenAlex qualified as OA
import OpenAlex.Types qualified as OA
import Protolude import Protolude
import qualified OpenAlex as OA
import qualified OpenAlex.Types as OA
import Servant.Client (ClientError) import Servant.Client (ClientError)
......
...@@ -20,8 +20,15 @@ please follow the types. ...@@ -20,8 +20,15 @@ please follow the types.
{-# LANGUAGE PackageImports #-} {-# LANGUAGE PackageImports #-}
module Gargantext.Core.Text.Corpus.Parsers (FileFormat(..), FileType(..), clean, parseFile, cleanText, parseFormatC, splitOn, etale) module Gargantext.Core.Text.Corpus.Parsers (
where clean
, parseFile
, cleanText
, parseFormatC
, splitOn
, etale
)
where
import "zip" Codec.Archive.Zip (EntrySelector, withArchive, getEntry, getEntries, unEntrySelector) import "zip" Codec.Archive.Zip (EntrySelector, withArchive, getEntry, getEntries, unEntrySelector)
import Conduit import Conduit
...@@ -35,7 +42,6 @@ import Data.List (lookup) ...@@ -35,7 +42,6 @@ import Data.List (lookup)
import Data.Map qualified as DM import Data.Map qualified as DM
import Data.Text qualified as DT import Data.Text qualified as DT
import Data.Tuple.Extra (both) -- , first, second) import Data.Tuple.Extra (both) -- , first, second)
import Gargantext.API.Node.Corpus.New.Types (FileFormat(..))
import Gargantext.Core (Lang(..)) import Gargantext.Core (Lang(..))
import Gargantext.Core.Text.Corpus.Parsers.CSV (parseHal, parseCsv, parseCsvC) import Gargantext.Core.Text.Corpus.Parsers.CSV (parseHal, parseCsv, parseCsvC)
import Gargantext.Core.Text.Corpus.Parsers.Date qualified as Date import Gargantext.Core.Text.Corpus.Parsers.Date qualified as Date
...@@ -45,6 +51,7 @@ import Gargantext.Core.Text.Corpus.Parsers.JSON (parseJSONC, parseIstex) ...@@ -45,6 +51,7 @@ import Gargantext.Core.Text.Corpus.Parsers.JSON (parseJSONC, parseIstex)
import Gargantext.Core.Text.Corpus.Parsers.RIS qualified as RIS import Gargantext.Core.Text.Corpus.Parsers.RIS qualified as RIS
import Gargantext.Core.Text.Corpus.Parsers.RIS.Presse (presseEnrich) import Gargantext.Core.Text.Corpus.Parsers.RIS.Presse (presseEnrich)
import Gargantext.Core.Text.Corpus.Parsers.WOS qualified as WOS import Gargantext.Core.Text.Corpus.Parsers.WOS qualified as WOS
import Gargantext.Core.Text.Corpus.Parsers.Types
import Gargantext.Database.Admin.Types.Hyperdata (HyperdataDocument(..)) import Gargantext.Database.Admin.Types.Hyperdata (HyperdataDocument(..))
import Gargantext.Database.Query.Table.Ngrams (NgramsType(..)) import Gargantext.Database.Query.Table.Ngrams (NgramsType(..))
import Gargantext.Prelude hiding (show, undefined) import Gargantext.Prelude hiding (show, undefined)
...@@ -62,18 +69,6 @@ type ParseError = Text ...@@ -62,18 +69,6 @@ type ParseError = Text
-- } deriving (Show) -- } deriving (Show)
-- | According to the format of Input file,
-- different parser are available.
data FileType = WOS
| RIS
| RisPresse
| CsvGargV3
| CsvHal
| Iramuteq
| JSON
| Istex
deriving (Show, Eq)
-- Implemented (ISI Format) -- Implemented (ISI Format)
-- | DOC -- Not Implemented / import Pandoc -- | DOC -- Not Implemented / import Pandoc
-- | ODT -- Not Implemented / import Pandoc -- | ODT -- Not Implemented / import Pandoc
......
{-|
Module : Gargantext.Core.Text.Corpus.Parsers.Types
Description : Parsers types
Copyright : (c) CNRS, 2017-Present
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Stability : experimental
Portability : POSIX
-}
module Gargantext.Core.Text.Corpus.Parsers.Types where
import Data.Aeson
import Data.Swagger
import Gargantext.Prelude
import Test.QuickCheck (elements)
import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
-- | According to the format of Input file,
-- different parser are available.
data FileType = CsvGargV3
| CsvHal
| Iramuteq
| Istex
| JSON
| RIS
| RisPresse
| WOS
deriving (Show, Eq, Generic)
instance ToSchema FileType
instance Arbitrary FileType where arbitrary = elements [ CsvGargV3
, RisPresse]
instance ToParamSchema FileType
instance FromJSON FileType
instance ToJSON FileType
data FileFormat =
Plain
| ZIP
deriving (Show, Eq, Generic)
instance ToSchema FileFormat
instance Arbitrary FileFormat where arbitrary = elements [ Plain
, ZIP ]
instance ToParamSchema FileFormat
instance FromJSON FileFormat
instance ToJSON FileFormat
...@@ -25,7 +25,7 @@ import Data.List qualified as List ...@@ -25,7 +25,7 @@ import Data.List qualified as List
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
import Data.Set qualified as Set import Data.Set qualified as Set
import Data.Tuple.Extra (both) import Data.Tuple.Extra (both)
import Gargantext.API.Ngrams.Types (NgramsElement, NgramsTerm(..)) import Gargantext.Core.Ngrams.Types (NgramsElement, NgramsTerm(..))
import Gargantext.Core.NLP (HasNLPServer) import Gargantext.Core.NLP (HasNLPServer)
import Gargantext.Core.NodeStory import Gargantext.Core.NodeStory
import Gargantext.Core.Text (size) import Gargantext.Core.Text (size)
......
...@@ -21,7 +21,7 @@ module Gargantext.Core.Text.List.Group ...@@ -21,7 +21,7 @@ module Gargantext.Core.Text.List.Group
import Control.Lens (view) import Control.Lens (view)
import Data.HashMap.Strict (HashMap) import Data.HashMap.Strict (HashMap)
import Data.HashMap.Strict qualified as HashMap import Data.HashMap.Strict qualified as HashMap
import Gargantext.API.Ngrams.Types (NgramsTerm(..)) import Gargantext.Core.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.Text.List.Group.Prelude import Gargantext.Core.Text.List.Group.Prelude
import Gargantext.Core.Text.List.Group.WithScores import Gargantext.Core.Text.List.Group.WithScores
import Gargantext.Core.Text.List.Social.Prelude import Gargantext.Core.Text.List.Social.Prelude
......
...@@ -23,7 +23,7 @@ import Data.List qualified as List ...@@ -23,7 +23,7 @@ import Data.List qualified as List
import Data.Monoid import Data.Monoid
import Data.Semigroup import Data.Semigroup
import Data.Set qualified as Set import Data.Set qualified as Set
import Gargantext.API.Ngrams.Types (NgramsElement, mkNgramsElement, NgramsTerm(..), RootParent(..), mSetFromList) import Gargantext.Core.Ngrams.Types (NgramsElement, mkNgramsElement, NgramsTerm(..), RootParent(..), mSetFromList)
import Gargantext.Core.Types (ListType(..)) import Gargantext.Core.Types (ListType(..))
import Gargantext.Prelude import Gargantext.Prelude
import Prelude (foldl1) import Prelude (foldl1)
......
...@@ -19,7 +19,7 @@ import Control.Lens (view, set, over) ...@@ -19,7 +19,7 @@ import Control.Lens (view, set, over)
import Data.HashMap.Strict (HashMap) import Data.HashMap.Strict (HashMap)
import Data.HashMap.Strict qualified as HashMap import Data.HashMap.Strict qualified as HashMap
import Data.Semigroup import Data.Semigroup
import Gargantext.API.Ngrams.Types (NgramsTerm(..)) import Gargantext.Core.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.Text.List.Group.Prelude import Gargantext.Core.Text.List.Group.Prelude
import Gargantext.Core.Text.List.Social.Prelude import Gargantext.Core.Text.List.Social.Prelude
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -27,8 +27,8 @@ import Data.Map.Strict qualified as Map ...@@ -27,8 +27,8 @@ import Data.Map.Strict qualified as Map
import Data.Map.Strict.Patch qualified as PatchMap import Data.Map.Strict.Patch qualified as PatchMap
import Data.Patch.Class qualified as Patch (Replace(..)) import Data.Patch.Class qualified as Patch (Replace(..))
import Data.Text qualified as Text import Data.Text qualified as Text
import Gargantext.API.Ngrams.Types
import Gargantext.Core (Lang(..), Form, Lem, NLPServerConfig) import Gargantext.Core (Lang(..), Form, Lem, NLPServerConfig)
import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Text.List.Group.Prelude import Gargantext.Core.Text.List.Group.Prelude
import Gargantext.Core.Text.List.Social.Patch import Gargantext.Core.Text.List.Social.Patch
import Gargantext.Core.Text.List.Social.Prelude import Gargantext.Core.Text.List.Social.Prelude
......
...@@ -20,7 +20,7 @@ module Gargantext.Core.Text.List.Merge ...@@ -20,7 +20,7 @@ module Gargantext.Core.Text.List.Merge
import Control.Lens (view) import Control.Lens (view)
import Data.Map.Strict.Patch hiding (PatchMap) import Data.Map.Strict.Patch hiding (PatchMap)
import Gargantext.API.Ngrams.Types (NgramsRepoElement, NgramsTerm, PatchMap, Versioned(..), v_data, v_version) import Gargantext.Core.Ngrams.Types (NgramsRepoElement, NgramsTerm, PatchMap, Versioned(..), v_data, v_version)
import Gargantext.Prelude hiding (diff) import Gargantext.Prelude hiding (diff)
type List = Map NgramsTerm NgramsRepoElement type List = Map NgramsTerm NgramsRepoElement
......
...@@ -23,7 +23,7 @@ import Data.Swagger ...@@ -23,7 +23,7 @@ import Data.Swagger
import Data.Text qualified as T import Data.Text qualified as T
import Data.Vector qualified as V import Data.Vector qualified as V
import GHC.Generics import GHC.Generics
import Gargantext.API.Ngrams.Types (NgramsTerm, NgramsPatch) import Gargantext.Core.Ngrams.Types (NgramsTerm, NgramsPatch)
import Gargantext.Core.NodeStory (getNodesArchiveHistory) import Gargantext.Core.NodeStory (getNodesArchiveHistory)
import Gargantext.Core.Text.List.Social.Find (findListsId) import Gargantext.Core.Text.List.Social.Find (findListsId)
import Gargantext.Core.Text.List.Social.Patch (addScorePatches) import Gargantext.Core.Text.List.Social.Patch (addScorePatches)
......
...@@ -18,7 +18,7 @@ import Data.List qualified as List ...@@ -18,7 +18,7 @@ import Data.List qualified as List
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
import Data.Patch.Class qualified as Patch (Replace(..)) import Data.Patch.Class qualified as Patch (Replace(..))
import Gargantext.API.Ngrams.Prelude (unMSet, patchMSet_toList) import Gargantext.API.Ngrams.Prelude (unMSet, patchMSet_toList)
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Text.List.Social.Prelude import Gargantext.Core.Text.List.Social.Prelude
import Gargantext.Core.Types (ListId) import Gargantext.Core.Types (ListId)
import Gargantext.Database.Schema.Ngrams (NgramsType(..)) import Gargantext.Database.Schema.Ngrams (NgramsType(..))
......
...@@ -24,7 +24,7 @@ import Data.HashMap.Strict qualified as HashMap ...@@ -24,7 +24,7 @@ import Data.HashMap.Strict qualified as HashMap
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
import Data.Map.Strict.Patch qualified as PatchMap import Data.Map.Strict.Patch qualified as PatchMap
import Data.Monoid import Data.Monoid
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Types.Main import Gargantext.Core.Types.Main
import Gargantext.Data.HashMap.Strict.Utils qualified as HashMap import Gargantext.Data.HashMap.Strict.Utils qualified as HashMap
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -22,8 +22,8 @@ import Data.List qualified as List ...@@ -22,8 +22,8 @@ import Data.List qualified as List
import Data.Ord import Data.Ord
import Data.Text (concat) import Data.Text (concat)
import Data.Text qualified as Text import Data.Text qualified as Text
import Gargantext.API.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core (Lang(ZH)) import Gargantext.Core (Lang(ZH))
import Gargantext.Core.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.Text.Context import Gargantext.Core.Text.Context
import Gargantext.Core.Text.Terms.Mono (monoTextsBySentence) import Gargantext.Core.Text.Terms.Mono (monoTextsBySentence)
import Gargantext.Core.Types (TermsCount) import Gargantext.Core.Types (TermsCount)
......
...@@ -21,7 +21,7 @@ import Data.Set qualified as Set ...@@ -21,7 +21,7 @@ import Data.Set qualified as Set
import Data.Vector qualified as V import Data.Vector qualified as V
import Gargantext.API.Ngrams.NgramsTree import Gargantext.API.Ngrams.NgramsTree
import Gargantext.API.Ngrams.Tools import Gargantext.API.Ngrams.Tools
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Text.Metrics.Count (occurrencesWith) import Gargantext.Core.Text.Metrics.Count (occurrencesWith)
import Gargantext.Core.Types import Gargantext.Core.Types
......
...@@ -22,7 +22,7 @@ import Data.Aeson qualified as DA ...@@ -22,7 +22,7 @@ import Data.Aeson qualified as DA
import Data.ByteString.Lazy as DBL (readFile, writeFile) import Data.ByteString.Lazy as DBL (readFile, writeFile)
import Data.HashMap.Strict (HashMap, lookup) import Data.HashMap.Strict (HashMap, lookup)
import Data.Text qualified as Text import Data.Text qualified as Text
import Gargantext.API.Ngrams.Types (NgramsTerm(..), NgramsRepoElement(..), mSetToList) import Gargantext.Core.Ngrams.Types (NgramsTerm(..), NgramsRepoElement(..), mSetToList)
import Gargantext.Core.Viz.Graph.Types (Attributes(..), AttributesV3(..), Edge(..), EdgeV3(..), Graph(..), GraphV3(..), Node(..), NodeV3(..), graph_nodes) import Gargantext.Core.Viz.Graph.Types (Attributes(..), AttributesV3(..), Edge(..), EdgeV3(..), Graph(..), GraphV3(..), Node(..), NodeV3(..), graph_nodes)
import Gargantext.Database.Admin.Types.Hyperdata.Prelude (set) import Gargantext.Database.Admin.Types.Hyperdata.Prelude (set)
import Gargantext.Database.Schema.Ngrams (NgramsType(..)) import Gargantext.Database.Schema.Ngrams (NgramsType(..))
......
...@@ -26,9 +26,9 @@ import Gargantext.API.Admin.EnvTypes (GargJob(..), Env) ...@@ -26,9 +26,9 @@ import Gargantext.API.Admin.EnvTypes (GargJob(..), Env)
import Gargantext.API.Admin.Orchestrator.Types import Gargantext.API.Admin.Orchestrator.Types
import Gargantext.API.Errors.Types (BackendInternalError) import Gargantext.API.Errors.Types (BackendInternalError)
import Gargantext.API.Ngrams.Tools (filterListWithRoot, getCoocByNgrams'', getRepo, groupNodesByNgrams, mapTermListRoot) import Gargantext.API.Ngrams.Tools (filterListWithRoot, getCoocByNgrams'', getRepo, groupNodesByNgrams, mapTermListRoot)
import Gargantext.API.Ngrams.Types (Diagonal(..))
import Gargantext.API.Prelude (GargM, GargServer) import Gargantext.API.Prelude (GargM, GargServer)
import Gargantext.Core.Methods.Similarities (Similarity(..), GraphMetric(..), withMetric) import Gargantext.Core.Methods.Similarities (Similarity(..), GraphMetric(..), withMetric)
import Gargantext.Core.Ngrams.Types (Diagonal(..))
import Gargantext.Core.NodeStory (HasNodeStory, NodeListStory, a_version, unNodeStory) import Gargantext.Core.NodeStory (HasNodeStory, NodeListStory, a_version, unNodeStory)
import Gargantext.Core.Types.Main (ListType(MapTerm)) import Gargantext.Core.Types.Main (ListType(MapTerm))
import Gargantext.Core.Viz.Graph.GEXF () -- MimeRender instances import Gargantext.Core.Viz.Graph.GEXF () -- MimeRender instances
......
...@@ -28,8 +28,8 @@ import Data.Map.Strict qualified as Map ...@@ -28,8 +28,8 @@ import Data.Map.Strict qualified as Map
import Data.Set qualified as Set import Data.Set qualified as Set
import Data.Text qualified as Text import Data.Text qualified as Text
import Data.Vector.Storable qualified as Vec import Data.Vector.Storable qualified as Vec
import Gargantext.API.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.Methods.Similarities (Similarity(..), measure) import Gargantext.Core.Methods.Similarities (Similarity(..), measure)
import Gargantext.Core.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.Statistics (Dimension(..), pcaReduceTo) import Gargantext.Core.Statistics (Dimension(..), pcaReduceTo)
import Gargantext.Core.Viz.Graph.Bridgeness (bridgeness, Bridgeness(..), Partitions, nodeId2comId, {-recursiveClustering,-} recursiveClustering', setNodes2clusterNodes) import Gargantext.Core.Viz.Graph.Bridgeness (bridgeness, Bridgeness(..), Partitions, nodeId2comId, {-recursiveClustering,-} recursiveClustering', setNodes2clusterNodes)
import Gargantext.Core.Viz.Graph.Index (createIndices, toIndex, map2mat, mat2map, Index, MatrixShape(..)) import Gargantext.Core.Viz.Graph.Index (createIndices, toIndex, map2mat, mat2map, Index, MatrixShape(..))
......
...@@ -22,8 +22,8 @@ import Data.HashSet qualified as HashSet ...@@ -22,8 +22,8 @@ import Data.HashSet qualified as HashSet
import Data.Swagger (ToSchema(..), genericDeclareNamedSchema) import Data.Swagger (ToSchema(..), genericDeclareNamedSchema)
import Data.Text (pack) import Data.Text (pack)
import Database.PostgreSQL.Simple.FromField (FromField(..)) import Database.PostgreSQL.Simple.FromField (FromField(..))
import Gargantext.API.Ngrams.Types (NgramsTerm)
import Gargantext.Core.Methods.Similarities (GraphMetric) import Gargantext.Core.Methods.Similarities (GraphMetric)
import Gargantext.Core.Ngrams.Types (NgramsTerm)
import Gargantext.Core.Types (ListId) import Gargantext.Core.Types (ListId)
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Database.Admin.Types.Hyperdata.Prelude (Hyperdata) import Gargantext.Database.Admin.Types.Hyperdata.Prelude (Hyperdata)
......
...@@ -28,8 +28,8 @@ import Data.Text (pack) ...@@ -28,8 +28,8 @@ import Data.Text (pack)
import Data.Time.Calendar (fromGregorian, diffGregorianDurationClip, cdMonths, diffDays, showGregorian) import Data.Time.Calendar (fromGregorian, diffGregorianDurationClip, cdMonths, diffDays, showGregorian)
import Data.Time.Clock.POSIX(posixSecondsToUTCTime) import Data.Time.Clock.POSIX(posixSecondsToUTCTime)
import Gargantext.API.Ngrams.Prelude (getTermList) import Gargantext.API.Ngrams.Prelude (getTermList)
import Gargantext.API.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core (withDefaultLanguage, Lang) import Gargantext.Core (withDefaultLanguage, Lang)
import Gargantext.Core.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Text.Terms.WithList (Patterns, buildPatterns, termsInText) import Gargantext.Core.Text.Terms.WithList (Patterns, buildPatterns, termsInText)
import Gargantext.Core.Types (Context, nodeId2ContextId) import Gargantext.Core.Types (Context, nodeId2ContextId)
......
...@@ -25,8 +25,8 @@ import Data.Proxy ...@@ -25,8 +25,8 @@ import Data.Proxy
import Data.Set qualified as Set import Data.Set qualified as Set
import Data.Text qualified as Text import Data.Text qualified as Text
import Gargantext.API.Ngrams.Tools (getTermsWith) import Gargantext.API.Ngrams.Tools (getTermsWith)
import Gargantext.API.Ngrams.Types
import Gargantext.Core (HasDBid, withDefaultLanguage) import Gargantext.Core (HasDBid, withDefaultLanguage)
import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Text.Context (TermList) import Gargantext.Core.Text.Context (TermList)
import Gargantext.Core.Text.Terms.WithList import Gargantext.Core.Text.Terms.WithList
......
...@@ -57,7 +57,8 @@ import Gargantext.Core.Ext.IMTUser (readFile_Annuaire) ...@@ -57,7 +57,8 @@ import Gargantext.Core.Ext.IMTUser (readFile_Annuaire)
import Gargantext.Core.NLP (HasNLPServer, nlpServerGet) import Gargantext.Core.NLP (HasNLPServer, nlpServerGet)
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Text.Corpus.API qualified as API import Gargantext.Core.Text.Corpus.API qualified as API
import Gargantext.Core.Text.Corpus.Parsers (parseFile, FileFormat, FileType) import Gargantext.Core.Text.Corpus.Parsers (parseFile)
import Gargantext.Core.Text.Corpus.Parsers.Types (FileFormat, FileType)
import Gargantext.Core.Text.List.Social (FlowSocialListWith(..)) import Gargantext.Core.Text.List.Social (FlowSocialListWith(..))
import Gargantext.Core.Text.Terms (ExtractedNgrams(SimpleNgrams), TermType(..), tt_lang) import Gargantext.Core.Text.Terms (ExtractedNgrams(SimpleNgrams), TermType(..), tt_lang)
import Gargantext.Core.Text.Terms.Mono.Stem.En (stemIt) import Gargantext.Core.Text.Terms.Mono.Stem.En (stemIt)
...@@ -101,11 +102,11 @@ getDataText :: (HasNodeError err) ...@@ -101,11 +102,11 @@ getDataText :: (HasNodeError err)
-> Maybe EPO.AuthKey -> Maybe EPO.AuthKey
-> Maybe API.Limit -> Maybe API.Limit
-> DBCmd err (Either API.GetCorpusError DataText) -> DBCmd err (Either API.GetCorpusError DataText)
getDataText (ExternalOrigin api) la q mPubmedAPIKey mAuthKey li = do getDataText (ExternalOrigin api) lang q mPubmedAPIKey mAuthKey limit = do
cfg <- view hasConfig cfg <- view hasConfig
eRes <- liftBase $ API.get api (_tt_lang la) q mPubmedAPIKey mAuthKey (_gc_epo_api_url cfg) li eRes <- liftBase $ API.get api (_tt_lang lang) q mPubmedAPIKey mAuthKey (_gc_epo_api_url cfg) limit
pure $ DataNew <$> eRes pure $ DataNew <$> eRes
getDataText (InternalOrigin _) _la q _ _ _li = do getDataText (InternalOrigin _) _lang q _ _ _limit = do
(_masterUserId, _masterRootId, cId) <- getOrMk_RootWithCorpus (_masterUserId, _masterRootId, cId) <- getOrMk_RootWithCorpus
(UserName userMaster) (UserName userMaster)
(Left "") (Left "")
......
...@@ -26,7 +26,7 @@ import Data.Map.Strict (toList) ...@@ -26,7 +26,7 @@ import Data.Map.Strict (toList)
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
import Data.Map.Strict.Patch qualified as PM import Data.Map.Strict.Patch qualified as PM
import Gargantext.API.Ngrams.Tools (getNodeStory) import Gargantext.API.Ngrams.Tools (getNodeStory)
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.NodeStory (HasNodeStory, a_history, a_state, a_version) import Gargantext.Core.NodeStory (HasNodeStory, a_history, a_state, a_version)
import Gargantext.Core.NodeStory.Utils (saveNodeStory) import Gargantext.Core.NodeStory.Utils (saveNodeStory)
import Gargantext.Core.Types (HasValidationError(..), assertValid) import Gargantext.Core.Types (HasValidationError(..), assertValid)
......
...@@ -27,8 +27,8 @@ import Data.List qualified as List ...@@ -27,8 +27,8 @@ import Data.List qualified as List
import Data.Set qualified as Set import Data.Set qualified as Set
import Data.Text qualified as Text import Data.Text qualified as Text
import Gargantext.API.Ngrams.Tools (filterListWithRoot, getRepo, groupNodesByNgrams, mapTermListRoot) import Gargantext.API.Ngrams.Tools (filterListWithRoot, getRepo, groupNodesByNgrams, mapTermListRoot)
import Gargantext.API.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core (toDBid) import Gargantext.Core (toDBid)
import Gargantext.Core.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Text.Metrics.CharByChar (levenshtein) import Gargantext.Core.Text.Metrics.CharByChar (levenshtein)
import Gargantext.Core.Types (TableResult(..)) import Gargantext.Core.Types (TableResult(..))
......
...@@ -34,9 +34,9 @@ import Data.HashMap.Strict qualified as HashMap ...@@ -34,9 +34,9 @@ import Data.HashMap.Strict qualified as HashMap
import Data.List qualified as List import Data.List qualified as List
import Data.Map.Strict qualified as DM import Data.Map.Strict qualified as DM
import Data.Text qualified as T import Data.Text qualified as T
import Gargantext.API.Ngrams.Types qualified as NT
import Gargantext.Core (Lang, NLPServerConfig, toDBid) import Gargantext.Core (Lang, NLPServerConfig, toDBid)
import Gargantext.Core.Flow.Types (UniqId, uniqId) import Gargantext.Core.Flow.Types (UniqId, uniqId)
import Gargantext.Core.Ngrams.Types qualified as NT
import Gargantext.Core.NLP (HasNLPServer, nlpServerGet) import Gargantext.Core.NLP (HasNLPServer, nlpServerGet)
import Gargantext.Core.NodeStory (HasNodeStory) import Gargantext.Core.NodeStory (HasNodeStory)
import Gargantext.Core.Text.List (buildNgramsLists) import Gargantext.Core.Text.List (buildNgramsLists)
......
...@@ -28,9 +28,8 @@ import Database.PostgreSQL.Simple.SqlQQ (sql) ...@@ -28,9 +28,8 @@ import Database.PostgreSQL.Simple.SqlQQ (sql)
import Database.PostgreSQL.Simple.ToField (toField, Action{-, ToField-}) import Database.PostgreSQL.Simple.ToField (toField, Action{-, ToField-})
import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..)) import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..))
import Gargantext.API.Ngrams.Tools (filterListWithRoot, groupNodesByNgrams, getCoocByNgrams, mapTermListRoot, getRepo) import Gargantext.API.Ngrams.Tools (filterListWithRoot, groupNodesByNgrams, getCoocByNgrams, mapTermListRoot, getRepo)
import Gargantext.API.Ngrams.Types (Diagonal(..), RootTerm)
import Gargantext.API.Ngrams.Types (TabType(..), ngramsTypeFromTabType, NgramsTerm(..))
import Gargantext.Core (HasDBid(toDBid)) import Gargantext.Core (HasDBid(toDBid))
import Gargantext.Core.Ngrams.Types (Diagonal(..), RootTerm, TabType(..), ngramsTypeFromTabType, NgramsTerm(..))
import Gargantext.Core.NodeStory import Gargantext.Core.NodeStory
import Gargantext.Core.Text.Metrics (scored, Scored(..), {-localMetrics, toScored-}) import Gargantext.Core.Text.Metrics (scored, Scored(..), {-localMetrics, toScored-})
import Gargantext.Core.Types (ListType(..), NodeType(..), ContextId, contextId2NodeId) import Gargantext.Core.Types (ListType(..), NodeType(..), ContextId, contextId2NodeId)
......
...@@ -26,8 +26,8 @@ import Database.PostgreSQL.Simple.SqlQQ (sql) ...@@ -26,8 +26,8 @@ import Database.PostgreSQL.Simple.SqlQQ (sql)
import Database.PostgreSQL.Simple.ToField qualified as DPS import Database.PostgreSQL.Simple.ToField qualified as DPS
import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..)) import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..))
import Database.PostgreSQL.Simple.Types qualified as DPST import Database.PostgreSQL.Simple.Types qualified as DPST
import Gargantext.API.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core import Gargantext.Core
import Gargantext.Core.Ngrams.Types (NgramsTerm(..))
import Gargantext.Data.HashMap.Strict.Utils as HM import Gargantext.Data.HashMap.Strict.Utils as HM
import Gargantext.Database.Admin.Types.Node (ListId, CorpusId, NodeId(..), ContextId (..), MasterCorpusId, NodeType(NodeDocument), UserCorpusId, DocId) import Gargantext.Database.Admin.Types.Node (ListId, CorpusId, NodeId(..), ContextId (..), MasterCorpusId, NodeType(NodeDocument), UserCorpusId, DocId)
import Gargantext.Database.Prelude (DBCmd, runPGSQuery) import Gargantext.Database.Prelude (DBCmd, runPGSQuery)
......
...@@ -17,8 +17,8 @@ module Gargantext.Database.Action.Metrics.TFICF ...@@ -17,8 +17,8 @@ module Gargantext.Database.Action.Metrics.TFICF
import Data.HashMap.Strict (HashMap) import Data.HashMap.Strict (HashMap)
import Data.HashMap.Strict qualified as HM import Data.HashMap.Strict qualified as HM
import Data.Set qualified as Set import Data.Set qualified as Set
import Gargantext.API.Ngrams.Types
import Gargantext.Core import Gargantext.Core
import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Text.Metrics.TFICF import Gargantext.Core.Text.Metrics.TFICF
import Gargantext.Database.Action.Metrics.NgramsByContext (getContextsByNgramsUser, {-getOccByNgramsOnlyFast,-} getOccByNgramsOnlyFast_withSample) import Gargantext.Database.Action.Metrics.NgramsByContext (getContextsByNgramsUser, {-getOccByNgramsOnlyFast,-} getOccByNgramsOnlyFast_withSample)
import Gargantext.Database.Admin.Types.Node -- (ListId, CorpusId, NodeId) import Gargantext.Database.Admin.Types.Node -- (ListId, CorpusId, NodeId)
......
...@@ -38,18 +38,18 @@ import Gargantext.Core.Types ...@@ -38,18 +38,18 @@ import Gargantext.Core.Types
import Gargantext.Core.Types.Query (IsTrash, Limit, Offset) import Gargantext.Core.Types.Query (IsTrash, Limit, Offset)
import Gargantext.Database.Admin.Types.Hyperdata (HyperdataDocument(..), HyperdataContact(..)) import Gargantext.Database.Admin.Types.Hyperdata (HyperdataDocument(..), HyperdataContact(..))
import Gargantext.Database.Prelude (runOpaQuery, runCountOpaQuery, DBCmd) import Gargantext.Database.Prelude (runOpaQuery, runCountOpaQuery, DBCmd)
import Gargantext.Database.Query.Facet import Gargantext.Database.Query.Facet (Facet(..), FacetDoc, FacetDocRead, FacetPaired(..), FacetPairedRead, OrderBy, _fp_score, filterWith)
import Gargantext.Database.Query.Filter import Gargantext.Database.Query.Filter (limit', offset')
import Gargantext.Database.Query.Table.Context import Gargantext.Database.Query.Table.Context (queryContextSearchTable)
import Gargantext.Database.Query.Table.ContextNodeNgrams (queryContextNodeNgramsTable) import Gargantext.Database.Query.Table.ContextNodeNgrams (queryContextNodeNgramsTable)
import Gargantext.Database.Query.Table.Node import Gargantext.Database.Query.Table.Node (defaultList, queryNodeSearchTable)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError()) import Gargantext.Database.Query.Table.Node.Error (HasNodeError())
import Gargantext.Database.Query.Table.NodeContext import Gargantext.Database.Query.Table.NodeContext (NodeContextRead, nc_category, nc_context_id, nc_id, nc_node_id, nc_score, queryNodeContextTable)
import Gargantext.Database.Query.Table.NodeContext_NodeContext import Gargantext.Database.Query.Table.NodeContext_NodeContext (NodeContext_NodeContextRead, ncnc_nodecontext1, ncnc_nodecontext2, queryNodeContext_NodeContextTable)
import Gargantext.Database.Schema.Context import Gargantext.Database.Schema.Context (ContextRead, ContextSearchRead, context_date, context_hyperdata, context_id, context_typename, cs_date, cs_hyperdata, cs_id, cs_name, cs_search, cs_typename, queryContextTable)
import Gargantext.Database.Schema.ContextNodeNgrams (ContextNodeNgramsPoly(..)) import Gargantext.Database.Schema.ContextNodeNgrams (ContextNodeNgramsPoly(..))
import Gargantext.Database.Schema.Ngrams (NgramsType(..)) import Gargantext.Database.Schema.Ngrams (NgramsType(..))
import Gargantext.Database.Schema.Node import Gargantext.Database.Schema.Node (ns_hyperdata, ns_id, ns_search, ns_typename)
import Gargantext.Prelude hiding (groupBy) import Gargantext.Prelude hiding (groupBy)
import Opaleye hiding (Order) import Opaleye hiding (Order)
import Opaleye qualified as O hiding (Order) import Opaleye qualified as O hiding (Order)
...@@ -95,9 +95,9 @@ searchDocInDatabase p t = runOpaQuery (queryDocInDatabase p t) ...@@ -95,9 +95,9 @@ searchDocInDatabase p t = runOpaQuery (queryDocInDatabase p t)
queryDocInDatabase :: ParentId -> Text -> O.Select (Column SqlInt4, Column SqlJsonb) queryDocInDatabase :: ParentId -> Text -> O.Select (Column SqlInt4, Column SqlJsonb)
queryDocInDatabase _p q = proc () -> do queryDocInDatabase _p q = proc () -> do
row <- queryNodeSearchTable -< () row <- queryNodeSearchTable -< ()
restrict -< (_ns_search row) @@ (sqlPlainToTSQuery (unpack q)) restrict -< (row ^. ns_search) @@ (sqlPlainToTSQuery (unpack q))
restrict -< (_ns_typename row) .== (sqlInt4 $ toDBid NodeDocument) restrict -< (row ^. ns_typename) .== (sqlInt4 $ toDBid NodeDocument)
returnA -< (_ns_id row, _ns_hyperdata row) returnA -< (row ^. ns_id, row ^. ns_hyperdata)
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- | Search ngrams in documents, ranking them by TF-IDF. We narrow our -- | Search ngrams in documents, ranking them by TF-IDF. We narrow our
...@@ -200,7 +200,7 @@ queryInCorpus :: HasDBid NodeType ...@@ -200,7 +200,7 @@ queryInCorpus :: HasDBid NodeType
queryInCorpus cId t q = proc () -> do queryInCorpus cId t q = proc () -> do
c <- queryContextSearchTable -< () c <- queryContextSearchTable -< ()
nc <- optionalRestrict queryNodeContextTable -< nc <- optionalRestrict queryNodeContextTable -<
\nc' -> (nc' ^. nc_context_id) .== _cs_id c \nc' -> (nc' ^. nc_context_id) .== c ^. cs_id
restrict -< (view nc_node_id <$> nc) .=== justFields (pgNodeId cId) restrict -< (view nc_node_id <$> nc) .=== justFields (pgNodeId cId)
restrict -< if t restrict -< if t
then (view nc_category <$> nc) .=== justFields (sqlInt4 0) then (view nc_category <$> nc) .=== justFields (sqlInt4 0)
......
...@@ -30,7 +30,7 @@ import Control.Applicative ...@@ -30,7 +30,7 @@ import Control.Applicative
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Core.Viz.Types (Histo(..)) import Gargantext.Core.Viz.Types (Histo(..))
import Gargantext.API.Ngrams.NgramsTree (NgramsTree) import Gargantext.API.Ngrams.NgramsTree (NgramsTree)
import Gargantext.API.Ngrams.Types (TabType) import Gargantext.Core.Ngrams.Types (TabType)
import Gargantext.Database.Admin.Types.Hyperdata.Prelude import Gargantext.Database.Admin.Types.Hyperdata.Prelude
import Gargantext.Database.Admin.Types.Metrics (ChartMetrics(..), Metrics) import Gargantext.Database.Admin.Types.Metrics (ChartMetrics(..), Metrics)
......
...@@ -11,8 +11,6 @@ Here is a longer description of this module, containing some ...@@ -11,8 +11,6 @@ Here is a longer description of this module, containing some
commentary with @some markup@. commentary with @some markup@.
-} -}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE Arrows #-} {-# LANGUAGE Arrows #-}
{-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
...@@ -52,11 +50,11 @@ import Database.PostgreSQL.Simple.SqlQQ (sql) ...@@ -52,11 +50,11 @@ import Database.PostgreSQL.Simple.SqlQQ (sql)
import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..)) import Database.PostgreSQL.Simple.Types (Values(..), QualifiedIdentifier(..))
import Gargantext.Core import Gargantext.Core
import Gargantext.Core.Types import Gargantext.Core.Types
import Gargantext.Database.Admin.Types.Hyperdata import Gargantext.Database.Admin.Types.Hyperdata (Hyperdata, HyperdataDocument, hd_publication_date)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError, NodeError(..), nodeError) import Gargantext.Database.Query.Table.Node.Error (HasNodeError, NodeError(..), nodeError)
import Gargantext.Database.Prelude import Gargantext.Database.Prelude (DBCmd, execPGSQuery, mkCmd, restrictMaybe, runCountOpaQuery, runOpaQuery, runPGSQuery)
import Gargantext.Database.Schema.Context import Gargantext.Database.Schema.Context (ContextRead, context_hyperdata, context_id, context_typename, queryContextTable)
import Gargantext.Database.Schema.Node import Gargantext.Database.Schema.Node (NodeRead, node_id, node_typename, queryNodeTable)
import Gargantext.Database.Schema.NodeContext import Gargantext.Database.Schema.NodeContext
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Prelude.Crypto.Hash (Hash) import Gargantext.Prelude.Crypto.Hash (Hash)
......
...@@ -11,8 +11,6 @@ Here is a longer description of this module, containing some ...@@ -11,8 +11,6 @@ Here is a longer description of this module, containing some
commentary with @some markup@. commentary with @some markup@.
-} -}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE Arrows #-} {-# LANGUAGE Arrows #-}
{-# LANGUAGE FunctionalDependencies #-} {-# LANGUAGE FunctionalDependencies #-}
{-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE QuasiQuotes #-}
......
...@@ -14,7 +14,7 @@ Portability : POSIX ...@@ -14,7 +14,7 @@ Portability : POSIX
module Gargantext.Utils.JohnSnowNLP where module Gargantext.Utils.JohnSnowNLP where
import Control.Lens import Control.Lens
import Data.Aeson (encode, ToJSON, toJSON, FromJSON, parseJSON, Value(..), (.:), (.:?)) import Data.Aeson (encode, ToJSON(..), FromJSON(..), Value(..), (.:), (.:?))
import Data.Aeson.TH (deriveJSON) import Data.Aeson.TH (deriveJSON)
import Data.Aeson.Types (prependFailure, typeMismatch) import Data.Aeson.Types (prependFailure, typeMismatch)
import Data.List.Safe qualified as LS import Data.List.Safe qualified as LS
......
...@@ -15,7 +15,7 @@ import Data.Csv (defaultEncodeOptions, encodeByNameWith, encodeDefaultOrderedByN ...@@ -15,7 +15,7 @@ import Data.Csv (defaultEncodeOptions, encodeByNameWith, encodeDefaultOrderedByN
import qualified Data.Map.Strict as Map import qualified Data.Map.Strict as Map
import qualified Data.Text as T import qualified Data.Text as T
import qualified Data.Text.Encoding as TE import qualified Data.Text.Encoding as TE
import Gargantext.API.Ngrams.Types (mSetToList, NgramsRepoElement(..), NgramsTableMap, NgramsTerm(..), unNgramsTerm) import Gargantext.Core.Ngrams.Types (mSetToList, NgramsRepoElement(..), NgramsTableMap, NgramsTerm(..), unNgramsTerm)
import Gargantext.Core.Types.Main (ListType(..)) import Gargantext.Core.Types.Main (ListType(..))
import Network.HTTP.Media ((//), (/:)) import Network.HTTP.Media ((//), (/:))
import qualified Prelude import qualified Prelude
......
...@@ -23,7 +23,7 @@ import Fmt ...@@ -23,7 +23,7 @@ import Fmt
import Gargantext.API.Admin.Auth.Types (Token) import Gargantext.API.Admin.Auth.Types (Token)
import Gargantext.API.Admin.Orchestrator.Types import Gargantext.API.Admin.Orchestrator.Types
import Gargantext.API.Ngrams.List ( ngramsListFromCSVData ) import Gargantext.API.Ngrams.List ( ngramsListFromCSVData )
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Types import Gargantext.Core.Types
import Gargantext.Core.Types.Individu import Gargantext.Core.Types.Individu
import Gargantext.Database.Action.User import Gargantext.Database.Action.User
......
...@@ -21,7 +21,7 @@ import Data.Set qualified as Set ...@@ -21,7 +21,7 @@ import Data.Set qualified as Set
import Database.PostgreSQL.Simple qualified as PSQL import Database.PostgreSQL.Simple qualified as PSQL
import Database.PostgreSQL.Simple.SqlQQ import Database.PostgreSQL.Simple.SqlQQ
import Gargantext.API.Ngrams (commitStatePatch, setListNgrams) import Gargantext.API.Ngrams (commitStatePatch, setListNgrams)
import Gargantext.API.Ngrams.Types (MSet(..), NgramsPatch(..), NgramsRepoElement(..), NgramsTerm(..), Versioned(..), mkNgramsTablePatch, mSetFromList, nre_children, nre_list, nre_parent, nre_root) import Gargantext.Core.Ngrams.Types (MSet(..), NgramsPatch(..), NgramsRepoElement(..), NgramsTerm(..), Versioned(..), mkNgramsTablePatch, mSetFromList, nre_children, nre_list, nre_parent, nre_root)
import Gargantext.API.Ngrams.Tools (getNodeStory) import Gargantext.API.Ngrams.Tools (getNodeStory)
import Gargantext.Core.NodeStory (ArchiveList, a_state, a_version, currentVersion, initArchive) import Gargantext.Core.NodeStory (ArchiveList, a_state, a_version, currentVersion, initArchive)
import Gargantext.Core.NodeStory.Utils (saveNodeStory) import Gargantext.Core.NodeStory.Utils (saveNodeStory)
......
...@@ -15,8 +15,8 @@ module Test.Graph.Clustering where ...@@ -15,8 +15,8 @@ module Test.Graph.Clustering where
import Data.HashMap.Strict (HashMap) import Data.HashMap.Strict (HashMap)
import Data.HashMap.Strict qualified as HashMap import Data.HashMap.Strict qualified as HashMap
import Data.List qualified as List import Data.List qualified as List
import Gargantext.API.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.Methods.Similarities (Similarity(..)) import Gargantext.Core.Methods.Similarities (Similarity(..))
import Gargantext.CoreAPI.Ngrams.Types (NgramsTerm(..))
import Gargantext.Core.Viz.Graph.Tools (doSimilarityMap) import Gargantext.Core.Viz.Graph.Tools (doSimilarityMap)
import Gargantext.Core.Viz.Graph.Tools.IGraph (spinglass) import Gargantext.Core.Viz.Graph.Tools.IGraph (spinglass)
import Gargantext.Core.Viz.Graph.Types import Gargantext.Core.Viz.Graph.Types
......
...@@ -10,7 +10,7 @@ import Data.Patch.Class qualified as Patch ...@@ -10,7 +10,7 @@ import Data.Patch.Class qualified as Patch
import Data.Text qualified as T import Data.Text qualified as T
import Data.Validity qualified as Validity import Data.Validity qualified as Validity
import Gargantext.API.Ngrams import Gargantext.API.Ngrams
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Types.Main import Gargantext.Core.Types.Main
import Gargantext.Core.Types.Query import Gargantext.Core.Types.Query
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -17,7 +17,7 @@ import Prelude ...@@ -17,7 +17,7 @@ import Prelude
import Data.Aeson import Data.Aeson
import Data.Map.Strict (Map) import Data.Map.Strict (Map)
import Gargantext.API.Ngrams.Types import Gargantext.Core.Ngrams.Types
import Gargantext.Core.Types.Main import Gargantext.Core.Types.Main
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node
import System.IO.Unsafe import System.IO.Unsafe
......
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