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
147
Issues
147
List
Board
Labels
Milestones
Merge Requests
6
Merge Requests
6
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
ed24e95d
Commit
ed24e95d
authored
6 years ago
by
Alexandre Delanoë
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[DB-FLOW] functions to create nodeTypes.
parent
8438f4b7
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
115 additions
and
95 deletions
+115
-95
Node.hs
src/Gargantext/API/Node.hs
+1
-1
Main.hs
src/Gargantext/Core/Types/Main.hs
+4
-8
Bashql.hs
src/Gargantext/Database/Bashql.hs
+1
-1
Config.hs
src/Gargantext/Database/Config.hs
+13
-19
Facet.hs
src/Gargantext/Database/Facet.hs
+6
-6
Flow.hs
src/Gargantext/Database/Flow.hs
+1
-2
Node.hs
src/Gargantext/Database/Node.hs
+71
-35
Import.hs
src/Gargantext/Database/Node/Document/Import.hs
+1
-1
Node.hs
src/Gargantext/Database/Types/Node.hs
+17
-22
No files found.
src/Gargantext/API/Node.hs
View file @
ed24e95d
...
...
@@ -205,7 +205,7 @@ getNodesWith' conn id nodeType offset limit = liftIO (getNodesWith conn id node
getFacet
::
Connection
->
NodeId
->
Maybe
Int
->
Maybe
Int
->
Handler
[
FacetDoc
]
getFacet
conn
id
offset
limit
=
liftIO
(
putStrLn
(
"/facet"
::
Text
))
>>
liftIO
(
getDocFacet
conn
NodeCorpus
id
(
Just
Document
)
offset
limit
)
getFacet
conn
id
offset
limit
=
liftIO
(
putStrLn
(
"/facet"
::
Text
))
>>
liftIO
(
getDocFacet
conn
NodeCorpus
id
(
Just
Node
Document
)
offset
limit
)
getChart
::
Connection
->
NodeId
->
Maybe
UTCTime
->
Maybe
UTCTime
->
Handler
[
FacetChart
]
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Core/Types/Main.hs
View file @
ed24e95d
...
...
@@ -60,25 +60,21 @@ userTree = TreeN (NodeTree "user name" NodeUser 1) [annuaireTree, projectTree]
-- | Project Tree
projectTree
::
Tree
NodeTree
projectTree
=
TreeN
(
NodeTree
"Project CNRS/IMT"
Folder
2
)
[
corpusTree
10
"A"
,
corpusTree
20
"B"
]
type
Individu
=
Document
projectTree
=
TreeN
(
NodeTree
"Project CNRS/IMT"
NodeFolder
2
)
[
corpusTree
10
"A"
,
corpusTree
20
"B"
]
-- | Corpus Tree
annuaireTree
::
Tree
NodeTree
annuaireTree
=
(
leafT
$
NodeTree
"Annuaire"
Annuaire
41
)
annuaireTree
=
(
leafT
$
NodeTree
"Annuaire"
NodeAnnuaire
41
)
corpusTree
::
NodeId
->
Text
->
Tree
NodeTree
corpusTree
nId
t
=
TreeN
(
NodeTree
(
"Corpus "
<>
t
)
NodeCorpus
nId
)
(
[
leafT
$
NodeTree
"Dashboard"
Dashboard
(
nId
+
1
)
,
leafT
$
NodeTree
"Graph"
Graph
(
nId
+
2
)
corpusTree
nId
t
=
TreeN
(
NodeTree
(
"Corpus "
<>
t
)
NodeCorpus
nId
)
(
[
leafT
$
NodeTree
"Dashboard"
Node
Dashboard
(
nId
+
1
)
,
leafT
$
NodeTree
"Graph"
Node
Graph
(
nId
+
2
)
]
-- <> [ leafT $ NodeTree "My lists" Lists 5]
-- <> [ leafT (NodeTree "Metrics A" Metrics 6) ]
-- <> [ leafT (NodeTree "Class A" Classification 7)]
)
data
Parent
=
NodeType
NodeId
--data Classification = Favorites | MyClassifcation
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Bashql.hs
View file @
ed24e95d
...
...
@@ -125,7 +125,7 @@ tree p = do
post
::
PWD
->
[
NodeWrite'
]
->
Cmd
Int64
post
[]
_
=
pure
0
post
_
[]
=
pure
0
post
pth
ns
=
Cmd
.
ReaderT
$
mk
Node
(
Just
$
last
pth
)
ns
post
pth
ns
=
Cmd
.
ReaderT
$
insert
Node
(
Just
$
last
pth
)
ns
--postR :: PWD -> [NodeWrite'] -> Cmd [Int]
--postR [] _ _ = pure [0]
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Config.hs
View file @
ed24e95d
...
...
@@ -31,14 +31,13 @@ import Gargantext.Prelude
nodeTypeId
::
NodeType
->
NodeTypeId
nodeTypeId
n
=
case
n
of
NodeUser
->
1
Folder
->
2
--NodeCorpus -> 3
NodeCorpusV3
->
3
NodeCorpus
->
30
Annuaire
->
31
Document
->
4
UserPage
->
41
NodeUser
->
1
NodeFolder
->
2
NodeCorpusV3
->
3
NodeCorpus
->
30
NodeAnnuaire
->
31
NodeDocument
->
4
NodeContact
->
41
--NodeSwap -> 19
---- Lists
...
...
@@ -48,10 +47,10 @@ nodeTypeId n =
-- MapList -> 8
---- Scores
Occurrences
->
10
Graph
->
9
Dashboard
->
5
Chart
->
51
Node
Occurrences
->
10
Node
Graph
->
9
Node
Dashboard
->
5
Node
Chart
->
51
-- Cooccurrences -> 9
--
...
...
@@ -65,14 +64,9 @@ nodeTypeId n =
-- TirankLocal -> 16
-- TirankGlobal -> 17
--
--
Node management
Favorites
->
15
-- Node management
-- Node
Favorites -> 15
-- Project -> TODO
-- Individu -> TODO
-- Classification -> TODO
-- Lists -> TODO
-- Metrics -> TODO
--
-- | Nodes are typed in the database according to a specific ID
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Facet.hs
View file @
ed24e95d
...
...
@@ -221,13 +221,13 @@ selectDocFacet' :: NodeType -> ParentId -> Maybe NodeType -> Query FacetDocRead
selectDocFacet'
_
pId
_
=
proc
()
->
do
(
n1
,(
nn
,
n2
))
<-
leftJoin3'''
-<
()
restrict
-<
(
.&&
)
(
node_parentId
n1
.==
(
toNullable
$
pgInt4
pId
))
(
node_typename
n1
.==
(
pgInt4
$
nodeTypeId
Document
))
(
node_typename
n1
.==
(
pgInt4
$
nodeTypeId
Node
Document
))
restrict
-<
(
.||
)
(
node_typename
n2
.==
(
toNullable
$
pgInt4
$
nodeTypeId
Favorites
))
(
isNull
$
node_typename
n2
)
restrict
-<
(
.||
)
(
node_parentId
n2
.==
(
toNullable
$
pgInt4
$
nodeTypeId
Favorites
))
(
isNull
$
node_parentId
n2
)
--
restrict -< (.||) (node_typename n2 .== (toNullable $ pgInt4 $ nodeTypeId Favorites))
--
(isNull $ node_typename n2)
--
--
restrict -< (.||) (node_parentId n2 .== (toNullable $ pgInt4 $ nodeTypeId Favorites))
--
(isNull $ node_parentId n2)
let
isFav
=
ifThenElse
(
isNull
$
nodeNode_score
nn
)
(
pgBool
False
)
(
pgBool
True
)
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Flow.hs
View file @
ed24e95d
...
...
@@ -45,7 +45,7 @@ flow = do
masterUser
<-
runCmd'
(
getUser
"gargantua"
)
let
masterUserId
=
case
masterUser
of
Nothing
->
panic
"
no user
"
Nothing
->
panic
"
Error: User does not exist (yet)"
-- mk NodeUser gargantua_id "Node Gargantua
"
Just
user
->
userLight_id
user
root
<-
map
node_id
<$>
runCmd'
(
getRoot
masterUserId
)
...
...
@@ -60,7 +60,6 @@ flow = do
pure
()
{-
rootId <- mk NodeUser gargantua_id "Node Gargantua"
--folderId <- mk Folder parentId (Name "Data") (Descr "All corpora DATA here")
folderId <- mk Folder rootId "Data"
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Node.hs
View file @
ed24e95d
...
...
@@ -89,7 +89,6 @@ type CorpusId = Int
type
UserId
=
NodeId
type
TypeId
=
Int
------------------------------------------------------------------------
instance
FromField
HyperdataCorpus
where
fromField
=
fromField'
...
...
@@ -99,13 +98,9 @@ instance FromField HyperdataDocument where
instance
FromField
HyperdataDocumentV3
where
fromField
=
fromField'
instance
FromField
HyperdataProject
where
fromField
=
fromField'
instance
FromField
HyperdataUser
where
fromField
=
fromField'
------------------------------------------------------------------------
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataDocument
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
...
...
@@ -115,13 +110,9 @@ instance QueryRunnerColumnDefault PGJsonb HyperdataDocumentV3 where
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataCorpus
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataProject
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
instance
QueryRunnerColumnDefault
PGJsonb
HyperdataUser
where
queryRunnerColumnDefault
=
fieldQueryRunnerColumn
------------------------------------------------------------------------
fromField'
::
(
Typeable
b
,
FromJSON
b
)
=>
Field
->
Maybe
DB
.
ByteString
->
Conversion
b
fromField'
field
mb
=
do
...
...
@@ -261,10 +252,10 @@ getNodesWithParentId' n _ conn = runQuery conn $ selectNodesWithParentID n
------------------------------------------------------------------------
getDocumentsV3WithParentId
::
Connection
->
Int
->
IO
[
Node
HyperdataDocumentV3
]
getDocumentsV3WithParentId
conn
n
=
runQuery
conn
$
selectNodesWith'
n
(
Just
Document
)
getDocumentsV3WithParentId
conn
n
=
runQuery
conn
$
selectNodesWith'
n
(
Just
Node
Document
)
getDocumentsWithParentId
::
Connection
->
Int
->
IO
[
Node
HyperdataDocument
]
getDocumentsWithParentId
conn
n
=
runQuery
conn
$
selectNodesWith'
n
(
Just
Document
)
getDocumentsWithParentId
conn
n
=
runQuery
conn
$
selectNodesWith'
n
(
Just
Node
Document
)
------------------------------------------------------------------------
...
...
@@ -298,15 +289,58 @@ getNodesWithType conn type_id = do
------------------------------------------------------------------------
--
Quick and dirty
--
WIP
------------------------------------------------------------------------
type
NodeWrite'
=
NodePoly
(
Maybe
Int
)
Int
Int
(
Maybe
ParentId
)
Text
(
Maybe
UTCTime
)
ByteString
------------------------------------------------------------------------
defaultUser
::
HyperdataUser
defaultUser
=
HyperdataUser
(
Just
$
(
pack
.
show
)
EN
)
node
::
ToJSON
a
=>
UserId
->
Maybe
ParentId
->
NodeType
->
Text
->
Hyperdata
a
->
NodeWrite'
node
userId
parentId
nodeType
name
nodeData
=
Node
Nothing
typeId
userId
parentId
name
Nothing
byteData
nodeUserW
::
Maybe
Name
->
Maybe
HyperdataUser
->
UserId
->
NodeWrite'
nodeUserW
maybeName
maybeHyperdata
=
node
NodeUser
name
(
Hyperdata
user
)
Nothing
where
name
=
maybe
"User"
identity
maybeName
user
=
maybe
defaultUser
identity
maybeHyperdata
------------------------------------------------------------------------
defaultFolder
::
HyperdataFolder
defaultFolder
=
HyperdataFolder
(
Just
"Markdown Description"
)
nodeFolderW
::
Maybe
Name
->
Maybe
HyperdataFolder
->
ParentId
->
UserId
->
NodeWrite'
nodeFolderW
maybeName
maybeFolder
pid
=
node
NodeFolder
name
(
Hyperdata
folder
)
(
Just
pid
)
where
name
=
maybe
"Folder"
identity
maybeName
folder
=
maybe
defaultFolder
identity
maybeFolder
------------------------------------------------------------------------
defaultCorpus
::
HyperdataCorpus
defaultCorpus
=
(
HyperdataCorpus
(
Just
"Title"
)
(
Just
"Descr"
)
(
Just
"Bool query"
)
(
Just
"Authors"
)
Nothing
)
nodeCorpusW
::
Maybe
Name
->
Maybe
HyperdataCorpus
->
ParentId
->
UserId
->
NodeWrite'
nodeCorpusW
maybeName
maybeCorpus
pId
=
node
NodeCorpus
name
(
Hyperdata
corpus
)
(
Just
pId
)
where
name
=
maybe
"Corpus"
identity
maybeName
corpus
=
maybe
defaultCorpus
identity
maybeCorpus
------------------------------------------------------------------------
defaultDocument
::
HyperdataDocument
defaultDocument
=
hyperdataDocument
nodeDocumentW
::
Maybe
Name
->
Maybe
HyperdataDocument
->
CorpusId
->
UserId
->
NodeWrite'
nodeDocumentW
maybeName
maybeDocument
cId
=
node
NodeDocument
name
(
Hyperdata
doc
)
(
Just
cId
)
where
name
=
maybe
"Document"
identity
maybeName
doc
=
maybe
defaultDocument
identity
maybeDocument
------------------------------------------------------------------------
--defaultAnnuaire :: HyperdataAnnuaire
--defaultAnnuaire = HyperdataAnnuaire
--nodeAnnuaireW
--nodeContactW
------------------------------------------------------------------------
node
::
ToJSON
a
=>
NodeType
->
Name
->
Hyperdata
a
->
Maybe
ParentId
->
UserId
->
NodeWrite'
node
nodeType
name
hyperData
parentId
userId
=
Node
Nothing
typeId
userId
parentId
name
Nothing
byteData
where
typeId
=
nodeTypeId
nodeType
byteData
=
DB
.
pack
$
DBL
.
unpack
$
encode
$
unHyperdata
node
Data
byteData
=
DB
.
pack
$
DBL
.
unpack
$
encode
$
unHyperdata
hyper
Data
node2write
::
(
Functor
maybe1
,
Functor
maybe2
,
Functor
maybe3
)
=>
...
...
@@ -315,30 +349,27 @@ node2write :: (Functor maybe1, Functor maybe2, Functor maybe3) =>
maybe1
(
Column
PGInt4
),
Column
PGText
,
maybe3
(
Column
PGTimestamptz
),
Column
PGJsonb
)
node2write
pid
(
Node
id
tn
ud
_
nm
dt
hp
)
=
((
pgInt4
<$>
id
)
,(
pgInt4
tn
)
,(
pgInt4
tn
)
,(
pgInt4
ud
)
,(
pgInt4
<$>
pid
)
,(
pgStrictText
nm
)
,(
pgUTCTime
<$>
dt
)
,(
pgStrictJSONB
hp
)
)
------------------------------------------------------------------------
insertNode
::
Maybe
ParentId
->
[
NodeWrite'
]
->
Connection
->
IO
Int64
insertNode
pid
ns
conn
=
runInsertMany
conn
nodeTable'
$
map
(
node2write
pid
)
ns
mkNode
::
Maybe
ParentId
->
[
NodeWrite'
]
->
Connection
->
IO
Int64
mkNode
pid
ns
conn
=
runInsertMany
conn
nodeTable'
$
map
(
node2write
pid
)
ns
mkNodeR
::
Maybe
ParentId
->
[
NodeWrite'
]
->
Connection
->
IO
[
Int
]
mkNodeR
pid
ns
conn
=
runInsertManyReturning
conn
nodeTable'
(
map
(
node2write
pid
)
ns
)
(
\
(
i
,
_
,
_
,
_
,
_
,
_
,
_
)
->
i
)
insertNodeR
::
Maybe
ParentId
->
[
NodeWrite'
]
->
Connection
->
IO
[
Int
]
insertNodeR
pid
ns
conn
=
runInsertManyReturning
conn
nodeTable'
(
map
(
node2write
pid
)
ns
)
(
\
(
i
,
_
,
_
,
_
,
_
,
_
,
_
)
->
i
)
------------------------------------------------------------------------
-- TODO Hierachy of Nodes
-- post and get same types Node' and update if changes
{- TODO semantic to achieve
post c uid pid [ Node' Corpus "name" "{}" []
, Node'
Folder "name" "{}" [Node' Corpus "test 2" "" [ Node'
Document "title" "metaData" []
, Node' Document "title" "jsonData" []
post c uid pid [ Node'
Node
Corpus "name" "{}" []
, Node'
NodeFolder "name" "{}" [Node' NodeCorpus "test 2" "" [ Node' Node
Document "title" "metaData" []
, Node'
Node
Document "title" "jsonData" []
]
]
]
...
...
@@ -377,6 +408,9 @@ mkNode' ns = mkCmd $ \conn -> runInsertMany conn nodeTable' ns
mkNodeR'
::
[
NodeWriteT
]
->
Cmd
[
Int
]
mkNodeR'
ns
=
mkCmd
$
\
conn
->
runInsertManyReturning
conn
nodeTable'
ns
(
\
(
i
,
_
,
_
,
_
,
_
,
_
,
_
)
->
i
)
------------------------------------------------------------------------
data
NewNode
=
NewNode
{
_newNodeId
::
Int
,
_newNodeChildren
::
[
Int
]
}
...
...
@@ -393,26 +427,28 @@ postNode uid pid (Node' NodeCorpus txt v ns) = do
pids
<-
mkNodeR'
(
concat
$
map
(
\
n
->
[
childWith
uid
pid'
n
])
ns
)
pure
$
NewNode
pid'
pids
postNode
uid
pid
(
Node'
Annuaire
txt
v
ns
)
=
do
NewNode
pid'
_
<-
postNode
uid
pid
(
Node'
Annuaire
txt
v
[]
)
postNode
uid
pid
(
Node'
Node
Annuaire
txt
v
ns
)
=
do
NewNode
pid'
_
<-
postNode
uid
pid
(
Node'
Node
Annuaire
txt
v
[]
)
pids
<-
mkNodeR'
(
concat
$
map
(
\
n
->
[
childWith
uid
pid'
n
])
ns
)
pure
$
NewNode
pid'
pids
postNode
_
_
(
Node'
_
_
_
_
)
=
panic
"TODO: postNode for this type not implemented yet"
childWith
::
UserId
->
ParentId
->
Node'
->
NodeWriteT
childWith
uId
pId
(
Node'
Document
txt
v
[]
)
=
node2table
uId
(
Just
pId
)
(
Node'
Document
txt
v
[]
)
childWith
uId
pId
(
Node'
UserPage
txt
v
[]
)
=
node2table
uId
(
Just
pId
)
(
Node'
UserPage
txt
v
[]
)
childWith
uId
pId
(
Node'
NodeDocument
txt
v
[]
)
=
node2table
uId
(
Just
pId
)
(
Node'
Node
Document
txt
v
[]
)
childWith
uId
pId
(
Node'
NodeContact
txt
v
[]
)
=
node2table
uId
(
Just
pId
)
(
Node'
NodeContact
txt
v
[]
)
childWith
_
_
(
Node'
_
_
_
_
)
=
panic
"This NodeType can not be a child"
-- TODO: remove hardcoded userId (with Reader)
-- TODO: user Reader in the API and adapt this function
userId
=
1
mk
::
Connection
->
NodeType
->
Maybe
ParentId
->
Text
->
IO
[
Int
]
mk
c
nt
pId
name
=
mk'
c
nt
1
pId
name
mk
c
nt
pId
name
=
mk'
c
nt
userId
pId
name
mk'
::
Connection
->
NodeType
->
UserId
->
Maybe
ParentId
->
Text
->
IO
[
Int
]
mk'
c
nt
uId
pId
name
=
map
fromIntegral
<$>
mkNodeR
pId
[
node
uId
pId
nt
name
h
d
]
c
mk'
c
nt
uId
pId
name
=
map
fromIntegral
<$>
insertNodeR
pId
[
node
nt
name
hd
pId
uI
d
]
c
where
hd
=
Hyperdata
(
HyperdataUser
(
Just
$
(
pack
.
show
)
EN
))
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Node/Document/Import.hs
View file @
ed24e95d
...
...
@@ -149,7 +149,7 @@ queryInsert = [sql|
prepare
::
UserId
->
ParentId
->
[
HyperdataDocument
]
->
[
InputData
]
prepare
uId
pId
=
map
(
\
h
->
InputData
tId
uId
pId
(
DT
.
pack
"Doc"
)
(
toJSON
$
addUniqId
h
))
where
tId
=
nodeTypeId
Document
tId
=
nodeTypeId
Node
Document
------------------------------------------------------------------------
-- * Main Types used
...
...
This diff is collapsed.
Click to expand it.
src/Gargantext/Database/Types/Node.hs
View file @
ed24e95d
...
...
@@ -191,10 +191,14 @@ instance Arbitrary Resource where
------------------------------------------------------------------------
data
Hyperdata
a
=
Hyperdata
{
unHyperdata
::
a
}
data
Hyperdata
a
=
Hyperdata
{
unHyperdata
::
a
}
$
(
deriveJSON
(
unPrefix
""
)
''
H
yperdata
)
data
HyperdataCorpus
=
HyperdataCorpus
{
hyperdataCorpus_resources
::
[
Resource
]
data
HyperdataCorpus
=
HyperdataCorpus
{
hyperdataCorpus_title
::
Maybe
Text
,
hyperdataCorpus_descr
::
Maybe
Text
,
hyperdataCorpus_query
::
Maybe
Text
,
hyperdataCorpus_authors
::
Maybe
Text
,
hyperdataCorpus_resources
::
Maybe
[
Resource
]
}
deriving
(
Show
,
Generic
)
$
(
deriveJSON
(
unPrefix
"hyperdataCorpus_"
)
''
H
yperdataCorpus
)
...
...
@@ -205,17 +209,11 @@ $(deriveJSON (unPrefix "hyperdataUser_") ''HyperdataUser)
-- Preferences ?
data
HyperdataFolder
=
HyperdataFolder
{
hyperdataFolder_
preferences
::
Maybe
Text
data
HyperdataFolder
=
HyperdataFolder
{
hyperdataFolder_
descr
::
Maybe
Text
}
deriving
(
Show
,
Generic
)
$
(
deriveJSON
(
unPrefix
"hyperdataFolder_"
)
''
H
yperdataFolder
)
data
HyperdataProject
=
HyperdataProject
{
hyperdataProject_preferences
::
Maybe
Text
}
deriving
(
Show
,
Generic
)
$
(
deriveJSON
(
unPrefix
"hyperdataProject_"
)
''
H
yperdataProject
)
data
HyperdataList
=
HyperdataList
{
hyperdataList_preferences
::
Maybe
Text
}
deriving
(
Show
,
Generic
)
$
(
deriveJSON
(
unPrefix
"hyperdataList_"
)
''
H
yperdataList
)
...
...
@@ -225,7 +223,6 @@ data HyperdataScore = HyperdataScore { hyperdataScore_preferences :: Maybe Tex
$
(
deriveJSON
(
unPrefix
"hyperdataScore_"
)
''
H
yperdataScore
)
data
HyperdataFavorites
=
HyperdataFavorites
{
hyperdataFavorites_preferences
::
Maybe
Text
}
deriving
(
Show
,
Generic
)
$
(
deriveJSON
(
unPrefix
"hyperdataFavorites_"
)
''
H
yperdataFavorites
)
...
...
@@ -268,25 +265,23 @@ type NodeName = Text
--type NodeUser = Node HyperdataUser
-- | Then a Node can be either a Folder or a Corpus or a Document
type
NodeUser
=
Node
HyperdataUser
type
Folder
=
Node
HyperdataFolder
type
Project
=
Node
HyperdataProject
type
NodeCorpus
=
Node
HyperdataCorpus
type
NodeUser
=
Node
HyperdataUser
type
NodeFolder
=
Node
HyperdataFolder
type
NodeCorpus
=
Node
HyperdataCorpus
type
NodeCorpusV3
=
Node
HyperdataCorpus
type
Document
=
Node
HyperdataDocument
type
NodeDocument
=
Node
HyperdataDocument
------------------------------------------------------------------------
data
NodeType
=
NodeUser
-- | Project
|
Folder
|
Node
Corpus
|
NodeCorpusV3
|
Annuaire
|
Document
-- | Individu
|
UserPage
|
Favorites
|
Graph
|
Dashboard
|
Chart
|
NodeFolder
|
NodeCorpus
|
NodeCorpusV3
|
NodeDocument
|
Node
Annuaire
|
NodeContact
|
NodeOccurrences
|
NodeGraph
|
NodeDashboard
|
Node
Chart
-- | Classification
-- | Lists
-- | Metrics
|
Occurrences
deriving
(
Show
,
Read
,
Eq
,
Generic
,
Bounded
,
Enum
)
allNodeTypes
::
[
NodeType
]
...
...
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