| import { MiddlewareConsumer, Module, NestModule } from '@nestjs/common'; |
| import { AuthService } from '@gitroom/backend/services/auth/auth.service'; |
| import { StripeService } from '@gitroom/nestjs-libraries/services/stripe.service'; |
| import { PoliciesGuard } from '@gitroom/backend/services/auth/permissions/permissions.guard'; |
| import { PermissionsService } from '@gitroom/backend/services/auth/permissions/permissions.service'; |
| import { IntegrationManager } from '@gitroom/nestjs-libraries/integrations/integration.manager'; |
| import { UploadModule } from '@gitroom/nestjs-libraries/upload/upload.module'; |
| import { OpenaiService } from '@gitroom/nestjs-libraries/openai/openai.service'; |
| import { ExtractContentService } from '@gitroom/nestjs-libraries/openai/extract.content.service'; |
| import { CodesService } from '@gitroom/nestjs-libraries/services/codes.service'; |
| import { PublicIntegrationsController } from '@gitroom/backend/public-api/routes/v1/public.integrations.controller'; |
| import { PublicAuthMiddleware } from '@gitroom/backend/services/auth/public.auth.middleware'; |
|
|
| const authenticatedController = [PublicIntegrationsController]; |
| @Module({ |
| imports: [UploadModule], |
| controllers: [...authenticatedController], |
| providers: [ |
| AuthService, |
| StripeService, |
| OpenaiService, |
| ExtractContentService, |
| PoliciesGuard, |
| PermissionsService, |
| CodesService, |
| IntegrationManager, |
| ], |
| get exports() { |
| return [...this.imports, ...this.providers]; |
| }, |
| }) |
| export class PublicApiModule implements NestModule { |
| configure(consumer: MiddlewareConsumer) { |
| consumer.apply(PublicAuthMiddleware).forRoutes(...authenticatedController); |
| } |
| } |
|
|
|
|