Passing Javascript date object to prismic DateTime via Apollo fails

Hello dear support team,

slowly getting the hang of the powerful prismic graphql interface. I am having a little issue querying by date from apollo in reactjs. works fine in the graphql browser.

This didn't work: Latest Apollo Client sends Date objects as {} and now requires .toISOString() · Issue #4335 · apollographql/apollo-client · GitHub

Here is my repo link
https://resradio.prismic.io/graphql?query=query%20GetCurrentBroadcast(%24endAfter%3ADateTime!%2C%20%24beginBefore%3ADateTime)%20{ %20%20allBroadcastss(sortBy%3A%20begin_ASC%2C%20where%3A%20{%20end_after%3A%20%24endAfter%2C%20begin_before%3A%20%24beginBefore%20})%20{ %20%20%20%20pageInfo%20{ %20%20%20%20%20%20hasNextPage %20%20%20%20%20%20endCursor %20%20%20%20} %20%20%20%20totalCount %20%20%20%20edges%20{ %20%20%20%20%20%20node%20{ %20%20%20%20%20%20%20%20...broadcast %20%20%20%20%20%20} %20%20%20%20} %20%20} } fragment%20broadcast%20on%20Broadcasts%20{ %20%20%20%20_meta%20{ %20%20%20%20%20%20uid %20%20%20%20%20%20id %20%20%20%20%20%20firstPublicationDate %20%20%20%20} %20%20%20%20title %20%20%20%20hostedby%20{ %20%20%20%20%20%20...%20on%20Shows%20{ %20%20%20%20%20%20%20%20title %20%20%20%20%20%20} %20%20%20%20} %20%20%20%20description %20%20%20%20begin %20%20%20%20end %20%20%20%20length %20%20%20%20keyword %20%20%20%20image %20%20%20%20audio%20{ %20%20%20%20%20%20...%20on%20_FileLink%20{ %20%20%20%20%20%20%20%20name %20%20%20%20%20%20%20%20url %20%20%20%20%20%20%20%20size %20%20%20%20%20%20%20%20_linkType %20%20%20%20%20%20} %20%20%20%20} %20%20%20%20tags%20{ %20%20%20%20%20%20...broadcastTags %20%20%20%20} %20%20} fragment%20broadcastTags%20on%20BroadcastsTags%20{ %20%20%20%20tag%20{ %20%20%20%20%20%20_linkType %20%20%20%20} %20%20}&operationName=GetCurrentBroadcast&variables={%20"endAfter"%3A%20"2023-04-04T05%3A00%3A00%2B0000"%20}

my apollo query:

const { loading, error, data } = useQuery(
    getBroadcastsInRangeQuery,
    {
      variables:
      {
        endAfter: new Date(),
        beginBefore: new Date(),
      },
      pollInterval: 60 * 1000
    });

Error Message:

{
    "data": null,
    "errors": [
        {
            "message": "Variable '$endAfter' expected value of type 'DateTime!' but got: \"2023-04-04T14:30:48.695Z\". Reason: Date value expected (line 1, column 28):\nquery GetBroadcastsInRange($endAfter: DateTime!, $beginBefore: DateTime){allBroadcastss( sortBy: begin_ASC where:{end_after: $endAfter, begin_before: $beginBefore}){pageInfo{hasNextPage endCursor __typename}totalCount edges{node{...broadcast __typename}__typename}__typename}}fragment broadcast on Broadcasts{_meta{uid id firstPublicationDate __typename}title hostedby{... on Shows{title __typename}__typename}description begin end length keyword image audio{... on _FileLink{name url size _linkType __typename}__typename}tags{...broadcastTags __typename}__typename}fragment broadcastTags on BroadcastsTags{tag{_linkType __typename}__typename}\n                           ^",
            "locations": [
                {
                    "line": 1,
                    "column": 28
                }
            ]
        },
        {
            "message": "Variable '$beginBefore' expected value of type 'DateTime' but got: \"2023-04-04T14:30:48.695Z\". Reason: Date value expected (line 1, column 50):\nquery GetBroadcastsInRange($endAfter: DateTime!, $beginBefore: DateTime){allBroadcastss( sortBy: begin_ASC where:{end_after: $endAfter, begin_before: $beginBefore}){pageInfo{hasNextPage endCursor __typename}totalCount edges{node{...broadcast __typename}__typename}__typename}}fragment broadcast on Broadcasts{_meta{uid id firstPublicationDate __typename}title hostedby{... on Shows{title __typename}__typename}description begin end length keyword image audio{... on _FileLink{name url size _linkType __typename}__typename}tags{...broadcastTags __typename}__typename}fragment broadcastTags on BroadcastsTags{tag{_linkType __typename}__typename}\n                                                 ^",
            "locations": [
                {
                    "line": 1,
                    "column": 50
                }
            ]
        }
    ]
}

Graphql Query

query GetCurrentBroadcast($endAfter:DateTime!, $beginBefore:DateTime) {
  allBroadcastss(sortBy: begin_ASC, where: { end_after: $endAfter, begin_before: $beginBefore }) {
    pageInfo {
      hasNextPage
      endCursor
    }
    totalCount
    edges {
      node {
        ...broadcast
      }
    }
  }
}
fragment broadcast on Broadcasts {
    _meta {
      uid
      id
      firstPublicationDate
    }
    title
    hostedby {
      ... on Shows {
        title
      }
    }
    description
    begin
    end
    length
    keyword
    image
    audio {
      ... on _FileLink {
        name
        url
        size
        _linkType
      }
    }
    tags {
      ...broadcastTags
    }
  }

fragment broadcastTags on BroadcastsTags {
    tag {
      _linkType
    }
  }

Please forgive me using Broadcastss (with so many s) ... a misconception at the beginning, but too late to fix now, but too like traffic to migrate. I am waiting for the page to scale and fix this then. yes, messy, but works for the moment. :wink:

Hey @resradio.vienna, I think the issue is that GraphQL will not accept that date format. Have you tried testing the queries first in the GraphiQL tool of your repo?