Open ipodishima opened 1 month ago
Hey,👋 thanks for raising this! I'm going to transfer this over to our API repository for better assistance 🙂
Perfect thanks
I’m just seeing this in the documentation
maybe it’s kinda related
Hey @ipodishima, Thanks for raising this. As mentioned in the documentation, you need to query the relation data separately.
Ok @AnilMaktala It’s a bit weird though, because the documentation is not really clear about this nor does it specify how you can create a member in this case. By default, the mutation query to create a member tries to return the team. So maybe that it shouldn’t be the case somehow?
Hey @ipodishima, Are you using subscriptions in your app? If not, you can disable them to resolve this issue.
Hey @AnilMaktala no I'm not using subscriptions. I mean now yes, but not when I opened the bug. My workaround for now is to not have relation ships. I just store the parent ID and fetches all objects with a specific parent ID
@AnilMaktala I am also running into this issue. I'm not using subscriptions either. Interestingly creating my object with nil for all the relationships it has in the appSync console works, I just get the following error in in my frontend:
message String "Cannot return null for non-nullable type: \'ID\' within parent \'MyParentModel\' (/createMyParentModel/myRelationField/id)"
Are there any updates here?
Edit:
Some context: This query to create a model in the AppSync console works:
mutation MyMutation {
createMyModel(input: {}) {
id
myRelationId
}
}
However, in my iOS app,
let newModel = MyModel()
let result = try await Amplify.API.mutate(
request: .create(newModel, authMode: .amazonCognitoUserPools)
)
switch result {
case .success(let amplifyResponseModel):
// ...
case .failure(let error):
print("Failed to create in cloud \(error)")
throw error
}
shows the error I described.
My workaround is to grab the returned MyModel from the partial in the result.
Hey @ipodishima and @concavegit, Our team will work on modifying the default mutation logic in the codegen to eliminate the inclusion of child models.
How did you install the Amplify CLI?
npx
If applicable, what version of Node.js are you using?
v20.6.1
Amplify CLI Version
npx ampx --version 1.2.5
What operating system are you using?
Mac
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No
Describe the bug
I took the example given in the documentation and just changed the authorization to
owner
I can run a mutation for creating a team with success.
But when I run this mutation
This is what I get
Note: Running the query just after
works (aka John was created, but the response had an error)
Also, when I run
There are no issues
Expected behavior
When using
allow.authenticated()
I do not have this issue. I expect the same behavior when auth isowner()
Reproduction steps
Simply creating a new model with team and member like in the documentation, but with owner for the auth for both team and member
Project Identifier
No response
Log output
Additional information
No response
Before submitting, please confirm: