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 { ReviewStatus } from "../enums/review-status.enum";
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 { DanakServicesRepository } from "../repositories/danak-services.repository";
@@ -28,6 +29,7 @@ export class DanakServicesService {
private readonly danakServicesRepository: DanakServicesRepository,
private readonly danakServicesCategoryRepository: DanakServicesCategoryRepository,
private readonly danakServiceReviewRepository: DanakServiceReviewRepository,
private readonly danakServicesImageRepository: DanakServicesImageRepository,
) {}
/******************************************** */
@@ -208,12 +210,18 @@ export class DanakServicesService {
}
//
if (updateDto.images) {
images = updateDto.images.map((image) => {
const serviceImage = new DanakServiceImage();
serviceImage.imageUrl = image;
serviceImage.danakService = service;
return serviceImage;
await this.danakServicesImageRepository.delete({ danakService: { id: serviceId } });
const newImages = updateDto.images.map((image) => {
return this.danakServicesImageRepository.create({
imageUrl: image,
danakService: service,
});
});
await this.danakServicesImageRepository.save(newImages);
images = newImages;
}
await this.danakServicesRepository.save({ ...service, ...updateDto, images: images.length ? images : service.images });
@@ -388,7 +396,7 @@ export class DanakServicesService {
/******************************************** */
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);
return service;
}