Phil Gresham
Phil Gresham

Reputation: 11

graphql appsync query with boolean filter

I have the need to query all incomplete projects, wherein upon completion a project will be given a status change (Completed) plus a boolean isComplete==true.

I'm working through AWS Appsync to test the queries before I hard-code them into my app, but this one doesn't seem to be effective. I want all projects where isComplete==false or isComplete==null: boolean logic doesn't work with the input1 variable below (0 results).

{"__typename":{"S":"Project"},"addressLine1":{"S":"321 Faith Cir"},"city":{"S":"Perris"},"createdAt":{"S":"2019-03-05T01:01:39.513Z"},"currentOwner":{"S":"pgres52"},"dateRequired":{"S":"2019-03-13-07:00"},"id":{"S":"89a5-42ef7efef8fb"},"status":{"S":"Created"},"statusLastChangedAt":{"S":"2019-03-05T01:01:39.513Z"}}

{
  "input1":{
    "isComplete": {
      "ne": true
    }
  }
}

query listNonCompleteProjects($input1: ModelProjectFilterInput) {
  listProjects(filter: $input1, limit: 20) {
    items {
      id
      currentOwner
      addressLine1
      city
      dateRequired
      isComplete
      statusLastChangedAt
    }
    nextToken
  }
}```

Upvotes: 0

Views: 2092

Answers (1)

Phil Gresham
Phil Gresham

Reputation: 11

Solved! Partially helped with this post: Prisma.io: How do I filter items with certain fields being null?

I was able to get it to work with an additional parameter status (string):

query listNonCompleteProjects($input1: ModelProjectFilterInput) {
  listProjects(filter: $input1, limit: 20) {
    items {
      ...
    }
  }
}
  "input1":{
    "and": [
      {"status": {"notContains": "Complete"}},
      {"isComplete": {
        "ne": true
      }}
    ]
  },

Upvotes: 1

Related Questions