Я пытаюсь найти результаты, которые соответствуют определенному перечислению, это мой 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)
},
Я использую призму (1.17. 1) для генерации моих схем
Как мне изменить мой код или функцию findUser
, чтобы получить желаемый результат?