graphqljs - как искать тип enum - PullRequest
       3

graphqljs - как искать тип enum

0 голосов
/ 05 января 2019

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

Определение:

status: {
    type: new graphql.GraphQLEnumType({
        name:
            "status",
        values:
        {
            "accepted":
            {
                value:
                    "accepted"
            },
            "pending":
            {
                value:
                    "pending"
            },
            "reviewing":
            {
                value:
                    "reviewing"
            },
        }
    })
},    

Мой запрос:

const payload =
    {
        account_id:
            instanced_accounts[0]._id,
        account_type:
            instanced_accounts[0].type,
        page:
            1,
        page_length:
            5,
        search_text:
            "",
        status:
            "accepted",
    }        
let query =
    new QueryBuilder(
        "retrieveContacts",
        payload
    )

Я использую graphlq-query-builder

Когда я запускаю запрос, он возвращает:

"message": "Expected type status, found \"accepted\"; Did you mean the enum value accepted?"

Ответы [ 2 ]

0 голосов
/ 07 января 2019

Абсолютно согласен, что с точки зрения Typescript это должно работать, но в GraphQL это реализовано по-другому, и я не верю, что они это изменят.

Вот отличная статья от Дэвид Мраз об этом. Это очистит все ваши проблемы.

В конце статьи вы увидите, как вы можете решить свою проблему. Имея в качестве значений целые числа, а затем две опции: указывайте перечисляемые значения без кавычек или используя строки, но с переменными.

Кстати, я бы хотел, чтобы вы прочитали всю статью.

0 голосов
/ 07 января 2019

Похоже, есть открытая проблема для этого здесь , которому десять месяцев. Глядя на код, кажется, что перечисления не поддерживаются. Я сомневаюсь, что есть какой-то жизнеспособный обходной путь, кроме того, что мы исправляем код. Построитель запросов - изящная идея, но есть множество функций, которые обычно используются в GraphQL (например, фрагменты, перечисления, объединения, интерфейсы и директивы), и я ожидаю, что полный построитель запросов поддержит их все. Похоже, что эта конкретная библиотека очень ограничена в функциональности и, возможно, больше не поддерживается. Возможно, вам лучше написать вопросы самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...