fix: bug in the update service

This commit is contained in:
mahyargdz
2025-03-05 09:41:52 +03:30
parent 0af4719969
commit c1f21e75f2
@@ -18,6 +18,7 @@ import { DanakServiceCategory } from "../entities/danak-service-category.entity"
import { DanakServiceImage } from "../entities/danak-service-image.entity"; import { DanakServiceImage } from "../entities/danak-service-image.entity";
import { ReviewStatus } from "../enums/review-status.enum"; import { ReviewStatus } from "../enums/review-status.enum";
import { DanakServicesCategoryRepository } from "../repositories/danak-services-category.repository"; import { DanakServicesCategoryRepository } from "../repositories/danak-services-category.repository";
import { DanakServicesImageRepository } from "../repositories/danak-services-image.repository";
import { DanakServiceReviewRepository } from "../repositories/danak-services-review.repository"; import { DanakServiceReviewRepository } from "../repositories/danak-services-review.repository";
import { DanakServicesRepository } from "../repositories/danak-services.repository"; import { DanakServicesRepository } from "../repositories/danak-services.repository";
@@ -28,6 +29,7 @@ export class DanakServicesService {
private readonly danakServicesRepository: DanakServicesRepository, private readonly danakServicesRepository: DanakServicesRepository,
private readonly danakServicesCategoryRepository: DanakServicesCategoryRepository, private readonly danakServicesCategoryRepository: DanakServicesCategoryRepository,
private readonly danakServiceReviewRepository: DanakServiceReviewRepository, private readonly danakServiceReviewRepository: DanakServiceReviewRepository,
private readonly danakServicesImageRepository: DanakServicesImageRepository,
) {} ) {}
/******************************************** */ /******************************************** */
@@ -208,12 +210,18 @@ export class DanakServicesService {
} }
// //
if (updateDto.images) { if (updateDto.images) {
images = updateDto.images.map((image) => { await this.danakServicesImageRepository.delete({ danakService: { id: serviceId } });
const serviceImage = new DanakServiceImage();
serviceImage.imageUrl = image; const newImages = updateDto.images.map((image) => {
serviceImage.danakService = service; return this.danakServicesImageRepository.create({
return serviceImage; imageUrl: image,
danakService: service,
});
}); });
await this.danakServicesImageRepository.save(newImages);
images = newImages;
} }
await this.danakServicesRepository.save({ ...service, ...updateDto, images: images.length ? images : service.images }); await this.danakServicesRepository.save({ ...service, ...updateDto, images: images.length ? images : service.images });
@@ -388,7 +396,7 @@ export class DanakServicesService {
/******************************************** */ /******************************************** */
async findServiceById(id: string) { async findServiceById(id: string) {
const service = await this.danakServicesRepository.findOneBy({ id, deletedAt: IsNull() }); const service = await this.danakServicesRepository.findOne({ where: { id, deletedAt: IsNull() }, relations: { images: true } });
if (!service) throw new BadRequestException(ServiceMessage.SERVICE_NOT_EXIST); if (!service) throw new BadRequestException(ServiceMessage.SERVICE_NOT_EXIST);
return service; return service;
} }