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
148
Issues
148
List
Board
Labels
Milestones
Merge Requests
11
Merge Requests
11
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
Apr 28, 2020
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[DB] refactoring
parent
0445a8f9
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
...
...
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
...
...
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
...
...
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
...
...
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
...
...
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
)
...
...
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
)
...
...
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
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
)
...
...
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
-----------------------------------------------------------
...
...
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
...
...
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
...
...
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