Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
haskell-gargantext
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
150
Issues
150
List
Board
Labels
Milestones
Merge Requests
5
Merge Requests
5
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
gargantext
haskell-gargantext
Commits
96dfa394
Commit
96dfa394
authored
4 years ago
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[DB] refactoring
parent
0445a8f9
No related merge requests found
Pipeline
#832
canceled with stage
Changes
13
Pipelines
1
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
255 additions
and
229 deletions
+255
-229
Auth.hs
src/Gargantext/API/Admin/Auth.hs
+2
-1
Export.hs
src/Gargantext/API/Corpus/Export.hs
+1
-0
Node.hs
src/Gargantext/API/Node.hs
+1
-0
Types.hs
src/Gargantext/Core/Types.hs
+5
-4
Utils.hs
src/Gargantext/Database/Action/Flow/Utils.hs
+1
-0
Contact.hs
src/Gargantext/Database/Action/Query/Node/Contact.hs
+1
-1
Root.hs
src/Gargantext/Database/Action/Query/Tree/Root.hs
+2
-2
Node.hs
src/Gargantext/Database/Admin/Types/Node.hs
+171
-96
Node.hs
src/Gargantext/Database/Schema/Node.hs
+51
-121
Chart.hs
src/Gargantext/Viz/Chart.hs
+1
-0
Graph.hs
src/Gargantext/Viz/Graph.hs
+17
-4
API.hs
src/Gargantext/Viz/Graph/API.hs
+1
-0
API.hs
src/Gargantext/Viz/Phylo/API.hs
+1
-0
No files found.
src/Gargantext/API/Admin/Auth.hs
View file @
96dfa394
...
...
@@ -46,7 +46,8 @@ import Gargantext.Core.Types.Individu (User(..), Username, Password, arbitraryUs
import
Gargantext.Core.Utils.Prefix
(
unPrefix
,
unPrefixSwagger
)
import
Gargantext.Database.Action.Query.Tree
(
isDescendantOf
,
isIn
)
import
Gargantext.Database.Action.Query.Tree.Root
(
getRoot
)
import
Gargantext.Database.Admin.Types.Node
(
NodePoly
(
_node_id
),
NodeId
(
..
),
UserId
,
ListId
,
DocId
)
import
Gargantext.Database.Schema.Node
(
NodePoly
(
_node_id
))
import
Gargantext.Database.Admin.Types.Node
(
NodeId
(
..
),
UserId
,
ListId
,
DocId
)
import
Gargantext.Database.Admin.Utils
(
Cmd
'
,
CmdM
,
HasConnectionPool
)
import
Gargantext.Prelude
hiding
(
reverse
)
import
Servant
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/API/Corpus/Export.hs
View file @
96dfa394
...
...
@@ -44,6 +44,7 @@ import Gargantext.Database.Admin.Config (userMaster)
import
Gargantext.Database.Admin.Types.Errors
(
HasNodeError
)
import
Gargantext.Database.Admin.Types.Node
(
Node
,
HyperdataDocument
(
..
),
NodeId
,
ListId
,
CorpusId
)
import
Gargantext.Database.Admin.Utils
(
Cmd
)
import
Gargantext.Database.Schema.Node
(
_node_id
,
_node_hyperdata
)
import
Gargantext.Database.Schema.Ngrams
(
NgramsType
(
..
))
import
Gargantext.Database.Schema.NodeNode
(
selectDocNodes
)
import
Gargantext.Prelude
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/API/Node.hs
View file @
96dfa394
...
...
@@ -65,6 +65,7 @@ import Gargantext.Database.Admin.Config (nodeTypeId)
import
Gargantext.Database.Admin.Types.Errors
(
HasNodeError
(
..
))
import
Gargantext.Database.Admin.Types.Node
import
Gargantext.Database.Admin.Utils
-- (Cmd, CmdM)
import
Gargantext.Database.Schema.Node
(
node_userId
,
_node_typename
)
import
Gargantext.Database.Schema.NodeNode
import
Gargantext.Prelude
import
Gargantext.Viz.Chart
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Core/Types.hs
View file @
96dfa394
...
...
@@ -23,8 +23,7 @@ module Gargantext.Core.Types ( module Gargantext.Core.Types.Main
,
Label
,
Stems
,
HasInvalidError
(
..
),
assertValid
,
Name
,
TableResult
(
..
)
,
NodeTableResult
,
TableResult
(
..
),
NodeTableResult
,
Ordering
(
..
)
,
TODO
(
..
)
)
where
...
...
@@ -42,8 +41,8 @@ import Data.Text (Text, unpack)
import
Data.Validity
import
GHC.Generics
import
Gargantext.Core.Types.Main
import
Gargantext.Core.Utils.Prefix
(
unPrefix
,
unPrefixSwagger
)
import
Gargantext.Database.Admin.Types.Node
import
Gargantext.Core.Utils.Prefix
(
unPrefix
,
unPrefixSwagger
)
import
Gargantext.Prelude
import
Test.QuickCheck.Arbitrary
(
Arbitrary
,
arbitrary
)
...
...
@@ -143,6 +142,9 @@ assertValid v = when (not $ validationIsValid v) $ throwError $ _InvalidError #
-- assertValid :: MonadBase IO m => Validation -> m ()
-- assertValid v = when (not $ validationIsValid v) $ fail $ show v
-- | NodeTableResult (Table computations)
type
NodeTableResult
a
=
TableResult
(
Node
a
)
data
TableResult
a
=
TableResult
{
tr_count
::
Int
,
tr_docs
::
[
a
]
...
...
@@ -156,7 +158,6 @@ instance ToSchema a => ToSchema (TableResult a) where
instance
Arbitrary
a
=>
Arbitrary
(
TableResult
a
)
where
arbitrary
=
TableResult
<$>
arbitrary
<*>
arbitrary
type
NodeTableResult
a
=
TableResult
(
Node
a
)
-- TO BE removed
data
TODO
=
TODO
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Action/Flow/Utils.hs
View file @
96dfa394
...
...
@@ -25,6 +25,7 @@ import Gargantext.Database.Admin.Types.Errors
import
Gargantext.Database.Admin.Types.Node
import
Gargantext.Database.Admin.Utils
(
Cmd
)
import
Gargantext.Database.Schema.Ngrams
import
Gargantext.Database.Schema.Node
import
Gargantext.Database.Schema.User
import
Gargantext.Database.Schema.NodeNodeNgrams
import
Gargantext.Prelude
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Action/Query/Node/Contact.hs
View file @
96dfa394
...
...
@@ -29,7 +29,7 @@ import Data.Time (UTCTime)
import
Database.PostgreSQL.Simple.FromField
(
FromField
,
fromField
)
import
GHC.Generics
(
Generic
)
import
Gargantext.Core.Utils.Prefix
(
unPrefix
,
unPrefixSwagger
)
import
Gargantext.Database.Admin.Types.Node
(
Node
,
Hyperdata
)
import
Gargantext.Database.Admin.Types.Node
(
Hyperdata
,
Node
)
import
Gargantext.Database.Admin.Utils
(
fromField'
)
import
Gargantext.Prelude
import
Opaleye
(
QueryRunnerColumnDefault
,
queryRunnerColumnDefault
,
PGJsonb
,
fieldQueryRunnerColumn
)
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Action/Query/Tree/Root.hs
View file @
96dfa394
...
...
@@ -37,12 +37,12 @@ import Gargantext.Database.Admin.Types.Node
import
Gargantext.Database.Action.Query.Node
import
Gargantext.Database.Action.Query.Node.User
(
HyperdataUser
)
import
Gargantext.Database.Action.Flow.Utils
(
getUserId
)
import
Gargantext.Database.Schema.Node
(
NodeRead
)
import
Gargantext.Database.Schema.Node
(
Node
Poly
(
..
),
Node
Read
)
import
Gargantext.Database.Schema.Node
(
queryNodeTable
)
import
Gargantext.Database.Action.Query
import
Gargantext.Database.Schema.User
(
UserPoly
(
..
))
import
Gargantext.Database.Action.Query.User
(
queryUserTable
)
import
Gargantext.Database.Admin.Types.Node
(
Node
,
Node
Poly
(
..
),
Node
Type
(
NodeUser
),
pgNodeId
)
import
Gargantext.Database.Admin.Types.Node
(
Node
,
NodeType
(
NodeUser
),
pgNodeId
)
import
Gargantext.Database.Admin.Utils
(
Cmd
,
runOpaQuery
)
import
Gargantext.Prelude
import
Opaleye
(
restrict
,
(
.==
),
Query
)
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Admin/Types/Node.hs
View file @
96dfa394
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Schema/Node.hs
View file @
96dfa394
...
...
@@ -26,25 +26,43 @@ Portability : POSIX
module
Gargantext.Database.Schema.Node
where
import
Control.Lens
hiding
(
elements
,
(
&
))
import
Control.Lens.TH
(
makeLensesWith
,
abbreviatedFields
)
import
Data.Aeson.TH
(
deriveJSON
)
import
Data.Maybe
(
Maybe
(
..
))
import
Data.Profunctor.Product.TH
(
makeAdaptorAndInstance
)
import
Data.Swagger
hiding
(
required
)
import
Data.Text
(
Text
)
import
Database.PostgreSQL.Simple.FromField
(
FromField
,
fromField
)
import
Gargantext.Core.Types
import
GHC.Generics
(
Generic
)
import
Gargantext.Core.Utils.Prefix
(
unPrefix
,
unPrefixSwagger
)
import
Gargantext.Database.Admin.Utils
import
Gargantext.Viz.Graph
(
HyperdataGraph
(
..
))
import
Opaleye
hiding
(
FromField
)
import
Opaleye.Internal.QueryArr
(
Query
)
import
Prelude
hiding
(
null
,
id
,
map
,
sum
)
import
Test.QuickCheck.Arbitrary
------------------------------------------------------------------------
data
NodePoly
id
typename
userId
parentId
name
date
hyperdata
=
Node
{
_node_id
::
id
,
_node_typename
::
typename
$
(
makeAdaptorAndInstance
"pNode"
''
N
odePoly
)
$
(
makeLensesWith
abbreviatedFields
''
N
odePoly
)
,
_node_userId
::
userId
,
_node_parentId
::
parentId
$
(
makeAdaptorAndInstance
"pNodeSearch"
''
N
odePolySearch
)
$
(
makeLensesWith
abbreviatedFields
''
N
odePolySearch
)
,
_node_name
::
name
,
_node_date
::
date
,
_node_hyperdata
::
hyperdata
}
deriving
(
Show
,
Generic
)
$
(
deriveJSON
(
unPrefix
"_node_"
)
''
N
odePoly
)
$
(
makeLenses
''
N
odePoly
)
$
(
makeAdaptorAndInstance
"pNode"
''
N
odePoly
)
$
(
makeLensesWith
abbreviatedFields
''
N
odePoly
)
------------------------------------------------------------------------
nodeTable
::
Table
NodeWrite
NodeRead
...
...
@@ -91,21 +109,6 @@ type NodeReadNull = NodePoly (Column (Nullable PGInt4))
------------------------------------------------------------------------
-- | Node(Read|Write)Search is slower than Node(Write|Read) use it
-- for full text search only
nodeTableSearch
::
Table
NodeSearchWrite
NodeSearchRead
nodeTableSearch
=
Table
"nodes"
(
pNodeSearch
NodeSearch
{
_ns_id
=
optional
"id"
,
_ns_typename
=
required
"typename"
,
_ns_userId
=
required
"user_id"
,
_ns_parentId
=
required
"parent_id"
,
_ns_name
=
required
"name"
,
_ns_date
=
optional
"date"
,
_ns_hyperdata
=
required
"hyperdata"
,
_ns_search
=
optional
"search"
}
)
type
NodeSearchWrite
=
NodePolySearch
...
...
@@ -140,110 +143,37 @@ type NodeSearchReadNull =
(
Column
(
Nullable
PGJsonb
)
)
(
Column
(
Nullable
PGTSVector
)
)
------------------------------------------------------------------------
------------------------------------------------------------------------
-- Instances
------------------------------------------------------------------------
instance
FromField
HyperdataAny
where
fromField
=
fromField'
instance
FromField
HyperdataCorpus
where
fromField
=
fromField'
instance
FromField
HyperdataDocument
where
fromField
=
fromField'
instance
FromField
HyperdataDocumentV3
where
fromField
=
fromField'
instance
FromField
HyperData
where
fromField
=
fromField'
instance
FromField
HyperdataListModel
where
fromField
=
fromField'
data
NodePolySearch
id
typename
userId
parentId
name
date
hyperdata
search
=
NodeSearch
{
_ns_id
::
id
,
_ns_typename
::
typename
,
_ns_userId
::
userId
-- , nodeUniqId :: shaId
,
_ns_parentId
::
parentId
,
_ns_name
::
name
,
_ns_date
::
date
instance
FromField
HyperdataGraph
where
fromField
=
fromField'
,
_ns_hyperdata
::
hyperdata
,
_ns_search
::
search
}
deriving
(
Show
,
Generic
)
instance
FromField
HyperdataPhylo
where
fromField
=
fromField'
$
(
makeAdaptorAndInstance
"pNodeSearch"
''
N
odePolySearch
)
$
(
makeLensesWith
abbreviatedFields
''
N
odePolySearch
)
$
(
deriveJSON
(
unPrefix
"_ns_"
)
''
N
odePolySearch
)
$
(
makeLenses
''
N
odePolySearch
)
instance
FromField
HyperdataAnnuaire
where
fromField
=
fromField'
nodeTableSearch
::
Table
NodeSearchWrite
NodeSearchRead
nodeTableSearch
=
Table
"nodes"
(
pNodeSearch
NodeSearch
{
_ns_id
=
optional
"id"
,
_ns_typename
=
required
"typename"
,
_ns_userId
=
required
"user_id"
instance
FromField
HyperdataList
where
fromField
=
fromField'
,
_ns_parentId
=
required
"parent_id"
,
_ns_name
=
required
"name"
,
_ns_date
=
optional
"date"
instance
FromField
(
NodeId
,
Text
)
where
fromField
=
fromField'
,
_ns_hyperdata
=
required
"hyperdata"
,
_ns_search
=
optional
"search"
}
)
------------------------------------------------------------------------
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataAny
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataList
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperData
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataDocument
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataDocumentV3
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataCorpus
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataListModel
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataGraph
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataPhylo
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataAnnuaire
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGTSVector
(
Maybe
TSVector
)
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGInt4
(
Maybe
NodeId
)
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGInt4
NodeId
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
(
Nullable
PGInt4
)
NodeId
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
This diff is collapsed.
Click to expand it.
src/Gargantext/Viz/Chart.hs
View file @
96dfa394
...
...
@@ -29,6 +29,7 @@ import Gargantext.Database.Admin.Config
import
Gargantext.Database.Admin.Types.Node
(
CorpusId
)
import
Gargantext.Database.Admin.Utils
import
Gargantext.Database.Schema.NodeNode
(
selectDocsDates
)
import
Gargantext.Database.Schema.Node
import
Gargantext.Prelude
import
Gargantext.Text.Metrics.Count
(
occurrencesWith
)
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Viz/Graph.hs
View file @
96dfa394
...
...
@@ -10,10 +10,12 @@ Portability : POSIX
-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE TemplateHaskell #-}
module
Gargantext.Viz.Graph
where
...
...
@@ -30,6 +32,9 @@ import Gargantext.Core.Utils.Prefix (unPrefix, unPrefixSwagger)
import
Gargantext.Database.Admin.Types.Node
(
NodeId
,
Hyperdata
)
import
Gargantext.Prelude
import
Test.QuickCheck
(
elements
)
import
Database.PostgreSQL.Simple.FromField
(
FromField
,
fromField
)
import
Gargantext.Database.Admin.Utils
(
fromField'
)
import
Opaleye
(
QueryRunnerColumnDefault
,
queryRunnerColumnDefault
,
PGJsonb
,
fieldQueryRunnerColumn
)
import
Test.QuickCheck.Arbitrary
(
Arbitrary
,
arbitrary
)
import
qualified
Data.Aeson
as
DA
import
qualified
Data.Text
as
T
...
...
@@ -165,6 +170,14 @@ $(deriveJSON (unPrefix "") ''HyperdataGraph)
instance
Hyperdata
HyperdataGraph
makeLenses
''
H
yperdataGraph
instance
FromField
HyperdataGraph
where
fromField
=
fromField'
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataGraph
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
-----------------------------------------------------------
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Viz/Graph/API.hs
View file @
96dfa394
...
...
@@ -46,6 +46,7 @@ import Gargantext.API.Admin.Types
import
Gargantext.Core.Types.Main
import
Gargantext.Database.Admin.Config
import
Gargantext.Database.Action.Metrics.NgramsByNode
(
getNodesByNgramsOnlyUser
)
import
Gargantext.Database.Schema.Node
(
node_userId
,
node_parentId
,
node_hyperdata
)
import
Gargantext.Database.Schema.Ngrams
import
Gargantext.Database.Action.Query.Node.Select
import
Gargantext.Database.Action.Query.Node
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Viz/Phylo/API.hs
View file @
96dfa394
...
...
@@ -30,6 +30,7 @@ import qualified Data.ByteString as DB
import
qualified
Data.ByteString.Lazy
as
DBL
import
Data.Swagger
import
Gargantext.API.Admin.Types
import
Gargantext.Database.Schema.Node
(
_node_hyperdata
)
import
Gargantext.Database.Action.Query.Node
(
insertNodes
,
nodePhyloW
,
getNodePhylo
)
import
Gargantext.Database.Admin.Types.Node
-- (PhyloId, ListId, CorpusId, UserId, NodeId(..))
import
Gargantext.Prelude
...
...
This diff is collapsed.
Click to expand it.
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