Обновлены резолверы для обработки связанных и аксессуарных товаров. Теперь они объединяют данные из двух сторон связи, что улучшает полноту информации о товарах. Изменены типы данных в запросах для соответствия новым структурам. Это повышает гибкость и точность взаимодействия с API.
This commit is contained in:
@ -577,16 +577,28 @@ export const resolvers = {
|
||||
relatedProducts: async (parent: { id: string }) => {
|
||||
const product = await prisma.product.findUnique({
|
||||
where: { id: parent.id },
|
||||
include: { relatedProducts: { include: { images: { orderBy: { order: 'asc' } } } } }
|
||||
include: {
|
||||
products_RelatedProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_RelatedProducts_B: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
}
|
||||
})
|
||||
return product?.relatedProducts || []
|
||||
// Объединяем связанные товары из обеих сторон связи
|
||||
const relatedA = product?.products_RelatedProducts_A || []
|
||||
const relatedB = product?.products_RelatedProducts_B || []
|
||||
return [...relatedA, ...relatedB]
|
||||
},
|
||||
accessoryProducts: async (parent: { id: string }) => {
|
||||
const product = await prisma.product.findUnique({
|
||||
where: { id: parent.id },
|
||||
include: { accessoryProducts: { include: { images: { orderBy: { order: 'asc' } } } } }
|
||||
include: {
|
||||
products_AccessoryProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_B: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
}
|
||||
})
|
||||
return product?.accessoryProducts || []
|
||||
// Объединяем аксессуары из обеих сторон связи
|
||||
const accessoryA = product?.products_AccessoryProducts_A || []
|
||||
const accessoryB = product?.products_AccessoryProducts_B || []
|
||||
return [...accessoryA, ...accessoryB]
|
||||
}
|
||||
},
|
||||
|
||||
@ -855,8 +867,10 @@ export const resolvers = {
|
||||
}
|
||||
},
|
||||
characteristics: { include: { characteristic: true } },
|
||||
relatedProducts: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
accessoryProducts: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
products_RelatedProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_RelatedProducts_B: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_B: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
@ -879,8 +893,10 @@ export const resolvers = {
|
||||
}
|
||||
},
|
||||
characteristics: { include: { characteristic: true } },
|
||||
relatedProducts: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
accessoryProducts: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
products_RelatedProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_RelatedProducts_B: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_B: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
}
|
||||
})
|
||||
} catch (error) {
|
||||
@ -4492,8 +4508,10 @@ export const resolvers = {
|
||||
}
|
||||
},
|
||||
characteristics: { include: { characteristic: true } },
|
||||
relatedProducts: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
accessoryProducts: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
products_RelatedProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_RelatedProducts_B: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_B: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
}
|
||||
})
|
||||
|
||||
@ -4562,8 +4580,10 @@ export const resolvers = {
|
||||
}
|
||||
},
|
||||
characteristics: { include: { characteristic: true } },
|
||||
relatedProducts: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
accessoryProducts: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
products_RelatedProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_RelatedProducts_B: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_A: { include: { images: { orderBy: { order: 'asc' } } } },
|
||||
products_AccessoryProducts_B: { include: { images: { orderBy: { order: 'asc' } } } }
|
||||
}
|
||||
})
|
||||
|
||||
|
Reference in New Issue
Block a user