37 lines
1.1 KiB
TypeScript
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: [],
|
|
};
|
|
}
|
|
}
|