UNPKG

@accounts/module-core

Version:

Server side GraphQL transport for accounts

32 lines (30 loc) 848 B
import { GraphQLError } from 'graphql'; export const authenticated = < CustomRoot, CustomArgs, CustomContext extends { skipJSAccountsVerification?: Boolean; userId?: any; user?: any }, Info, ReturnType, >( func: ( root: CustomRoot, args: CustomArgs, context: CustomContext, info: Info ) => ReturnType | Promise<ReturnType> ) => async (root: CustomRoot, args: CustomArgs, context: CustomContext, info: Info) => { if (context && context.skipJSAccountsVerification === true) { return func(root, args, context, info); } if (!context.userId && !context.user) { throw new GraphQLError('Unauthorized', { extensions: { code: 'UNAUTHENTICATED', http: { status: 401 }, }, }); } return func(root, args, context, info); };