Возврат значения перечисления
Допустим у меня в схеме есть такое перечисление:
enum Role {
USER @map("Пользователь")
JUDGE @map("Судья")
ADMIN @map("Администратор")
@@map("roles")
}
Я сделал запрос к базе и получил следующий результат
{
type: "USER"
}
И вот вопрос: можно ли как-то получить значение которое я указал на русском языке (оно в базе именно в таком виде хранится). Понятно, что можно самостоятельно перебирать ответ и выводить нужное, но может есть более правильный вариант?
Ответы (1 шт):
Автор решения: Aleksandr Fetisov
→ Ссылка
Да можно Вот есть запрос, чуть его дополним
enum Role {
USER @map("Пользователь")
JUDGE @map("Судья")
ADMIN @map("Администратор")
@@map("roles")
}
type User {
id: ID!
role: Role!
}
query {
users {
id
role
roleName: _get(Role, role, 'map')
}
}
Вот или так можно Вот твой код
enum Role {
USER @map("Пользователь") @value("USER")
JUDGE @map("Судья") @value("JUDGE")
ADMIN @map("Администратор") @value("ADMIN")
@@map("roles")
}
Добавим еще чутка)
{
role {
type
...on Role {
name: type @values
}
}
}
Вот и получаем!)(получаем json)
{
"data": {
"role": {
"type": "USER",
"name": "Пользователь"
}
}
}