49 lines
2.1 KiB
TypeScript
49 lines
2.1 KiB
TypeScript
import {MiddlewareConsumer, Module, NestModule} from '@nestjs/common';
|
|
import {AuthController} from "@gitroom/backend/api/routes/auth.controller";
|
|
import {AuthService} from "@gitroom/backend/services/auth/auth.service";
|
|
import {UsersController} from "@gitroom/backend/api/routes/users.controller";
|
|
import {AuthMiddleware} from "@gitroom/backend/services/auth/auth.middleware";
|
|
import {StripeController} from "@gitroom/backend/api/routes/stripe.controller";
|
|
import {StripeService} from "@gitroom/nestjs-libraries/services/stripe.service";
|
|
import {AnalyticsController} from "@gitroom/backend/api/routes/analytics.controller";
|
|
import {PoliciesGuard} from "@gitroom/backend/services/auth/permissions/permissions.guard";
|
|
import {PermissionsService} from "@gitroom/backend/services/auth/permissions/permissions.service";
|
|
import {IntegrationsController} from "@gitroom/backend/api/routes/integrations.controller";
|
|
import {IntegrationManager} from "@gitroom/nestjs-libraries/integrations/integration.manager";
|
|
import {SettingsController} from "@gitroom/backend/api/routes/settings.controller";
|
|
import {BullMqModule} from "@gitroom/nestjs-libraries/bull-mq-transport/bull-mq.module";
|
|
import {ioRedis} from "@gitroom/nestjs-libraries/redis/redis.service";
|
|
import {PostsController} from "@gitroom/backend/api/routes/posts.controller";
|
|
|
|
const authenticatedController = [
|
|
UsersController,
|
|
AnalyticsController,
|
|
IntegrationsController,
|
|
SettingsController,
|
|
PostsController
|
|
];
|
|
@Module({
|
|
imports: [BullMqModule.forRoot({
|
|
connection: ioRedis
|
|
})],
|
|
controllers: [StripeController, AuthController, ...authenticatedController],
|
|
providers: [
|
|
AuthService,
|
|
StripeService,
|
|
AuthMiddleware,
|
|
PoliciesGuard,
|
|
PermissionsService,
|
|
IntegrationManager,
|
|
],
|
|
get exports() {
|
|
return [...this.imports, ...this.providers];
|
|
}
|
|
})
|
|
export class ApiModule implements NestModule {
|
|
configure(consumer: MiddlewareConsumer) {
|
|
consumer
|
|
.apply(AuthMiddleware)
|
|
.forRoutes(...authenticatedController);
|
|
}
|
|
}
|