* Add rate limiting in the server using built in Nest.js capability * Generatekey based on ip address when an http request is sent * Update env var types to number for ttl and limit * Remove unused env variables * Use getRequest utility function * fix: remove dist from path * fix: adding .env variables * fix: remove unused functions * feat: throttler plugin * Fix according to review --------- Co-authored-by: Jérémy Magrin <jeremy.magrin@gmail.com> Co-authored-by: Charles Bochet <charles@twenty.com>
40 lines
1.6 KiB
TypeScript
40 lines
1.6 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { GraphQLModule } from '@nestjs/graphql';
|
|
|
|
import { YogaDriverConfig, YogaDriver } from '@graphql-yoga/nestjs';
|
|
|
|
import { WorkspaceMigrationRunnerModule } from 'src/workspace/workspace-migration-runner/workspace-migration-runner.module';
|
|
import { WorkspaceMigrationModule } from 'src/metadata/workspace-migration/workspace-migration.module';
|
|
import { metadataModuleFactory } from 'src/metadata/metadata.module-factory';
|
|
import { EnvironmentService } from 'src/integrations/environment/environment.service';
|
|
import { ExceptionHandlerService } from 'src/integrations/exception-handler/exception-handler.service';
|
|
import { GraphQLConfigModule } from 'src/graphql-config/graphql-config.module';
|
|
import { CreateContextFactory } from 'src/graphql-config/factories/create-context.factory';
|
|
|
|
import { DataSourceModule } from './data-source/data-source.module';
|
|
import { FieldMetadataModule } from './field-metadata/field-metadata.module';
|
|
import { ObjectMetadataModule } from './object-metadata/object-metadata.module';
|
|
import { RelationMetadataModule } from './relation-metadata/relation-metadata.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
GraphQLModule.forRootAsync<YogaDriverConfig>({
|
|
driver: YogaDriver,
|
|
useFactory: metadataModuleFactory,
|
|
imports: [GraphQLConfigModule],
|
|
inject: [
|
|
EnvironmentService,
|
|
ExceptionHandlerService,
|
|
CreateContextFactory,
|
|
],
|
|
}),
|
|
DataSourceModule,
|
|
FieldMetadataModule,
|
|
ObjectMetadataModule,
|
|
WorkspaceMigrationRunnerModule,
|
|
WorkspaceMigrationModule,
|
|
RelationMetadataModule,
|
|
],
|
|
})
|
|
export class MetadataModule {}
|