import { forwardRef, Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { UserData } from './entity/user.entity'; import { UserService } from './service/user.service'; import { UtilsModule } from '../../utils/utils.module'; import { EntityModule } from '../meta/entity.module'; import { UserRepository } from './repository/user.repository'; import { UserSessionService } from './service/user-session.service'; import { UserSession } from './entity/user-session.entity'; import { LoginController } from './controller/login.controller'; import { LoginService } from './service/login.service'; import { UserSessionRepository } from './repository/userSession.repository'; import { JwtService } from '@nestjs/jwt'; import { AuthModule } from '../auth/auth.module'; import { UserController } from './controller/user.controller'; import { Role } from './entity/role.entity'; import { RoleService } from './service/role.service'; import { UserRoleMapping } from './entity/user-role-mapping.entity'; import { UserRoleMappingRepository } from './repository/user-role-mapping.repository'; import { UserRoleMappingService } from './service/user-role-mapping.service'; import { RoleRepository } from './repository/role.repository'; import { ModuleAccess } from '../module/entity/module-access.entity'; import { EnterpriseModule } from '../enterprise/enterprise.module'; import { ListMasterModule } from '../listmaster/listmaster.module'; import { IntegrationModule } from '../integration/integration.module'; @Module({ imports: [ TypeOrmModule.forFeature([ UserData, UserSession, Role, UserRoleMapping, ModuleAccess, ]), forwardRef(() => AuthModule), EntityModule, UtilsModule, ListMasterModule, IntegrationModule, forwardRef(() => EnterpriseModule), ], providers: [ { provide: 'UserService', useClass: UserService }, { provide: 'RoleService', useClass: RoleService }, UserRepository, UserSessionService, LoginService, UserSessionRepository, JwtService, UserRoleMappingRepository, UserRoleMappingService, RoleRepository, ], exports: [ 'UserService', UserSessionService, 'RoleService', UserRoleMappingService, RoleRepository, LoginService, ], controllers: [LoginController, UserController], }) export class UserModule {}