Commit c45199f7 authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

[API] some fixes to sum types JSON serialization

parent 9bd89984
...@@ -46,6 +46,7 @@ import Gargantext.Database.Admin.Types.Hyperdata (HyperdataAnnuaire(..), Hyperda ...@@ -46,6 +46,7 @@ import Gargantext.Database.Admin.Types.Hyperdata (HyperdataAnnuaire(..), Hyperda
import Gargantext.Database.Admin.Types.Hyperdata.Contact (hyperdataContact) import Gargantext.Database.Admin.Types.Hyperdata.Contact (hyperdataContact)
import Gargantext.Database.Admin.Types.Node import Gargantext.Database.Admin.Types.Node
import Gargantext.Prelude (($), liftBase, (.), printDebug, pure) import Gargantext.Prelude (($), liftBase, (.), printDebug, pure)
import qualified Gargantext.Utils.Aeson as GUA
------------------------------------------------------------------------ ------------------------------------------------------------------------
type API = "contact" :> Summary "Contact endpoint" type API = "contact" :> Summary "Contact endpoint"
...@@ -105,10 +106,10 @@ addContact _uId _nId _p logStatus = do ...@@ -105,10 +106,10 @@ addContact _uId _nId _p logStatus = do
------------------------------------------------------------------------ ------------------------------------------------------------------------
-- TODO unPrefix "pn_" FromJSON, ToJSON, ToSchema, adapt frontend. -- TODO unPrefix "pn_" FromJSON, ToJSON, ToSchema, adapt frontend.
instance FromJSON AddContactParams where instance FromJSON AddContactParams where
parseJSON = genericParseJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) parseJSON = genericParseJSON (defaultOptions { sumEncoding = GUA.defaultTaggedObject })
instance ToJSON AddContactParams where instance ToJSON AddContactParams where
toJSON = genericToJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) toJSON = genericToJSON (defaultOptions { sumEncoding = GUA.defaultTaggedObject })
instance ToSchema AddContactParams instance ToSchema AddContactParams
instance Arbitrary AddContactParams where instance Arbitrary AddContactParams where
......
...@@ -42,6 +42,7 @@ import Gargantext.Database.Query.Table.NodeNode (selectPublicNodes) ...@@ -42,6 +42,7 @@ import Gargantext.Database.Query.Table.NodeNode (selectPublicNodes)
import Gargantext.Core.Utils.DateUtils (utc2year) import Gargantext.Core.Utils.DateUtils (utc2year)
import Gargantext.Database.Schema.Node -- (NodePoly(..)) import Gargantext.Database.Schema.Node -- (NodePoly(..))
import Gargantext.Prelude import Gargantext.Prelude
import qualified Gargantext.Utils.Aeson as GUA
------------------------------------------------------------------------ ------------------------------------------------------------------------
type API = API_Home type API = API_Home
...@@ -138,10 +139,10 @@ data PublicData = PublicData ...@@ -138,10 +139,10 @@ data PublicData = PublicData
instance FromJSON PublicData where instance FromJSON PublicData where
parseJSON = genericParseJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) parseJSON = genericParseJSON (defaultOptions { sumEncoding = GUA.defaultTaggedObject })
instance ToJSON PublicData where instance ToJSON PublicData where
toJSON = genericToJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) toJSON = genericToJSON (defaultOptions { sumEncoding = GUA.defaultTaggedObject })
instance ToSchema PublicData instance ToSchema PublicData
instance Arbitrary PublicData where instance Arbitrary PublicData where
......
...@@ -75,12 +75,10 @@ api nId (SearchQuery q SearchContact) o l order = do ...@@ -75,12 +75,10 @@ api nId (SearchQuery q SearchContact) o l order = do
----------------------------------------------------------------------- -----------------------------------------------------------------------
data SearchType = SearchDoc | SearchContact data SearchType = SearchDoc | SearchContact
deriving (Generic) deriving (Generic)
instance FromJSON SearchType instance FromJSON SearchType where
where parseJSON = genericParseJSON (defaultOptions { sumEncoding = ObjectWithSingleField })
parseJSON = genericParseJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) instance ToJSON SearchType where
instance ToJSON SearchType toJSON = genericToJSON (defaultOptions { sumEncoding = ObjectWithSingleField })
where
toJSON = genericToJSON (defaultOptions { sumEncoding = ObjectWithSingleField })
instance ToSchema SearchType instance ToSchema SearchType
instance Arbitrary SearchType where instance Arbitrary SearchType where
arbitrary = elements [SearchDoc, SearchContact] arbitrary = elements [SearchDoc, SearchContact]
...@@ -91,12 +89,10 @@ data SearchQuery = ...@@ -91,12 +89,10 @@ data SearchQuery =
, expected :: !SearchType , expected :: !SearchType
} }
deriving (Generic) deriving (Generic)
instance FromJSON SearchQuery instance FromJSON SearchQuery where
where parseJSON = genericParseJSON defaultOptions
parseJSON = genericParseJSON (defaultOptions { sumEncoding = ObjectWithSingleField }) instance ToJSON SearchQuery where
instance ToJSON SearchQuery toJSON = genericToJSON defaultOptions
where
toJSON = genericToJSON (defaultOptions { sumEncoding = ObjectWithSingleField })
instance ToSchema SearchQuery instance ToSchema SearchQuery
{- {-
where where
...@@ -111,13 +107,11 @@ data SearchResult = ...@@ -111,13 +107,11 @@ data SearchResult =
SearchResult { result :: !SearchResultTypes} SearchResult { result :: !SearchResultTypes}
deriving (Generic) deriving (Generic)
instance FromJSON SearchResult instance FromJSON SearchResult where
where parseJSON = genericParseJSON defaultOptions
parseJSON = genericParseJSON (defaultOptions { sumEncoding = ObjectWithSingleField })
instance ToJSON SearchResult instance ToJSON SearchResult where
where toJSON = genericToJSON defaultOptions
toJSON = genericToJSON (defaultOptions { sumEncoding = ObjectWithSingleField })
instance ToSchema SearchResult instance ToSchema SearchResult
{- {-
...@@ -134,12 +128,10 @@ data SearchResultTypes = ...@@ -134,12 +128,10 @@ data SearchResultTypes =
| SearchResultContact { contacts :: ![Row] } | SearchResultContact { contacts :: ![Row] }
| SearchNoResult { message :: !Text } | SearchNoResult { message :: !Text }
deriving (Generic) deriving (Generic)
instance FromJSON SearchResultTypes instance FromJSON SearchResultTypes where
where parseJSON = genericParseJSON (defaultOptions { sumEncoding = defaultTaggedObject })
parseJSON = genericParseJSON (defaultOptions { sumEncoding = defaultTaggedObject }) instance ToJSON SearchResultTypes where
instance ToJSON SearchResultTypes toJSON = genericToJSON (defaultOptions { sumEncoding = defaultTaggedObject })
where
toJSON = genericToJSON (defaultOptions { sumEncoding = defaultTaggedObject })
instance Arbitrary SearchResultTypes where instance Arbitrary SearchResultTypes where
arbitrary = do arbitrary = do
......
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