@graphql_ru
GraphQL — русскоговорящее сообщество

Общаемся на темы, посвященные GraphQL и опыту его использования. Проблемы. Новости. Решения. Вам могут быть полезны: @apollo_ru, @react_js, @vuejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание в чате было полезным и комфортным.

352 members

Архив канала @graphql_ru 13 апреля 2018 г.

09:37:44 ДП
User 321317845
User 89599420
ну пара слов может и есть. но статья вообще про аутентификацию, а не авторизацию
чорт, точно)
09:39:00 ДП
User 56456060
Кому интересно как грузить файлы через GraphQL API.
Быстрый ответ: НИКАК!

Оставьте графкуэль в покое, грузите данные например как в гисте ниже. И скармливайте в графкуэль ссылки на уже загруженные файлы. 

Пример загрузки фотки на S3 и нарезки ее через lambda функцию, и после успешной загрузки, получение информации о том что все готово для отправки в ваш ламповый АПИ:
https://gist.github.com/nodkz/6b4aa7678ec1ab2c1aa8e46a61630d9e
gist.github.com/nodkz/6b4aa7678ec1ab2c1aa8e46a61630d9e
09:40:00 ДП
User 83376394
Абсолютно согласен)
09:40:32 ДП
User 83376394
Можно на guid подвязаться как никак)
09:42:31 ДП
User 56456060
Сорри, детально консультировать нет времени. Просто привел вам свое рабочее решение. Все что нужно вы прекрасно нагуглите и без моей помощи. Как мог расписал в комментарии к гисту.

Кто захочет может сляпать туториал используя этот код. Всем добра.
09:44:58 ДП
User 147656592
Согласен с двумя предыдущими ораторами
09:45:31 ДП
User 144022504
User 56456060
Сорри, детально консультировать нет времени. Просто привел вам свое рабочее решение. Все что нужно вы прекрасно нагуглите и без моей помощи. Как мог расписал в комментарии к гисту.

Кто захочет может сляпать туториал используя этот код. Всем добра.
Эта либа не решает разве задачу с загрузкой ?
https://github.com/jaydenseric/apollo-upload-client
github.com/jaydenseric/apollo-upload-client
apollo-upload-client - An Apollo Link for Apollo Client that allows FileList, File, Blob or ReactNativeFile instances within query or mutation variables and sends GraphQL multipart requests.
09:46:59 ДП
User 144022504
картинки грузит точно
09:48:31 ДП
User 144022504
очень просто интегирируется с Prisma.io
09:49:43 ДП
User 56456060
Решает. Но лучше ресурсы своих сервера апи, не грузить логикой загрузки и обработки файлов. На это тратиться ума ресурсов.

Лучше чтобы клиент загрузил и обработал файлы где-то и как-то, а в графкуэль уже вернул обычные строки где нужные файлы можно найти.

ПС. Конечно есть случаи где файлы надо грузить через Графкуэль, но лучше этого избегать до последнего.
10:58:33 ДП
User 164559967
Всем привет. Подскажте пжл со следующей проблемой мб кто сталкивался.
Имеется следующий GraphQlServer:
graphqlExpress(async req => {
    // console.log(req.query)
    try {
        ...
        customOptions.schema = MergeSchemas(userContext.role);
        // context can accept a function returning the context object
        const context =
            typeof options.context === 'function'
                ? await options.context(userContext)
                : { ...options.context, ...userContext };
        // return the configured options to be used by the graphql server
        // console.log(customOptions)
        console.log(customOptions.schema)
        ...MergeSchemas в зависимости от роли подгружает те или иные схемы и ресолверы:
export const MergeSchemas = role => {
    const typeDefs = [accountsTypeDefs, bidsTypeDefs, goodsTypeDefs, commonGoodsTypeDefs, commonBidsTypeDefs];
    let resolvers = accountsResolvers;
    if (role) {
        if (role == Users.ROLE_CLIENT()) {

            typeDefs.push(customerGoodsTypeDefs)
            typeDefs.push(customerBidsTypeDefs)
            resolvers = merge(resolvers, clientGoodsResolvers, customerBidsResolvers)
        }
        if (role == Users.ROLE_BROKER()) {
            typeDefs.push(brokerBidsTypeDefs)
            resolvers = merge(resolvers, brokerBidsResolvers)
        }
    }
    console.log(resolvers)

    return makeExecutableSchema({
        typeDefs,
        resolvers,
    });
}Вся проблема заключается в том, что после запуска Сервера и делаем первый запрос выходит ошибка:
Error: Expected undefined to be a GraphQL schema.Но когда я делаю второй запрос и более.. все работает как надо. Вот теперь я не могу почему так
11:00:59 ДП
User 164559967
единственное что приходит в голову, что возможно нельзя генерить схему внутри Graphql server а нужно обязательно передавать уже готовую схему
11:01:26 ДП
User 487471567
сделай мидлварь
11:01:27 ДП
User 487471567
проверь
09:04:27 ПП
User 311008426
Ребята, мне тут нужно сделать graphQL запрос и вывести результат в D3 табличку. Я пока не знаю конкретно с какой информацией буду работать — узнаю это в понедельник.
09:04:28 ПП
User 311008426
На пикче я пока только развернул проект и страшновато от количества файликов.
Подскажите какой-нибудь ресурс чтобы можно было разобраться что  происходит на экране и как делать запросы. Я никогда не работал с REST и подобным :(