Select Git revision
structures.module.ts
structures.module.ts 2.12 KiB
import { HttpModule } from '@nestjs/axios';
import { forwardRef, Module } from '@nestjs/common';
import { JwtModule } from '@nestjs/jwt';
import { MongooseModule } from '@nestjs/mongoose';
import { CategoriesModule } from '../categories/categories.module';
import { MailerModule } from '../mailer/mailer.module';
import { PersonalOffersModule } from '../personal-offers/personal-offers.module';
import { SearchModule } from '../search/search.module';
import { TempUserModule } from '../temp-user/temp-user.module';
import { UsersModule } from '../users/users.module';
import { Structure, StructureSchema } from './schemas/structure.schema';
import { StructuresSearchService } from './services/structures-search.service';
import { StructuresService } from './services/structures.service';
import { StructureTypeController } from './structure-type/structure-type.controller';
import { StructureType, StructureTypeSchema } from './structure-type/structure-type.schema';
import { StructureTypeService } from './structure-type/structure-type.service';
import { StructuresController } from './structures.controller';
import { config } from 'dotenv';
import { StructuresExportService } from './services/structures-export.service';
import { StructuresImportService } from './services/structures-import.service';
config();
@Module({
imports: [
MongooseModule.forFeature([
{ name: Structure.name, schema: StructureSchema },
{ name: StructureType.name, schema: StructureTypeSchema },
]),
HttpModule,
MailerModule,
forwardRef(() => UsersModule),
forwardRef(() => PersonalOffersModule),
CategoriesModule,
TempUserModule,
SearchModule,
JwtModule.register({
secret: process.env.JWT_SECRET,
signOptions: { expiresIn: '30d' }, // 1 month validity
}),
],
controllers: [StructuresController, StructureTypeController],
exports: [StructuresService, StructureTypeService, StructuresExportService, StructuresImportService],
providers: [
StructuresSearchService,
StructuresService,
StructureTypeService,
StructuresExportService,
StructuresImportService,
],
})
export class StructuresModule {}