diff --git a/docs/graphql/manual/api-reference/schema-metadata-api/actions.rst b/docs/graphql/manual/api-reference/schema-metadata-api/actions.rst index 901431f8df926..7b840002e9a30 100644 --- a/docs/graphql/manual/api-reference/schema-metadata-api/actions.rst +++ b/docs/graphql/manual/api-reference/schema-metadata-api/actions.rst @@ -91,7 +91,7 @@ ActionDefinition - Schema - Description * - arguments - - true + - false - Array of InputArgument_ - Input arguments * - output_type diff --git a/server/src-lib/Hasura/RQL/DDL/Metadata/Types.hs b/server/src-lib/Hasura/RQL/DDL/Metadata/Types.hs index 00126a45ff68f..9f503b1363cfe 100644 --- a/server/src-lib/Hasura/RQL/DDL/Metadata/Types.hs +++ b/server/src-lib/Hasura/RQL/DDL/Metadata/Types.hs @@ -487,12 +487,11 @@ replaceMetadataToOrdJSON ( ReplaceMetadata actionDefinitionToOrdJSON (ActionDefinition args outputType kind headers frwrdClientHdrs handler) = AO.object $ [ ("kind", AO.toOrdered kind) , ("handler", AO.toOrdered handler) - , ("arguments", AO.array $ map argDefinitionToOrdJSON args) , ("output_type", AO.toOrdered outputType) ] <> [("forward_client_headers", AO.toOrdered frwrdClientHdrs) | frwrdClientHdrs] <> catMaybes [ listToMaybeOrdPair "headers" AO.toOrdered headers - ] + , listToMaybeOrdPair "arguments" argDefinitionToOrdJSON args] where argDefinitionToOrdJSON :: ArgumentDefinition -> AO.Value argDefinitionToOrdJSON (ArgumentDefinition argName ty descM) = diff --git a/server/src-lib/Hasura/RQL/Types/Action.hs b/server/src-lib/Hasura/RQL/Types/Action.hs index 019082e0aa379..82c268a332435 100644 --- a/server/src-lib/Hasura/RQL/Types/Action.hs +++ b/server/src-lib/Hasura/RQL/Types/Action.hs @@ -103,7 +103,7 @@ $(J.deriveToJSON (J.aesonDrop 3 J.snakeCase) ''ActionDefinition) instance (J.FromJSON a) => J.FromJSON (ActionDefinition a) where parseJSON = J.withObject "ActionDefinition" $ \o -> ActionDefinition - <$> o J..: "arguments" + <$> o J..:? "arguments" J..!= [] <*> o J..: "output_type" <*> o J..:? "kind" J..!= ActionSynchronous -- Synchronous is default action kind <*> o J..:? "headers" J..!= []