Невозможно вернуть пустое или непустое поле User.Role не может получить данные отношения из мутации призмы

Я пытаюсь поиграть в APOLO SERVER, GRAPHQL PRISMA и структуру в очень простых вещах.. Я не могу вернуть данные отношения из простого запроса..

КОГДА я пытаюсь добавить пользователя вместе с идентификатором роли... я не могу получить обратно информацию о роли

Что я использую?

"dependencies": {
    "apollo-server": "^2.9.3",
    "bcryptjs": "^2.4.3",
    "graphql": "^14.5.5",
    "graphql-import": "^0.7.1",
    "jsonwebtoken": "^8.5.1",
    "prisma-client-lib": "^1.34.8"
  }

для МОЙ ПРОСТОЙ ЗАПРОС;

mutation{

  createUser(name:"tst",
  roleId:"ck0lx425n00z50782jgcl4qg8")
  {
    name
    role{
code}

Graphql возвращает ошибку, говоря

{
  "errors": [
    {
      "message": "Cannot return null for non-nullable field User.role.",
      "locations": [
        {
          "line": 4,
          "column": 5
        }
      ],
      "path": [
        "createUser",
        "role"
      ],
      "extensions": {
        "code": "INTERNAL_SERVER_ERROR",
        "exception": {
          "stacktrace": [
            "Error: Cannot return null for non-nullable field User.role.",

ГАФКЛ ЩЕМА

scalar DateTime

type User {
  id: ID! 
  name: String! 
  role:Role!
  createdAt:DateTime 

}

 type Role{
   id:ID!,
   code:String!
   users:[User!]!
 }
type Query {
  users:[User!]!
  user:User!
  roles:[Role!]!
  role:Role!
}

type Mutation {
  createRole(code:String!):Role!
  createUser(name:String!,roleId:String!):User! 

 }

ЗАПРОС

function users(parent, args, context) {
    return context.prisma.uses()

}
function roles(parent,args,context){
    return context.prisma.roles()
}

МУТАЦИИ

function  createRole(parent,args,context,info){
     return context.prisma.createRole({
         code:args.code
     });

function  createUser(parent,args,context,info){
    return context.prisma.createUser({
        name:args.name,
        role:{
            connect:{id:args.roleId}
        }
    },info);


}

ПРИЗМА ДАТАМОДЕЛЬ

type User {
  id: ID! @id 
  name:String! 
  createdAt:DateTime @createdAt
  role:Role! @relation(Name:"Role Assinged To User")

}

type Role{
  id:ID! @id
  code:String! 
  users:[User!]! @relation(Name:"Role Assinged To User")

}

Может ли какое-то тело мне помочь, как это исправить... Я знаю, что это будет основным, что я упускаю... Я изо всех сил пытаюсь понять? мне не хватает чего-то очень простого?

1 ответ

При создании ролей вам также необходимо указать пользователя, поскольку вы сделали это требованием, которое может вызвать ошибки.

Другие вопросы по тегам