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