Skip to content

Commit 8600136

Browse files
committed
refactor: checkDeletedMMedicinesByCategoryId 메서드 MMedicineCategoriesService로 이동
1 parent 678242e commit 8600136

File tree

3 files changed

+32
-37
lines changed

3 files changed

+32
-37
lines changed

backend/src/m-medicine-categories/m-medicine-categories.module.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,10 @@ import { MMedicineCategoriesService } from './m-medicine-categories.service';
33
import { MMedicineCategoriesController } from './m-medicine-categories.controller';
44
import { M_Medicine_Categories } from './entity/m_medicine_categories.entity';
55
import { TypeOrmModule } from '@nestjs/typeorm';
6-
import { MMedicinesModule } from 'src/m-medicines/m-medicines.module';
6+
import { M_Medicines } from 'src/m-medicines/entity/m-medicines.entity';
77

88
@Module({
9-
imports: [
10-
TypeOrmModule.forFeature([M_Medicine_Categories]),
11-
MMedicinesModule,
12-
],
9+
imports: [TypeOrmModule.forFeature([M_Medicine_Categories, M_Medicines])],
1310
controllers: [MMedicineCategoriesController],
1411
providers: [MMedicineCategoriesService],
1512
})

backend/src/m-medicine-categories/m-medicine-categories.service.ts

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@ import {
55
} from '@nestjs/common';
66
import { M_Medicine_Categories } from './entity/m_medicine_categories.entity';
77
import { InjectRepository } from '@nestjs/typeorm';
8-
import { Repository } from 'typeorm';
8+
import { IsNull, Not, Repository } from 'typeorm';
99
import { CreateMMedicineCategoryDto } from './dto/create-m-medicine-category.dto';
1010
import { UpdateMMedicineSubCategoryDto } from './dto/update-m-medicine-sub-category.dto';
11-
import { MMedicinesService } from 'src/m-medicines/m-medicines.service';
1211
import { UpdateMMedicineMainCategoryDto } from './dto/update-m-medicine-main-category.dto';
12+
import { M_Medicines } from 'src/m-medicines/entity/m-medicines.entity';
1313

1414
@Injectable()
1515
export class MMedicineCategoriesService {
1616
constructor(
1717
@InjectRepository(M_Medicine_Categories)
1818
private readonly mMedicineCategoriesRepository: Repository<M_Medicine_Categories>,
19-
private readonly mMedicinesService: MMedicinesService,
19+
@InjectRepository(M_Medicines)
20+
private readonly mMedicinesRepository: Repository<M_Medicines>,
2021
) {}
2122

2223
async getCategories() {
@@ -164,10 +165,7 @@ export class MMedicineCategoriesService {
164165
throw new NotFoundException();
165166
}
166167

167-
const isDeleted =
168-
await this.mMedicinesService.checkDeletedMMedicinesByCategoryId(
169-
categoryId,
170-
);
168+
const isDeleted = await this.checkDeletedMMedicinesByCategoryId(categoryId);
171169

172170
if (!isDeleted) {
173171
throw new BadRequestException('삭제되지 않은 약품이 존재합니다.');
@@ -177,4 +175,28 @@ export class MMedicineCategoriesService {
177175

178176
return categoryId;
179177
}
178+
179+
async checkDeletedMMedicinesByCategoryId(categoryId: number) {
180+
const [, deletedMedicineCount] =
181+
await this.mMedicinesRepository.findAndCount({
182+
where: {
183+
category: {
184+
id: categoryId,
185+
},
186+
deletedAt: Not(IsNull()),
187+
},
188+
withDeleted: true,
189+
});
190+
191+
const [, medicineCount] = await this.mMedicinesRepository.findAndCount({
192+
where: {
193+
category: {
194+
id: categoryId,
195+
},
196+
},
197+
withDeleted: true,
198+
});
199+
200+
return deletedMedicineCount === medicineCount;
201+
}
180202
}

backend/src/m-medicines/m-medicines.service.ts

Lines changed: 1 addition & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { BadRequestException, Injectable } from '@nestjs/common';
2-
import { IsNull, Not, Repository } from 'typeorm';
2+
import { Repository } from 'typeorm';
33
import { InjectRepository } from '@nestjs/typeorm';
44
import { M_Medicines } from './entity/m-medicines.entity';
55
import { CreateMMedicineDto } from './dto/create-m-medicine.dto';
@@ -79,28 +79,4 @@ export class MMedicinesService {
7979
throw new BadRequestException(error);
8080
}
8181
}
82-
83-
async checkDeletedMMedicinesByCategoryId(categoryId: number) {
84-
const [, deletedMedicineCount] =
85-
await this.mMedicinesRepository.findAndCount({
86-
where: {
87-
category: {
88-
id: categoryId,
89-
},
90-
deletedAt: Not(IsNull()),
91-
},
92-
withDeleted: true,
93-
});
94-
95-
const [, medicineCount] = await this.mMedicinesRepository.findAndCount({
96-
where: {
97-
category: {
98-
id: categoryId,
99-
},
100-
},
101-
withDeleted: true,
102-
});
103-
104-
return deletedMedicineCount === medicineCount;
105-
}
10682
}

0 commit comments

Comments
 (0)