Browse Source

Добавлен модуль LimitGroup

portowyi 2 years ago
parent
commit
97c4c8a0e3

+ 6 - 1
src/app.module.ts

@@ -2,9 +2,14 @@ import { Module } from '@nestjs/common';
 import { TypeOrmModule } from '@nestjs/typeorm';
 import { ManufacturerModule } from './manufacturer/manufacturer.module';
 import { dataSourceOptions } from './db/data-source';
+import { LimitGroupModule } from './limit-group/limit-group.module';
 
 @Module({
-  imports: [TypeOrmModule.forRoot(dataSourceOptions), ManufacturerModule],
+  imports: [
+    TypeOrmModule.forRoot(dataSourceOptions),
+    ManufacturerModule,
+    LimitGroupModule,
+  ],
   controllers: [],
   providers: [],
 })

+ 5 - 0
src/limit-group/dto/limit-group.dto.ts

@@ -0,0 +1,5 @@
+export class LimitGroupDto {
+  id: string;
+  name: string;
+  code: string;
+}

+ 4 - 0
src/limit-group/limit-group.controller.ts

@@ -0,0 +1,4 @@
+import { Controller } from '@nestjs/common';
+
+@Controller('limit-group')
+export class LimitGroupController {}

+ 5 - 0
src/limit-group/limit-group.entity.ts

@@ -0,0 +1,5 @@
+import { BaseEntity } from '../base-entity/base.entity';
+import { Entity } from 'typeorm';
+
+@Entity('limit_group')
+export class LimitGroup extends BaseEntity {}

+ 12 - 0
src/limit-group/limit-group.module.ts

@@ -0,0 +1,12 @@
+import { Module } from '@nestjs/common';
+import { LimitGroupService } from './limit-group.service';
+import { LimitGroupController } from './limit-group.controller';
+import { TypeOrmModule } from '@nestjs/typeorm';
+import { LimitGroup } from './limit-group.entity';
+
+@Module({
+  imports: [TypeOrmModule.forFeature([LimitGroup])],
+  providers: [LimitGroupService],
+  controllers: [LimitGroupController],
+})
+export class LimitGroupModule {}

+ 6 - 0
src/limit-group/limit-group.repository.ts

@@ -0,0 +1,6 @@
+import { Repository } from 'typeorm';
+import { LimitGroup } from './limit-group.entity';
+
+export interface LimitGroupRepository extends Repository<LimitGroup> {
+  this: Repository<LimitGroup>;
+}

+ 27 - 0
src/limit-group/limit-group.service.ts

@@ -0,0 +1,27 @@
+import { Injectable } from '@nestjs/common';
+import { InjectRepository } from '@nestjs/typeorm';
+import { LimitGroup } from './limit-group.entity';
+import { LimitGroupRepository } from './limit-group.repository';
+import { LimitGroupDto } from './dto/limit-group.dto';
+
+@Injectable()
+export class LimitGroupService {
+  constructor(
+    @InjectRepository(LimitGroup)
+    private readonly limitGroupRepository: LimitGroupRepository,
+  ) {}
+
+  async createPriceGroups(limitGroups: LimitGroupDto[]): Promise<void> {
+    const limitGroupArray: LimitGroup[] = limitGroups.map(
+      ({ id, name, code }) => {
+        return this.limitGroupRepository.create({
+          id,
+          name,
+          code,
+        });
+      },
+    );
+
+    await this.limitGroupRepository.save(limitGroupArray);
+  }
+}