Files
twenty_crm/server/src/utils/extract-request.ts
Jérémy M 2cd081234f chore: refacto NestJS in modules (#308)
* chore: wip refacto in modules

* fix: rollback port

* fix: jwt guard in wrong folder

* chore: rename folder exception-filter in filters

* fix: tests are running

* fix: excessive stack depth comparing types

* fix: auth issue

* chore: move createUser in UserService

* fix: test

* fix: guards

* fix: jwt guard don't handle falsy user
2023-06-16 10:38:11 +02:00

28 lines
870 B
TypeScript

import { ExecutionContext } from '@nestjs/common';
import { GqlContextType, GqlExecutionContext } from '@nestjs/graphql';
// extract request from the execution context
export const getRequest = (context: ExecutionContext) => {
let request;
// if context is an http request
if (context.getType() === 'http') {
request = context.switchToHttp().getRequest();
} else if (context.getType<GqlContextType>() === 'graphql') {
// if context is a graphql request
const graphQLContext = GqlExecutionContext.create(context);
const { req, connection } = graphQLContext.getContext();
request =
connection && connection.context && connection.context.headers
? connection.context
: req;
} else if (context.getType() === 'rpc') {
// if context is a rpc request
throw new Error('Not implemented');
}
return request;
};