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

[CLEAN] refact clean WIP

parent 1c3ad407
...@@ -24,33 +24,6 @@ import Gargantext.Prelude ...@@ -24,33 +24,6 @@ import Gargantext.Prelude
import Gargantext.Database.Admin.Types.Hyperdata.Prelude import Gargantext.Database.Admin.Types.Hyperdata.Prelude
data StatusV3 = StatusV3 { statusV3_error :: !(Maybe Text)
, statusV3_action :: !(Maybe Text)
} deriving (Show, Generic)
$(deriveJSON (unPrefix "statusV3_") ''StatusV3)
------------------------------------------------------------------------
data HyperdataDocumentV3 = HyperdataDocumentV3 { hyperdataDocumentV3_publication_day :: !(Maybe Int)
, hyperdataDocumentV3_language_iso2 :: !(Maybe Text)
, hyperdataDocumentV3_publication_second :: !(Maybe Int)
, hyperdataDocumentV3_publication_minute :: !(Maybe Int)
, hyperdataDocumentV3_publication_month :: !(Maybe Int)
, hyperdataDocumentV3_publication_hour :: !(Maybe Int)
, hyperdataDocumentV3_error :: !(Maybe Text)
, hyperdataDocumentV3_language_iso3 :: !(Maybe Text)
, hyperdataDocumentV3_authors :: !(Maybe Text)
, hyperdataDocumentV3_publication_year :: !(Maybe Int)
, hyperdataDocumentV3_publication_date :: !(Maybe Text)
, hyperdataDocumentV3_language_name :: !(Maybe Text)
, hyperdataDocumentV3_statuses :: !(Maybe [StatusV3])
, hyperdataDocumentV3_realdate_full_ :: !(Maybe Text)
, hyperdataDocumentV3_source :: !(Maybe Text)
, hyperdataDocumentV3_abstract :: !(Maybe Text)
, hyperdataDocumentV3_title :: !(Maybe Text)
} deriving (Show, Generic)
------------------------------------------------------------------------ ------------------------------------------------------------------------
data HyperdataDocument = HyperdataDocument { _hyperdataDocument_bdd :: !(Maybe Text) data HyperdataDocument = HyperdataDocument { _hyperdataDocument_bdd :: !(Maybe Text)
, _hyperdataDocument_doi :: !(Maybe Text) , _hyperdataDocument_doi :: !(Maybe Text)
...@@ -73,7 +46,7 @@ data HyperdataDocument = HyperdataDocument { _hyperdataDocument_bdd ...@@ -73,7 +46,7 @@ data HyperdataDocument = HyperdataDocument { _hyperdataDocument_bdd
, _hyperdataDocument_language_iso2 :: !(Maybe Text) , _hyperdataDocument_language_iso2 :: !(Maybe Text)
} deriving (Show, Generic) } deriving (Show, Generic)
------------------------------------------------------------------------
defaultHyperdataDocument :: HyperdataDocument defaultHyperdataDocument :: HyperdataDocument
defaultHyperdataDocument = case decode docExample of defaultHyperdataDocument = case decode docExample of
Just hp -> hp Just hp -> hp
...@@ -87,48 +60,36 @@ defaultHyperdataDocument = case decode docExample of ...@@ -87,48 +60,36 @@ defaultHyperdataDocument = case decode docExample of
docExample :: ByteString docExample :: ByteString
docExample = "{\"doi\":\"sdfds\",\"publication_day\":6,\"language_iso2\":\"en\",\"publication_minute\":0,\"publication_month\":7,\"language_iso3\":\"eng\",\"publication_second\":0,\"authors\":\"Nils Hovdenak, Kjell Haram\",\"publication_year\":2012,\"publication_date\":\"2012-07-06 00:00:00+00:00\",\"language_name\":\"English\",\"realdate_full_\":\"2012 01 12\",\"source\":\"European journal of obstetrics, gynecology, and reproductive biology\",\"abstract\":\"The literature was searched for publications on minerals and vitamins during pregnancy and the possible influence of supplements on pregnancy outcome.\",\"title\":\"Influence of mineral and vitamin supplements on pregnancy outcome.\",\"publication_hour\":0}" docExample = "{\"doi\":\"sdfds\",\"publication_day\":6,\"language_iso2\":\"en\",\"publication_minute\":0,\"publication_month\":7,\"language_iso3\":\"eng\",\"publication_second\":0,\"authors\":\"Nils Hovdenak, Kjell Haram\",\"publication_year\":2012,\"publication_date\":\"2012-07-06 00:00:00+00:00\",\"language_name\":\"English\",\"realdate_full_\":\"2012 01 12\",\"source\":\"European journal of obstetrics, gynecology, and reproductive biology\",\"abstract\":\"The literature was searched for publications on minerals and vitamins during pregnancy and the possible influence of supplements on pregnancy outcome.\",\"title\":\"Influence of mineral and vitamin supplements on pregnancy outcome.\",\"publication_hour\":0}"
------------------------------------------------------------------------
-- Instances
------------------------------------------------------------------------
instance Hyperdata HyperdataDocument
instance Hyperdata HyperdataDocumentV3
------------------------------------------------------------------------ ------------------------------------------------------------------------
instance ToSchema HyperdataDocument where -- | Legacy Garg V3 compatibility (to be removed one year after release)
declareNamedSchema proxy = data StatusV3 = StatusV3 { statusV3_error :: !(Maybe Text)
genericDeclareNamedSchema (unPrefixSwagger "_hyperdataDocument_") proxy , statusV3_action :: !(Maybe Text)
& mapped.schema.description ?~ "Document Hyperdata" } deriving (Show, Generic)
& mapped.schema.example ?~ toJSON defaultHyperdataDocument $(deriveJSON (unPrefix "statusV3_") ''StatusV3)
------------------------------------------------------------------------
instance FromField HyperdataDocument
where
fromField = fromField'
instance FromField HyperdataDocumentV3
where
fromField = fromField'
instance ToField HyperdataDocument where
toField = toJSONField
instance ToField HyperdataDocumentV3 where
toField = toJSONField
------------------------------------------------------------------------ ------------------------------------------------------------------------
instance QueryRunnerColumnDefault PGJsonb HyperdataDocument data HyperdataDocumentV3 = HyperdataDocumentV3 { hyperdataDocumentV3_publication_day :: !(Maybe Int)
where , hyperdataDocumentV3_language_iso2 :: !(Maybe Text)
queryRunnerColumnDefault = fieldQueryRunnerColumn , hyperdataDocumentV3_publication_second :: !(Maybe Int)
, hyperdataDocumentV3_publication_minute :: !(Maybe Int)
, hyperdataDocumentV3_publication_month :: !(Maybe Int)
, hyperdataDocumentV3_publication_hour :: !(Maybe Int)
, hyperdataDocumentV3_error :: !(Maybe Text)
, hyperdataDocumentV3_language_iso3 :: !(Maybe Text)
, hyperdataDocumentV3_authors :: !(Maybe Text)
, hyperdataDocumentV3_publication_year :: !(Maybe Int)
, hyperdataDocumentV3_publication_date :: !(Maybe Text)
, hyperdataDocumentV3_language_name :: !(Maybe Text)
, hyperdataDocumentV3_statuses :: !(Maybe [StatusV3])
, hyperdataDocumentV3_realdate_full_ :: !(Maybe Text)
, hyperdataDocumentV3_source :: !(Maybe Text)
, hyperdataDocumentV3_abstract :: !(Maybe Text)
, hyperdataDocumentV3_title :: !(Maybe Text)
} deriving (Show, Generic)
instance QueryRunnerColumnDefault PGJsonb HyperdataDocumentV3
where
queryRunnerColumnDefault = fieldQueryRunnerColumn
------------------------------------------------------------------------ ------------------------------------------------------------------------
$(deriveJSON (unPrefix "hyperdataDocumentV3_") ''HyperdataDocumentV3) -- | Instances for Analysis
$(deriveJSON (unPrefix "_hyperdataDocument_") ''HyperdataDocument)
------------------------------------------------------------------------
$(makeLenses ''HyperdataDocument)
------------------------------------------------------------------------ ------------------------------------------------------------------------
class ToHyperdataDocument a where class ToHyperdataDocument a where
toHyperdataDocument :: a -> HyperdataDocument toHyperdataDocument :: a -> HyperdataDocument
...@@ -162,3 +123,57 @@ arbitraryHyperdataDocuments = ...@@ -162,3 +123,57 @@ arbitraryHyperdataDocuments =
Nothing Nothing (Just t2) Nothing Nothing Nothing Nothing Nothing Nothing Nothing (Just t2) Nothing Nothing Nothing Nothing Nothing
Nothing Nothing Nothing Nothing Nothing Nothing Nothing Nothing
------------------------------------------------------------------------
-- | Common Instances of Hyperdata
------------------------------------------------------------------------
instance Hyperdata HyperdataDocument
instance Hyperdata HyperdataDocumentV3
------------------------------------------------------------------------
$(makeLenses ''HyperdataDocument)
-- $(makeLenses ''HyperdataDocumentV3)
$(deriveJSON (unPrefix "_hyperdataDocument_") ''HyperdataDocument)
$(deriveJSON (unPrefix "hyperdataDocumentV3_") ''HyperdataDocumentV3)
instance ToSchema HyperdataDocument where
declareNamedSchema proxy =
genericDeclareNamedSchema (unPrefixSwagger "_hyperdataDocument_") proxy
& mapped.schema.description ?~ "Document Hyperdata"
& mapped.schema.example ?~ toJSON defaultHyperdataDocument
{-
-- | For now HyperdataDocumentV3 is not exposed with the API
instance ToSchema HyperdataDocumentV3 where
declareNamedSchema proxy =
genericDeclareNamedSchema (unPrefixSwagger "hyperdataDocumentV3_") proxy
& mapped.schema.description ?~ "Document Hyperdata for Garg V3"
& mapped.schema.example ?~ toJSON defaultHyperdataDocumentV3
-}
------------------------------------------------------------------------
instance FromField HyperdataDocument
where
fromField = fromField'
instance FromField HyperdataDocumentV3
where
fromField = fromField'
-------
instance ToField HyperdataDocument where
toField = toJSONField
instance ToField HyperdataDocumentV3 where
toField = toJSONField
------------------------------------------------------------------------
instance QueryRunnerColumnDefault PGJsonb HyperdataDocument
where
queryRunnerColumnDefault = fieldQueryRunnerColumn
instance QueryRunnerColumnDefault PGJsonb HyperdataDocumentV3
where
queryRunnerColumnDefault = fieldQueryRunnerColumn
------------------------------------------------------------------------
...@@ -18,7 +18,6 @@ Portability : POSIX ...@@ -18,7 +18,6 @@ Portability : POSIX
{-# LANGUAGE RankNTypes #-} {-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TemplateHaskell #-}
module Gargantext.Database.Admin.Types.Hyperdata.List module Gargantext.Database.Admin.Types.Hyperdata.List
where where
......
...@@ -18,7 +18,6 @@ Portability : POSIX ...@@ -18,7 +18,6 @@ Portability : POSIX
{-# LANGUAGE RankNTypes #-} {-# LANGUAGE RankNTypes #-}
{-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TemplateHaskell #-}
module Gargantext.Database.Admin.Types.Hyperdata.Model module Gargantext.Database.Admin.Types.Hyperdata.Model
where where
......
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