[FIX] Order 1 and Order 2, node size ok.
[gargantext.git] / src / Gargantext / Database / Admin / Config.hs
index 1f1be2c4a0b92058b08b77146d1445a9002ee921..d31c8f5e2f34cd99da26feaff708f9d39ecfe099 100644 (file)
@@ -14,6 +14,8 @@ TODO: configure nodes table in Haskell (Config typenames etc.)
 -}
 
 
+{-# OPTIONS_GHC -fno-warn-orphans        #-}
+
 module Gargantext.Database.Admin.Config
     where
 
@@ -22,6 +24,7 @@ import Data.List        (lookup)
 import Data.Maybe       (fromMaybe)
 import Data.Text        (Text,pack)
 import Data.Tuple.Extra (swap)
+import Gargantext.Core (HasDBid(..))
 import Gargantext.Database.Admin.Types.Node
 import Gargantext.Database.Schema.Node
 import Gargantext.Prelude
@@ -36,21 +39,26 @@ userMaster = "gargantua"
 userArbitrary :: Text
 userArbitrary = "user1"
 
+instance HasDBid NodeType where
+  toDBid  = nodeTypeId
+  fromDBid = fromNodeTypeId
+
+
 nodeTypeId :: NodeType -> NodeTypeId
 nodeTypeId n =
   case n of
-    NodeUser      -> 1
-    NodeFolder    -> 2
+    NodeUser          -> 1
+    NodeFolder        -> 2
     NodeFolderPrivate -> 20
     NodeFolderShared  -> 21
     NodeTeam          -> 210
     NodeFolderPublic  -> 22
-    NodeCorpusV3  -> 3
-    NodeCorpus    -> 30
-    NodeAnnuaire  -> 31
-    NodeTexts     -> 40
-    NodeDocument  -> 4
-    NodeContact   -> 41
+    NodeCorpusV3      -> 3
+    NodeCorpus        -> 30
+    NodeAnnuaire      -> 31
+    NodeTexts         -> 40
+    NodeDocument      -> 4
+    NodeContact       -> 41
   --NodeSwap   -> 19
 
 ----  Lists
@@ -66,8 +74,12 @@ nodeTypeId n =
     NodeDashboard   -> 71
 --    NodeNoteBook    -> 88
 
-    NodeFrameWrite  -> 991
-    NodeFrameCalc   -> 992
+    NodeFile        -> 101
+
+    NodeFrameWrite    -> 991
+    NodeFrameCalc     -> 992
+    NodeFrameNotebook -> 993
+    NodeFrameVisio    -> 994
 
 --  Cooccurrences -> 9
 --
@@ -85,10 +97,10 @@ nodeTypeId n =
 --  NodeFavorites    -> 15
 
 hasNodeType :: forall a. Node a -> NodeType -> Bool
-hasNodeType n nt = (view node_typename n) == (nodeTypeId nt)
+hasNodeType n nt = (view node_typename n) == (toDBid nt)
 
 isInNodeTypes :: forall a. Node a -> [NodeType] -> Bool
-isInNodeTypes n ts = elem (view node_typename n) (map nodeTypeId ts)
+isInNodeTypes n ts = elem (view node_typename n) (map toDBid ts)
 
 -- | Nodes are typed in the database according to a specific ID
 --
@@ -96,7 +108,7 @@ nodeTypeInv :: [(NodeTypeId, NodeType)]
 nodeTypeInv = map swap nodeTypes
 
 nodeTypes :: [(NodeType, NodeTypeId)]
-nodeTypes = [ (n, nodeTypeId n) | n <- allNodeTypes ]
+nodeTypes = [ (n, toDBid n) | n <- allNodeTypes ]
 
 fromNodeTypeId :: NodeTypeId -> NodeType
 fromNodeTypeId tId = fromMaybe (panic $ pack $ "Type Id " <> show tId <> " does not exist")