-
Here's my query:
And the response:
Since not all users are on a team I would expect to get all users back and just have the team section be null. Here's the code:
|
Beta Was this translation helpful? Give feedback.
Answered by
tyranron
Sep 29, 2022
Replies: 1 comment 2 replies
-
@twiclo your To make it #[graphql_object(context = Context)]
impl User {
async fn team(&self, ctx: &Context) -> FieldResult<Option<Team>> {
// and return `Ok(None)` whenever you want to return `null`
}
} Or if you want to turn any error into #[graphql_object(context = Context)]
impl User {
async fn team(&self, ctx: &Context) -> Option<Team> {
Ok(Team::get_users_team(validate_perm(&ctx.user.perms).ok()?, ctx, self.user_id).await.ok()?)
}
} |
Beta Was this translation helpful? Give feedback.
2 replies
Answer selected by
twiclo
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@twiclo your
User.team
field cannot benull
, because you've declared it as non-null
able type in the schema.To make it
null
able, you should declare the computable field to return thenull
able type:Or if you want to turn any error into
null
(which I don't recommend), just don't use theResult
, onlyOption
: