Skip to content

Commit 075e7bc

Browse files
committed
wrap MongooseModule into MongooseModuleHelper
1 parent b7a1231 commit 075e7bc

File tree

6 files changed

+21
-7
lines changed

6 files changed

+21
-7
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { Type } from '@nestjs/common';
2+
import { Schema } from 'mongoose';
3+
import { MongooseModule } from '@nestjs/mongoose';
4+
5+
class MongooseModuleHelper {
6+
public static forFeature<TClass = any>(module: Type<TClass>, schema: Schema<TClass>) {
7+
return MongooseModule.forFeature([{ name: module.name, schema: schema }]);
8+
}
9+
}
10+
11+
export default MongooseModuleHelper;

apps/api/src/models/inventory/inventory.module.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,11 @@ import { InventoryController } from './inventory.controller';
88
import { InventoryRepository } from './inventory.repository';
99
import { InventoryService } from './inventory.service';
1010
import { InventoryItem, InventoryItemSchema } from './schemas/inventory-item.schema';
11+
import MongooseModuleHelper from '../../helpers/mongose-module-helper';
1112

1213
@Module({
1314
imports: [
14-
MongooseModule.forFeature([{ name: InventoryItem.name, schema: InventoryItemSchema }]),
15+
MongooseModuleHelper.forFeature(InventoryItem, InventoryItemSchema),
1516
forwardRef(() => ProductsModule),
1617
forwardRef(() => WarehousesModule),
1718
forwardRef(() => OrganizationsModule),

apps/api/src/models/organizations/organizations.module.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,11 @@ import { OrganizationsController } from './organizations.controller';
66
import { OrganizationRepository } from './organizations.repository';
77
import { OrganizationsService } from './organizations.service';
88
import { Organization, OrganizationSchema } from './schemas/organization.schema';
9+
import MongooseModuleHelper from '../../helpers/mongose-module-helper';
910

1011
@Module({
1112
imports: [
12-
MongooseModule.forFeature([{ name: Organization.name, schema: OrganizationSchema }]),
13+
MongooseModuleHelper.forFeature(Organization, OrganizationSchema),
1314
forwardRef(() => WarehousesModule),
1415
],
1516
controllers: [OrganizationsController],

apps/api/src/models/products/products.module.ts

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@ import { ProductsRepository } from './products.repository';
77
import { ProductsService } from './products.service';
88
import { Product, ProductSchema } from './schemas/product.schema';
99
import { ImagesModule } from '../../images/images.module';
10+
import MongooseModuleHelper from '../../helpers/mongose-module-helper';
1011

1112
@Module({
1213
imports: [
13-
MongooseModule.forFeature([{ name: Product.name, schema: ProductSchema }]),
14+
MongooseModuleHelper.forFeature(Product, ProductSchema),
1415
OrganizationsModule,
1516
forwardRef(() => InventoryModule),
1617
ImagesModule,

apps/api/src/models/users/users.module.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
import { Module } from '@nestjs/common';
2-
import { MongooseModule } from '@nestjs/mongoose';
32
import { User, UserSchema } from './schemas/user.schema';
43
import { UsersController } from './users.controller';
54
import { UserRepository } from './users.repository';
65
import { UsersService } from './users.service';
6+
import MongooseModuleHelper from '../../helpers/mongose-module-helper';
77

88
@Module({
9-
imports: [MongooseModule.forFeature([{ name: User.name, schema: UserSchema }])],
9+
imports: [MongooseModuleHelper.forFeature(User, UserSchema)],
1010
controllers: [UsersController],
1111
providers: [UsersService, UserRepository],
1212
exports: [UsersService],

apps/api/src/models/warehouses/warehouses.module.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Module, forwardRef } from '@nestjs/common';
2-
import { MongooseModule } from '@nestjs/mongoose';
2+
import MongooseModuleHelper from '../../helpers/mongose-module-helper';
33
import { InventoryModule } from '../inventory/inventory.module';
44
import { OrganizationsModule } from '../organizations/organizations.module';
55
import { Warehouse, WarehouseSchema } from './schemas/warehouse.schema';
@@ -10,7 +10,7 @@ import { WarehousesService } from './warehouses.service';
1010

1111
@Module({
1212
imports: [
13-
MongooseModule.forFeature([{ name: Warehouse.name, schema: WarehouseSchema }]),
13+
MongooseModuleHelper.forFeature(Warehouse, WarehouseSchema),
1414
forwardRef(() => OrganizationsModule),
1515
forwardRef(() => InventoryModule),
1616
],

0 commit comments

Comments
 (0)