Redwood JS: невозможно запросить поле XX по типу «Запрос»
У меня возникла проблема с GraphQL, которая возникла недавно, и я не уверен, куда идти, поскольку считаю, что правильно следую документации GraphQL при выполнении запросов.
Имею следующую модель.
model Contract {
id Int @id @default(autoincrement())
userId Int?
vin String
make String
model String
year Int
ownersName String @default("")
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
ownersEmail String @default("")
User User? @relation(fields: [userId], references: [id])
Dealership Dealership @relation(fields: [dealershipId], references: [id])
notes Note[]
dealershipId Int
}
Вот связанные типы
type Contract {
id: Int!
vin: String!
make: String!
model: String!
year: Int!
ownersName: String!
User: User
userId: Int
createdAt: DateTime
updatedAt: DateTime
ownersEmail: String
}
type Query {
contractsByUser: [Contract]
}
и вот мой запрос, который я экспортирую из ячейки
export const QUERY = gql`
query ContractByUser {
contractsByUser {
id
vin
make
model
year
ownersName
createdAt
}
}
Я получаю следующую ошибку.
api | ERROR [2021-08-04 13:28:03.477 +0000] (apollo-graphql-server): GraphQL didEncounterErrors
api | errors: [
api | {
api | "message": "Cannot query field \"contractsByUser\" on type \"Query\".",
api | "locations": [
api | {
api | "line": 2,
api | "column": 3
api | }
api | ]
api | }
api | ]
api | INFO [2021-08-04 13:28:03.479 +0000] (apollo-graphql-server): GraphQL willSendResponse
api |
api | Error: Cannot query field "contractsByUser" on type "Query".
api |
api |
api | POST /graphql 400 21.533 ms - 1329
api |
api | GraphQLError: Cannot query field "contractsByUser" on type "Query".
Это определенно ошибка проверки, но я не уверен, что я пропустил или сделал неправильно. Я использую последнюю версию Redwood и обновил критические изменения. Любая помощь будет хорошей. Возможно, он неправильно генерирует типы или ... любая помощь будет оценена.
1 ответ
У меня была неправильно настроена функция redwood graphql, и она не импортировала сгенерированные типы.
Где я был:
import schemas from 'src/graphql/**/*.js'
import { db } from 'src/lib/db'
import { logger } from 'src/lib/logger'
import services from 'src/services/**/*.js'
Где мне нужно было быть:
import schemas from 'src/graphql/**/*.{js,ts}'
import { db } from 'src/lib/db'
import { logger } from 'src/lib/logger'
import services from 'src/services/**/*.{js,ts}'