monorepo/apps/talk/src/modules/chat/chat.module.ts

37 lines
1.1 KiB
TypeScript

import { DynamicModule, Module } from "@nestjs/common";
import { JwtModule, JwtService } from "@nestjs/jwt";
import { TypeOrmModule } from "@nestjs/typeorm";
import { Configure } from "../config/configure";
import { AUTH_JWT_SECRET } from "../user/constants";
import * as entities from "../user/entities";
import { AuthService, TokenService, UserService } from "../user/services";
import { UserModule } from "../user/user.module";
import { ChatGateway } from "./gateway/chat.gateway";
@Module({})
export class ChatModule {
static forRoot(configure: Configure): DynamicModule {
const jwtSecret = configure.env().get(AUTH_JWT_SECRET, "11");
return {
module: ChatModule,
imports: [
JwtModule.register({
secret: jwtSecret,
}),
UserModule.forRoot(configure),
TypeOrmModule.forFeature(Object.values(entities), "default"),
],
providers: [
ChatGateway,
UserService,
JwtService,
AuthService,
TokenService,
{ provide: AUTH_JWT_SECRET, useValue: jwtSecret },
],
exports: [],
};
}
}