From e2d7e0bb209bc6ca7b0b9214dd35bdae7519d1d2 Mon Sep 17 00:00:00 2001 From: jjangga0214 Date: Mon, 9 Dec 2024 13:32:39 +0900 Subject: [PATCH 1/2] feat(@graphql-yoga/plugin-jwt): JWTExtendContextFields --- packages/plugins/jwt/src/plugin.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/plugins/jwt/src/plugin.ts b/packages/plugins/jwt/src/plugin.ts index 019892c8d1..1400825aec 100644 --- a/packages/plugins/jwt/src/plugin.ts +++ b/packages/plugins/jwt/src/plugin.ts @@ -6,8 +6,12 @@ import '@whatwg-node/server-plugin-cookies'; import { GraphQLError } from 'graphql'; import { badRequestError, unauthorizedError } from './utils.js'; -export type JWTExtendContextFields = { - payload: JwtPayload; +// eslint-disable-next-line @typescript-eslint/no-explicit-any +type ExtendableJwtPayload = Record> = JwtPayload & T; + +// eslint-disable-next-line @typescript-eslint/no-explicit-any +export type JWTExtendContextFields = Record> = { + payload: ExtendableJwtPayload; token: { value: string; prefix?: string; From ca9d18baf08f61fd0cb0d8948275b1cda98c5d0b Mon Sep 17 00:00:00 2001 From: jjangga0214 Date: Mon, 9 Dec 2024 13:37:16 +0900 Subject: [PATCH 2/2] refactor(@graphql-yoga/plugin-jwt): `JWTExtendContextFields` generic default --- packages/plugins/jwt/src/plugin.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/plugins/jwt/src/plugin.ts b/packages/plugins/jwt/src/plugin.ts index 1400825aec..8cb4f29d92 100644 --- a/packages/plugins/jwt/src/plugin.ts +++ b/packages/plugins/jwt/src/plugin.ts @@ -7,10 +7,10 @@ import { GraphQLError } from 'graphql'; import { badRequestError, unauthorizedError } from './utils.js'; // eslint-disable-next-line @typescript-eslint/no-explicit-any -type ExtendableJwtPayload = Record> = JwtPayload & T; +type ExtendableJwtPayload = Record> = JwtPayload & T; // eslint-disable-next-line @typescript-eslint/no-explicit-any -export type JWTExtendContextFields = Record> = { +export type JWTExtendContextFields = Record> = { payload: ExtendableJwtPayload; token: { value: string;