]> Git — Sourcephile - gargantext.git/blob - src/Gargantext/Database/Admin/Config.hs
[TEXT FLOW] checking all
[gargantext.git] / src / Gargantext / Database / Admin / Config.hs
1 {-|
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
8 Portability : POSIX
9
10 Target: just import this module and nothing else to work with
11 Gargantext's database.
12
13 TODO: configure nodes table in Haskell (Config typenames etc.)
14 -}
15
16 {-# LANGUAGE NoImplicitPrelude #-}
17 {-# LANGUAGE OverloadedStrings #-}
18
19 module Gargantext.Database.Admin.Config
20 where
21
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
28
29 -- TODO put this in config.ini file
30 corpusMasterName :: Text
31 corpusMasterName = "Main"
32
33 userMaster :: Text
34 userMaster = "gargantua"
35
36 userArbitrary :: Text
37 userArbitrary = "user1"
38
39 nodeTypeId :: NodeType -> NodeTypeId
40 nodeTypeId n =
41 case n of
42 NodeUser -> 1
43 NodeFolder -> 2
44 NodeFolderPrivate -> 20
45 NodeFolderShared -> 21
46 NodeTeam -> 210
47 NodeFolderPublic -> 22
48 NodeCorpusV3 -> 3
49 NodeCorpus -> 30
50 NodeAnnuaire -> 31
51 NodeTexts -> 40
52 NodeDocument -> 4
53 NodeContact -> 41
54 --NodeSwap -> 19
55
56 ---- Lists
57 NodeList -> 5
58 NodeListCooc -> 50
59 NodeListModel -> 52
60
61 ---- Scores
62 -- NodeOccurrences -> 10
63 NodeGraph -> 9
64 NodePhylo -> 90
65 NodeChart -> 7
66 NodeDashboard -> 71
67 NodeNoteBook -> 88
68
69 -- Cooccurrences -> 9
70 --
71 -- Specclusion -> 11
72 -- Genclusion -> 18
73 -- Cvalue -> 12
74 --
75 -- TfidfCorpus -> 13
76 -- TfidfGlobal -> 14
77 --
78 -- TirankLocal -> 16
79 -- TirankGlobal -> 17
80
81 -- Node management
82 -- NodeFavorites -> 15
83
84
85 --
86 -- | Nodes are typed in the database according to a specific ID
87 --
88 nodeTypeInv :: [(NodeTypeId, NodeType)]
89 nodeTypeInv = map swap nodeTypes
90
91 nodeTypes :: [(NodeType, NodeTypeId)]
92 nodeTypes = [ (n, nodeTypeId n) | n <- allNodeTypes ]
93
94 fromNodeTypeId :: NodeTypeId -> NodeType
95 fromNodeTypeId tId = fromMaybe (panic $ pack $ "Type Id " <> show tId <> " does not exist")
96 (lookup tId nodeTypeInv)
97