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 Target: just import this module and nothing else to work with
11 Gargantext's database.
13 TODO: configure nodes table in Haskell (Config typenames etc.)
16 {-# LANGUAGE NoImplicitPrelude #-}
17 {-# LANGUAGE OverloadedStrings #-}
19 module Gargantext.Database.Admin.Config
22 import Data.List (lookup)
23 import Data.Maybe (fromMaybe)
24 import Data.Text (Text,pack)
25 import Data.Tuple.Extra (swap)
26 import Gargantext.Database.Admin.Types.Node
27 import Gargantext.Prelude
29 -- TODO put this in config.ini file
30 corpusMasterName :: Text
31 corpusMasterName = "Main"
34 userMaster = "gargantua"
37 userArbitrary = "user1"
39 nodeTypeId :: NodeType -> NodeTypeId
44 NodeFolderPrivate -> 20
45 NodeFolderShared -> 21
47 NodeFolderPublic -> 22
62 -- NodeOccurrences -> 10
82 -- NodeFavorites -> 15
86 -- | Nodes are typed in the database according to a specific ID
88 nodeTypeInv :: [(NodeTypeId, NodeType)]
89 nodeTypeInv = map swap nodeTypes
91 nodeTypes :: [(NodeType, NodeTypeId)]
92 nodeTypes = [ (n, nodeTypeId n) | n <- allNodeTypes ]
94 fromNodeTypeId :: NodeTypeId -> NodeType
95 fromNodeTypeId tId = fromMaybe (panic $ pack $ "Type Id " <> show tId <> " does not exist")
96 (lookup tId nodeTypeInv)