0

I'm working on Next.js and I have this setup:

const data = await API.graphql({
  query: projectByUserIdandProjectId,
  variables: {
    userId: props.userId,
    projectId: project.id,
  },
});

Then I have this schema:

type Project
  @model
  @key(
    name: "byUserId"
    fields: ["userId"]
    queryField: "projectByUserIdandProjectId"
  )
  id: ID!
  userId: ID!
  projectId: ID!
}

I tried adding projectId into fields: fields: ["userId", "projectId"] but when I was looking at amplify's queries console, it doesn't give me an option to add the projectId.

I wanted to be able to get 1 data from the record when both userId and projectId matches.

hellomello
  • 8,219
  • 39
  • 151
  • 297

1 Answers1

2

Why adding projectId again in the Project model when you can use id?

I don't know about your use case, but you can use filter.

type Project
  @model
  @key(
    name: "byUserId"
    fields: ["userId"]
    queryField: "projectByUserId"
  )
  id: ID!
  userId: ID!
  projectId: ID!
}
import { API, graphqlOperation } from "aws-amplify";

--- 

await API.graphql(
  graphqlOperation(projectByUserId, {
    userId: props.userId,
    filter: { projectId: { eq: props.projectId } }
  })
);
LuckyTuvshee
  • 1,166
  • 8
  • 16