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
bdcd2dde
Commit
bdcd2dde
authored
Jul 09, 2020
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[FEAT PUBLIC] Public Tree fixed
parent
69f8b4f0
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
11 deletions
+20
-11
Tree.hs
src/Gargantext/Database/Query/Tree.hs
+20
-11
No files found.
src/Gargantext/Database/Query/Tree.hs
View file @
bdcd2dde
...
...
@@ -95,26 +95,35 @@ tree_advanced r nodeTypes = do
------------------------------------------------------------------------
-- | Collaborative Nodes in the Tree
findShared
::
RootId
->
NodeType
->
[
NodeType
]
->
UpdateTree
err
->
Cmd
err
[
DbTreeNode
]
findShared
::
HasTreeError
err
=>
RootId
->
NodeType
->
[
NodeType
]
->
UpdateTree
err
->
Cmd
err
[
DbTreeNode
]
findShared
r
nt
nts
fun
=
do
folderSharedId
<-
maybe
(
panic
"no folder found"
)
identity
<$>
head
<$>
findNodesId
r
[
nt
]
folders
<-
getNodeNode
folderSharedId
nodesSharedId
<-
mapM
(
\
child
->
fun
folderSharedId
child
nts
)
foldersSharedId
<-
findNodesId
r
[
nt
]
trees
<-
mapM
(
updateTree
nts
fun
)
foldersSharedId
pure
$
concat
trees
updateTree
::
HasTreeError
err
=>
[
NodeType
]
->
UpdateTree
err
->
RootId
->
Cmd
err
[
DbTreeNode
]
updateTree
nts
fun
r
=
do
folders
<-
getNodeNode
r
nodesSharedId
<-
mapM
(
fun
r
nts
)
$
map
_nn_node2_id
folders
pure
$
concat
nodesSharedId
type
UpdateTree
err
=
ParentId
->
NodeId
->
[
NodeType
]
->
Cmd
err
[
DbTreeNode
]
type
UpdateTree
err
=
ParentId
->
[
NodeType
]
->
NodeId
->
Cmd
err
[
DbTreeNode
]
sharedTreeUpdate
::
ParentId
->
NodeId
->
[
NodeType
]
->
Cmd
err
[
DbTreeNode
]
sharedTreeUpdate
p
n
nt
=
dbTree
n
nt
sharedTreeUpdate
::
HasTreeError
err
=>
UpdateTree
err
sharedTreeUpdate
p
n
t
n
=
dbTree
n
nt
<&>
map
(
\
n'
->
if
_dt_nodeId
n'
==
n
then
set
dt_parentId
(
Just
p
)
n'
else
n'
)
publicTreeUpdate
::
ParentId
->
NodeId
->
[
NodeType
]
->
Cmd
err
[
DbTreeNode
]
publicTreeUpdate
p
n
nt
=
dbTree
n
nt
publicTreeUpdate
::
HasTreeError
err
=>
UpdateTree
err
publicTreeUpdate
p
n
t
n
=
dbTree
n
nt
<&>
map
(
\
n'
->
if
_dt_nodeId
n'
==
n
-- && (fromNodeTypeId $ _dt_typeId n') /= NodeFolderPublic
then
set
dt_parentId
(
Just
p
)
n'
...
...
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