Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
H
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Przemyslaw Kaminski
haskell-gargantext
Commits
58c778cd
Commit
58c778cd
authored
Dec 13, 2021
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Plain Diff
[FIX] conflict in cabal.project
parents
bace4c77
b6a2ad38
Changes
25
Show whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
826 additions
and
38 deletions
+826
-38
cabal.project
cabal.project
+41
-10
package.yaml
package.yaml
+3
-0
HashedResponse.hs
src/Gargantext/API/HashedResponse.hs
+2
-0
Ngrams.hs
src/Gargantext/API/Ngrams.hs
+6
-1
Types.hs
src/Gargantext/API/Ngrams/List/Types.hs
+3
-1
Types.hs
src/Gargantext/API/Ngrams/Types.hs
+6
-2
Node.hs
src/Gargantext/API/Node.hs
+0
-2
File.hs
src/Gargantext/API/Node/Corpus/New/File.hs
+7
-1
File.hs
src/Gargantext/API/Node/File.hs
+5
-0
New.hs
src/Gargantext/API/Node/New.hs
+4
-2
Types.hs
src/Gargantext/API/Node/Types.hs
+3
-1
Prelude.hs
src/Gargantext/API/Prelude.hs
+2
-2
Routes.hs
src/Gargantext/API/Routes.hs
+1
-1
Server.hs
src/Gargantext/API/Server.hs
+2
-1
ThrowAll.hs
src/Gargantext/API/ThrowAll.hs
+2
-1
Client.hs
src/Gargantext/Client.hs
+691
-0
Core.hs
src/Gargantext/Core.hs
+4
-2
Main.hs
src/Gargantext/Core/Types/Main.hs
+4
-2
API.hs
src/Gargantext/Core/Viz/Graph/API.hs
+1
-0
GEXF.hs
src/Gargantext/Core/Viz/Graph/GEXF.hs
+6
-0
LegacyAPI.hs
src/Gargantext/Core/Viz/Phylo/Legacy/LegacyAPI.hs
+4
-0
Node.hs
src/Gargantext/Database/Admin/Types/Node.hs
+7
-5
Facet.hs
src/Gargantext/Database/Query/Facet.hs
+2
-0
Ngrams.hs
src/Gargantext/Database/Schema/Ngrams.hs
+3
-1
stack.yaml
stack.yaml
+17
-3
No files found.
cabal.project
View file @
58c778cd
packages: .
allow-newer: base, accelerate
-- ../servant-job
-- ../ekg-json
-- ../../../code/servant/servant
-- ../../../code/servant/servant-server
-- ../../../code/servant/servant-client-core
-- ../../../code/servant/servant-client
-- ../../../code/servant/servant-auth/servant-auth
-- ../../../code/servant/servant-auth/servant-auth-client
-- ../../../code/servant/servant-auth/servant-auth-server
allow-newer: base, accelerate, servant, time
-- Patches
source-repository-package
type: git
location: https://github.com/alpmestan/servant-job.git
tag: ceb251b91e8ec1804198422a3cdbdab08d843b79
source-repository-package
type: git
location: https://github.com/alpmestan/ekg-json.git
tag: c7bde4851a7cd41b3f3debf0c57f11bbcb11d698
source-repository-package
type: git
location: https://github.com/haskell-servant/servant.git
tag: c2af6e775d1d36f2011d43aff230bb502f8fba63
subdir: servant/
servant-server/
servant-client-core/
servant-client/
servant-auth/servant-auth/
servant-auth/servant-auth-client/
servant-auth/servant-auth-server/
source-repository-package
type: git
location: https://github.com/delanoe/patches-map.git
...
...
@@ -16,7 +47,7 @@ source-repository-package
source-repository-package
type: git
location: https://gitlab.iscpif.fr/cgenie/haskell-gargantext-prelude.git
tag:
35b09629a658fc16cc9ff63e7591e58511cd98a7
tag:
6bfdb29e9a576472c7fd7ebe648ad101e5b3927f
-- External Data API connectors
source-repository-package
...
...
@@ -72,10 +103,10 @@ source-repository-package
location: https://github.com/delanoe/servant-static-th.git
tag: 8cb8aaf2962ad44d319fcea48442e4397b3c49e8
source-repository-package
type: git
location: https://github.com/alpmestan/servant-job.git
tag: e9a4c57ca3ddee450627ed251df942effb27e4be
--
source-repository-package
--
type: git
--
location: https://github.com/alpmestan/servant-job.git
--
tag: e9a4c57ca3ddee450627ed251df942effb27e4be
-- Database libraries
source-repository-package
...
...
@@ -105,7 +136,6 @@ source-repository-package
location: https://gitlab.iscpif.fr/anoe/accelerate-utility.git
tag: 83ada76e78ac10d9559af8ed6bd4064ec81308e4
constraints: unordered-containers==0.2.14.*
-- Wikidata
source-repository-package
...
...
@@ -114,5 +144,6 @@ source-repository-package
tag: 9637a82344bb70f7fa8f02e75db3c081ccd434ce
constraints: unordered-containers==0.2.14.*,
servant-ekg==0.3.1,
time==1.9.3
package.yaml
View file @
58c778cd
...
...
@@ -58,6 +58,7 @@ library:
-
Gargantext.API.Admin.EnvTypes
-
Gargantext.API.Admin.Types
-
Gargantext.API.Prelude
-
Gargantext.Client
-
Gargantext.Core
-
Gargantext.Core.NodeStory
-
Gargantext.Core.Methods.Distances
...
...
@@ -217,12 +218,14 @@ library:
-
serialise
-
servant
-
servant-auth
-
servant-auth-client
-
servant-auth-server >= 0.4.4.0
-
servant-auth-swagger
-
servant-blaze
-
servant-cassava
-
servant-client
-
servant-ekg
-
servant-flatten
-
servant-job
-
servant-mock
-
servant-multipart
...
...
src/Gargantext/API/HashedResponse.hs
View file @
58c778cd
...
...
@@ -25,6 +25,8 @@ data HashedResponse a = HashedResponse { hash :: Text, value :: a }
instance
ToSchema
a
=>
ToSchema
(
HashedResponse
a
)
instance
ToJSON
a
=>
ToJSON
(
HashedResponse
a
)
where
toJSON
=
genericToJSON
defaultOptions
instance
FromJSON
a
=>
FromJSON
(
HashedResponse
a
)
where
parseJSON
=
genericParseJSON
defaultOptions
constructHashedResponse
::
ToJSON
a
=>
a
->
HashedResponse
a
constructHashedResponse
v
=
HashedResponse
{
hash
=
Crypto
.
hash
$
encode
v
,
value
=
v
}
src/Gargantext/API/Ngrams.hs
View file @
58c778cd
...
...
@@ -22,6 +22,7 @@ add get
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE IncoherentInstances #-}
module
Gargantext.API.Ngrams
(
TableNgramsApi
,
TableNgramsApiGet
...
...
@@ -71,6 +72,8 @@ module Gargantext.API.Ngrams
,
VersionedWithCount
(
..
)
,
currentVersion
,
listNgramsChangedSince
,
MinSize
,
MaxSize
,
OrderBy
,
NgramsTable
,
UpdateTableNgramsCharts
)
where
...
...
@@ -86,7 +89,7 @@ import Data.Monoid
import
Data.Ord
(
Down
(
..
))
import
Data.Patch.Class
(
Action
(
act
),
Transformable
(
..
),
ours
)
import
Data.Swagger
hiding
(
version
,
patch
)
import
Data.Text
(
Text
,
isInfixOf
,
unpack
)
import
Data.Text
(
Text
,
isInfixOf
,
unpack
,
pack
)
import
Data.Text.Lazy.IO
as
DTL
import
Formatting
(
hprint
,
int
,
(
%
))
import
GHC.Generics
(
Generic
)
...
...
@@ -654,6 +657,8 @@ instance FromHttpApiData OrderBy
parseUrlPiece
"ScoreDesc"
=
pure
ScoreDesc
parseUrlPiece
_
=
Left
"Unexpected value of OrderBy"
instance
ToHttpApiData
OrderBy
where
toUrlPiece
=
pack
.
show
instance
ToParamSchema
OrderBy
instance
FromJSON
OrderBy
...
...
src/Gargantext/API/Ngrams/List/Types.hs
View file @
58c778cd
...
...
@@ -9,7 +9,7 @@ import Data.Aeson
import
Data.Swagger
(
ToSchema
,
declareNamedSchema
,
genericDeclareNamedSchema
)
import
Data.Text
import
Servant.Job.Utils
(
jsonOptions
)
import
Web.FormUrlEncoded
(
FromForm
)
import
Web.FormUrlEncoded
(
FromForm
,
ToForm
)
import
Protolude
...
...
@@ -27,6 +27,7 @@ data WithFile = WithFile
--makeLenses ''WithFile
instance
FromForm
WithFile
instance
ToForm
WithFile
instance
FromJSON
WithFile
where
parseJSON
=
genericParseJSON
$
jsonOptions
"_wf_"
instance
ToJSON
WithFile
where
...
...
@@ -45,6 +46,7 @@ data WithTextFile = WithTextFile
--makeLenses ''WithTextFile
instance
FromForm
WithTextFile
instance
ToForm
WithTextFile
instance
FromJSON
WithTextFile
where
parseJSON
=
genericParseJSON
$
jsonOptions
"_wtf_"
instance
ToJSON
WithTextFile
where
...
...
src/Gargantext/API/Ngrams/Types.hs
View file @
58c778cd
...
...
@@ -63,8 +63,7 @@ data TabType = Docs | Trash | MoreFav | MoreTrash
instance
Hashable
TabType
instance
FromHttpApiData
TabType
where
instance
FromHttpApiData
TabType
where
parseUrlPiece
"Docs"
=
pure
Docs
parseUrlPiece
"Trash"
=
pure
Trash
parseUrlPiece
"MoreFav"
=
pure
MoreFav
...
...
@@ -78,6 +77,8 @@ instance FromHttpApiData TabType
parseUrlPiece
"Contacts"
=
pure
Contacts
parseUrlPiece
_
=
Left
"Unexpected value of TabType"
instance
ToHttpApiData
TabType
where
toUrlPiece
=
pack
.
show
instance
ToParamSchema
TabType
instance
ToJSON
TabType
instance
FromJSON
TabType
...
...
@@ -716,6 +717,9 @@ instance FromHttpApiData (Map TableNgrams.NgramsType (Versioned NgramsTableMap))
where
parseUrlPiece
x
=
maybeToEither
x
(
decode
$
cs
x
)
instance
ToHttpApiData
(
Map
TableNgrams
.
NgramsType
(
Versioned
NgramsTableMap
))
where
toUrlPiece
m
=
cs
(
encode
m
)
ngramsTypeFromTabType
::
TabType
->
TableNgrams
.
NgramsType
ngramsTypeFromTabType
tabType
=
let
here
=
"Garg.API.Ngrams: "
::
Text
in
...
...
src/Gargantext/API/Node.hs
View file @
58c778cd
...
...
@@ -199,8 +199,6 @@ nodeAPI :: forall proxy a.
(
JSONB
a
,
FromJSON
a
,
ToJSON
a
,
MimeRender
JSON
a
,
MimeUnrender
JSON
a
)
=>
proxy
a
->
UserId
->
NodeId
...
...
src/Gargantext/API/Node/Corpus/New/File.hs
View file @
58c778cd
...
...
@@ -65,7 +65,13 @@ instance FromHttpApiData FileType
parseUrlPiece
"ZIP"
=
pure
ZIP
parseUrlPiece
"WOS"
=
pure
WOS
parseUrlPiece
_
=
pure
CSV
-- TODO error here
instance
ToHttpApiData
FileType
where
toUrlPiece
t
=
case
t
of
CSV
->
"CSV"
CSV_HAL
->
"CSV_HAL"
PresseRIS
->
"PresseRis"
ZIP
->
"ZIP"
WOS
->
"WOS"
instance
(
ToParamSchema
a
,
HasSwagger
sub
)
=>
HasSwagger
(
MultipartForm
tag
a
:>
sub
)
where
...
...
src/Gargantext/API/Node/File.hs
View file @
58c778cd
...
...
@@ -3,6 +3,7 @@
{-# LANGUAGE AllowAmbiguousTypes #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE IncoherentInstances #-}
module
Gargantext.API.Node.File
where
import
Control.Lens
((
^.
))
...
...
@@ -30,6 +31,7 @@ import Gargantext.Database.Query.Table.Node (getNodeWith)
import
Gargantext.Database.Query.Table.Node.UpdateOpaleye
(
updateHyperdata
)
import
Gargantext.Database.Schema.Node
(
node_hyperdata
)
import
Gargantext.Prelude
import
Data.Either
data
RESPONSE
deriving
Typeable
...
...
@@ -43,6 +45,9 @@ type FileApi = Summary "File download"
:>
"download"
:>
Get
'[
R
ESPONSE
]
(
Headers
'[
S
ervant
.
Header
"Content-Type"
Text
]
BSResponse
)
instance
MimeUnrender
RESPONSE
BSResponse
where
mimeUnrender
_
lbs
=
Right
$
BSResponse
(
BSL
.
toStrict
lbs
)
fileApi
::
UserId
->
NodeId
->
GargServer
FileApi
fileApi
uId
nId
=
fileDownload
uId
nId
...
...
src/Gargantext/API/Node/New.hs
View file @
58c778cd
...
...
@@ -16,6 +16,7 @@ Async new node feature
{-# LANGUAGE TypeOperators #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE IncoherentInstances #-}
module
Gargantext.API.Node.New
where
...
...
@@ -28,7 +29,7 @@ import Servant
import
Servant.Job.Async
import
Test.QuickCheck
(
elements
)
import
Test.QuickCheck.Arbitrary
import
Web.FormUrlEncoded
(
FromForm
)
import
Web.FormUrlEncoded
(
FromForm
,
ToForm
)
import
Gargantext.API.Admin.Orchestrator.Types
(
JobLog
(
..
),
AsyncJobs
)
import
Gargantext.API.Prelude
...
...
@@ -51,6 +52,7 @@ instance FromJSON PostNode
instance
ToJSON
PostNode
instance
ToSchema
PostNode
instance
FromForm
PostNode
instance
ToForm
PostNode
instance
Arbitrary
PostNode
where
arbitrary
=
elements
[
PostNode
"Node test"
NodeCorpus
]
...
...
src/Gargantext/API/Node/Types.hs
View file @
58c778cd
...
...
@@ -13,7 +13,7 @@ import qualified Data.Text as T
import
qualified
Data.Text.Encoding
as
TE
import
GHC.Generics
(
Generic
)
import
Servant.Job.Utils
(
jsonOptions
)
import
Web.FormUrlEncoded
(
FromForm
)
import
Web.FormUrlEncoded
(
FromForm
,
ToForm
)
import
Gargantext.Core
(
Lang
(
..
)
{-, allLangs-}
)
import
Gargantext.Core.Utils.Prefix
(
unPrefixSwagger
)
...
...
@@ -31,6 +31,7 @@ data NewWithForm = NewWithForm
makeLenses
''
N
ewWithForm
instance
FromForm
NewWithForm
instance
ToForm
NewWithForm
instance
FromJSON
NewWithForm
where
parseJSON
=
genericParseJSON
$
jsonOptions
"_wf_"
instance
ToJSON
NewWithForm
where
...
...
@@ -48,6 +49,7 @@ data NewWithFile = NewWithFile
makeLenses
''
N
ewWithFile
instance
FromForm
NewWithFile
instance
ToForm
NewWithFile
instance
FromJSON
NewWithFile
where
parseJSON
=
genericParseJSON
$
jsonOptions
"_wfi_"
instance
ToJSON
NewWithFile
where
...
...
src/Gargantext/API/Prelude.hs
View file @
58c778cd
...
...
@@ -67,7 +67,7 @@ type ErrC err =
,
HasTreeError
err
,
HasServerError
err
,
HasJoseError
err
,
ToJSON
err
-- TODO this is arguable
--
, ToJSON err -- TODO this is arguable
,
Exception
err
)
...
...
@@ -76,7 +76,7 @@ type GargServerC env err m =
,
HasNodeStory
env
err
m
,
EnvC
env
,
ErrC
err
,
MimeRender
JSON
err
,
To
JSON
err
)
type
GargServerT
env
err
m
api
=
GargServerC
env
err
m
=>
ServerT
api
m
...
...
src/Gargantext/API/Routes.hs
View file @
58c778cd
...
...
@@ -59,7 +59,7 @@ import Gargantext.Prelude.Config (gc_max_docs_scrapers)
type
GargAPI
=
"api"
:>
Summary
"API "
:>
GargAPIVersion
-- | TODO :<|> Summary "Latest API" :> GargAPI'
--
-
| TODO :<|> Summary "Latest API" :> GargAPI'
type
GargAPIVersion
=
"v1.0"
:>
Summary
"Garg API Version "
...
...
src/Gargantext/API/Server.hs
View file @
58c778cd
...
...
@@ -17,6 +17,7 @@ module Gargantext.API.Server where
import
Control.Lens
((
^.
))
import
Control.Monad.Except
(
withExceptT
)
import
Control.Monad.Reader
(
runReaderT
)
import
Data.Aeson
import
Data.Text
(
Text
)
import
Data.Version
(
showVersion
)
import
Servant
...
...
@@ -40,7 +41,7 @@ import Gargantext.Prelude
import
Gargantext.Prelude.Config
(
gc_url_backend_api
)
serverGargAPI
::
MimeRender
JSON
err
=>
Text
->
GargServerM
env
err
GargAPI
serverGargAPI
::
To
JSON
err
=>
Text
->
GargServerM
env
err
GargAPI
serverGargAPI
baseUrl
-- orchestrator
=
auth
:<|>
gargVersion
...
...
src/Gargantext/API/ThrowAll.hs
View file @
58c778cd
...
...
@@ -18,6 +18,7 @@ module Gargantext.API.ThrowAll where
import
Control.Monad.Except
(
MonadError
(
..
))
import
Control.Lens
((
#
))
import
Data.Aeson
import
Servant
import
Servant.Auth.Server
(
AuthResult
(
..
))
...
...
@@ -45,7 +46,7 @@ instance {-# OVERLAPPING #-} ThrowAll' e b => ThrowAll' e (a -> b) where
instance
{-# OVERLAPPABLE #-}
(
MonadError
e
m
)
=>
ThrowAll'
e
(
m
a
)
where
throwAll'
=
throwError
serverPrivateGargAPI
::
MimeRender
JSON
err
=>
GargServerM
env
err
GargPrivateAPI
serverPrivateGargAPI
::
To
JSON
err
=>
GargServerM
env
err
GargPrivateAPI
serverPrivateGargAPI
(
Authenticated
auser
)
=
serverPrivateGargAPI'
auser
serverPrivateGargAPI
_
=
throwAll'
(
_ServerError
#
err401
)
-- Here throwAll' requires a concrete type for the monad.
src/Gargantext/Client.hs
0 → 100644
View file @
58c778cd
{-# OPTIONS_GHC -freduction-depth=0 #-}
{-# OPTIONS_GHC -O0 #-}
module
Gargantext.Client
where
import
Data.Int
import
Data.Maybe
import
Data.Map
(
Map
)
import
Data.Proxy
import
Data.Text
(
Text
)
import
Data.Time.Clock
import
Data.Vector
(
Vector
)
import
Gargantext.API
import
Gargantext.API.Admin.Auth.Types
hiding
(
Token
)
import
Gargantext.API.Admin.Orchestrator.Types
import
Gargantext.API.Count
import
Gargantext.API.EKG
import
Gargantext.API.HashedResponse
import
Gargantext.API.Ngrams
as
Ngrams
import
Gargantext.API.Ngrams.NgramsTree
import
Gargantext.API.Ngrams.List.Types
import
Gargantext.API.Node
import
Gargantext.API.Node.Contact
import
Gargantext.API.Node.Corpus.Export.Types
import
Gargantext.API.Node.Corpus.New
import
Gargantext.API.Node.DocumentsFromWriteNodes
import
Gargantext.API.Node.DocumentUpload
import
Gargantext.API.Node.File
import
Gargantext.API.Node.FrameCalcUpload
import
Gargantext.API.Node.New
import
Gargantext.API.Node.Share
import
Gargantext.API.Node.Types
import
Gargantext.API.Node.Update
import
Gargantext.API.Public
import
Gargantext.API.Routes
import
Gargantext.API.Search
import
Gargantext.API.Table
import
Gargantext.Core.Types
(
NodeTableResult
)
import
Gargantext.Core.Types.Main
hiding
(
Limit
,
Offset
)
import
Gargantext.Core.Viz.Graph
hiding
(
Node
,
Version
)
import
Gargantext.Core.Viz.Graph.API
import
Gargantext.Core.Viz.Phylo.Legacy.LegacyAPI
import
Gargantext.Core.Viz.Types
import
Gargantext.Database.Admin.Types.Metrics
import
Gargantext.Database.Admin.Types.Hyperdata
import
Gargantext.Database.Admin.Types.Node
import
Gargantext.Database.Schema.Ngrams
import
Gargantext.Database.Query.Facet
as
Facet
import
Servant.API
import
Servant.API.Flatten
import
Servant.Auth.Client
import
Servant.Client
import
Servant.Job.Core
import
Servant.Job.Types
import
System.Metrics.Json
(
Sample
,
Value
)
-- * actual client functions for individual endpoints
getBackendVersion
::
ClientM
Text
postAuth
::
AuthRequest
->
ClientM
AuthResponse
-- admin api
getRoots
::
Token
->
ClientM
[
Node
HyperdataUser
]
putRoots
::
Token
->
ClientM
Int
-- not actually implemented in the backend
deleteNodes
::
Token
->
[
NodeId
]
->
ClientM
Int
-- node api
getNode
::
Token
->
NodeId
->
ClientM
(
Node
HyperdataAny
)
renameNode
::
Token
->
NodeId
->
RenameNode
->
ClientM
[
Int
]
postNode
::
Token
->
NodeId
->
PostNode
->
ClientM
[
NodeId
]
postNodeAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postNodeAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
PostNode
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killNodeAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollNodeAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitNodeAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postNodeFrameCalcAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postNodeFrameCalcAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
FrameCalcUpload
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killNodeFrameCalcAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollNodeFrameCalcAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitNodeFrameCalcAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
putNode
::
Token
->
NodeId
->
HyperdataAny
->
ClientM
Int
postUpdateNodeAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postUpdateNodeAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
UpdateNodeParams
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killUpdateNodeAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollUpdateNodeAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitUpdateNodeAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
deleteNode
::
Token
->
NodeId
->
ClientM
Int
getNodeChildren
::
Token
->
NodeId
->
Maybe
NodeType
->
Maybe
Int
->
Maybe
Int
->
ClientM
(
NodeTableResult
HyperdataAny
)
getNodeTable
::
Token
->
NodeId
->
Maybe
TabType
->
Maybe
ListId
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
Maybe
Text
->
ClientM
(
HashedResponse
FacetTableResult
)
postNodeTableQuery
::
Token
->
NodeId
->
TableQuery
->
ClientM
FacetTableResult
getNodeTableHash
::
Token
->
NodeId
->
Maybe
TabType
->
ClientM
Text
getNodeNgramsTable
::
Token
->
NodeId
->
TabType
->
ListId
->
Int
->
Maybe
Int
->
Maybe
ListType
->
Maybe
MinSize
->
Maybe
MaxSize
->
Maybe
Ngrams
.
OrderBy
->
Maybe
Text
->
ClientM
(
VersionedWithCount
NgramsTable
)
putNodeNgramsTablePatch
::
Token
->
NodeId
->
TabType
->
ListId
->
Versioned
NgramsTablePatch
->
ClientM
(
Versioned
NgramsTablePatch
)
postNodeRecomputeNgramsTableScores
::
Token
->
NodeId
->
TabType
->
ListId
->
ClientM
Int
getNodeNgramsTableVersion
::
Token
->
NodeId
->
TabType
->
ListId
->
ClientM
Version
postNodeUpdateNgramsTableChartsAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postNodeUpdateNgramsTableChartsAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
UpdateTableNgramsCharts
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killNodeUpdateNgramsTableChartsAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollNodeUpdateNgramsTableChartsAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitNodeUpdateNgramsTableChartsAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
putNodeCategory
::
Token
->
NodeId
->
NodesToCategory
->
ClientM
[
Int
]
putNodeScore
::
Token
->
NodeId
->
NodesToScore
->
ClientM
[
Int
]
postNodeSearch
::
Token
->
NodeId
->
SearchQuery
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
ClientM
SearchResult
postNodeShare
::
Token
->
NodeId
->
ShareNodeParams
->
ClientM
Int
postNodePairCorpusAnnuaire
::
Token
->
NodeId
->
AnnuaireId
->
Maybe
ListId
->
ClientM
Int
getNodePairs
::
Token
->
NodeId
->
ClientM
[
AnnuaireId
]
getNodePairings
::
Token
->
NodeId
->
Maybe
TabType
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
ClientM
[
FacetDoc
]
getNodeScatterMetrics
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
(
HashedResponse
Metrics
)
postNodeScatterMetricsUpdate
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getNodeScatterMetricsHash
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getNodeChart
::
Token
->
NodeId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ClientM
(
HashedResponse
(
ChartMetrics
Histo
))
postNodeChartUpdate
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getNodeChartHash
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getNodePie
::
Token
->
NodeId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ClientM
(
HashedResponse
(
ChartMetrics
Histo
))
postNodePieUpdate
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getNodePieHash
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getNodeTree
::
Token
->
NodeId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
(
HashedResponse
(
ChartMetrics
(
Vector
NgramsTree
)))
postNodeTreeUpdate
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
()
getNodeTreeHash
::
Token
->
NodeId
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
Text
getNodePhylo
::
Token
->
NodeId
->
Maybe
NodeId
->
Maybe
Int
->
Maybe
Int
->
ClientM
SVG
putNodePhylo
::
Token
->
NodeId
->
Maybe
NodeId
->
ClientM
NodeId
putNodeMove
::
Token
->
NodeId
->
ParentId
->
ClientM
[
Int
]
postNodeUnpublish
::
Token
->
NodeId
->
NodeId
->
ClientM
Int
getNodeFile
::
Token
->
NodeId
->
ClientM
(
Headers
'[
H
eader
"Content-Type"
Text
]
BSResponse
)
postNodeFileAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postNodeFileAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
NewWithFile
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killNodeFileAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollNodeFileAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitNodeFileAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postNodeDocumentWriteNodesAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postNodeDocumentWriteNodesAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
Params
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killNodeDocumentWriteNodesAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollNodeDocumentWriteNodesAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitNodeDocumentWriteNodesAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postNodeDocumentUploadAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postNodeDocumentUploadAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
DocumentUpload
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killNodeDocumentUploadAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollNodeDocumentUploadAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitNodeDocumentUploadAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
-- corpus api
getCorpus
::
Token
->
CorpusId
->
ClientM
(
Node
HyperdataCorpus
)
renameCorpus
::
Token
->
CorpusId
->
RenameNode
->
ClientM
[
Int
]
postCorpus
::
Token
->
CorpusId
->
PostNode
->
ClientM
[
CorpusId
]
postCorpusAsync
::
Token
->
CorpusId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postCorpusAsyncJob
::
Token
->
CorpusId
->
JobInput
Maybe
PostNode
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killCorpusAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollCorpusAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitCorpusAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postCorpusFrameCalcAsync
::
Token
->
CorpusId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postCorpusFrameCalcAsyncJob
::
Token
->
CorpusId
->
JobInput
Maybe
FrameCalcUpload
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killCorpusFrameCalcAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollCorpusFrameCalcAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitCorpusFrameCalcAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
putCorpus
::
Token
->
CorpusId
->
HyperdataCorpus
->
ClientM
Int
postUpdateCorpusAsync
::
Token
->
CorpusId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postUpdateCorpusAsyncJob
::
Token
->
CorpusId
->
JobInput
Maybe
UpdateNodeParams
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killUpdateCorpusAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollUpdateCorpusAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitUpdateCorpusAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
deleteCorpus
::
Token
->
CorpusId
->
ClientM
Int
getCorpusChildren
::
Token
->
CorpusId
->
Maybe
NodeType
->
Maybe
Int
->
Maybe
Int
->
ClientM
(
NodeTableResult
HyperdataCorpus
)
getCorpusTable
::
Token
->
CorpusId
->
Maybe
TabType
->
Maybe
ListId
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
Maybe
Text
->
ClientM
(
HashedResponse
FacetTableResult
)
postCorpusTableQuery
::
Token
->
CorpusId
->
TableQuery
->
ClientM
FacetTableResult
getCorpusTableHash
::
Token
->
CorpusId
->
Maybe
TabType
->
ClientM
Text
getCorpusNgramsTable
::
Token
->
CorpusId
->
TabType
->
ListId
->
Int
->
Maybe
Int
->
Maybe
ListType
->
Maybe
MinSize
->
Maybe
MaxSize
->
Maybe
Ngrams
.
OrderBy
->
Maybe
Text
->
ClientM
(
VersionedWithCount
NgramsTable
)
putCorpusNgramsTablePatch
::
Token
->
CorpusId
->
TabType
->
ListId
->
Versioned
NgramsTablePatch
->
ClientM
(
Versioned
NgramsTablePatch
)
postCorpusRecomputeNgramsTableScores
::
Token
->
CorpusId
->
TabType
->
ListId
->
ClientM
Int
getCorpusNgramsTableVersion
::
Token
->
CorpusId
->
TabType
->
ListId
->
ClientM
Version
postCorpusUpdateNgramsTableChartsAsync
::
Token
->
CorpusId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postCorpusUpdateNgramsTableChartsAsyncJob
::
Token
->
CorpusId
->
JobInput
Maybe
UpdateTableNgramsCharts
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killCorpusUpdateNgramsTableChartsAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollCorpusUpdateNgramsTableChartsAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitCorpusUpdateNgramsTableChartsAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
putCorpusCategory
::
Token
->
CorpusId
->
NodesToCategory
->
ClientM
[
Int
]
putCorpusScore
::
Token
->
CorpusId
->
NodesToScore
->
ClientM
[
Int
]
postCorpusSearch
::
Token
->
CorpusId
->
SearchQuery
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
ClientM
SearchResult
postCorpusShare
::
Token
->
CorpusId
->
ShareNodeParams
->
ClientM
Int
postCorpusPairCorpusAnnuaire
::
Token
->
CorpusId
->
AnnuaireId
->
Maybe
ListId
->
ClientM
Int
getCorpusPairs
::
Token
->
CorpusId
->
ClientM
[
AnnuaireId
]
getCorpusPairings
::
Token
->
CorpusId
->
Maybe
TabType
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
ClientM
[
FacetDoc
]
getCorpusScatterMetrics
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
(
HashedResponse
Metrics
)
postCorpusScatterMetricsUpdate
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getCorpusScatterMetricsHash
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getCorpusChart
::
Token
->
CorpusId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ClientM
(
HashedResponse
(
ChartMetrics
Histo
))
postCorpusChartUpdate
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getCorpusChartHash
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getCorpusPie
::
Token
->
CorpusId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ClientM
(
HashedResponse
(
ChartMetrics
Histo
))
postCorpusPieUpdate
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getCorpusPieHash
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getCorpusTree
::
Token
->
CorpusId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
(
HashedResponse
(
ChartMetrics
(
Vector
NgramsTree
)))
postCorpusTreeUpdate
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
()
getCorpusTreeHash
::
Token
->
CorpusId
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
Text
getCorpusPhylo
::
Token
->
CorpusId
->
Maybe
NodeId
->
Maybe
Int
->
Maybe
Int
->
ClientM
SVG
putCorpusPhylo
::
Token
->
CorpusId
->
Maybe
NodeId
->
ClientM
NodeId
putCorpusMove
::
Token
->
CorpusId
->
ParentId
->
ClientM
[
Int
]
postCorpusUnpublish
::
Token
->
CorpusId
->
CorpusId
->
ClientM
Int
getCorpusFile
::
Token
->
NodeId
->
ClientM
(
Headers
'[
H
eader
"Content-Type"
Text
]
BSResponse
)
postCorpusFileAsync
::
Token
->
CorpusId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postCorpusFileAsyncJob
::
Token
->
CorpusId
->
JobInput
Maybe
NewWithFile
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killCorpusFileAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollCorpusFileAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitCorpusFileAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postCorpusDocumentWriteNodesAsync
::
Token
->
CorpusId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postCorpusDocumentWriteNodesAsyncJob
::
Token
->
CorpusId
->
JobInput
Maybe
Params
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killCorpusDocumentWriteNodesAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollCorpusDocumentWriteNodesAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitCorpusDocumentWriteNodesAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postCorpusDocumentUploadAsync
::
Token
->
CorpusId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postCorpusDocumentUploadAsyncJob
::
Token
->
CorpusId
->
JobInput
Maybe
DocumentUpload
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killCorpusDocumentUploadAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollCorpusDocumentUploadAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitCorpusDocumentUploadAsyncJob
::
Token
->
CorpusId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
-- corpus node/node API
getCorpusNodeNode
::
Token
->
NodeId
->
NodeId
->
ClientM
(
Node
HyperdataAny
)
-- corpus export API
getCorpusExport
::
Token
->
CorpusId
->
Maybe
ListId
->
Maybe
NgramsType
->
ClientM
Corpus
-- annuaire api
getAnnuaire
::
Token
->
AnnuaireId
->
ClientM
(
Node
HyperdataAnnuaire
)
renameAnnuaire
::
Token
->
AnnuaireId
->
RenameNode
->
ClientM
[
Int
]
postAnnuaire
::
Token
->
AnnuaireId
->
PostNode
->
ClientM
[
AnnuaireId
]
postAnnuaireAsync
::
Token
->
AnnuaireId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postAnnuaireAsyncJob
::
Token
->
AnnuaireId
->
JobInput
Maybe
PostNode
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killAnnuaireAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollAnnuaireAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitAnnuaireAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postAnnuaireFrameCalcAsync
::
Token
->
AnnuaireId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postAnnuaireFrameCalcAsyncJob
::
Token
->
AnnuaireId
->
JobInput
Maybe
FrameCalcUpload
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killAnnuaireFrameCalcAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollAnnuaireFrameCalcAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitAnnuaireFrameCalcAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
putAnnuaire
::
Token
->
AnnuaireId
->
HyperdataAnnuaire
->
ClientM
Int
postUpdateAnnuaireAsync
::
Token
->
AnnuaireId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postUpdateAnnuaireAsyncJob
::
Token
->
AnnuaireId
->
JobInput
Maybe
UpdateNodeParams
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killUpdateAnnuaireAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollUpdateAnnuaireAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitUpdateAnnuaireAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
deleteAnnuaire
::
Token
->
AnnuaireId
->
ClientM
Int
getAnnuaireChildren
::
Token
->
AnnuaireId
->
Maybe
NodeType
->
Maybe
Int
->
Maybe
Int
->
ClientM
(
NodeTableResult
HyperdataAnnuaire
)
getAnnuaireTable
::
Token
->
AnnuaireId
->
Maybe
TabType
->
Maybe
ListId
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
Maybe
Text
->
ClientM
(
HashedResponse
FacetTableResult
)
postAnnuaireTableQuery
::
Token
->
AnnuaireId
->
TableQuery
->
ClientM
FacetTableResult
getAnnuaireTableHash
::
Token
->
AnnuaireId
->
Maybe
TabType
->
ClientM
Text
getAnnuaireNgramsTable
::
Token
->
AnnuaireId
->
TabType
->
ListId
->
Int
->
Maybe
Int
->
Maybe
ListType
->
Maybe
MinSize
->
Maybe
MaxSize
->
Maybe
Ngrams
.
OrderBy
->
Maybe
Text
->
ClientM
(
VersionedWithCount
NgramsTable
)
putAnnuaireNgramsTablePatch
::
Token
->
AnnuaireId
->
TabType
->
ListId
->
Versioned
NgramsTablePatch
->
ClientM
(
Versioned
NgramsTablePatch
)
postAnnuaireRecomputeNgramsTableScores
::
Token
->
AnnuaireId
->
TabType
->
ListId
->
ClientM
Int
getAnnuaireNgramsTableVersion
::
Token
->
AnnuaireId
->
TabType
->
ListId
->
ClientM
Version
postAnnuaireUpdateNgramsTableChartsAsync
::
Token
->
AnnuaireId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postAnnuaireUpdateNgramsTableChartsAsyncJob
::
Token
->
AnnuaireId
->
JobInput
Maybe
UpdateTableNgramsCharts
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killAnnuaireUpdateNgramsTableChartsAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollAnnuaireUpdateNgramsTableChartsAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitAnnuaireUpdateNgramsTableChartsAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
putAnnuaireCategory
::
Token
->
AnnuaireId
->
NodesToCategory
->
ClientM
[
Int
]
putAnnuaireScore
::
Token
->
AnnuaireId
->
NodesToScore
->
ClientM
[
Int
]
postAnnuaireSearch
::
Token
->
AnnuaireId
->
SearchQuery
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
ClientM
SearchResult
postAnnuaireShare
::
Token
->
AnnuaireId
->
ShareNodeParams
->
ClientM
Int
postAnnuairePairCorpusAnnuaire
::
Token
->
AnnuaireId
->
AnnuaireId
->
Maybe
ListId
->
ClientM
Int
getAnnuairePairs
::
Token
->
AnnuaireId
->
ClientM
[
AnnuaireId
]
getAnnuairePairings
::
Token
->
AnnuaireId
->
Maybe
TabType
->
Maybe
Int
->
Maybe
Int
->
Maybe
Facet
.
OrderBy
->
ClientM
[
FacetDoc
]
getAnnuaireScatterMetrics
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
(
HashedResponse
Metrics
)
postAnnuaireScatterMetricsUpdate
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getAnnuaireScatterMetricsHash
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getAnnuaireChart
::
Token
->
AnnuaireId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ClientM
(
HashedResponse
(
ChartMetrics
Histo
))
postAnnuaireChartUpdate
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getAnnuaireChartHash
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getAnnuairePie
::
Token
->
AnnuaireId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ClientM
(
HashedResponse
(
ChartMetrics
Histo
))
postAnnuairePieUpdate
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
Maybe
Int
->
ClientM
()
getAnnuairePieHash
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
ClientM
Text
getAnnuaireTree
::
Token
->
AnnuaireId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
(
HashedResponse
(
ChartMetrics
(
Vector
NgramsTree
)))
postAnnuaireTreeUpdate
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
()
getAnnuaireTreeHash
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
TabType
->
ListType
->
ClientM
Text
getAnnuairePhylo
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
Maybe
Int
->
Maybe
Int
->
ClientM
SVG
putAnnuairePhylo
::
Token
->
AnnuaireId
->
Maybe
NodeId
->
ClientM
NodeId
putAnnuaireMove
::
Token
->
AnnuaireId
->
ParentId
->
ClientM
[
Int
]
postAnnuaireUnpublish
::
Token
->
AnnuaireId
->
AnnuaireId
->
ClientM
Int
getAnnuaireFile
::
Token
->
AnnuaireId
->
ClientM
(
Headers
'[
H
eader
"Content-Type"
Text
]
BSResponse
)
postAnnuaireFileAsync
::
Token
->
AnnuaireId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postAnnuaireFileAsyncJob
::
Token
->
AnnuaireId
->
JobInput
Maybe
NewWithFile
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killAnnuaireFileAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollAnnuaireFileAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitAnnuaireFileAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postAnnuaireDocumentWriteNodesAsync
::
Token
->
AnnuaireId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postAnnuaireDocumentWriteNodesAsyncJob
::
Token
->
AnnuaireId
->
JobInput
Maybe
Params
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killAnnuaireDocumentWriteNodesAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollAnnuaireDocumentWriteNodesAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitAnnuaireDocumentWriteNodesAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postAnnuaireDocumentUploadAsync
::
Token
->
AnnuaireId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postAnnuaireDocumentUploadAsyncJob
::
Token
->
AnnuaireId
->
JobInput
Maybe
DocumentUpload
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killAnnuaireDocumentUploadAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollAnnuaireDocumentUploadAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitAnnuaireDocumentUploadAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
-- contact api
postAnnuaireContactAsync
::
Token
->
AnnuaireId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postAnnuaireContactAsyncJob
::
Token
->
AnnuaireId
->
JobInput
Maybe
AddContactParams
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killAnnuaireContactAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollAnnuaireContactAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitAnnuaireContactAsyncJob
::
Token
->
AnnuaireId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
-- contact node/node API
getAnnuaireContactNodeNode
::
Token
->
NodeId
->
NodeId
->
ClientM
(
Node
HyperdataContact
)
-- document ngrams api
getDocumentNgramsTable
::
Token
->
DocId
->
TabType
->
ListId
->
Int
->
Maybe
Int
->
Maybe
ListType
->
Maybe
MinSize
->
Maybe
MaxSize
->
Maybe
Ngrams
.
OrderBy
->
Maybe
Text
->
ClientM
(
VersionedWithCount
NgramsTable
)
putDocumentNgramsTable
::
Token
->
DocId
->
TabType
->
ListId
->
Versioned
NgramsTablePatch
->
ClientM
(
Versioned
NgramsTablePatch
)
postRecomputeDocumentNgramsTableScore
::
Token
->
DocId
->
TabType
->
ListId
->
ClientM
Int
getDocumentNgramsTableVersion
::
Token
->
DocId
->
TabType
->
ListId
->
ClientM
Version
postDocumentNgramsTableAsync
::
Token
->
DocId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postDocumentNgramsTableAsyncJob
::
Token
->
DocId
->
JobInput
Maybe
UpdateTableNgramsCharts
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killDocumentNgramsTableAsyncJob
::
Token
->
DocId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollDocumentNgramsTableAsyncJob
::
Token
->
DocId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitDocumentNgramsTableAsyncJob
::
Token
->
DocId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
-- count api
postCountQuery
::
Token
->
Query
->
ClientM
Counts
-- graph api
getGraphHyperdata
::
Token
->
NodeId
->
ClientM
HyperdataGraphAPI
postGraphAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postGraphAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
()
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killGraphAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollGraphAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitGraphAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postGraphClone
::
Token
->
NodeId
->
HyperdataGraphAPI
->
ClientM
NodeId
getGraphGexf
::
Token
->
NodeId
->
ClientM
(
Headers
'[
H
eader
"Content-Disposition"
Text
]
Graph
)
getGraphVersions
::
Token
->
NodeId
->
ClientM
GraphVersions
postGraphRecomputeVersion
::
Token
->
NodeId
->
ClientM
Graph
getTree
::
Token
->
NodeId
->
[
NodeType
]
->
ClientM
(
Tree
NodeTree
)
getTreeFirstLevel
::
Token
->
NodeId
->
[
NodeType
]
->
ClientM
(
Tree
NodeTree
)
postNewCorpusWithFormAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postNewCorpusWithFormAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
NewWithForm
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killNewCorpusWithFormAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollNewCorpusWithFormAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitNewCorpusWithFormAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postNewCorpusWithQueryAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postNewCorpusWithQueryAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
WithQuery
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killNewCorpusWithQueryAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollNewCorpusWithQueryAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitNewCorpusWithQueryAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
getList
::
Token
->
NodeId
->
ClientM
(
Headers
'[
H
eader
"Content-Disposition"
Text
]
(
Map
NgramsType
(
Versioned
NgramsTableMap
)))
postListJsonUpdateAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postListJsonUpdateAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
WithFile
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killListJsonUpdateAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollListJsonUpdateAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitListJsonUpdateAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
postListCsvUpdateAsync
::
Token
->
NodeId
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
postListCsvUpdateAsyncJob
::
Token
->
NodeId
->
JobInput
Maybe
WithTextFile
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
killListCsvUpdateAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
pollListCsvUpdateAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
Maybe
Limit
->
Maybe
Offset
->
ClientM
(
JobStatus
'S
a
fe
JobLog
)
waitListCsvUpdateAsyncJob
::
Token
->
NodeId
->
JobID
'U
n
safe
->
ClientM
(
JobOutput
JobLog
)
getPublicData
::
ClientM
[
PublicData
]
getPublicNodeFile
::
NodeId
->
ClientM
(
Headers
'[
H
eader
"Content-Type"
Text
]
BSResponse
)
-- ekg api
getMetricsSample
::
ClientM
Sample
getMetricSample
::
[
Text
]
->
ClientM
Value
-- * unpacking of client functions to derive all the individual clients
clientApi
::
Client
ClientM
(
Flat
GargAPI
)
clientApi
=
client
(
flatten
apiGarg
)
getMetricsSample
:<|>
getMetricSample
:<|>
_
=
client
(
Proxy
::
Proxy
(
Flat
EkgAPI
))
postAuth
:<|>
getBackendVersion
:<|>
getRoots
:<|>
putRoots
:<|>
deleteNodes
:<|>
getNode
:<|>
renameNode
:<|>
postNode
:<|>
postNodeAsync
:<|>
postNodeAsyncJob
:<|>
killNodeAsyncJob
:<|>
pollNodeAsyncJob
:<|>
waitNodeAsyncJob
:<|>
postNodeFrameCalcAsync
:<|>
postNodeFrameCalcAsyncJob
:<|>
killNodeFrameCalcAsyncJob
:<|>
pollNodeFrameCalcAsyncJob
:<|>
waitNodeFrameCalcAsyncJob
:<|>
putNode
:<|>
postUpdateNodeAsync
:<|>
postUpdateNodeAsyncJob
:<|>
killUpdateNodeAsyncJob
:<|>
pollUpdateNodeAsyncJob
:<|>
waitUpdateNodeAsyncJob
:<|>
deleteNode
:<|>
getNodeChildren
:<|>
getNodeTable
:<|>
postNodeTableQuery
:<|>
getNodeTableHash
:<|>
getNodeNgramsTable
:<|>
putNodeNgramsTablePatch
:<|>
postNodeRecomputeNgramsTableScores
:<|>
getNodeNgramsTableVersion
:<|>
postNodeUpdateNgramsTableChartsAsync
:<|>
postNodeUpdateNgramsTableChartsAsyncJob
:<|>
killNodeUpdateNgramsTableChartsAsyncJob
:<|>
pollNodeUpdateNgramsTableChartsAsyncJob
:<|>
waitNodeUpdateNgramsTableChartsAsyncJob
:<|>
putNodeCategory
:<|>
putNodeScore
:<|>
postNodeSearch
:<|>
postNodeShare
:<|>
postNodePairCorpusAnnuaire
:<|>
getNodePairs
:<|>
getNodePairings
:<|>
getNodeScatterMetrics
:<|>
postNodeScatterMetricsUpdate
:<|>
getNodeScatterMetricsHash
:<|>
getNodeChart
:<|>
postNodeChartUpdate
:<|>
getNodeChartHash
:<|>
getNodePie
:<|>
postNodePieUpdate
:<|>
getNodePieHash
:<|>
getNodeTree
:<|>
postNodeTreeUpdate
:<|>
getNodeTreeHash
:<|>
getNodePhylo
:<|>
putNodePhylo
:<|>
putNodeMove
:<|>
postNodeUnpublish
:<|>
getNodeFile
:<|>
postNodeFileAsync
:<|>
postNodeFileAsyncJob
:<|>
killNodeFileAsyncJob
:<|>
pollNodeFileAsyncJob
:<|>
waitNodeFileAsyncJob
:<|>
postNodeDocumentWriteNodesAsync
:<|>
postNodeDocumentWriteNodesAsyncJob
:<|>
killNodeDocumentWriteNodesAsyncJob
:<|>
pollNodeDocumentWriteNodesAsyncJob
:<|>
waitNodeDocumentWriteNodesAsyncJob
:<|>
postNodeDocumentUploadAsync
:<|>
postNodeDocumentUploadAsyncJob
:<|>
killNodeDocumentUploadAsyncJob
:<|>
pollNodeDocumentUploadAsyncJob
:<|>
waitNodeDocumentUploadAsyncJob
:<|>
getCorpus
:<|>
renameCorpus
:<|>
postCorpus
:<|>
postCorpusAsync
:<|>
postCorpusAsyncJob
:<|>
killCorpusAsyncJob
:<|>
pollCorpusAsyncJob
:<|>
waitCorpusAsyncJob
:<|>
postCorpusFrameCalcAsync
:<|>
postCorpusFrameCalcAsyncJob
:<|>
killCorpusFrameCalcAsyncJob
:<|>
pollCorpusFrameCalcAsyncJob
:<|>
waitCorpusFrameCalcAsyncJob
:<|>
putCorpus
:<|>
postUpdateCorpusAsync
:<|>
postUpdateCorpusAsyncJob
:<|>
killUpdateCorpusAsyncJob
:<|>
pollUpdateCorpusAsyncJob
:<|>
waitUpdateCorpusAsyncJob
:<|>
deleteCorpus
:<|>
getCorpusChildren
:<|>
getCorpusTable
:<|>
postCorpusTableQuery
:<|>
getCorpusTableHash
:<|>
getCorpusNgramsTable
:<|>
putCorpusNgramsTablePatch
:<|>
postCorpusRecomputeNgramsTableScores
:<|>
getCorpusNgramsTableVersion
:<|>
postCorpusUpdateNgramsTableChartsAsync
:<|>
postCorpusUpdateNgramsTableChartsAsyncJob
:<|>
killCorpusUpdateNgramsTableChartsAsyncJob
:<|>
pollCorpusUpdateNgramsTableChartsAsyncJob
:<|>
waitCorpusUpdateNgramsTableChartsAsyncJob
:<|>
putCorpusCategory
:<|>
putCorpusScore
:<|>
postCorpusSearch
:<|>
postCorpusShare
:<|>
postCorpusPairCorpusAnnuaire
:<|>
getCorpusPairs
:<|>
getCorpusPairings
:<|>
getCorpusScatterMetrics
:<|>
postCorpusScatterMetricsUpdate
:<|>
getCorpusScatterMetricsHash
:<|>
getCorpusChart
:<|>
postCorpusChartUpdate
:<|>
getCorpusChartHash
:<|>
getCorpusPie
:<|>
postCorpusPieUpdate
:<|>
getCorpusPieHash
:<|>
getCorpusTree
:<|>
postCorpusTreeUpdate
:<|>
getCorpusTreeHash
:<|>
getCorpusPhylo
:<|>
putCorpusPhylo
:<|>
putCorpusMove
:<|>
postCorpusUnpublish
:<|>
getCorpusFile
:<|>
postCorpusFileAsync
:<|>
postCorpusFileAsyncJob
:<|>
killCorpusFileAsyncJob
:<|>
pollCorpusFileAsyncJob
:<|>
waitCorpusFileAsyncJob
:<|>
postCorpusDocumentWriteNodesAsync
:<|>
postCorpusDocumentWriteNodesAsyncJob
:<|>
killCorpusDocumentWriteNodesAsyncJob
:<|>
pollCorpusDocumentWriteNodesAsyncJob
:<|>
waitCorpusDocumentWriteNodesAsyncJob
:<|>
postCorpusDocumentUploadAsync
:<|>
postCorpusDocumentUploadAsyncJob
:<|>
killCorpusDocumentUploadAsyncJob
:<|>
pollCorpusDocumentUploadAsyncJob
:<|>
waitCorpusDocumentUploadAsyncJob
:<|>
getCorpusNodeNode
:<|>
getCorpusExport
:<|>
getAnnuaire
:<|>
renameAnnuaire
:<|>
postAnnuaire
:<|>
postAnnuaireAsync
:<|>
postAnnuaireAsyncJob
:<|>
killAnnuaireAsyncJob
:<|>
pollAnnuaireAsyncJob
:<|>
waitAnnuaireAsyncJob
:<|>
postAnnuaireFrameCalcAsync
:<|>
postAnnuaireFrameCalcAsyncJob
:<|>
killAnnuaireFrameCalcAsyncJob
:<|>
pollAnnuaireFrameCalcAsyncJob
:<|>
waitAnnuaireFrameCalcAsyncJob
:<|>
putAnnuaire
:<|>
postUpdateAnnuaireAsync
:<|>
postUpdateAnnuaireAsyncJob
:<|>
killUpdateAnnuaireAsyncJob
:<|>
pollUpdateAnnuaireAsyncJob
:<|>
waitUpdateAnnuaireAsyncJob
:<|>
deleteAnnuaire
:<|>
getAnnuaireChildren
:<|>
getAnnuaireTable
:<|>
postAnnuaireTableQuery
:<|>
getAnnuaireTableHash
:<|>
getAnnuaireNgramsTable
:<|>
putAnnuaireNgramsTablePatch
:<|>
postAnnuaireRecomputeNgramsTableScores
:<|>
getAnnuaireNgramsTableVersion
:<|>
postAnnuaireUpdateNgramsTableChartsAsync
:<|>
postAnnuaireUpdateNgramsTableChartsAsyncJob
:<|>
killAnnuaireUpdateNgramsTableChartsAsyncJob
:<|>
pollAnnuaireUpdateNgramsTableChartsAsyncJob
:<|>
waitAnnuaireUpdateNgramsTableChartsAsyncJob
:<|>
putAnnuaireCategory
:<|>
putAnnuaireScore
:<|>
postAnnuaireSearch
:<|>
postAnnuaireShare
:<|>
postAnnuairePairCorpusAnnuaire
:<|>
getAnnuairePairs
:<|>
getAnnuairePairings
:<|>
getAnnuaireScatterMetrics
:<|>
postAnnuaireScatterMetricsUpdate
:<|>
getAnnuaireScatterMetricsHash
:<|>
getAnnuaireChart
:<|>
postAnnuaireChartUpdate
:<|>
getAnnuaireChartHash
:<|>
getAnnuairePie
:<|>
postAnnuairePieUpdate
:<|>
getAnnuairePieHash
:<|>
getAnnuaireTree
:<|>
postAnnuaireTreeUpdate
:<|>
getAnnuaireTreeHash
:<|>
getAnnuairePhylo
:<|>
putAnnuairePhylo
:<|>
putAnnuaireMove
:<|>
postAnnuaireUnpublish
:<|>
getAnnuaireFile
:<|>
postAnnuaireFileAsync
:<|>
postAnnuaireFileAsyncJob
:<|>
killAnnuaireFileAsyncJob
:<|>
pollAnnuaireFileAsyncJob
:<|>
waitAnnuaireFileAsyncJob
:<|>
postAnnuaireDocumentWriteNodesAsync
:<|>
postAnnuaireDocumentWriteNodesAsyncJob
:<|>
killAnnuaireDocumentWriteNodesAsyncJob
:<|>
pollAnnuaireDocumentWriteNodesAsyncJob
:<|>
waitAnnuaireDocumentWriteNodesAsyncJob
:<|>
postAnnuaireDocumentUploadAsync
:<|>
postAnnuaireDocumentUploadAsyncJob
:<|>
killAnnuaireDocumentUploadAsyncJob
:<|>
pollAnnuaireDocumentUploadAsyncJob
:<|>
waitAnnuaireDocumentUploadAsyncJob
:<|>
postAnnuaireContactAsync
:<|>
postAnnuaireContactAsyncJob
:<|>
killAnnuaireContactAsyncJob
:<|>
pollAnnuaireContactAsyncJob
:<|>
waitAnnuaireContactAsyncJob
:<|>
getAnnuaireContactNodeNode
:<|>
getDocumentNgramsTable
:<|>
putDocumentNgramsTable
:<|>
postRecomputeDocumentNgramsTableScore
:<|>
getDocumentNgramsTableVersion
:<|>
postDocumentNgramsTableAsync
:<|>
postDocumentNgramsTableAsyncJob
:<|>
killDocumentNgramsTableAsyncJob
:<|>
pollDocumentNgramsTableAsyncJob
:<|>
waitDocumentNgramsTableAsyncJob
:<|>
postCountQuery
:<|>
getGraphHyperdata
:<|>
postGraphAsync
:<|>
postGraphAsyncJob
:<|>
killGraphAsyncJob
:<|>
pollGraphAsyncJob
:<|>
waitGraphAsyncJob
:<|>
postGraphClone
:<|>
getGraphGexf
:<|>
getGraphVersions
:<|>
postGraphRecomputeVersion
:<|>
getTree
:<|>
getTreeFirstLevel
:<|>
postNewCorpusWithFormAsync
:<|>
postNewCorpusWithFormAsyncJob
:<|>
killNewCorpusWithFormAsyncJob
:<|>
pollNewCorpusWithFormAsyncJob
:<|>
waitNewCorpusWithFormAsyncJob
:<|>
postNewCorpusWithQueryAsync
:<|>
postNewCorpusWithQueryAsyncJob
:<|>
killNewCorpusWithQueryAsyncJob
:<|>
pollNewCorpusWithQueryAsyncJob
:<|>
waitNewCorpusWithQueryAsyncJob
:<|>
getList
:<|>
postListJsonUpdateAsync
:<|>
postListJsonUpdateAsyncJob
:<|>
killListJsonUpdateAsyncJob
:<|>
pollListJsonUpdateAsyncJob
:<|>
waitListJsonUpdateAsyncJob
:<|>
postListCsvUpdateAsync
:<|>
postListCsvUpdateAsyncJob
:<|>
killListCsvUpdateAsyncJob
:<|>
pollListCsvUpdateAsyncJob
:<|>
waitListCsvUpdateAsyncJob
:<|>
getPublicData
:<|>
getPublicNodeFile
=
clientApi
src/Gargantext/Core.hs
View file @
58c778cd
...
...
@@ -14,12 +14,12 @@ Portability : POSIX
module
Gargantext.Core
where
import
Data.Text
(
Text
,
pack
)
import
Data.Aeson
import
Data.Either
(
Either
(
Left
))
import
Data.Hashable
(
Hashable
)
import
Data.Morpheus.Types
(
GQLType
)
import
Data.Swagger
import
Data.Text
(
Text
)
import
GHC.Generics
(
Generic
)
import
Gargantext.Prelude
import
Servant.API
...
...
@@ -52,6 +52,8 @@ instance FromHttpApiData Lang
parseUrlPiece
"FR"
=
pure
FR
parseUrlPiece
"All"
=
pure
All
parseUrlPiece
_
=
Left
"Unexpected value of OrderBy"
instance
ToHttpApiData
Lang
where
toUrlPiece
=
pack
.
show
instance
Hashable
Lang
allLangs
::
[
Lang
]
...
...
src/Gargantext/Core/Types/Main.hs
View file @
58c778cd
...
...
@@ -25,13 +25,13 @@ import Data.Map (fromList, lookup)
import
Data.Maybe
(
fromMaybe
)
import
Data.Semigroup
(
Semigroup
(
..
))
import
Data.Swagger
import
Data.Text
(
Text
,
unpack
)
import
Data.Text
(
Text
,
unpack
,
pack
)
import
GHC.Generics
(
Generic
)
import
Gargantext.Core
import
Gargantext.Core.Utils.Prefix
(
unPrefix
,
unPrefixSwagger
,
wellNamedSchema
)
import
Gargantext.Database.Admin.Types.Node
-- (NodeType(..), Node, Hyperdata(..))
import
Gargantext.Prelude
import
Servant.API
(
FromHttpApiData
(
..
))
import
Servant.API
(
FromHttpApiData
(
..
)
,
ToHttpApiData
(
..
)
)
import
Test.QuickCheck
(
elements
)
import
Test.QuickCheck.Arbitrary
(
Arbitrary
,
arbitrary
)
import
Text.Read
(
read
)
...
...
@@ -75,6 +75,8 @@ instance Semigroup ListType
instance
FromHttpApiData
ListType
where
parseUrlPiece
=
Right
.
read
.
unpack
instance
ToHttpApiData
ListType
where
toUrlPiece
=
pack
.
show
type
ListTypeId
=
Int
...
...
src/Gargantext/Core/Viz/Graph/API.hs
View file @
58c778cd
...
...
@@ -67,6 +67,7 @@ data GraphVersions =
}
deriving
(
Show
,
Generic
)
instance
FromJSON
GraphVersions
instance
ToJSON
GraphVersions
instance
ToSchema
GraphVersions
...
...
src/Gargantext/Core/Viz/Graph/GEXF.hs
View file @
58c778cd
...
...
@@ -24,6 +24,7 @@ import qualified Data.HashMap.Lazy as HashMap
import
qualified
Gargantext.Prelude
as
P
import
qualified
Gargantext.Core.Viz.Graph
as
G
import
qualified
Xmlbf
as
Xmlbf
import
Prelude
(
error
)
-- Converts to GEXF format
-- See https://gephi.org/gexf/format/
...
...
@@ -65,3 +66,8 @@ instance Xmlbf.ToXml Graph where
params
=
HashMap
.
fromList
[
(
"id"
,
eId
)
,
(
"source"
,
es
)
,
(
"target"
,
et
)
]
-- just to be able to derive a client for the entire gargantext API,
-- we however want to avoid sollicitating this instance
instance
Xmlbf
.
FromXml
Graph
where
fromXml
=
error
"FromXml Graph: not defined, just a placeholder"
src/Gargantext/Core/Viz/Phylo/Legacy/LegacyAPI.hs
View file @
58c778cd
...
...
@@ -39,6 +39,7 @@ import Gargantext.Core.Viz.LegacyPhylo
import
Gargantext.Core.Viz.Phylo.Legacy.LegacyMain
-- import Gargantext.Core.Viz.Phylo.Example
import
Gargantext.Core.Types
(
TODO
(
..
))
import
Data.Either
------------------------------------------------------------------------
type
PhyloAPI
=
Summary
"Phylo API"
...
...
@@ -71,6 +72,9 @@ instance Show a => MimeRender PlainText a where
instance
MimeRender
SVG
SVG
where
mimeRender
_
(
SVG
s
)
=
DBL
.
fromStrict
s
instance
MimeUnrender
SVG
SVG
where
mimeUnrender
_
lbs
=
Right
$
SVG
(
DBL
.
toStrict
lbs
)
------------------------------------------------------------------------
type
GetPhylo
=
QueryParam
"listId"
ListId
:>
QueryParam
"level"
Level
...
...
src/Gargantext/Database/Admin/Types/Node.hs
View file @
58c778cd
...
...
@@ -27,7 +27,7 @@ import Data.Either
import
Data.Hashable
(
Hashable
)
import
Data.Morpheus.Types
(
GQLType
)
import
Data.Swagger
import
Data.Text
(
Text
,
unpack
)
import
Data.Text
(
Text
,
unpack
,
pack
)
import
Data.Time
(
UTCTime
)
import
Database.PostgreSQL.Simple.FromField
(
FromField
,
fromField
)
import
Database.PostgreSQL.Simple.ToField
(
ToField
,
toField
)
...
...
@@ -178,7 +178,8 @@ type TSVector = Text
------------------------------------------------------------------------
instance
FromHttpApiData
NodeId
where
parseUrlPiece
n
=
pure
$
NodeId
$
(
read
.
cs
)
n
instance
ToHttpApiData
NodeId
where
toUrlPiece
(
NodeId
n
)
=
toUrlPiece
n
instance
ToParamSchema
NodeId
instance
Arbitrary
NodeId
where
arbitrary
=
NodeId
<$>
arbitrary
...
...
@@ -330,9 +331,10 @@ defaultName NodeFile = "File"
instance
FromJSON
NodeType
instance
ToJSON
NodeType
instance
FromHttpApiData
NodeType
where
instance
FromHttpApiData
NodeType
where
parseUrlPiece
=
Right
.
read
.
unpack
instance
ToHttpApiData
NodeType
where
toUrlPiece
=
pack
.
show
instance
ToParamSchema
NodeType
instance
ToSchema
NodeType
...
...
src/Gargantext/Database/Query/Facet.hs
View file @
58c778cd
...
...
@@ -229,6 +229,8 @@ instance FromHttpApiData OrderBy
parseUrlPiece
"SourceAsc"
=
pure
SourceAsc
parseUrlPiece
"SourceDesc"
=
pure
SourceDesc
parseUrlPiece
_
=
Left
"Unexpected value of OrderBy"
instance
ToHttpApiData
OrderBy
where
toUrlPiece
=
T
.
pack
.
show
instance
ToParamSchema
OrderBy
instance
FromJSON
OrderBy
...
...
src/Gargantext/Database/Schema/Ngrams.hs
View file @
58c778cd
...
...
@@ -30,7 +30,7 @@ import Data.Map (fromList, lookup)
import
Data.Text
(
Text
,
splitOn
,
pack
,
strip
)
import
Gargantext.Core.Types
(
TODO
(
..
),
Typed
(
..
))
import
Gargantext.Prelude
import
Servant
(
FromHttpApiData
,
parseUrlPiece
,
Proxy
(
..
))
import
Servant
(
FromHttpApiData
(
..
),
Proxy
(
..
),
ToHttpApiData
(
..
))
import
Text.Read
(
read
)
import
Gargantext.Database.Types
import
Gargantext.Database.Schema.Prelude
...
...
@@ -112,6 +112,8 @@ instance ToJSONKey NgramsType where
instance
FromHttpApiData
NgramsType
where
parseUrlPiece
n
=
pure
$
(
read
.
cs
)
n
instance
ToHttpApiData
NgramsType
where
toUrlPiece
=
pack
.
show
instance
ToParamSchema
NgramsType
where
toParamSchema
_
=
toParamSchema
(
Proxy
::
Proxy
TODO
)
...
...
stack.yaml
View file @
58c778cd
...
...
@@ -17,8 +17,10 @@ docker:
run-args
:
-
'
--publish=8008:8008'
skip-ghc-check
:
true
nix
:
enable
:
fals
e
enable
:
tru
e
add-gc-roots
:
true
shell-file
:
nix/stack-shell.nix
...
...
@@ -43,8 +45,20 @@ extra-deps:
commit
:
3fe28b683aba5ddf05e3b5f8eced0bd05c5a29f9
# API libs
-
git
:
https://github.com/haskell-servant/servant.git
commit
:
c2af6e775d1d36f2011d43aff230bb502f8fba63
subdirs
:
-
servant/
-
servant-server/
-
servant-client-core/
-
servant-client/
-
servant-auth/servant-auth/
-
servant-auth/servant-auth-client/
-
servant-auth/servant-auth-server/
-
git
:
https://github.com/delanoe/servant-static-th.git
commit
:
8cb8aaf2962ad44d319fcea48442e4397b3c49e8
-
git
:
https://github.com/alpmestan/ekg-json.git
commit
:
c7bde4851a7cd41b3f3debf0c57f11bbcb11d698
# Databases libs
-
git
:
https://github.com/delanoe/haskell-opaleye.git
...
...
@@ -66,8 +80,8 @@ extra-deps:
# NP libs
#- git: https://github.com/np/servant-job.git # waiting for PR
-
git
:
https://github.com/
delanoe
/servant-job.git
commit
:
5b15f6ffbff6bc8e26c46206d6d227213fc1821f
-
git
:
https://github.com/
alpmestan
/servant-job.git
commit
:
ceb251b91e8ec1804198422a3cdbdab08d843b79
#- git: https://github.com/np/patches-map
-
git
:
https://github.com/delanoe/patches-map
commit
:
76cae88f367976ff091e661ee69a5c3126b94694
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment