Commit 29651a33 authored by Przemyslaw Kaminski's avatar Przemyslaw Kaminski

[API] some fixes to enum types JSON serialization

parent a10fbf1c
module Gargantext.Components.Forest.Tree.Node.Action.Contact.Types where
import Data.Generic.Rep (class Generic)
import Data.Newtype (class Newtype)
import Data.Show.Generic (genericShow)
import Gargantext.Utils.SimpleJSON as GUSJ
import Simple.JSON as JSON
import Gargantext.Prelude (class Eq, class Show)
newtype AddContactParams =
AddContactParams { firstname :: String, lastname :: String }
data AddContactParams =
AddContactParams { firstname :: String, lastname :: String }
| AddContactParamsAdvanced { firstname :: String, lastname :: String }
derive instance Eq AddContactParams
derive instance Generic AddContactParams _
derive instance Newtype AddContactParams _
instance Show AddContactParams where show = genericShow
derive newtype instance JSON.ReadForeign AddContactParams
derive newtype instance JSON.WriteForeign AddContactParams
instance JSON.ReadForeign AddContactParams where readImpl = GUSJ.taggedSumRep
instance JSON.WriteForeign AddContactParams where
writeImpl (AddContactParams { firstname, lastname }) =
JSON.writeImpl { type: "AddContactParams"
, values: { firstname, lastname } }
writeImpl (AddContactParamsAdvanced { firstname, lastname }) =
JSON.writeImpl { type: "AddContactParamsAdvanced"
, values: { firstname, lastname } }
......@@ -9,7 +9,6 @@ import Effect.Aff (Aff)
import Reactix as R
import Reactix.DOM.HTML as H
import Simple.JSON as JSON
import Simple.JSON.Generics as JSONG
import Gargantext.Config (publicBackend)
import Gargantext.Config.REST (get, RESTError)
......@@ -17,6 +16,7 @@ import Gargantext.Ends (backendUrl)
import Gargantext.Hooks.Loader (useLoader)
import Gargantext.Prelude
import Gargantext.Utils.Reactix as R2
import Gargantext.Utils.SimpleJSON as GUSJ
here :: R2.Here
here = R2.here "Gargantext.Components.Nodes.Home.Public"
......@@ -35,9 +35,8 @@ data PublicData = PublicData
derive instance Eq PublicData
derive instance Generic PublicData _
instance JSON.ReadForeign PublicData where readImpl = JSONG.untaggedSumRep
instance Show PublicData where
show = genericShow
instance JSON.ReadForeign PublicData where readImpl = GUSJ.taggedSumRep
instance Show PublicData where show = genericShow
------------------------------------------------------------------------
type LoadData :: forall k. Row k
......
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