2 Module : Gargantext.Database
3 Description : Tools for Database
4 Copyright : (c) CNRS, 2017-Present
5 License : AGPL + CECILL v3
6 Maintainer : team@gargantext.org
7 Stability : experimental
10 All Database related stuff here.
12 Target: just import this module and nothing else to work with
13 Gargantext's database.
17 {-# LANGUAGE NoImplicitPrelude #-}
19 module Gargantext.Database.Config
23 import Data.Text (pack)
24 import Data.Tuple.Extra (swap)
25 import Data.Maybe (fromMaybe)
26 import Data.List (lookup)
28 import Gargantext.Database.Types.Node
29 import Gargantext.Prelude
31 nodeTypeId :: NodeType -> NodeTypeId
37 NodeCorpus -> 30 -- TODO ERRR
72 -- Classification -> TODO
77 -- | Nodes are typed in the database according to a specific ID
79 nodeTypeInv :: [(NodeTypeId, NodeType)]
80 nodeTypeInv = map swap nodeTypes
82 nodeTypes :: [(NodeType, NodeTypeId)]
83 nodeTypes = [ (n, nodeTypeId n) | n <- allNodeTypes ]
85 typeId2node :: NodeTypeId -> NodeType
86 typeId2node tId = fromMaybe (panic $ pack $ "Type Id " <> show tId <> " does not exist")
87 (lookup tId nodeTypeInv)