Не удается прочитать свойство 'context' из undefined - GraphQL - PullRequest
0 голосов
/ 18 апреля 2020

Я использую Typescript, Express, TypeORM, GraphQL и TypeGraphQL для создания небольшого приложения, которое позволяет пользователю войти в систему.

Однако, когда я нажимаю свой тестовый запрос bye на площадке GraphQL Я получаю:

Cannot read property 'context' of undefined
"TypeError: Cannot read property 'context' of undefined",
            "    at new exports.isAuth // isAuth is a JS file I wrote

MyContext. js

import { Request, Response } from "express";

export interface MyContext {
  req: Request;
  res: Response;
  payload?: { userId: string };
}

isAuth. js

import { MiddlewareFn } from "type-graphql";
import { verify } from "jsonwebtoken";
import { MyContext } from "./MyContext";

export const isAuth: MiddlewareFn<MyContext> = ({ context }, next) => {
  const authorization = context.req.headers["authorization"];

  if (!authorization) {
    throw new Error("not authorized");
  }
...

UserResolver

  @Query(() => String)
  @UseMiddleware(isAuth)
  bye(@Ctx() { payload }: MyContext) {
    console.log(payload);
    return `your user id is: ${payload!.userId}`;
  }

Я не уверен, почему context не определен в файле isAuth.js

1 Ответ

0 голосов
/ 18 апреля 2020

решено благодаря: https://github.com/MichalLytek/type-graphql/issues/433

1) Go в ./tsconfig.json

2) Изменить "target": "es5" на "target": "es6"

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