Stability : experimental
Portability : POSIX
-All Database related stuff here.
-
Target: just import this module and nothing else to work with
Gargantext's database.
+TODO: configure nodes table in Haskell (Config typenames etc.)
-}
{-# LANGUAGE NoImplicitPrelude #-}
+{-# LANGUAGE OverloadedStrings #-}
module Gargantext.Database.Config
where
-import Data.Text (pack)
+import Data.Text (Text,pack)
import Data.Tuple.Extra (swap)
import Data.Maybe (fromMaybe)
import Data.List (lookup)
import Gargantext.Database.Types.Node
import Gargantext.Prelude
+-- TODO put this in config.ini file
+corpusMasterName :: Text
+corpusMasterName = "Main"
+
+userMaster :: Text
+userMaster = "gargantua"
+
+userArbitrary :: Text
+userArbitrary = "user1"
+
nodeTypeId :: NodeType -> NodeTypeId
nodeTypeId n =
case n of
- NodeUser -> 1
- Folder -> 2
- --NodeCorpus -> 3
- NodeCorpus -> 30 -- TODO ERRR
- Annuaire -> 31
- Document -> 4
- UserPage -> 41
+ NodeUser -> 1
+ NodeFolder -> 2
+ NodeCorpusV3 -> 3
+ NodeCorpus -> 30
+ NodeAnnuaire -> 31
+ NodeDocument -> 4
+ NodeContact -> 41
--NodeSwap -> 19
---- Lists
--- StopList -> 5
--- GroupList -> 6
--- MainList -> 7
--- MapList -> 8
+ NodeList -> 5
+ NodeListModel -> 10
---- Scores
- Occurrences -> 10
- Graph -> 9
- Dashboard -> 5
- Chart -> 51
+-- NodeOccurrences -> 10
+ NodeGraph -> 9
+ NodeDashboard -> 7
+ NodeChart -> 51
-- Cooccurrences -> 9
--
-- TirankLocal -> 16
-- TirankGlobal -> 17
----- Node management
- Favorites -> 15
+-- Node management
+-- NodeFavorites -> 15
--- Project -> TODO
--- Individu -> TODO
--- Classification -> TODO
--- Lists -> TODO
--- Metrics -> TODO
--
-- | Nodes are typed in the database according to a specific ID
nodeTypes :: [(NodeType, NodeTypeId)]
nodeTypes = [ (n, nodeTypeId n) | n <- allNodeTypes ]
-typeId2node :: NodeTypeId -> NodeType
-typeId2node tId = fromMaybe (panic $ pack $ "Type Id " <> show tId <> " does not exist")
+fromNodeTypeId :: NodeTypeId -> NodeType
+fromNodeTypeId tId = fromMaybe (panic $ pack $ "Type Id " <> show tId <> " does not exist")
(lookup tId nodeTypeInv)