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
157
Issues
157
List
Board
Labels
Milestones
Merge Requests
9
Merge Requests
9
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
926c855f
Commit
926c855f
authored
Nov 23, 2021
by
Przemyslaw Kaminski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[graphql] node fixes for graphql
parent
8b7790c2
Pipeline
#2146
failed with stage
in 10 minutes and 20 seconds
Changes
1
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
13 deletions
+22
-13
Node.hs
src/Gargantext/API/GraphQL/Node.hs
+22
-13
No files found.
src/Gargantext/API/GraphQL/Node.hs
View file @
926c855f
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
module
Gargantext.API.GraphQL.Node
where
module
Gargantext.API.GraphQL.Node
where
import
Data.Either
(
Either
(
..
))
import
Data.Morpheus.Types
import
Data.Morpheus.Types
(
GQLType
(
GQLType
,
Resolver
,
Resolver
...
@@ -11,16 +12,18 @@ import Data.Morpheus.Types
...
@@ -11,16 +12,18 @@ import Data.Morpheus.Types
,
lift
,
lift
)
)
import
Data.Text
(
Text
)
import
Data.Text
(
Text
)
import
qualified
Data.Text
as
T
import
Gargantext.API.Prelude
(
GargM
,
GargError
)
import
Gargantext.API.Prelude
(
GargM
,
GargError
)
import
Gargantext.Core.Mail.Types
(
HasMail
)
import
Gargantext.Core.Mail.Types
(
HasMail
)
import
Gargantext.Database.Admin.Config
(
fromNodeTypeId
)
import
Gargantext.Database.Admin.Types.Node
(
NodeId
(
..
),
NodeType
)
import
Gargantext.Database.Admin.Types.Node
(
NodeId
(
..
))
import
qualified
Gargantext.Database.Admin.Types.Node
as
NN
import
qualified
Gargantext.Database.Admin.Types.Node
as
NN
import
Gargantext.Database.Query.Table.Node
(
getClosestParentIdByType
,
getNode
)
import
Gargantext.Database.Query.Table.Node
(
getClosestParentIdByType
,
getNode
)
import
Gargantext.Database.Prelude
(
HasConnectionPool
,
HasConfig
)
import
Gargantext.Database.Prelude
(
HasConnectionPool
,
HasConfig
)
import
qualified
Gargantext.Database.Schema.Node
as
N
import
qualified
Gargantext.Database.Schema.Node
as
N
import
Gargantext.Prelude
import
Gargantext.Prelude
import
GHC.Generics
(
Generic
)
import
GHC.Generics
(
Generic
)
import
qualified
Prelude
as
Prelude
import
Text.Read
(
readEither
)
data
Node
=
Node
data
Node
=
Node
{
id
::
Int
{
id
::
Int
...
@@ -52,19 +55,25 @@ dbNodes node_id = do
...
@@ -52,19 +55,25 @@ dbNodes node_id = do
data
NodeParentArgs
data
NodeParentArgs
=
NodeParentArgs
=
NodeParentArgs
{
node_id
::
Int
{
node_id
::
Int
,
parent_type
_id
::
In
t
,
parent_type
::
Tex
t
}
deriving
(
Generic
,
GQLType
)
}
deriving
(
Generic
,
GQLType
)
resolveNodeParent
resolveNodeParent
::
(
HasConnectionPool
env
,
HasConfig
env
,
HasMail
env
)
::
(
HasConnectionPool
env
,
HasConfig
env
,
HasMail
env
)
=>
NodeParentArgs
->
GqlM
e
env
[
Node
]
=>
NodeParentArgs
->
GqlM
e
env
[
Node
]
resolveNodeParent
NodeParentArgs
{
node_id
,
parent_type
_id
}
=
dbParentNodes
node_id
parent_type_id
resolveNodeParent
NodeParentArgs
{
node_id
,
parent_type
}
=
dbParentNodes
node_id
parent_type
dbParentNodes
dbParentNodes
::
(
HasConnectionPool
env
,
HasConfig
env
,
HasMail
env
)
::
(
HasConnectionPool
env
,
HasConfig
env
,
HasMail
env
)
=>
Int
->
Int
->
GqlM
e
env
[
Node
]
=>
Int
->
Text
->
GqlM
e
env
[
Node
]
dbParentNodes
node_id
parent_type_id
=
do
dbParentNodes
node_id
parent_type
=
do
mNodeId
<-
lift
$
getClosestParentIdByType
(
NodeId
node_id
)
(
fromNodeTypeId
parent_type_id
)
let
mParentType
=
readEither
(
T
.
unpack
parent_type
)
::
Either
Prelude
.
String
NodeType
case
mParentType
of
Left
err
->
do
lift
$
printDebug
"[dbParentNodes] error reading parent type"
(
T
.
pack
err
)
pure
[]
Right
parentType
->
do
mNodeId
<-
lift
$
getClosestParentIdByType
(
NodeId
node_id
)
parentType
-- (fromNodeTypeId parent_type_id)
case
mNodeId
of
case
mNodeId
of
Nothing
->
pure
[]
Nothing
->
pure
[]
Just
id
->
do
Just
id
->
do
...
...
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