module Asana.Api.Tag ( Tag(..) ) where import Asana.Api.Prelude import Asana.Api.Gid import Data.Aeson import Data.Aeson.Casing (aesonPrefix, snakeCase) data Tag = Tag { Tag -> Gid tGid :: Gid , Tag -> Text tName :: Text } deriving stock (Tag -> Tag -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: Tag -> Tag -> Bool $c/= :: Tag -> Tag -> Bool == :: Tag -> Tag -> Bool $c== :: Tag -> Tag -> Bool Eq, forall x. Rep Tag x -> Tag forall x. Tag -> Rep Tag x forall a. (forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a $cto :: forall x. Rep Tag x -> Tag $cfrom :: forall x. Tag -> Rep Tag x Generic, Int -> Tag -> ShowS [Tag] -> ShowS Tag -> String forall a. (Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a showList :: [Tag] -> ShowS $cshowList :: [Tag] -> ShowS show :: Tag -> String $cshow :: Tag -> String showsPrec :: Int -> Tag -> ShowS $cshowsPrec :: Int -> Tag -> ShowS Show) instance FromJSON Tag where parseJSON :: Value -> Parser Tag parseJSON = forall a. (Generic a, GFromJSON Zero (Rep a)) => Options -> Value -> Parser a genericParseJSON forall a b. (a -> b) -> a -> b $ ShowS -> Options aesonPrefix ShowS snakeCase