UNPKG

twitch-graphql

Version:
34 lines (28 loc) 868 B
import { createModule, gql } from 'graphql-modules' import { ApiClient } from 'twitch' import RefreshToken from '../helpers/RefreshToken' import { Chat } from './chat-pubsub-type-schema' export const ChatUserLinkResolvers = { Chat: { user: async ( chat: Chat, _args: any, { user_id, secret, refresh_token }: GraphQLModules.Context ) => { const authProvider = await RefreshToken(user_id, secret, refresh_token) const twitchClient = new ApiClient({ authProvider, preAuth: true }) return twitchClient.helix.users.getUserByName(chat.displayName) }, }, } export const ChatUserLinkSchema = gql` extend type Chat { user: User } ` export const ChatUserLinkModule = createModule({ id: `chat-pubsub-user-link-module`, dirname: __dirname, typeDefs: ChatUserLinkSchema, resolvers: ChatUserLinkResolvers, })