All files / src/common/decorators current-user.decorator.ts

37.5% Statements 3/8
0% Branches 0/1
0% Functions 0/1
37.5% Lines 3/8

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1811x 11x     11x                          
import { createParamDecorator, ExecutionContext } from '@nestjs/common';
import { GqlExecutionContext } from '@nestjs/graphql';
import { User } from '@prisma/client';
 
export const CurrentUser = createParamDecorator(
  (data: unknown, context: ExecutionContext): User => {
    const ctx = GqlExecutionContext.create(context);
    const request = ctx.getContext().req;
 
    // for REST requests
    Iif (context.getType() === 'http') {
      return context.switchToHttp().getRequest().user;
    }
    
    // for GraphQL requests
    return request.user;
  },
);