You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While making #4038 I found some things I didn’t change in that PR (it’s already big as-is) but we may want to look at again:
AuthorizationPlugin::filter_query parses key.filtered_query as a GraphQL string. Is this a string we’ve only just serialized from an ast::Document or Executable document? Could we re-use those instead?
For an enum type, validate_input_value accepts any JSON value. Should it only accept strings equal to one of the enum values definied in the schema?
For an input object type, validate_input_value only looks at fields defined in the schema. Should it also reject JSON objects that contain any key not defined as an input object field in the schema?
AuthorizationPlugin::filter_query looks at whether the filtered document is empty. Should it only consider the relevant operation instead? filtered_doc.get_operation(key.operation_name)
SimonSapin
changed the title
TODOs added in PR #4038 Port to apollo-compiler 1.0 beta
TODO/FIXME added in PR #4038 Port to apollo-compiler 1.0 beta
Oct 19, 2023
While making #4038 I found some things I didn’t change in that PR (it’s already big as-is) but we may want to look at again:
AuthorizationPlugin::filter_query
parseskey.filtered_query
as a GraphQL string. Is this a string we’ve only just serialized from anast::Document
orExecutable
document? Could we re-use those instead?validate_input_value
accepts any JSON value. Should it only accept strings equal to one of the enum values definied in the schema?validate_input_value
only looks at fields defined in the schema. Should it also reject JSON objects that contain any key not defined as an input object field in the schema?AuthorizationPlugin::filter_query
looks at whether the filtered document is empty. Should it only consider the relevant operation instead?filtered_doc.get_operation(key.operation_name)
Schema::is_implementation(interface: &str, implementor: &str) -> bool
containsinterface.implements_interfaces.contains(implementor)
(previouslyinterface.implements_interfaces().any(|i| i.interface() == implementor)
). This looks backwards.The text was updated successfully, but these errors were encountered: