[FIX] Order 1 and Order 2, node size ok.
[gargantext.git] / src / Gargantext / Database / Query / Table / Node / Error.hs
index 3013e540deb7a2cb56bd7b188b6726fee2c925c5..91491b04752dbbeffc2fab31e554ae707a9374eb 100644 (file)
@@ -8,22 +8,16 @@ Stability   : experimental
 Portability : POSIX
 -}
 
-{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
-{-# OPTIONS_GHC -fno-warn-orphans        #-}
+module Gargantext.Database.Query.Table.Node.Error where
 
-{-# LANGUAGE Arrows                 #-}
-{-# LANGUAGE ConstraintKinds        #-}
-{-# LANGUAGE FunctionalDependencies #-}
-{-# LANGUAGE TemplateHaskell        #-}
-{-# LANGUAGE TypeFamilies           #-}
+import Control.Lens (Prism', (#), (^?))
+import Control.Monad.Except (MonadError(..))
+import Data.Text (Text)
 
-module Gargantext.Database.Query.Table.Node.Error where
+import Prelude hiding (null, id, map, sum)
 
 import Gargantext.Database.Admin.Types.Node (NodeId)
-import Control.Lens (Prism', (#), (^?))
-import Control.Monad.Error.Class (MonadError(..))
 import Gargantext.Prelude hiding (sum, head)
-import Prelude hiding (null, id, map, sum)
 
 ------------------------------------------------------------------------
 data NodeError = NoListFound
@@ -39,6 +33,7 @@ data NodeError = NoListFound
                | ManyNodeUsers
                | DoesNotExist NodeId
                | NeedsConfiguration
+               | NodeError Text
 
 instance Show NodeError
   where
@@ -54,12 +49,18 @@ instance Show NodeError
     show NotImplYet    = "Not implemented yet"
     show ManyParents   = "Too many parents"
     show ManyNodeUsers = "Many userNode/user"
-    show (DoesNotExist n)   = "Node does not exist" <> show n
+    show (DoesNotExist n)   = "Node does not exist (" <> show n <> ")"
     show NeedsConfiguration = "Needs configuration"
+    show (NodeError e)      = "NodeError: " <> cs e
 
 class HasNodeError e where
   _NodeError :: Prism' e NodeError
 
+errorWith :: ( MonadError e m
+            , HasNodeError e)
+          => Text -> m a
+errorWith x = nodeError (NodeError x)
+
 nodeError :: ( MonadError e m
              , HasNodeError e)
           => NodeError -> m a