Al método de añadir categorías yo le añadí algunas validaciones como comprobar si existe el product o la category y comprobar si ya contiene esta categoría para que no se repita.
async addCategoryToProduct(productId: number, categoryId: number) {
const product = await this.productRepo.findOne(productId, {
relations: ['categories', 'brand'],
});
if (!product) {
throw new NotFoundException(`Product #${productId} not found`);
}
const category = await this.categoryRepo.findOne(categoryId);
if (!category) {
throw new NotFoundException(`Category #${categoryId} not found`);
}
if (!product.categories.find((item) => item.id == categoryId)) {
product.categories.push(category);
}
return this.productRepo.save(product);
}
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?