Commit c2d21d28 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[API TEXT Metrics] Chart in Text Tab for metrics scattering.

parent 633d8bcb
...@@ -28,18 +28,10 @@ module Gargantext.API.Metrics ...@@ -28,18 +28,10 @@ module Gargantext.API.Metrics
import Data.Text (Text) import Data.Text (Text)
import GHC.Generics (Generic) import GHC.Generics (Generic)
import Gargantext.Prelude import Gargantext.Prelude
import Data.Aeson (FromJSON, ToJSON) import Data.Aeson (ToJSON)
import Gargantext.Text.Metrics
import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary) import Test.QuickCheck.Arbitrary (Arbitrary, arbitrary)
import Gargantext.Core.Types (Limit, ListType(..)) import Gargantext.Core.Types (ListType(..))
import Gargantext.Database.Types.Node
import Gargantext.Database.Utils (Cmd)
import Gargantext.API.Ngrams.Tools -- (groupNodesByNgrams, getCoocByNgrams)
import Gargantext.Database.Schema.Ngrams (NgramsType(..))
import Gargantext.Database.Schema.Node (defaultList)
import Gargantext.Database.Metrics.NgramsByNode (getNodesByNgramsOnlyUser)
import Data.Swagger import Data.Swagger
import qualified Data.Map as Map
data Metrics = Metrics data Metrics = Metrics
......
...@@ -178,7 +178,7 @@ nodeAPI p uId id ...@@ -178,7 +178,7 @@ nodeAPI p uId id
:<|> favApi id :<|> favApi id
:<|> delDocs id :<|> delDocs id
:<|> searchIn id :<|> searchIn id
:<|> getMetrics' id :<|> getMetrics id
-- Annuaire -- Annuaire
-- :<|> upload -- :<|> upload
-- :<|> query -- :<|> query
...@@ -388,15 +388,13 @@ query s = pure s ...@@ -388,15 +388,13 @@ query s = pure s
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
getMetrics' = undefined
type MetricsAPI = Summary "SepGen IncExc metrics" type MetricsAPI = Summary "SepGen IncExc metrics"
:> QueryParam "list" Int :> QueryParam "list" ListId
:> QueryParam "limit" Int :> QueryParam "limit" Int
:> Get '[JSON] Metrics :> Get '[JSON] Metrics
--getMetrics :: NodeId -> Maybe ListId -> Maybe Limit -> GargServer MetricsAPI getMetrics :: NodeId -> GargServer MetricsAPI
getMetrics cId maybeListId maybeLimit = do getMetrics cId maybeListId maybeLimit = do
lId <- case maybeListId of lId <- case maybeListId of
Nothing -> defaultList cId Nothing -> defaultList cId
...@@ -404,7 +402,7 @@ getMetrics cId maybeListId maybeLimit = do ...@@ -404,7 +402,7 @@ getMetrics cId maybeListId maybeLimit = do
-- TODO all terms -- TODO all terms
ngs' <- mapTermListRoot [lId] NgramsTerms ngs' <- mapTermListRoot [lId] NgramsTerms
let ngs = filterListWithRoot GraphTerm ngs' let ngs = Map.unions $ map (\t -> filterListWithRoot t ngs') [GraphTerm, StopTerm, CandidateTerm]
myCooc <- Map.filter (>1) <$> getCoocByNgrams myCooc <- Map.filter (>1) <$> getCoocByNgrams
<$> groupNodesByNgrams ngs <$> groupNodesByNgrams ngs
...@@ -412,8 +410,8 @@ getMetrics cId maybeListId maybeLimit = do ...@@ -412,8 +410,8 @@ getMetrics cId maybeListId maybeLimit = do
let let
metrics = map (\(Scored t s1 s2) -> Metric t s1 s2 (listType t ngs')) $ scored myCooc metrics = map (\(Scored t s1 s2) -> Metric t s1 s2 (listType t ngs')) $ scored myCooc
errorMsg = "API.Node.metrics: key absent"
listType t m = maybe (panic "error") fst $ Map.lookup t m listType t m = maybe (panic errorMsg) fst $ Map.lookup t m
metricsFiltered = case maybeLimit of metricsFiltered = case maybeLimit of
Nothing -> metrics Nothing -> metrics
...@@ -421,4 +419,3 @@ getMetrics cId maybeListId maybeLimit = do ...@@ -421,4 +419,3 @@ getMetrics cId maybeListId maybeLimit = do
pure $ Metrics metricsFiltered pure $ Metrics metricsFiltered
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment