Skip to content

Commit 4a9699e

Browse files
committed
feat: add dynamic module
1 parent e3904fc commit 4a9699e

File tree

4 files changed

+30
-2
lines changed

4 files changed

+30
-2
lines changed

src/app.module.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
import { Module } from '@nestjs/common';
22
import { CartsModule } from './handlers/carts/carts.module';
3+
import { ConfigModule } from './services/config/config.module';
34

45
@Module({
5-
imports: [CartsModule],
6+
imports: [CartsModule, ConfigModule],
67
controllers: [],
78
providers: [],
89
})

src/handlers/carts/carts.service.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,25 @@ import { Inject, Injectable } from '@nestjs/common';
22
import { CreateCartDto } from './dto/create-cart.dto';
33
import { UpdateCartDto } from './dto/update-cart.dto';
44
import { UtilsService } from '../../services/utils/utils.service';
5+
import { ConfigModule } from '../../services/config/config.module';
6+
import { ConfigService } from '../../services/config/config.service';
57

68
@Injectable()
79
export class CartsService {
810
constructor(
911
private readonly utilsService: UtilsService,
12+
private readonly configService: ConfigService,
1013

1114
@Inject('DateService')
1215
private readonly DateService,
13-
) {}
16+
) {
17+
console.log(`Current env: ${configService.getAppConfig().env}`);
18+
}
1419

1520
average() {
1621
return this.utilsService.average([1,2,3]);
1722
}
23+
1824
create(createCartDto: CreateCartDto) {
1925
return 'This action adds a new cart';
2026
}

src/services/config/config.module.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { Global, Module } from '@nestjs/common';
2+
import { ConfigService } from './config.service';
3+
4+
@Global()
5+
@Module({
6+
providers: [ConfigService],
7+
exports: [ConfigService],
8+
})
9+
export class ConfigModule {}

src/services/config/config.service.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { Injectable, Scope } from '@nestjs/common';
2+
3+
@Injectable({ scope: Scope.DEFAULT })
4+
export class ConfigService {
5+
constructor() {}
6+
7+
getAppConfig() {
8+
return {
9+
env: 'development'
10+
}
11+
}
12+
}

0 commit comments

Comments
 (0)