[refactoring] prelude with ToJSON etc instances

parent 6e07f6c5
...@@ -11,15 +11,12 @@ Main specifications to index a corpus with a term list ...@@ -11,15 +11,12 @@ Main specifications to index a corpus with a term list
-} -}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE Strict #-} {-# LANGUAGE Strict #-}
module Main where module Main where
import Control.Concurrent.Async as CCA (mapConcurrently) import Control.Concurrent.Async as CCA (mapConcurrently)
import Control.Monad.IO.Class import Data.Aeson ( ToJSON, encode )
import Data.Aeson
import Data.List.Split (chunksOf) import Data.List.Split (chunksOf)
import Data.Map.Strict qualified as DM import Data.Map.Strict qualified as DM
import Data.Text (pack) import Data.Text (pack)
...@@ -28,14 +25,12 @@ import Data.Text.Lazy qualified as DTL ...@@ -28,14 +25,12 @@ import Data.Text.Lazy qualified as DTL
import Data.Text.Lazy.Encoding qualified as TLE import Data.Text.Lazy.Encoding qualified as TLE
import Data.Tuple.Extra (both) import Data.Tuple.Extra (both)
import Data.Vector qualified as DV import Data.Vector qualified as DV
import GHC.Generics import Gargantext.Core.Text.Context (TermList)
import Gargantext.Core.Text.Context
import Gargantext.Core.Text.Corpus.Parsers.CSV (readCSVFile, csv_title, csv_abstract, csv_publication_year, fromMIntOrDec, defaultYear) import Gargantext.Core.Text.Corpus.Parsers.CSV (readCSVFile, csv_title, csv_abstract, csv_publication_year, fromMIntOrDec, defaultYear)
import Gargantext.Core.Text.List.Formats.CSV (csvMapTermList) import Gargantext.Core.Text.List.Formats.CSV (csvMapTermList)
import Gargantext.Core.Text.Metrics.Count (coocOnContexts, Coocs) import Gargantext.Core.Text.Metrics.Count (coocOnContexts, Coocs)
import Gargantext.Core.Text.Terms.WithList import Gargantext.Core.Text.Terms.WithList ( Patterns, buildPatterns, extractTermsWithList )
import Gargantext.Prelude hiding (show) import Gargantext.Prelude
import Protolude
import System.IO (hFlush) import System.IO (hFlush)
------------------------------------------------------------------------ ------------------------------------------------------------------------
......
...@@ -131,7 +131,8 @@ source-repository-package ...@@ -131,7 +131,8 @@ source-repository-package
source-repository-package source-repository-package
type: git type: git
location: https://gitlab.iscpif.fr/gargantext/haskell-gargantext-prelude location: https://gitlab.iscpif.fr/gargantext/haskell-gargantext-prelude
tag: 618f711a530df56caefbb1577c4bf3d5ff45e214 -- tag: 618f711a530df56caefbb1577c4bf3d5ff45e214
tag: d4f9bee483d41bbdf8ab4e09efb5a5a8216edff4
source-repository-package source-repository-package
type: git type: git
......
...@@ -13,11 +13,9 @@ Portability : POSIX ...@@ -13,11 +13,9 @@ Portability : POSIX
module Gargantext.API.Admin.Auth.Types module Gargantext.API.Admin.Auth.Types
where where
import Control.Lens hiding (elements, to)
import Data.Aeson.TH (deriveJSON)
import qualified Data.Aeson.TH as JSON import qualified Data.Aeson.TH as JSON
import Data.List (tail) import Data.List (tail)
import Data.Swagger import Data.Swagger ( ToSchema(..), genericDeclareNamedSchema )
import Gargantext.Core.Types.Individu (Username, GargPassword(..), arbitraryUsername, arbitraryPassword) import Gargantext.Core.Types.Individu (Username, GargPassword(..), arbitraryUsername, arbitraryPassword)
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Database.Admin.Types.Node (NodeId(..), ListId, DocId, UserId (..)) import Gargantext.Database.Admin.Types.Node (NodeId(..), ListId, DocId, UserId (..))
......
...@@ -19,16 +19,13 @@ Count API part of Gargantext. ...@@ -19,16 +19,13 @@ Count API part of Gargantext.
module Gargantext.API.Count module Gargantext.API.Count
where where
import Data.Aeson hiding (Error) import Data.Swagger ( ToSchema(..), genericDeclareNamedSchema )
import Data.Aeson.TH (deriveJSON)
import Data.Either
import Data.Swagger
import Data.Text (pack) import Data.Text (pack)
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Prelude import Gargantext.Prelude
import Servant import Servant (JSON, Post)
import Test.QuickCheck (elements) import Test.QuickCheck (elements)
import Test.QuickCheck.Arbitrary import Test.QuickCheck.Arbitrary (Arbitrary(..))
----------------------------------------------------------------------- -----------------------------------------------------------------------
-- TODO-ACCESS: CanCount -- TODO-ACCESS: CanCount
......
{-|
Module : Gargantext.API.Errors.Types
Description :
Copyright : (c) CNRS, 2017-Present
License : AGPL + CECILL v3
Maintainer : team@gargantext.org
Stability : experimental
Portability : POSIX
-}
{-# LANGUAGE ConstraintKinds #-} {-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
{-# LANGUAGE PolyKinds #-} {-# LANGUAGE PolyKinds #-}
{-# LANGUAGE RecordWildCards #-} {-# LANGUAGE RecordWildCards #-}
...@@ -8,7 +18,6 @@ ...@@ -8,7 +18,6 @@
{-# LANGUAGE StandaloneKindSignatures #-} {-# LANGUAGE StandaloneKindSignatures #-}
{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE TypeFamilyDependencies #-} {-# LANGUAGE TypeFamilyDependencies #-}
{-# OPTIONS_GHC -Wno-unused-top-binds #-} {-# OPTIONS_GHC -Wno-unused-top-binds #-}
{-# OPTIONS_GHC -Wno-orphans #-} -- instance IsFrontendErrorData and stage restriction {-# OPTIONS_GHC -Wno-orphans #-} -- instance IsFrontendErrorData and stage restriction
...@@ -36,32 +45,28 @@ module Gargantext.API.Errors.Types ( ...@@ -36,32 +45,28 @@ module Gargantext.API.Errors.Types (
, genFrontendErr , genFrontendErr
) where ) where
import Control.Exception
import Control.Lens (makePrisms) import Control.Lens (makePrisms)
import Control.Monad.Fail (fail) import Control.Monad.Fail (fail)
import Data.Aeson (FromJSON(..), ToJSON(..), Value(..), (.:), (.=), object, withObject, toJSON) import Data.Aeson (Value(..), (.:), (.=), object, withObject)
import Data.Aeson.Types (typeMismatch, emptyArray) import Data.Aeson.Types (typeMismatch, emptyArray)
import Data.List.NonEmpty qualified as NE import Data.List.NonEmpty qualified as NE
import Data.Singletons.TH import Data.Singletons.TH ( SingI(sing), SingKind(fromSing) )
import Data.Text qualified as T import Data.Text qualified as T
import Data.Typeable
import Data.Validity (Validation(..), ValidationChain (..), prettyValidation) import Data.Validity (Validation(..), ValidationChain (..), prettyValidation)
import GHC.Generics
import GHC.Stack
import Gargantext.API.Admin.Auth.Types (AuthenticationError) import Gargantext.API.Admin.Auth.Types (AuthenticationError)
import Gargantext.API.Errors.Class import Gargantext.API.Errors.Class (HasAuthenticationError(..))
import Gargantext.API.Errors.TH import Gargantext.API.Errors.TH ( deriveIsFrontendErrorData )
import Gargantext.API.Errors.Types.Backend import Gargantext.API.Errors.Types.Backend
import Gargantext.Core.Types (HasValidationError(..)) import Gargantext.Core.Types (HasValidationError(..))
import Gargantext.Core.Types.Individu import Gargantext.Core.Types.Individu (Username)
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node
import Gargantext.Database.Query.Table.Node.Error import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..), NodeError)
import Gargantext.Database.Query.Tree.Error import Gargantext.Database.Query.Tree.Error (HasTreeError(..), TreeError)
import Gargantext.Prelude hiding (Location, WithStacktrace) import Gargantext.Prelude hiding (Location, WithStacktrace)
import Gargantext.Utils.Dict import Gargantext.Utils.Dict (Dict(..))
import Gargantext.Utils.Jobs.Monad qualified as Jobs import Gargantext.Utils.Jobs.Monad qualified as Jobs
import Servant (ServerError) import Servant (ServerError)
import Servant.Job.Core import Servant.Job.Core ( HasServerError(..) )
import Servant.Job.Types qualified as SJ import Servant.Job.Types qualified as SJ
import Test.QuickCheck import Test.QuickCheck
import Test.QuickCheck.Instances.Text () import Test.QuickCheck.Instances.Text ()
......
...@@ -12,8 +12,7 @@ Portability : POSIX ...@@ -12,8 +12,7 @@ Portability : POSIX
module Gargantext.API.GraphQL.Utils where module Gargantext.API.GraphQL.Utils where
import Control.Lens ((^.)) import Control.Lens (view)
import Control.Lens.Getter (view)
import Data.Morpheus.Types (GQLTypeOptions, fieldLabelModifier) import Data.Morpheus.Types (GQLTypeOptions, fieldLabelModifier)
import Data.Text qualified as T import Data.Text qualified as T
import Gargantext.API.Admin.Auth.Types (AuthenticatedUser (..), auth_node_id) import Gargantext.API.Admin.Auth.Types (AuthenticatedUser (..), auth_node_id)
......
...@@ -86,7 +86,7 @@ module Gargantext.API.Ngrams ...@@ -86,7 +86,7 @@ module Gargantext.API.Ngrams
) )
where where
import Control.Lens ((.~), view, (^.), (^..), (+~), (%~), (.~), msumOf, at, ix, _Just, Each(..), (%%~), ifolded, to, withIndex, over) import Control.Lens (view, (^..), (+~), (%~), msumOf, at, ix, _Just, Each(..), (%%~), ifolded, to, withIndex, over)
import Data.Aeson.Text qualified as DAT import Data.Aeson.Text qualified as DAT
import Data.List qualified as List import Data.List qualified as List
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
......
...@@ -14,18 +14,18 @@ Portability : POSIX ...@@ -14,18 +14,18 @@ Portability : POSIX
module Gargantext.API.Ngrams.NgramsTree module Gargantext.API.Ngrams.NgramsTree
where where
import Data.Aeson.TH (deriveJSON)
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 Data.Set qualified as Set import Data.Set qualified as Set
import Data.Swagger import Data.Swagger ( ToSchema(..), genericDeclareNamedSchema )
import Data.Tree import Data.Tree ( Tree(Node), unfoldForest )
import Gargantext.API.Ngrams.Types import Gargantext.API.Ngrams.Types
import Gargantext.Core.Types (ListType(..), NodeId) import Gargantext.Core.Types.Main ( ListType(..) )
import Gargantext.Database.Admin.Types.Node ( NodeId )
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Prelude import Gargantext.Prelude
import Test.QuickCheck import Test.QuickCheck ( Arbitrary(arbitrary) )
type Children = Text type Children = Text
type Root = Text type Root = Text
......
...@@ -17,7 +17,7 @@ module Gargantext.API.Ngrams.Tools ...@@ -17,7 +17,7 @@ module Gargantext.API.Ngrams.Tools
where where
-- import Gargantext.Core.NodeStoryFile qualified as NSF -- import Gargantext.Core.NodeStoryFile qualified as NSF
import Control.Lens (_Just, (^.), at, ix, view, At, Index, IxValue) import Control.Lens (_Just, at, ix, view, At, Index, IxValue)
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.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
......
...@@ -19,9 +19,8 @@ module Gargantext.API.Ngrams.Types where ...@@ -19,9 +19,8 @@ module Gargantext.API.Ngrams.Types where
import Codec.Serialise (Serialise()) import Codec.Serialise (Serialise())
import Control.Category ((>>>)) import Control.Category ((>>>))
import Control.Lens (makeLenses, makePrisms, Iso', iso, from, (.~), (.=), (?=), (#), to, folded, {-withIndex, ifolded,-} view, use, (^.), (^?), (%~), (.~), (%=), at, _Just, Each(..), itraverse_, both, forOf_, (?~), over) import Control.Lens (makePrisms, Iso', iso, from, (.=), (?=), (#), to, folded, {-withIndex, ifolded,-} view, use, (^?), (%~), (%=), at, _Just, Each(..), itraverse_, both, forOf_, (?~), over)
import Data.Aeson hiding ((.=)) import Data.Aeson hiding ((.=))
import Data.Aeson.TH (deriveJSON)
import Data.Csv (defaultEncodeOptions, encodeByNameWith, header, namedRecord, EncodeOptions(..), NamedRecord, Quoting(QuoteNone)) import Data.Csv (defaultEncodeOptions, encodeByNameWith, header, namedRecord, EncodeOptions(..), NamedRecord, Quoting(QuoteNone))
import Data.Csv qualified as Csv import Data.Csv qualified as Csv
import Data.HashMap.Strict.InsOrd qualified as InsOrdHashMap import Data.HashMap.Strict.InsOrd qualified as InsOrdHashMap
......
...@@ -28,27 +28,25 @@ Node API ...@@ -28,27 +28,25 @@ Node API
module Gargantext.API.Node module Gargantext.API.Node
where where
import Control.Lens ((^.)) import Data.Swagger (ToSchema)
import Data.Aeson (FromJSON, ToJSON)
import Data.Aeson.TH (deriveJSON)
import Data.Swagger
import Gargantext.API.Admin.Auth (withAccess, withPolicy) import Gargantext.API.Admin.Auth (withAccess, withPolicy)
import Gargantext.API.Admin.Auth.Types (PathId(..), AuthenticatedUser (..), auth_node_id) import Gargantext.API.Admin.Auth.Types (PathId(..), AuthenticatedUser (..), auth_node_id)
import Gargantext.API.Admin.EnvTypes import Gargantext.API.Admin.EnvTypes (Env)
import Gargantext.API.Auth.PolicyCheck import Gargantext.API.Auth.PolicyCheck ( PolicyChecked, nodeChecks )
import Gargantext.API.Errors.Types import Gargantext.API.Errors.Types (BackendInternalError)
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.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.DocumentsFromWriteNodes qualified as DFWN
import Gargantext.API.Node.File ( FileAsyncApi, FileApi, fileApi, fileAsyncApi )
import Gargantext.API.Node.FrameCalcUpload qualified as FrameCalcUpload import Gargantext.API.Node.FrameCalcUpload qualified as FrameCalcUpload
import Gargantext.API.Node.New import Gargantext.API.Node.New ( PostNodeAsync, PostNode, postNode, postNodeAsyncAPI )
import Gargantext.API.Node.Share qualified as Share import Gargantext.API.Node.Share qualified as Share
import Gargantext.API.Node.Update qualified as Update import Gargantext.API.Node.Update qualified as Update
import Gargantext.API.Prelude import Gargantext.API.Prelude ( GargM, GargServer )
import Gargantext.API.Search qualified as Search import Gargantext.API.Search qualified as Search
import Gargantext.API.Table import Gargantext.API.Table ( TableApi, tableApi, getPair )
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)
...@@ -57,10 +55,11 @@ import Gargantext.Core.Utils.Prefix (unPrefix) ...@@ -57,10 +55,11 @@ import Gargantext.Core.Utils.Prefix (unPrefix)
import Gargantext.Core.Viz.Phylo.API (PhyloAPI, phyloAPI) import Gargantext.Core.Viz.Phylo.API (PhyloAPI, phyloAPI)
import Gargantext.Database.Action.Delete qualified as Action (deleteNode) import Gargantext.Database.Action.Delete qualified as Action (deleteNode)
import Gargantext.Database.Action.Flow.Pairing (pairing) import Gargantext.Database.Action.Flow.Pairing (pairing)
import Gargantext.Database.Admin.Types.Hyperdata import Gargantext.Database.Admin.Types.Hyperdata.Prelude ( HyperdataC )
import Gargantext.Database.Admin.Types.Hyperdata.User ( HyperdataUser )
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node
import Gargantext.Database.Prelude (Cmd, JSONB) import Gargantext.Database.Prelude (Cmd, JSONB)
import Gargantext.Database.Query.Facet (FacetDoc, OrderBy(..)) import Gargantext.Database.Query.Facet.Types ( FacetDoc, OrderBy(..) )
import Gargantext.Database.Query.Table.Node import Gargantext.Database.Query.Table.Node
import Gargantext.Database.Query.Table.Node.Children (getChildren) import Gargantext.Database.Query.Table.Node.Children (getChildren)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..)) import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..))
...@@ -74,7 +73,6 @@ import Gargantext.Prelude ...@@ -74,7 +73,6 @@ import Gargantext.Prelude
import Servant import Servant
import Test.QuickCheck (elements) import Test.QuickCheck (elements)
import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary) import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
import qualified Gargantext.API.Node.DocumentsFromWriteNodes as DFWN
-- | Admin NodesAPI -- | Admin NodesAPI
......
...@@ -21,26 +21,26 @@ module Gargantext.API.Node.Corpus.New ...@@ -21,26 +21,26 @@ module Gargantext.API.Node.Corpus.New
import Conduit import Conduit
import Control.Lens hiding (elements, Empty) import Control.Lens ( view, non )
import Data.Aeson import Data.Aeson ( genericParseJSON, genericToJSON )
import Data.Aeson.TH (deriveJSON)
import Data.ByteString.Base64 qualified as BSB64 import Data.ByteString.Base64 qualified as BSB64
import Data.Conduit.Internal (zipSources) import Data.Conduit.Internal (zipSources)
import Data.Swagger import Data.Swagger ( ToSchema(..), genericDeclareNamedSchema )
import Data.Text qualified as T import Data.Text qualified as T
import Data.Text.Encoding qualified as TE import Data.Text.Encoding qualified as TE
import EPO.API.Client.Types qualified as EPO import EPO.API.Client.Types qualified as EPO
import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs) import Gargantext.API.Admin.Orchestrator.Types (JobLog(..), AsyncJobs)
import Gargantext.API.Admin.Types (HasSettings) import Gargantext.API.Admin.Types (HasSettings)
import Gargantext.API.Ngrams (commitStatePatch, Versioned(..)) import Gargantext.API.Ngrams (commitStatePatch, Versioned(..))
import Gargantext.API.Node.Corpus.New.Types import Gargantext.API.Node.Corpus.New.Types ( FileFormat(..), FileType(..) )
import Gargantext.API.Node.Corpus.Searx import Gargantext.API.Node.Corpus.Searx ( triggerSearxSearch )
import Gargantext.API.Node.Corpus.Types import Gargantext.API.Node.Corpus.Types ( Database, Datafield(Web), database2origin )
import Gargantext.API.Node.Corpus.Update (addLanguageToCorpus) import Gargantext.API.Node.Corpus.Update (addLanguageToCorpus)
import Gargantext.API.Node.Types import Gargantext.API.Node.Types
import Gargantext.Core (Lang(..), withDefaultLanguage, defaultLanguage) import Gargantext.Core (Lang(..), withDefaultLanguage, defaultLanguage)
import Gargantext.Core.NodeStory (HasNodeStoryImmediateSaver, HasNodeArchiveStoryImmediateSaver, currentVersion, NgramsStatePatch') import Gargantext.Core.NodeStory (HasNodeStoryImmediateSaver, HasNodeArchiveStoryImmediateSaver, currentVersion, NgramsStatePatch')
import Gargantext.Core.Text.Corpus.API qualified as API import Gargantext.API.Admin.Orchestrator.Types qualified as API
import Gargantext.Core.Text.Corpus.Query qualified as API
import Gargantext.Core.Text.Corpus.Parsers qualified as Parser (FileType(..), parseFormatC) import Gargantext.Core.Text.Corpus.Parsers qualified as Parser (FileType(..), parseFormatC)
import Gargantext.Core.Text.List.Social (FlowSocialListWith(..)) import Gargantext.Core.Text.List.Social (FlowSocialListWith(..))
import Gargantext.Core.Types.Individu (User(..)) import Gargantext.Core.Types.Individu (User(..))
...@@ -50,7 +50,8 @@ import Gargantext.Database.Action.Flow.Types (FlowCmdM) ...@@ -50,7 +50,8 @@ import Gargantext.Database.Action.Flow.Types (FlowCmdM)
import Gargantext.Database.Action.Mail (sendMail) import Gargantext.Database.Action.Mail (sendMail)
import Gargantext.Database.Action.Node (mkNodeWithParent) import Gargantext.Database.Action.Node (mkNodeWithParent)
import Gargantext.Database.Action.User (getUserId) import Gargantext.Database.Action.User (getUserId)
import Gargantext.Database.Admin.Types.Hyperdata import Gargantext.Database.Admin.Types.Hyperdata.Document ( ToHyperdataDocument(..) )
import Gargantext.Database.Admin.Types.Hyperdata.File ( HyperdataFile(..) )
import Gargantext.Database.Admin.Types.Node (CorpusId, NodeType(..), ParentId) import Gargantext.Database.Admin.Types.Node (CorpusId, NodeType(..), ParentId)
import Gargantext.Database.GargDB qualified as GargDB import Gargantext.Database.GargDB qualified as GargDB
import Gargantext.Database.Prelude (hasConfig) import Gargantext.Database.Prelude (hasConfig)
...@@ -60,11 +61,11 @@ import Gargantext.Database.Query.Tree.Root (MkCorpusUser(MkCorpusUserNormalCorpu ...@@ -60,11 +61,11 @@ import Gargantext.Database.Query.Tree.Root (MkCorpusUser(MkCorpusUserNormalCorpu
import Gargantext.Database.Schema.Node (node_hyperdata) import Gargantext.Database.Schema.Node (node_hyperdata)
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Prelude.Config (gc_max_docs_parsers) import Gargantext.Prelude.Config (gc_max_docs_parsers)
import Gargantext.System.Logging import Gargantext.System.Logging ( logLocM, LogLevel(..) )
import Gargantext.Utils.Jobs (JobHandle, MonadJobStatus(..)) import Gargantext.Utils.Jobs.Monad (JobHandle, MonadJobStatus(..))
import Servant import Servant ( JSON, type (:>), FormUrlEncoded, Capture, Summary )
import Servant.Job.Utils (jsonOptions) import Servant.Job.Utils (jsonOptions)
import Test.QuickCheck.Arbitrary import Test.QuickCheck.Arbitrary (Arbitrary(..))
------------------------------------------------------------------------ ------------------------------------------------------------------------
{- {-
......
...@@ -12,24 +12,22 @@ Portability : POSIX ...@@ -12,24 +12,22 @@ Portability : POSIX
{-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE ScopedTypeVariables #-} {-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeOperators #-} {-# LANGUAGE TypeOperators #-}
module Gargantext.API.Node.Corpus.New.File module Gargantext.API.Node.Corpus.New.File
where where
import Control.Lens ((.~), (?~)) import Control.Lens ((?~))
import Data.Maybe
import Data.Swagger import Data.Swagger
import Gargantext.API.Node.Corpus.New.Types import Gargantext.API.Node.Corpus.New.Types (FileFormat, FileType)
import Gargantext.Core.Types (TODO) import Gargantext.Core.Types (TODO)
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node (NodeId)
import Gargantext.Database.Prelude (Cmd) import Gargantext.Database.Prelude (Cmd)
import Gargantext.Prelude hiding (hash) import Gargantext.Prelude hiding (hash)
import Gargantext.Prelude.Crypto.Hash (hash) import Gargantext.Prelude.Crypto.Hash (hash)
import Servant import Servant ( JSON, type (:>), Post, QueryParam, Summary )
import Servant.Multipart import Servant.Multipart ( Input(iName), Mem, MultipartData(inputs), MultipartForm )
import Servant.Swagger.Internal import Servant.Swagger.Internal ( addParam, HasSwagger(..) )
------------------------------------------------------------- -------------------------------------------------------------
type Hash = Text type Hash = Text
......
...@@ -15,7 +15,6 @@ module Gargantext.API.Node.Corpus.Searx where ...@@ -15,7 +15,6 @@ module Gargantext.API.Node.Corpus.Searx where
import Control.Lens (view) import Control.Lens (view)
import Data.Aeson qualified as Aeson import Data.Aeson qualified as Aeson
import Data.Aeson.TH (deriveJSON)
import Data.HashMap.Strict qualified as HashMap import Data.HashMap.Strict qualified as HashMap
import Data.Text qualified as T import Data.Text qualified as T
import Data.Text qualified as Text import Data.Text qualified as Text
...@@ -25,7 +24,7 @@ import Data.Tuple.Select (sel1, sel2, sel3) ...@@ -25,7 +24,7 @@ import Data.Tuple.Select (sel1, sel2, sel3)
import Gargantext.Core (Lang(..)) import Gargantext.Core (Lang(..))
import Gargantext.Core.NLP (HasNLPServer, nlpServerGet) import Gargantext.Core.NLP (HasNLPServer, nlpServerGet)
import Gargantext.Core.NodeStory.Types ( HasNodeStory ) import Gargantext.Core.NodeStory.Types ( HasNodeStory )
import Gargantext.Core.Text.Corpus.API qualified as API import Gargantext.Core.Text.Corpus.Query qualified as Query
import Gargantext.Core.Text.List (buildNgramsLists) import Gargantext.Core.Text.List (buildNgramsLists)
import Gargantext.Core.Text.List.Group.WithStem ({-StopSize(..),-} GroupParams(..)) import Gargantext.Core.Text.List.Group.WithStem ({-StopSize(..),-} GroupParams(..))
import Gargantext.Core.Text.Terms (TermType(..)) import Gargantext.Core.Text.Terms (TermType(..))
...@@ -44,10 +43,10 @@ import Gargantext.Database.Query.Table.Node.Error (HasNodeError) ...@@ -44,10 +43,10 @@ import Gargantext.Database.Query.Table.Node.Error (HasNodeError)
import Gargantext.Database.Query.Tree.Error (HasTreeError) import Gargantext.Database.Query.Tree.Error (HasTreeError)
import Gargantext.Database.Query.Tree.Root (getOrMkRootWithCorpus, MkCorpusUser (MkCorpusUserMaster)) import Gargantext.Database.Query.Tree.Root (getOrMkRootWithCorpus, MkCorpusUser (MkCorpusUserMaster))
import Gargantext.Prelude hiding (All) import Gargantext.Prelude hiding (All)
import Gargantext.Prelude.Config import Gargantext.Prelude.Config (GargConfig(..))
import Gargantext.Utils.Jobs (JobHandle, MonadJobStatus(..)) import Gargantext.Utils.Jobs.Monad (JobHandle, MonadJobStatus(..))
import Network.HTTP.Client import Network.HTTP.Client
import Network.HTTP.Client.TLS import Network.HTTP.Client.TLS (tlsManagerSettings)
import Prelude qualified import Prelude qualified
langToSearx :: Lang -> Text langToSearx :: Lang -> Text
...@@ -167,7 +166,7 @@ triggerSearxSearch :: ( MonadBase IO m ...@@ -167,7 +166,7 @@ triggerSearxSearch :: ( MonadBase IO m
, MonadJobStatus m ) , MonadJobStatus m )
=> User => User
-> CorpusId -> CorpusId
-> API.RawQuery -> Query.RawQuery
-> Lang -> Lang
-> JobHandle m -> JobHandle m
-> m () -> m ()
...@@ -195,7 +194,7 @@ triggerSearxSearch user cId q l jobHandle = do ...@@ -195,7 +194,7 @@ triggerSearxSearch user cId q l jobHandle = do
res <- liftBase $ fetchSearxPage $ FetchSearxParams { _fsp_language = l res <- liftBase $ fetchSearxPage $ FetchSearxParams { _fsp_language = l
, _fsp_manager = manager , _fsp_manager = manager
, _fsp_pageno = page , _fsp_pageno = page
, _fsp_query = API.getRawQuery q , _fsp_query = Query.getRawQuery q
, _fsp_url = surl } , _fsp_url = surl }
insertSearxResponse user cId listId l res insertSearxResponse user cId listId l res
......
...@@ -13,17 +13,16 @@ Portability : POSIX ...@@ -13,17 +13,16 @@ Portability : POSIX
module Gargantext.API.Node.Corpus.Types where module Gargantext.API.Node.Corpus.Types where
import Control.Lens hiding (elements, Empty) import Control.Lens ( (?~) )
import Control.Monad.Fail (fail) import Control.Monad.Fail (fail)
import Data.Aeson import Data.Aeson ( Value(..), (.:), withText, object )
import Data.Aeson.TH (deriveJSON)
import Data.Swagger import Data.Swagger
import Data.Text qualified as T import Data.Text qualified as T
import Gargantext.API.Admin.Orchestrator.Types qualified as Types import Gargantext.API.Admin.Orchestrator.Types qualified as Types
import Gargantext.Core.Utils.Prefix (unPrefix) import Gargantext.Core.Utils.Prefix (unPrefix)
import Gargantext.Database.Action.Flow (DataOrigin(..)) import Gargantext.Database.Action.Flow.Types (DataOrigin(..))
import Gargantext.Prelude import Gargantext.Prelude
import Test.QuickCheck import Test.QuickCheck (Arbitrary(..), oneof, arbitraryBoundedEnum)
data Database = Empty data Database = Empty
| OpenAlex | OpenAlex
......
...@@ -16,8 +16,8 @@ Portability : POSIX ...@@ -16,8 +16,8 @@ Portability : POSIX
module Gargantext.API.Node.DocumentUpload where module Gargantext.API.Node.DocumentUpload where
import Control.Lens (makeLenses, view) import Control.Lens (view)
import Data.Aeson import Data.Aeson ( Options(..), genericParseJSON, defaultOptions, genericToJSON, SumEncoding(..) )
import Data.Swagger (ToSchema) import Data.Swagger (ToSchema)
import Data.Text qualified as T import Data.Text qualified as T
import Gargantext.API.Admin.EnvTypes (GargJob(..), Env) import Gargantext.API.Admin.EnvTypes (GargJob(..), Env)
......
...@@ -16,8 +16,7 @@ module Gargantext.API.Node.DocumentsFromWriteNodes ...@@ -16,8 +16,7 @@ module Gargantext.API.Node.DocumentsFromWriteNodes
where where
import Conduit ( yieldMany ) import Conduit ( yieldMany )
import Control.Lens ((^.)) import Data.Aeson ( genericParseJSON, defaultOptions, genericToJSON )
import Data.Aeson ( genericParseJSON, defaultOptions, genericToJSON, FromJSON(parseJSON), ToJSON(toJSON) )
import Data.List qualified as List import Data.List qualified as List
import Data.Swagger ( ToSchema ) import Data.Swagger ( ToSchema )
import Data.Text qualified as T import Data.Text qualified as T
......
...@@ -17,35 +17,31 @@ Portability : POSIX ...@@ -17,35 +17,31 @@ Portability : POSIX
module Gargantext.API.Node.File where module Gargantext.API.Node.File where
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.MIME.Types qualified as DMT import Data.MIME.Types qualified as DMT
import Data.Swagger import Data.Swagger (ToSchema(..))
import Data.Text qualified as T import Data.Text qualified as T
import Data.Text import Gargantext.API.Admin.Auth.Types ( AuthenticatedUser, auth_user_id )
import Servant
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.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.Admin.Types (HasSettings) import Gargantext.API.Admin.Types (HasSettings)
import Gargantext.API.Errors.Types import Gargantext.API.Errors.Types ( BackendInternalError )
import Gargantext.API.Node.Types import Gargantext.API.Node.Types ( NewWithFile(NewWithFile) )
import Gargantext.API.Prelude import Gargantext.API.Prelude ( GargM, GargServer )
import Gargantext.Core.Types (TODO) import Gargantext.Core.Types (TODO)
import Gargantext.Database.Action.Flow.Types import Gargantext.Database.Action.Flow.Types ( FlowCmdM )
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 ( HyperdataFile(..) )
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node ( NodeId, NodeType(..) )
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
......
...@@ -15,8 +15,6 @@ Portability : POSIX ...@@ -15,8 +15,6 @@ Portability : POSIX
module Gargantext.API.Node.FrameCalcUpload where module Gargantext.API.Node.FrameCalcUpload where
import Control.Lens ((^.))
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 ( ToSchema ) import Data.Swagger ( ToSchema )
......
...@@ -63,8 +63,8 @@ api :: (HasNodeError err, HasNLPServer env, CmdRandom env err m) ...@@ -63,8 +63,8 @@ api :: (HasNodeError err, HasNLPServer env, CmdRandom env err m)
api userInviting nId (ShareTeamParams user') = do api userInviting nId (ShareTeamParams user') = do
let user'' = Text.toLower user' let user'' = Text.toLower user'
user <- case guessUserName user'' of user <- case guessUserName user'' of
Nothing -> pure user'' Nothing -> pure user''
Just (u,_) -> do Just (u, _) -> do
isRegistered <- getUserId' (UserName u) isRegistered <- getUserId' (UserName u)
case isRegistered of case isRegistered of
Right _ -> do Right _ -> do
...@@ -72,7 +72,7 @@ api userInviting nId (ShareTeamParams user') = do ...@@ -72,7 +72,7 @@ api userInviting nId (ShareTeamParams user') = do
pure u pure u
Left _err -> do Left _err -> do
username' <- getUsername userInviting username' <- getUsername userInviting
_ <- case List.elem username' arbitraryUsername of _ <- case username' `List.elem` arbitraryUsername of
True -> do True -> do
-- printDebug "[G.A.N.Share.api]" ("Demo users are not allowed to invite" :: Text) -- printDebug "[G.A.N.Share.api]" ("Demo users are not allowed to invite" :: Text)
pure () pure ()
......
...@@ -15,27 +15,28 @@ Portability : POSIX ...@@ -15,27 +15,28 @@ Portability : POSIX
module Gargantext.API.Public module Gargantext.API.Public
where where
import Control.Lens ((^?), (^.), _Just) import Control.Lens ((^?), _Just)
import Data.Aeson import Data.Aeson ( Options(sumEncoding), genericParseJSON, defaultOptions, genericToJSON )
import Data.List qualified as List 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.Swagger hiding (title, url) import Data.Swagger (ToSchema)
import Gargantext.API.Node.File import Gargantext.API.Node.File (FileApi, fileApi)
import Gargantext.API.Prelude import Gargantext.API.Prelude (serverError, GargServer)
import Gargantext.Core.Utils.DateUtils (utc2year) import Gargantext.Core.Utils.DateUtils (utc2year)
import Gargantext.Database.Admin.Types.Hyperdata import Gargantext.Database.Admin.Types.Hyperdata.Corpus ( hc_fields )
import Gargantext.Database.Admin.Types.Hyperdata.Folder ( HyperdataFolder )
import Gargantext.Database.Admin.Types.Hyperdata.CorpusField import Gargantext.Database.Admin.Types.Hyperdata.CorpusField
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node ( NodeId(..), Node, unNodeId )
import Gargantext.Database.Prelude (Cmd, DBCmd) import Gargantext.Database.Prelude (Cmd, DBCmd)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..)) import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..))
import Gargantext.Database.Query.Table.NodeNode (selectPublicNodes) import Gargantext.Database.Query.Table.NodeNode (selectPublicNodes)
import Gargantext.Database.Schema.Node -- (NodePoly(..)) import Gargantext.Database.Schema.Node ( NodePoly(..), node_date, node_hyperdata ) -- (NodePoly(..))
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Utils.Aeson qualified as GUA import Gargantext.Utils.Aeson qualified as GUA
import Servant import Servant
import Test.QuickCheck (elements) import Test.QuickCheck (elements)
import Test.QuickCheck.Arbitrary import Test.QuickCheck.Arbitrary ( Arbitrary(arbitrary) )
------------------------------------------------------------------------ ------------------------------------------------------------------------
type API = API_Home type API = API_Home
......
...@@ -13,9 +13,10 @@ Portability : POSIX ...@@ -13,9 +13,10 @@ Portability : POSIX
module Gargantext.API.Server where module Gargantext.API.Server where
import Control.Lens ((^.))
import Control.Monad.Catch (catch, throwM) import Control.Monad.Catch (catch, throwM)
import Data.ByteString.Lazy qualified as BL
import Data.Text qualified as T import Data.Text qualified as T
import Data.Text.Encoding qualified as TE
import Data.Version (showVersion) import Data.Version (showVersion)
import Gargantext.API.Admin.Auth (auth, forgotPassword, forgotPasswordAsync) import Gargantext.API.Admin.Auth (auth, forgotPassword, forgotPasswordAsync)
import Gargantext.API.Admin.Auth.Types (AuthContext) import Gargantext.API.Admin.Auth.Types (AuthContext)
...@@ -24,20 +25,18 @@ import Gargantext.API.Admin.FrontEnd (frontEndServer) ...@@ -24,20 +25,18 @@ import Gargantext.API.Admin.FrontEnd (frontEndServer)
import Gargantext.API.Auth.PolicyCheck () import Gargantext.API.Auth.PolicyCheck ()
import Gargantext.API.Errors import Gargantext.API.Errors
import Gargantext.API.GraphQL qualified as GraphQL import Gargantext.API.GraphQL qualified as GraphQL
import Gargantext.API.Prelude import Gargantext.API.Prelude (GargM, GargServer)
import Gargantext.API.Public qualified as Public import Gargantext.API.Public qualified as Public
import Gargantext.API.Routes import Gargantext.API.Routes (API, GargVersion, GargAPI)
import Gargantext.API.Swagger (swaggerDoc) import Gargantext.API.Swagger (swaggerDoc)
import Gargantext.API.ThrowAll (serverPrivateGargAPI) import Gargantext.API.ThrowAll (serverPrivateGargAPI)
import Gargantext.Database.Prelude (hasConfig) import Gargantext.Database.Prelude (hasConfig)
import Gargantext.Prelude hiding (Handler, catch) import Gargantext.Prelude hiding (Handler, catch)
import Gargantext.Prelude.Config (gc_url_backend_api) import Gargantext.Prelude.Config (gc_url_backend_api)
import Gargantext.System.Logging import Gargantext.System.Logging (logLocM, LogLevel(..))
import Paths_gargantext qualified as PG -- cabal magic build module import Paths_gargantext qualified as PG -- cabal magic build module
import Servant import Servant
import Servant.Swagger.UI (swaggerSchemaUIServer) import Servant.Swagger.UI (swaggerSchemaUIServer)
import qualified Data.ByteString.Lazy as BL
import qualified Data.Text.Encoding as TE
serverGargAPI :: Text -> ServerT GargAPI (GargM Env BackendInternalError) serverGargAPI :: Text -> ServerT GargAPI (GargM Env BackendInternalError)
......
...@@ -31,9 +31,7 @@ Node API ...@@ -31,9 +31,7 @@ Node API
module Gargantext.API.Table module Gargantext.API.Table
where where
import Data.Aeson.TH (deriveJSON) import Data.Swagger (ToSchema(..), genericDeclareNamedSchema)
import Data.Maybe
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.Ngrams.Types (TabType(..))
......
...@@ -63,7 +63,7 @@ module Gargantext.Core.NodeStory ...@@ -63,7 +63,7 @@ module Gargantext.Core.NodeStory
, getParentsChildren ) , getParentsChildren )
where where
import Control.Lens ((^.), (.~), (%~), non, _Just, at, over, view) import Control.Lens ((%~), non, _Just, at, over, view)
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
import Data.Pool (Pool, withResource) import Data.Pool (Pool, withResource)
import Data.Set qualified as Set import Data.Set qualified as Set
......
...@@ -25,7 +25,6 @@ module Gargantext.Core.NodeStory.DB ...@@ -25,7 +25,6 @@ module Gargantext.Core.NodeStory.DB
, updateNodeStoryVersion ) , updateNodeStoryVersion )
where where
import Control.Lens ((^.))
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.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
...@@ -41,7 +40,7 @@ import Gargantext.Database.Admin.Types.Node ( NodeId(..), NodeType ) ...@@ -41,7 +40,7 @@ import Gargantext.Database.Admin.Types.Node ( NodeId(..), NodeType )
import Gargantext.Database.Admin.Config () import Gargantext.Database.Admin.Config ()
import Gargantext.Database.Schema.Ngrams () import Gargantext.Database.Schema.Ngrams ()
import Gargantext.Prelude hiding (to) import Gargantext.Prelude hiding (to)
import Gargantext.Prelude.Database import Gargantext.Prelude.Database ( runPGSExecute, runPGSExecuteMany, runPGSQuery, runPGSReturning )
nodeExists :: PGS.Connection -> NodeId -> IO Bool nodeExists :: PGS.Connection -> NodeId -> IO Bool
......
...@@ -48,7 +48,7 @@ module Gargantext.Core.NodeStory.Types ...@@ -48,7 +48,7 @@ module Gargantext.Core.NodeStory.Types
where where
import Codec.Serialise.Class ( Serialise ) import Codec.Serialise.Class ( Serialise )
import Control.Lens (makeLenses, Getter, (^.)) import Control.Lens (Getter)
import Data.Aeson hiding ((.=), decode) import Data.Aeson hiding ((.=), decode)
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
import Data.Profunctor.Product.TH (makeAdaptorAndInstance) import Data.Profunctor.Product.TH (makeAdaptorAndInstance)
......
...@@ -22,7 +22,7 @@ module Gargantext.Core.Text.Corpus.Parsers.Date ...@@ -22,7 +22,7 @@ module Gargantext.Core.Text.Corpus.Parsers.Date
{-(parse, parseRaw, dateSplit, Year, Month, Day)-} {-(parse, parseRaw, dateSplit, Year, Month, Day)-}
where where
import Data.Aeson (toJSON, Value) import Data.Aeson (Value)
import Data.Aeson qualified as Json import Data.Aeson qualified as Json
import Data.Aeson.KeyMap as KM hiding (map) import Data.Aeson.KeyMap as KM hiding (map)
import Data.HashSet qualified as HashSet import Data.HashSet qualified as HashSet
...@@ -30,16 +30,14 @@ import Data.List qualified as List ...@@ -30,16 +30,14 @@ import Data.List qualified as List
import Data.Text (unpack, splitOn, replace) import Data.Text (unpack, splitOn, replace)
import Data.Time (defaultTimeLocale, iso8601DateFormat, parseTimeM, toGregorian) import Data.Time (defaultTimeLocale, iso8601DateFormat, parseTimeM, toGregorian)
import Data.Time.Calendar qualified as DTC import Data.Time.Calendar qualified as DTC
import Data.Time.Clock ( secondsToDiffTime) import Data.Time.Clock (UTCTime(..), secondsToDiffTime) -- , getCurrentTime)
import Data.Time.Clock (UTCTime(..)) -- , getCurrentTime)
import Data.Time.LocalTime (utc) import Data.Time.LocalTime (utc)
import Data.Time.LocalTime.TimeZone.Series (zonedTimeToZoneSeriesTime) import Data.Time.LocalTime.TimeZone.Series (zonedTimeToZoneSeriesTime)
import Duckling.Api (analyze) import Duckling.Api (analyze)
import Duckling.Core (makeLocale, Dimension(Time)) import Duckling.Core (makeLocale, Dimension(Time))
import Duckling.Core qualified as DC import Duckling.Core qualified as DC
import Duckling.Resolve (fromUTC, Context(Context, referenceTime, locale), DucklingTime(DucklingTime), Options(..)) import Duckling.Resolve (fromUTC, Context(Context, referenceTime, locale), DucklingTime(DucklingTime), Options(..))
import Duckling.Types (ResolvedToken(..), ResolvedVal(..)) import Duckling.Types (ResolvedToken(..), ResolvedVal(..), Seal(..))
import Duckling.Types (Seal(..))
import Gargantext.Core (Lang(FR,EN)) import Gargantext.Core (Lang(FR,EN))
-- import Gargantext.Core.Types (DebugMode(..), withDebugMode) -- import Gargantext.Core.Types (DebugMode(..), withDebugMode)
import Gargantext.Prelude hiding (replace) import Gargantext.Prelude hiding (replace)
......
...@@ -13,7 +13,7 @@ module Gargantext.Core.Text.Corpus.Parsers.Gitlab ( ...@@ -13,7 +13,7 @@ module Gargantext.Core.Text.Corpus.Parsers.Gitlab (
Issue(..), gitlabIssue2hyperdataDocument, readFile_Issues, readFile_IssuesAsDocs Issue(..), gitlabIssue2hyperdataDocument, readFile_Issues, readFile_IssuesAsDocs
) where ) where
import Data.Aeson ( FromJSON(parseJSON), decode, (.:), (.:?), withObject ) import Data.Aeson ( decode, (.:), (.:?), withObject )
import Data.ByteString.Lazy qualified as DBL import Data.ByteString.Lazy qualified as DBL
import Data.Text qualified as DT import Data.Text qualified as DT
import Data.Time import Data.Time
......
...@@ -26,7 +26,6 @@ _flowCorpusDebat u n l fp = do ...@@ -26,7 +26,6 @@ _flowCorpusDebat u n l fp = do
module Gargantext.Core.Text.Corpus.Parsers.GrandDebat module Gargantext.Core.Text.Corpus.Parsers.GrandDebat
where where
import Data.Aeson (ToJSON, FromJSON)
import Data.ByteString.Lazy qualified as DBL import Data.ByteString.Lazy qualified as DBL
import Data.JsonStream.Parser qualified as P import Data.JsonStream.Parser qualified as P
import Data.Text qualified as Text import Data.Text qualified as Text
......
...@@ -20,7 +20,6 @@ TODO: ...@@ -20,7 +20,6 @@ TODO:
module Gargantext.Core.Text.Corpus.Parsers.Isidore where module Gargantext.Core.Text.Corpus.Parsers.Isidore where
import Control.Lens ( (^.), (.~) )
import Data.ByteString.Lazy (ByteString) import Data.ByteString.Lazy (ByteString)
import Data.RDF ( Node(LNode, UNode), LValue(PlainLL, TypedL, PlainL) ) import Data.RDF ( Node(LNode, UNode), LValue(PlainLL, TypedL, PlainL) )
import Data.Text qualified as T import Data.Text qualified as T
......
...@@ -17,8 +17,7 @@ Json parser to export towoard CSV GargV3 format. ...@@ -17,8 +17,7 @@ Json parser to export towoard CSV GargV3 format.
module Gargantext.Core.Text.Corpus.Parsers.Json2Csv (json2csv, readPatents) module Gargantext.Core.Text.Corpus.Parsers.Json2Csv (json2csv, readPatents)
where where
import Data.Aeson import Data.Aeson ( decode )
import Data.Aeson.TH (deriveJSON)
import Data.ByteString.Lazy (readFile) import Data.ByteString.Lazy (readFile)
import Data.Text (unpack) import Data.Text (unpack)
import Data.Vector (fromList) import Data.Vector (fromList)
......
...@@ -18,7 +18,6 @@ Portability : POSIX ...@@ -18,7 +18,6 @@ Portability : POSIX
module Gargantext.Core.Text.Corpus.Parsers.Wikidata where module Gargantext.Core.Text.Corpus.Parsers.Wikidata where
import Control.Lens (makeLenses, (^.) )
import Data.List qualified as List import Data.List qualified as List
import Data.Text (concat) import Data.Text (concat)
import Database.HSparql.Connection ( BindingValue, EndPoint, selectQueryRaw ) import Database.HSparql.Connection ( BindingValue, EndPoint, selectQueryRaw )
......
...@@ -16,11 +16,10 @@ Portability : POSIX ...@@ -16,11 +16,10 @@ Portability : POSIX
module Gargantext.Core.Text.List.Group.Prelude module Gargantext.Core.Text.List.Group.Prelude
where where
import Control.Lens (makeLenses, view, set, over) 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.List qualified as List import Data.List qualified as List
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.API.Ngrams.Types (NgramsElement, mkNgramsElement, NgramsTerm(..), RootParent(..), mSetFromList)
......
...@@ -17,7 +17,6 @@ Portability : POSIX ...@@ -17,7 +17,6 @@ Portability : POSIX
module Gargantext.Core.Text.List.Group.WithStem module Gargantext.Core.Text.List.Group.WithStem
where where
import Control.Lens (makeLenses)
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.HashSet (HashSet) import Data.HashSet (HashSet)
......
...@@ -16,7 +16,6 @@ Mainly reexport functions in @Data.Text.Metrics@ ...@@ -16,7 +16,6 @@ Mainly reexport functions in @Data.Text.Metrics@
module Gargantext.Core.Text.Metrics module Gargantext.Core.Text.Metrics
where where
import Control.Lens (makeLenses)
import Data.Array.Accelerate qualified as DAA import Data.Array.Accelerate qualified as DAA
import Data.Array.Accelerate.Interpreter qualified as DAA import Data.Array.Accelerate.Interpreter qualified as DAA
import Data.HashMap.Strict (HashMap) import Data.HashMap.Strict (HashMap)
......
...@@ -32,7 +32,7 @@ import Data.List qualified as List ...@@ -32,7 +32,7 @@ import Data.List qualified as List
import Data.Map.Strict ( empty, singleton , insertWith, unionWith, unionsWith , mapKeys ) import Data.Map.Strict ( empty, singleton , insertWith, unionWith, unionsWith , mapKeys )
import Data.Map.Strict qualified as DMS import Data.Map.Strict qualified as DMS
import Data.Text (pack) import Data.Text (pack)
import Gargantext.Core.Types import Gargantext.Core.Types (Terms(..), Stems)
import Gargantext.Prelude hiding (empty) import Gargantext.Prelude hiding (empty)
------------------------------------------------------------------------ ------------------------------------------------------------------------
......
...@@ -20,7 +20,7 @@ module Gargantext.Core.Text.Ngrams ...@@ -20,7 +20,7 @@ module Gargantext.Core.Text.Ngrams
import Codec.Serialise (Serialise()) import Codec.Serialise (Serialise())
import Control.Lens (over) import Control.Lens (over)
import Data.Aeson ( ToJSON(..), FromJSON(..), FromJSONKey(..), FromJSONKeyFunction(..), Value(String), ToJSONKey(..) ) import Data.Aeson ( FromJSONKey(..), FromJSONKeyFunction(..), Value(String), ToJSONKey(..) )
import Data.Aeson.Types (toJSONKeyText) import Data.Aeson.Types (toJSONKeyText)
import Data.Text (pack) import Data.Text (pack)
import Database.PostgreSQL.Simple qualified as PGS import Database.PostgreSQL.Simple qualified as PGS
......
...@@ -37,7 +37,7 @@ compute graph ...@@ -37,7 +37,7 @@ compute graph
module Gargantext.Core.Text.Terms module Gargantext.Core.Text.Terms
where where
import Control.Lens ( (^.), view, over, makeLenses ) import Control.Lens ( view, 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.List qualified as List import Data.List qualified as List
......
...@@ -15,8 +15,7 @@ Portability : POSIX ...@@ -15,8 +15,7 @@ Portability : POSIX
module Gargantext.Core.Text.Terms.Multi.PosTagging.Types where module Gargantext.Core.Text.Terms.Multi.PosTagging.Types where
import Data.Aeson.TH (deriveJSON) import Gargantext.Core.Types ( NER, POS )
import Gargantext.Core.Types
import Gargantext.Core.Utils.Prefix (unPrefix) import Gargantext.Core.Utils.Prefix (unPrefix)
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -31,19 +31,12 @@ module Gargantext.Core.Types ( module Gargantext.Core.Types.Main ...@@ -31,19 +31,12 @@ module Gargantext.Core.Types ( module Gargantext.Core.Types.Main
, TODO(..) , TODO(..)
) where ) where
import Control.Lens (Prism', (#), makeLenses, over) import Control.Lens (Prism', (#), over)
import Data.Aeson import Data.Aeson ( withText )
import Data.Aeson.TH (deriveJSON)
import Data.Maybe
import Data.Monoid
import Data.Semigroup
import Data.Set (empty) import Data.Set (empty)
import Data.String import Data.Swagger (ToParamSchema, ToSchema(..))
import Data.Swagger (ToParamSchema)
import Data.Swagger (ToSchema(..))
import Data.Text (unpack) import Data.Text (unpack)
import Data.Validity import Data.Validity ( validationIsValid, Validation )
import GHC.Generics
import Gargantext.Core.Types.Main import Gargantext.Core.Types.Main
import Gargantext.Core.Utils.Prefix (unPrefix, wellNamedSchema) import Gargantext.Core.Utils.Prefix (unPrefix, wellNamedSchema)
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node
......
...@@ -17,12 +17,10 @@ Portability : POSIX ...@@ -17,12 +17,10 @@ Portability : POSIX
module Gargantext.Core.Types.Main where module Gargantext.Core.Types.Main where
------------------------------------------------------------------------ ------------------------------------------------------------------------
import Data.Aeson (FromJSON, ToJSON)
import Data.Aeson.TH (deriveJSON)
import Data.Bimap (Bimap) import Data.Bimap (Bimap)
import Data.Swagger import Data.Swagger ( ToSchema(..), ToParamSchema, genericDeclareNamedSchema )
import Data.Text (unpack, pack) import Data.Text (unpack, pack)
import Gargantext.Core import Gargantext.Core ( HasDBid(..) )
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger, wellNamedSchema) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger, wellNamedSchema)
import Gargantext.Database.Admin.Types.Node -- (NodeType(..), Node, Hyperdata(..)) import Gargantext.Database.Admin.Types.Node -- (NodeType(..), Node, Hyperdata(..))
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -27,22 +27,17 @@ Phylomemy was first described in Chavalarias, D., Cointet, J.-P., 2013. Phylomem ...@@ -27,22 +27,17 @@ Phylomemy was first described in Chavalarias, D., Cointet, J.-P., 2013. Phylomem
module Gargantext.Core.Types.Phylo where module Gargantext.Core.Types.Phylo where
import Control.DeepSeq
import Control.Lens (makeLenses)
import Control.Monad.Fail (fail) import Control.Monad.Fail (fail)
import Data.Aeson import Data.Aeson ( Value(..), (.:), (.:?), withObject, object, KeyValue((.=)) )
import Data.Aeson.TH (deriveJSON) import Data.Aeson.Types ( parseMaybe )
import Data.Aeson.Types import Data.Swagger ( NamedSchema(..), ToSchema(..), genericDeclareNamedSchema, defaultSchemaOptions )
import Data.Maybe
import Data.Monoid
import Data.Swagger
import Data.Text qualified as T import Data.Text qualified as T
import Data.Time.Clock.POSIX (POSIXTime) import Data.Time.Clock.POSIX (POSIXTime)
import Data.TreeDiff ( ToExpr )
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Prelude import Gargantext.Prelude
import Test.QuickCheck import Test.QuickCheck ( Arbitrary(arbitrary), oneof, vectorOf )
import Test.QuickCheck.Instances.Text() import Test.QuickCheck.Instances.Text()
import Data.TreeDiff
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- | Phylo datatype descriptor of a phylomemy -- | Phylo datatype descriptor of a phylomemy
......
...@@ -18,8 +18,7 @@ Portability : POSIX ...@@ -18,8 +18,7 @@ Portability : POSIX
module Gargantext.Core.Viz.Graph.API module Gargantext.Core.Viz.Graph.API
where where
import Control.Lens (set, (^.), _Just, (^?), at) import Control.Lens (set, _Just, (^?), at)
import Data.Aeson ( ToJSON, FromJSON )
import Data.HashMap.Strict qualified as HashMap import Data.HashMap.Strict qualified as HashMap
import Data.Swagger ( ToSchema ) import Data.Swagger ( ToSchema )
import Gargantext.API.Admin.EnvTypes (GargJob(..), Env) import Gargantext.API.Admin.EnvTypes (GargJob(..), Env)
......
...@@ -17,7 +17,6 @@ Portability : POSIX ...@@ -17,7 +17,6 @@ Portability : POSIX
module Gargantext.Core.Viz.Graph.Tools module Gargantext.Core.Viz.Graph.Tools
where where
import Data.Aeson ( ToJSON, FromJSON )
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.HashSet qualified as HashSet import Data.HashSet qualified as HashSet
......
...@@ -14,9 +14,6 @@ Portability : POSIX ...@@ -14,9 +14,6 @@ Portability : POSIX
module Gargantext.Core.Viz.Graph.Types module Gargantext.Core.Viz.Graph.Types
where where
import Control.Lens (makeLenses)
import Data.Aeson (FromJSON, ToJSON)
import Data.Aeson.TH (deriveJSON)
import Data.HashSet (HashSet) import Data.HashSet (HashSet)
import Data.HashSet qualified as HashSet import Data.HashSet qualified as HashSet
import Data.Swagger (ToSchema(..), genericDeclareNamedSchema) import Data.Swagger (ToSchema(..), genericDeclareNamedSchema)
......
...@@ -27,9 +27,7 @@ one 8, e54847. ...@@ -27,9 +27,7 @@ one 8, e54847.
module Gargantext.Core.Viz.LegacyPhylo where module Gargantext.Core.Viz.LegacyPhylo where
import Control.DeepSeq import Data.Aeson.TH (defaultOptions)
import Control.Lens (makeLenses)
import Data.Aeson.TH (deriveJSON,defaultOptions)
import Data.Swagger import Data.Swagger
import Data.Vector (Vector) import Data.Vector (Vector)
import Gargantext.Core.Text.Context (TermList) import Gargantext.Core.Text.Context (TermList)
......
...@@ -26,17 +26,12 @@ one 8, e54847. ...@@ -26,17 +26,12 @@ one 8, e54847.
module Gargantext.Core.Viz.Phylo where module Gargantext.Core.Viz.Phylo where
import Control.DeepSeq
import Control.Lens (makeLenses)
import Data.Aeson
import Data.Aeson.TH (deriveJSON)
import Data.Swagger import Data.Swagger
import Data.Text (pack) import Data.Text (pack)
import Data.Text.Lazy qualified as TextLazy import Data.Text.Lazy qualified as TextLazy
import Data.TreeDiff import Data.TreeDiff (ToExpr)
import Data.Vector (Vector) import Data.Vector (Vector)
import Gargantext.Core.Utils.Prefix (unPrefix) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import Gargantext.Core.Utils.Prefix (unPrefixSwagger)
import Gargantext.Prelude import Gargantext.Prelude
import Test.QuickCheck import Test.QuickCheck
import Test.QuickCheck.Instances.Text() import Test.QuickCheck.Instances.Text()
......
...@@ -17,23 +17,21 @@ TODO: NodeError ...@@ -17,23 +17,21 @@ TODO: NodeError
module Gargantext.Database.Action.Delete module Gargantext.Database.Action.Delete
where where
import Control.Lens (view, (^.)) import Control.Lens (view)
import Data.Text import Data.Text (unpack)
import Servant import Gargantext.Core (HasDBid(..))
import Gargantext.Core
import Gargantext.Core.Types.Individu (User(..)) import Gargantext.Core.Types.Individu (User(..))
import Gargantext.Database.Action.Share (delFolderTeam) import Gargantext.Database.Action.Share (delFolderTeam)
import Gargantext.Database.Action.User (getUserId) import Gargantext.Database.Action.User (getUserId)
import Gargantext.Database.Admin.Types.Hyperdata.File import Gargantext.Database.Admin.Types.Hyperdata.File ( HyperdataFile(..) )
import Gargantext.Database.Admin.Types.Node -- (NodeType(..)) import Gargantext.Database.Admin.Types.Node ( NodeId, NodeType(..) ) -- (NodeType(..))
import Gargantext.Database.GargDB qualified as GargDB
import Gargantext.Database.Prelude (Cmd', CmdCommon) import Gargantext.Database.Prelude (Cmd', CmdCommon)
import Gargantext.Database.Query.Table.Node (getNodeWith) import Gargantext.Database.Query.Table.Node (getNodeWith)
import Gargantext.Database.Query.Table.Node qualified as N (getNode, deleteNode)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError) import Gargantext.Database.Query.Table.Node.Error (HasNodeError)
import Gargantext.Database.Schema.Node import Gargantext.Database.Schema.Node
import Gargantext.Prelude import Gargantext.Prelude
import qualified Gargantext.Database.GargDB as GargDB
import qualified Gargantext.Database.Query.Table.Node as N (getNode, deleteNode)
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- TODO -- TODO
......
...@@ -51,7 +51,7 @@ module Gargantext.Database.Action.Flow -- (flowDatabase, ngrams2list) ...@@ -51,7 +51,7 @@ module Gargantext.Database.Action.Flow -- (flowDatabase, ngrams2list)
where where
import Conduit import Conduit
import Control.Lens ( (^.), to, view, over ) import Control.Lens ( to, view, over )
import Data.Bifunctor qualified as B import Data.Bifunctor qualified as B
import Data.Conduit qualified as C import Data.Conduit qualified as C
import Data.Conduit.Internal (zipSources) import Data.Conduit.Internal (zipSources)
......
...@@ -17,7 +17,7 @@ Portability : POSIX ...@@ -17,7 +17,7 @@ Portability : POSIX
module Gargantext.Database.Action.Flow.Extract module Gargantext.Database.Action.Flow.Extract
where where
import Control.Lens ((^.), _Just, view) import Control.Lens (_Just, view)
import Data.HashMap.Strict qualified as HashMap import Data.HashMap.Strict qualified as HashMap
import Data.Map.Strict qualified as DM import Data.Map.Strict qualified as DM
import Gargantext.Core (Lang, NLPServerConfig(server)) import Gargantext.Core (Lang, NLPServerConfig(server))
......
...@@ -15,8 +15,7 @@ Portability : POSIX ...@@ -15,8 +15,7 @@ Portability : POSIX
module Gargantext.Database.Action.Flow.List module Gargantext.Database.Action.Flow.List
where where
import Control.Lens ((^.), (+~), (%~), at, (.~)) import Control.Lens ((+~), (%~), at)
import Control.Monad.Reader
import Data.List qualified as List import Data.List qualified as List
import Data.Map.Strict (toList) import Data.Map.Strict (toList)
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
...@@ -28,7 +27,7 @@ import Gargantext.Core.NodeStory (HasNodeStory, a_history, a_state, a_version) ...@@ -28,7 +27,7 @@ import Gargantext.Core.NodeStory (HasNodeStory, a_history, a_state, a_version)
import Gargantext.Core.Text.Ngrams (NgramsType(..)) import Gargantext.Core.Text.Ngrams (NgramsType(..))
import Gargantext.Core.Types (HasValidationError(..), assertValid) import Gargantext.Core.Types (HasValidationError(..), assertValid)
import Gargantext.Core.Types.Main (ListType(CandidateTerm)) import Gargantext.Core.Types.Main (ListType(CandidateTerm))
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node (ListId, NodeId)
import Gargantext.Database.Query.Table.NodeNgrams (NodeNgramsPoly(..), NodeNgramsW, listInsertDb,{- getCgramsId -}) import Gargantext.Database.Query.Table.NodeNgrams (NodeNgramsPoly(..), NodeNgramsW, listInsertDb,{- getCgramsId -})
import Gargantext.Prelude hiding (toList) import Gargantext.Prelude hiding (toList)
......
...@@ -17,7 +17,7 @@ module Gargantext.Database.Action.Flow.Pairing ...@@ -17,7 +17,7 @@ module Gargantext.Database.Action.Flow.Pairing
-- (pairing) -- (pairing)
where where
import Control.Lens (_Just, (^.), view) import Control.Lens (_Just, view)
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.HashMap.Strict qualified as HashMap import Data.HashMap.Strict qualified as HashMap
......
...@@ -18,9 +18,6 @@ module Gargantext.Database.Action.Flow.Types ...@@ -18,9 +18,6 @@ module Gargantext.Database.Action.Flow.Types
where where
import Conduit (ConduitT) import Conduit (ConduitT)
import Control.Lens (makeLenses)
import Data.Aeson (ToJSON)
import Data.Aeson.TH (deriveJSON)
import Data.HashMap.Strict (HashMap) import Data.HashMap.Strict (HashMap)
import Data.Swagger (ToSchema(..), genericDeclareNamedSchema) import Data.Swagger (ToSchema(..), genericDeclareNamedSchema)
import Gargantext.Core.Flow.Types ( UniqId ) import Gargantext.Core.Flow.Types ( UniqId )
......
...@@ -19,7 +19,6 @@ module Gargantext.Database.Action.Flow.Utils ...@@ -19,7 +19,6 @@ module Gargantext.Database.Action.Flow.Utils
, mapNodeIdNgrams ) , mapNodeIdNgrams )
where where
import Control.Lens ((^.))
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
...@@ -37,7 +36,7 @@ import Gargantext.Database.Action.Flow.Types (DocumentIdWithNgrams(..), FlowInse ...@@ -37,7 +36,7 @@ import Gargantext.Database.Action.Flow.Types (DocumentIdWithNgrams(..), FlowInse
import Gargantext.Database.Admin.Types.Hyperdata.Document ( HyperdataDocument, hd_abstract, hd_title ) import Gargantext.Database.Admin.Types.Hyperdata.Document ( HyperdataDocument, hd_abstract, hd_title )
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node
import Gargantext.Database.Prelude (DBCmd, DbCmd') import Gargantext.Database.Prelude (DBCmd, DbCmd')
import Gargantext.Database.Query.Table.ContextNodeNgrams import Gargantext.Database.Query.Table.ContextNodeNgrams ( ContextNodeNgramsPoly(..), insertContextNodeNgrams )
import Gargantext.Database.Query.Table.Node.Document.Add qualified as Doc (add) import Gargantext.Database.Query.Table.Node.Document.Add qualified as Doc (add)
import Gargantext.Database.Query.Table.Node.Document.Insert (ReturnId, addUniqId, insertDb, reId, reInserted, reUniqId) import Gargantext.Database.Query.Table.Node.Document.Insert (ReturnId, addUniqId, insertDb, reId, reInserted, reUniqId)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..)) import Gargantext.Database.Query.Table.Node.Error (HasNodeError(..))
......
...@@ -22,7 +22,7 @@ module Gargantext.Database.Action.Search ( ...@@ -22,7 +22,7 @@ module Gargantext.Database.Action.Search (
) where ) where
import Control.Arrow (returnA) import Control.Arrow (returnA)
import Control.Lens ((^.), view) import Control.Lens (view)
import Data.BoolExpr ( BoolExpr(..), Signed(Negative, Positive) ) import Data.BoolExpr ( BoolExpr(..), Signed(Negative, Positive) )
import Data.List qualified as List import Data.List qualified as List
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
......
...@@ -17,12 +17,12 @@ module Gargantext.Database.Action.Share ...@@ -17,12 +17,12 @@ module Gargantext.Database.Action.Share
where where
import Control.Arrow (returnA) import Control.Arrow (returnA)
import Control.Lens (view, (^.)) import Control.Lens (view)
import Gargantext.Core.Types.Individu (User(..)) import Gargantext.Core.Types.Individu (User(..))
import Gargantext.Database import Gargantext.Database
import Gargantext.Database.Action.User (getUserId) import Gargantext.Database.Action.User (getUserId)
import Gargantext.Database.Admin.Config (hasNodeType, isInNodeTypes) import Gargantext.Database.Admin.Config (hasNodeType, isInNodeTypes)
import Gargantext.Database.Admin.Types.Hyperdata (HyperdataAny(..)) import Gargantext.Database.Admin.Types.Hyperdata.Any (HyperdataAny(..))
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node
import Gargantext.Database.Query.Table.Node (getNode, getNodesWith) import Gargantext.Database.Query.Table.Node (getNode, getNodesWith)
import Gargantext.Database.Query.Table.Node.Error (HasNodeError, errorWith) import Gargantext.Database.Query.Table.Node.Error (HasNodeError, errorWith)
......
...@@ -96,15 +96,15 @@ mkNewUser emailAddress pass' = ...@@ -96,15 +96,15 @@ mkNewUser emailAddress pass' =
let username = case guessUserName emailAddress of let username = case guessUserName emailAddress of
Just (u', _m) -> u' Just (u', _m) -> u'
Nothing -> panic "[G.D.A.U.N.newUserQuick]: Email invalid" Nothing -> panic "[G.D.A.U.N.newUserQuick]: Email invalid"
in (NewUser username (Text.toLower emailAddress) pass') in NewUser username (Text.toLower emailAddress) pass'
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- | guessUserName -- | guessUserName
-- guess username and normalize it (Text.toLower) -- guess username and normalize it (Text.toLower)
guessUserName :: Text -> Maybe (Text,Text) guessUserName :: Text -> Maybe (Text,Text)
guessUserName n = case splitOn "@" n of guessUserName n = case splitOn "@" n of
[u',m'] -> if m' /= "" then Just (Text.toLower u',m') [_u', ""] -> Nothing
else Nothing [u', m'] -> Just (Text.toLower u', m')
_ -> Nothing _ -> Nothing
------------------------------------------------------------------------ ------------------------------------------------------------------------
......
...@@ -12,7 +12,6 @@ Portability : POSIX ...@@ -12,7 +12,6 @@ Portability : POSIX
{-# OPTIONS_GHC -fno-warn-orphans #-} {-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE BangPatterns #-} {-# LANGUAGE BangPatterns #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE DerivingVia #-} {-# LANGUAGE DerivingVia #-}
{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-} {-# LANGUAGE TypeFamilies #-}
...@@ -23,22 +22,20 @@ module Gargantext.Database.Admin.Types.Node ...@@ -23,22 +22,20 @@ module Gargantext.Database.Admin.Types.Node
where where
import Codec.Serialise (Serialise()) import Codec.Serialise (Serialise())
import Data.Aeson import Data.Aeson (FromJSONKey, ToJSONKey)
import Data.Aeson.TH (deriveJSON)
import Data.Csv qualified as Csv import Data.Csv qualified as Csv
import Data.Either
import Data.Morpheus.Kind (SCALAR) import Data.Morpheus.Kind (SCALAR)
import Data.Morpheus.Types import Data.Morpheus.Types ( DecodeScalar(..), EncodeScalar(..), GQLType(KIND) )
import Data.Swagger import Data.Swagger
import Data.Text (unpack, pack) import Data.Text (unpack, pack)
import Data.Time (UTCTime) import Data.Time (UTCTime)
import Database.PostgreSQL.Simple.FromField (FromField, fromField, fromJSONField) import Database.PostgreSQL.Simple.FromField (FromField, fromField, fromJSONField)
import Database.PostgreSQL.Simple.ToField (ToField, toField, toJSONField) import Database.PostgreSQL.Simple.ToField (ToField, toField, toJSONField)
import Database.PostgreSQL.Simple.ToRow (ToRow, toRow) import Database.PostgreSQL.Simple.ToRow (ToRow, toRow)
import Fmt import Fmt ( Buildable(..) )
import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger, wellNamedSchema) import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger, wellNamedSchema)
import Gargantext.Database.Schema.Context import Gargantext.Database.Schema.Context
import Gargantext.Database.Schema.Node import Gargantext.Database.Schema.Node ( NodePoly(Node), NodePolySearch(NodeSearch) )
import Gargantext.Prelude import Gargantext.Prelude
import Gargantext.Prelude.Crypto.Hash (Hash) import Gargantext.Prelude.Crypto.Hash (Hash)
import Opaleye (DefaultFromField, defaultFromField, SqlInt4, SqlText, SqlTSVector, Nullable, fromPGSFromField) import Opaleye (DefaultFromField, defaultFromField, SqlInt4, SqlText, SqlTSVector, Nullable, fromPGSFromField)
...@@ -46,7 +43,7 @@ import Opaleye qualified as O ...@@ -46,7 +43,7 @@ import Opaleye qualified as O
import Prelude qualified import Prelude qualified
import Servant hiding (Context) import Servant hiding (Context)
import Test.QuickCheck (elements, Positive (getPositive)) import Test.QuickCheck (elements, Positive (getPositive))
import Test.QuickCheck.Arbitrary import Test.QuickCheck.Arbitrary ( Arbitrary(arbitrary) )
import Test.QuickCheck.Instances.Text () import Test.QuickCheck.Instances.Text ()
import Test.QuickCheck.Instances.Time () import Test.QuickCheck.Instances.Time ()
import Text.Read (read) import Text.Read (read)
......
...@@ -12,23 +12,20 @@ TODO_2: quantitative tests (coded) ...@@ -12,23 +12,20 @@ TODO_2: quantitative tests (coded)
-} -}
{-# LANGUAGE QuasiQuotes #-}
module Gargantext.Database.GargDB module Gargantext.Database.GargDB
where where
import Control.Lens (view) import Control.Lens (view)
import Data.Aeson (ToJSON, toJSON)
import Data.Text qualified as Text import Data.Text qualified as Text
import Data.Tuple.Extra (both) import Data.Tuple.Extra (both)
import Gargantext.Database.Prelude (HasConfig(..)) import Gargantext.Database.Prelude (HasConfig(..))
import Gargantext.Prelude hiding (hash) import Gargantext.Prelude hiding (hash)
import Gargantext.Prelude.Config import Gargantext.Prelude.Config ( gc_datafilepath )
import Gargantext.Prelude.Crypto.Hash import Gargantext.Prelude.Crypto.Hash ( IsHashable(hash) )
import Prelude qualified import Prelude qualified
import System.Directory (createDirectoryIfMissing) import System.Directory (createDirectoryIfMissing)
import System.Directory qualified as SD import System.Directory qualified as SD
import System.IO.Error import System.IO.Error ( isDoesNotExistError )
import System.Random (newStdGen) import System.Random (newStdGen)
------------------------------------------------------------------- -------------------------------------------------------------------
......
...@@ -9,19 +9,16 @@ Portability : POSIX ...@@ -9,19 +9,16 @@ Portability : POSIX
-} -}
{-# LANGUAGE Arrows #-}
{-# LANGUAGE ConstraintKinds, ScopedTypeVariables #-} {-# LANGUAGE ConstraintKinds, ScopedTypeVariables #-}
{-# LANGUAGE LambdaCase #-} {-# LANGUAGE LambdaCase #-}
module Gargantext.Database.Prelude where module Gargantext.Database.Prelude where
import Control.Exception import Control.Exception (throw)
import Control.Lens (Getter, view) import Control.Lens (Getter, view)
import Control.Monad.Except import Control.Monad.Random ( MonadRandom )
import Control.Monad.Random
import Control.Monad.Reader
import Control.Monad.Trans.Control (MonadBaseControl) import Control.Monad.Trans.Control (MonadBaseControl)
import Data.Aeson (Result(Error,Success), fromJSON, FromJSON) import Data.Aeson (Result(..))
import Data.ByteString qualified as DB import Data.ByteString qualified as DB
import Data.List qualified as DL import Data.List qualified as DL
import Data.Pool (Pool, withResource) import Data.Pool (Pool, withResource)
......
...@@ -23,7 +23,6 @@ module Gargantext.Database.Query.Table.Ngrams ...@@ -23,7 +23,6 @@ module Gargantext.Database.Query.Table.Ngrams
) )
where where
import Control.Lens ((^.))
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
......
...@@ -18,7 +18,7 @@ TODO use Opaleye for the queries. ...@@ -18,7 +18,7 @@ TODO use Opaleye for the queries.
module Gargantext.Database.Query.Table.NgramsPostag module Gargantext.Database.Query.Table.NgramsPostag
where where
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 Data.List qualified as List import Data.List qualified as List
......
...@@ -22,7 +22,7 @@ module Gargantext.Database.Query.Table.Node ...@@ -22,7 +22,7 @@ module Gargantext.Database.Query.Table.Node
import Control.Arrow (returnA) import Control.Arrow (returnA)
import Control.Lens (set, view) import Control.Lens (set, view)
import Data.Aeson ( encode, Value, ToJSON ) import Data.Aeson ( encode, Value )
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 Gargantext.Core ( HasDBid(toDBid) ) import Gargantext.Core ( HasDBid(toDBid) )
......
...@@ -57,7 +57,6 @@ the concatenation of the parameters defined by @shaParameters@. ...@@ -57,7 +57,6 @@ the concatenation of the parameters defined by @shaParameters@.
module Gargantext.Database.Query.Table.Node.Document.Insert module Gargantext.Database.Query.Table.Node.Document.Insert
where where
import Data.Aeson (toJSON, ToJSON)
import Data.Text qualified as DT (pack, concat, take, filter, toLower) import Data.Text qualified as DT (pack, concat, take, filter, toLower)
import Data.Time.Segment (jour) import Data.Time.Segment (jour)
import Database.PostgreSQL.Simple (FromRow, Query, Only(..)) import Database.PostgreSQL.Simple (FromRow, Query, Only(..))
......
...@@ -27,7 +27,7 @@ module Gargantext.Database.Query.Table.Node.Error ( ...@@ -27,7 +27,7 @@ module Gargantext.Database.Query.Table.Node.Error (
) where ) where
import Control.Lens (Prism', (#), (^?)) import Control.Lens (Prism', (#), (^?))
import Data.Aeson ( object, ToJSON(toJSON) ) import Data.Aeson (object)
import Data.Text qualified as T import Data.Text qualified as T
import Gargantext.Core.Types.Individu ( renderUser, User, Username ) import Gargantext.Core.Types.Individu ( renderUser, User, Username )
import Gargantext.Database.Admin.Types.Node (ListId, NodeId(..), ContextId, UserId, ParentId) import Gargantext.Database.Admin.Types.Node (ListId, NodeId(..), ContextId, UserId, ParentId)
......
...@@ -44,7 +44,7 @@ module Gargantext.Database.Query.Table.NodeContext ...@@ -44,7 +44,7 @@ module Gargantext.Database.Query.Table.NodeContext
where where
import Control.Arrow (returnA) import Control.Arrow (returnA)
import Control.Lens (view, (^.)) import Control.Lens (view)
import Data.Text (splitOn) import Data.Text (splitOn)
import Data.Time (UTCTime) import Data.Time (UTCTime)
import Database.PostgreSQL.Simple qualified as PGS (In(..), Query, Only(..)) import Database.PostgreSQL.Simple qualified as PGS (In(..), Query, Only(..))
......
...@@ -33,7 +33,7 @@ module Gargantext.Database.Query.Table.NodeNode ...@@ -33,7 +33,7 @@ module Gargantext.Database.Query.Table.NodeNode
where where
import Control.Arrow (returnA) import Control.Arrow (returnA)
import Control.Lens ((^.), view) import Control.Lens (view)
import Data.Text (splitOn) import Data.Text (splitOn)
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)
......
...@@ -48,7 +48,7 @@ module Gargantext.Database.Query.Table.User ...@@ -48,7 +48,7 @@ module Gargantext.Database.Query.Table.User
where where
import Control.Arrow (returnA) import Control.Arrow (returnA)
import Control.Lens ((^.), (?~)) import Control.Lens ((?~))
import Data.List.NonEmpty qualified as NE import Data.List.NonEmpty qualified as NE
import Data.Time (UTCTime) import Data.Time (UTCTime)
import Data.UUID qualified as UUID import Data.UUID qualified as UUID
......
...@@ -43,15 +43,14 @@ module Gargantext.Database.Query.Tree ...@@ -43,15 +43,14 @@ module Gargantext.Database.Query.Tree
) )
where where
import Control.Lens (view, toListOf, at, each, _Just, to, set, makeLenses) import Control.Lens (view, toListOf, at, each, _Just, to, set)
import Data.List (tail, nub) import Data.List (tail, nub)
import Data.List qualified as List import Data.List qualified as List
import Data.Map.Strict (fromListWith, lookup) import Data.Map.Strict (fromListWith, lookup)
import Data.Proxy
import Data.Text qualified as Text import Data.Text qualified as Text
import Database.PostgreSQL.Simple import Database.PostgreSQL.Simple ( Only(Only), In(In) )
import Database.PostgreSQL.Simple.SqlQQ import Database.PostgreSQL.Simple.SqlQQ ( sql )
import Gargantext.Core import Gargantext.Core ( fromDBid, HasDBid(toDBid) )
import Gargantext.Core.Types.Main (NodeTree(..), Tree(..)) import Gargantext.Core.Types.Main (NodeTree(..), Tree(..))
import Gargantext.Database.Admin.Config () import Gargantext.Database.Admin.Config ()
import Gargantext.Database.Admin.Types.Hyperdata.Any (HyperdataAny) import Gargantext.Database.Admin.Types.Hyperdata.Any (HyperdataAny)
......
...@@ -20,7 +20,6 @@ ngrams in NgramsTerm Lists. ...@@ -20,7 +20,6 @@ ngrams in NgramsTerm Lists.
module Gargantext.Database.Schema.NgramsPostag module Gargantext.Database.Schema.NgramsPostag
where where
import Control.Lens ( makeLenses )
import Database.PostgreSQL.Simple qualified as PGS import Database.PostgreSQL.Simple qualified as PGS
import Gargantext.Database.Schema.Prelude ( Column, SqlInt4, SqlText, ToField(toField), toRow ) import Gargantext.Database.Schema.Prelude ( Column, SqlInt4, SqlText, ToField(toField), toRow )
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -21,7 +21,6 @@ Functions to deal with users, database side. ...@@ -21,7 +21,6 @@ Functions to deal with users, database side.
module Gargantext.Database.Schema.User where module Gargantext.Database.Schema.User where
import Data.Aeson.TH (deriveJSON)
import Data.Morpheus.Types (GQLType(typeOptions)) import Data.Morpheus.Types (GQLType(typeOptions))
import Data.Time (UTCTime) import Data.Time (UTCTime)
import Database.PostgreSQL.Simple.FromField (FromField, fromField) import Database.PostgreSQL.Simple.FromField (FromField, fromField)
......
...@@ -13,13 +13,12 @@ Portability : POSIX ...@@ -13,13 +13,12 @@ Portability : POSIX
module Gargantext.Utils.JohnSnowNLP where module Gargantext.Utils.JohnSnowNLP where
import Control.Lens import Control.Lens ( FunctorWithIndex(imap) )
import Data.Aeson (encode, ToJSON, toJSON, FromJSON, parseJSON, Value(..), (.:), (.:?)) import Data.Aeson (encode, Value(..), (.:), (.:?))
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
import Data.Map.Strict qualified as Map import Data.Map.Strict qualified as Map
import Data.Text hiding (map, group, filter, concat, zip) import Data.Text (unpack)
import Gargantext.Core (Lang(..)) import Gargantext.Core (Lang(..))
import Gargantext.Core.Text.Terms.Multi.PosTagging.Types import Gargantext.Core.Text.Terms.Multi.PosTagging.Types
import Gargantext.Core.Types (POS(..)) import Gargantext.Core.Types (POS(..))
......
...@@ -17,9 +17,6 @@ Server to be used: https://gitlab.iscpif.fr/gargantext/spacy-server ...@@ -17,9 +17,6 @@ Server to be used: https://gitlab.iscpif.fr/gargantext/spacy-server
module Gargantext.Utils.SpacyNLP.Types where module Gargantext.Utils.SpacyNLP.Types where
import Control.Lens
import Data.Aeson.TH (deriveJSON)
import Data.Text hiding (map, group, filter, concat, zip)
import Gargantext.Core.Types (POS(..), NER(..)) import Gargantext.Core.Types (POS(..), NER(..))
import Gargantext.Core.Utils.Prefix (unPrefix) import Gargantext.Core.Utils.Prefix (unPrefix)
import Gargantext.Prelude import Gargantext.Prelude
......
...@@ -16,7 +16,6 @@ Portability : POSIX ...@@ -16,7 +16,6 @@ Portability : POSIX
module Gargantext.Utils.UTCTime where module Gargantext.Utils.UTCTime where
import Data.Aeson (FromJSON, ToJSON)
import Data.Morpheus.Kind (SCALAR) import Data.Morpheus.Kind (SCALAR)
import Data.Morpheus.Types (GQLType(..), DecodeScalar(..), EncodeScalar(..)) import Data.Morpheus.Types (GQLType(..), DecodeScalar(..), EncodeScalar(..))
import Data.Morpheus.Types qualified as DMT import Data.Morpheus.Types qualified as DMT
......
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