Commit 60b07ef4 authored by Alexandre Delanoë's avatar Alexandre Delanoë

[TYPES] changing json data of Corpus Node.

parent f70d635d
...@@ -37,7 +37,7 @@ import Data.Maybe (Maybe) ...@@ -37,7 +37,7 @@ import Data.Maybe (Maybe)
import Data.Profunctor.Product.Default (Default) import Data.Profunctor.Product.Default (Default)
import Data.Profunctor.Product.TH (makeAdaptorAndInstance) import Data.Profunctor.Product.TH (makeAdaptorAndInstance)
import Data.Time (UTCTime) import Data.Time (UTCTime)
import Data.Time.Segment (jour, timesAfter, Granularity(D)) import Data.Time.Segment (jour)
import Data.Swagger import Data.Swagger
import Database.PostgreSQL.Simple (Connection) import Database.PostgreSQL.Simple (Connection)
...@@ -110,7 +110,6 @@ type FacetDocRead = Facet (Column PGInt4 ) ...@@ -110,7 +110,6 @@ type FacetDocRead = Facet (Column PGInt4 )
(Column PGInt4 ) (Column PGInt4 )
----------------------------------------------------------------------- -----------------------------------------------------------------------
type UTCTime' = UTCTime
data FacetChart = FacetChart { facetChart_time :: UTCTime' data FacetChart = FacetChart { facetChart_time :: UTCTime'
, facetChart_count :: Double , facetChart_count :: Double
...@@ -119,9 +118,6 @@ data FacetChart = FacetChart { facetChart_time :: UTCTime' ...@@ -119,9 +118,6 @@ data FacetChart = FacetChart { facetChart_time :: UTCTime'
$(deriveJSON (unPrefix "facetChart_") ''FacetChart) $(deriveJSON (unPrefix "facetChart_") ''FacetChart)
instance ToSchema FacetChart instance ToSchema FacetChart
instance Arbitrary UTCTime' where
arbitrary = elements $ timesAfter 100 D (jour 2000 01 01)
instance Arbitrary FacetChart where instance Arbitrary FacetChart where
arbitrary = FacetChart <$> arbitrary <*> arbitrary arbitrary = FacetChart <$> arbitrary <*> arbitrary
......
...@@ -9,18 +9,23 @@ Portability : POSIX ...@@ -9,18 +9,23 @@ Portability : POSIX
-} -}
{-# LANGUAGE DeriveGeneric #-} {-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-} {-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE FlexibleInstances #-}
-- {-# LANGUAGE DuplicateRecordFields #-} -- {-# LANGUAGE DuplicateRecordFields #-}
module Gargantext.Types.Node where module Gargantext.Types.Node where
import Prelude (Enum, Bounded, minBound, maxBound)
import GHC.Generics (Generic) import GHC.Generics (Generic)
import Control.Lens hiding (elements) import Control.Lens hiding (elements)
import qualified Control.Lens as L import qualified Control.Lens as L
import Control.Applicative ((<*>))
import Data.Aeson import Data.Aeson
import Data.Aeson (Value(),toJSON) import Data.Aeson (Value(),toJSON)
import Data.Aeson.TH (deriveJSON) import Data.Aeson.TH (deriveJSON)
...@@ -29,7 +34,7 @@ import Data.Either ...@@ -29,7 +34,7 @@ import Data.Either
import Data.Eq (Eq) import Data.Eq (Eq)
import Data.Text (Text, unpack) import Data.Text (Text, unpack)
import Data.Time (UTCTime) import Data.Time (UTCTime)
import Data.Time.Segment (jour) import Data.Time.Segment (jour, timesAfter, Granularity(D))
import Data.Swagger import Data.Swagger
import Text.Read (read) import Text.Read (read)
...@@ -44,17 +49,23 @@ import Gargantext.Prelude ...@@ -44,17 +49,23 @@ import Gargantext.Prelude
import Gargantext.Utils.Prefix (unPrefix) import Gargantext.Utils.Prefix (unPrefix)
------------------------------------------------------------------------ ------------------------------------------------------------------------
data Status = Status { status_date :: Maybe UTCTime
, status_error :: Maybe Text type UTCTime' = UTCTime
, status_action :: Maybe Text
, status_complete :: Maybe Bool instance Arbitrary UTCTime' where
, status_progress :: Maybe Int arbitrary = elements $ timesAfter 100 D (jour 2000 01 01)
------------------------------------------------------------------------
data Status = Status { status_failed :: Int
, status_succeeded :: Int
, status_remaining :: Int
} deriving (Show, Generic) } deriving (Show, Generic)
$(deriveJSON (unPrefix "status_") ''Status) $(deriveJSON (unPrefix "status_") ''Status)
instance Arbitrary Status where instance Arbitrary Status where
arbitrary = elements [Status Nothing Nothing Nothing Nothing Nothing] arbitrary = Status <$> arbitrary <*> arbitrary <*> arbitrary
------------------------------------------------------------------------ ------------------------------------------------------------------------
data HyperdataDocument = HyperdataDocument { hyperdataDocument_bdd :: Maybe Text data HyperdataDocument = HyperdataDocument { hyperdataDocument_bdd :: Maybe Text
...@@ -99,25 +110,50 @@ data LanguageNodes = LanguageNodes { languageNodes___unknown__ :: [Int]} ...@@ -99,25 +110,50 @@ data LanguageNodes = LanguageNodes { languageNodes___unknown__ :: [Int]}
deriving (Show, Generic) deriving (Show, Generic)
$(deriveJSON (unPrefix "languageNodes_") ''LanguageNodes) $(deriveJSON (unPrefix "languageNodes_") ''LanguageNodes)
------------------------------------------------------------------------
-- level: debug | dev (fatal = critical)
data EventLevel = CRITICAL | FATAL | ERROR | WARNING | INFO | DEBUG
deriving (Show, Generic, Enum, Bounded)
instance FromJSON EventLevel
instance ToJSON EventLevel
instance Arbitrary EventLevel where
arbitrary = elements [minBound..maxBound]
------------------------------------------------------------------------
data Event = Event { event_level :: EventLevel
, event_message :: Text
, event_date :: UTCTime
} deriving (Show, Generic)
$(deriveJSON (unPrefix "event_") ''Event)
instance Arbitrary Event where
arbitrary = Event <$> arbitrary <*> arbitrary <*> arbitrary
------------------------------------------------------------------------ ------------------------------------------------------------------------
data Resource = Resource { resource_url :: Maybe Text type Text' = Text
, resource_path :: Maybe Text
, resource_type :: Maybe Int instance Arbitrary Text' where
, resource_extracted :: Maybe Bool arbitrary = elements ["ici", "la"]
data Resource = Resource { resource_path :: Maybe Text
, resource_scraper :: Maybe Text
, resource_query :: Maybe Text
, resource_events :: [Event]
, resource_status :: Status
, resource_date :: UTCTime'
} deriving (Show, Generic) } deriving (Show, Generic)
$(deriveJSON (unPrefix "resource_") ''Resource) $(deriveJSON (unPrefix "resource_") ''Resource)
instance Arbitrary Resource where instance Arbitrary Resource where
arbitrary = elements [Resource Nothing Nothing Nothing Nothing] arbitrary = Resource <$> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary <*> arbitrary
data HyperdataCorpus = HyperdataCorpus { hyperdataCorpus_action :: Maybe Text ------------------------------------------------------------------------
, hyperdataCorpus_statuses :: Maybe [Status]
, hyperdataCorpus_languages :: Maybe LanguageNodes data HyperdataCorpus = HyperdataCorpus { hyperdataCorpus_resources :: [Resource]
, hyperdataCorpus_resources :: Maybe [Resource]
, hyperdataCorpus_language_id :: Maybe Text
, hyperdataCorpus_skipped_docs :: Maybe [Int]
} deriving (Show, Generic) } deriving (Show, Generic)
$(deriveJSON (unPrefix "hyperdataCorpus_") ''HyperdataCorpus) $(deriveJSON (unPrefix "hyperdataCorpus_") ''HyperdataCorpus)
......
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