Skip to content

syncExpression doesn't support lists #1509

Open
@PS-MS

Description

@PS-MS

Before opening, please confirm:

Language and Async Model

Kotlin

Amplify Categories

DataStore

Gradle script dependencies

// Put output below this line

Environment information

# Put output below this line


Please include any relevant guides or documentation you're referencing

https://docs.amplify.aws/lib/datastore/sync/q/platform/android/#selectively-syncing-a-subset-of-your-data

Describe the bug

We are using group authorisation and as AppSync doesn't support dynamic group authorisation, and tells every device when something has been created/updated/deleted despite group settings, I tried to add in the following syncExpression:

.syncExpression(***::class.java) { ***.GROUP.contains("3bd49a54-cb68-454c-860e-d06d7dc1bd0f") }

GROUP being a list of strings, but on running the app the expression fails with:
java.lang.IllegalArgumentException: group field inside provided object cannot be evaluated by the operator type: CONTAINS

Reproduction steps (if applicable)

Attempt to use a syncExpression for a QueryField that is a List<*>

Code Snippet

// Put your code below this line.

Log output

// Put your logs below this line


amplifyconfiguration.json

No response

GraphQL Schema

// Put your schema below this line

Additional information and screenshots

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions