Я пытаюсь найти результаты, соответствующие определенному перечислению, это мой type
:
type User {
id: ID! @id
fname:String!
lname:String!
email:String! @unique
password: String
school_ID: String #@relation(Link: INLINE)
role: [Role] @scalarList(strategy: RELATION)
resetToken: String
resetTokenExpiry: String
}
Я могу искать электронную почту, потому что в ней есть @unique
ключ, но Role
- это перечисление, и я не могу добавить к нему @unique
ключ, и это имеет смысл, потому что результаты не будут уникальными.
Однако я продолжаю получать это сообщение:
"Переменная \" $ _ v0_where \ "получила недопустимое значение {\" role \ ": \" TEACHER \ "}; Поле \" role \ "не определено типом UserWhereUniqueInput."
Использование электронной почты дает мне желаемый результат, если я хочу использовать электронную почту для поиска элементов.
Мне нужно получить возврат массива со всеми объектами, соответствующими выбранному результату перечисления.
В моей схеме есть это:
users: [User]!
user(where: UserWhereInput!): User
findUser(role: Role, id: ID, email: String): User
В моих преобразователях запросов я играю со следующим:
users: forwardTo('db'),
user: forwardTo('db'),
async findUser(parent, args, ctx, info) {
return ctx.db.query.user({
where: {email: args.email, id: args.id, role: args.role}
}, info)
},
Я использую prisma (1.17.1) для создания своих схем
Как мне изменить свой код или функцию findUser
, чтобы получить желаемый результат?