update goods

This commit is contained in:
Kirill
2026-05-15 12:50:39 +05:00
parent c5634deb51
commit 89d605adf4
21 changed files with 1594 additions and 306 deletions
-11
View File
@@ -6,7 +6,6 @@ const PUBLIC_PRODUCTS_QUERY_SCHEMA = {
properties: {
categorySlug: { type: 'string' },
q: { type: 'string' },
availability: { type: 'string', enum: ['all', 'in_stock', 'made_to_order'] },
sort: { type: 'string', enum: ['', 'price_asc', 'price_desc'] },
page: { type: 'integer', minimum: 1 },
pageSize: { type: 'integer', minimum: 1, maximum: 100 },
@@ -84,8 +83,6 @@ export async function registerPublicCatalogRoutes(fastify) {
const { categorySlug } = request.query
const qRaw = request.query?.q
const q = typeof qRaw === 'string' ? qRaw.trim() : ''
const availabilityRaw = request.query?.availability
const availability = typeof availabilityRaw === 'string' ? availabilityRaw.trim() : ''
const sortRaw = request.query?.sort
const sort = typeof sortRaw === 'string' ? sortRaw : ''
@@ -113,14 +110,6 @@ export async function registerPublicCatalogRoutes(fastify) {
if (q) {
where.OR = [{ title: { contains: q } }, { shortDescription: { contains: q } }]
}
if (availability === 'in_stock') {
where.inStock = true
where.quantity = { gt: 0 }
} else if (availability === 'made_to_order') {
where.inStock = false
} else if (availability && availability !== 'all') {
return reply.code(400).send({ error: 'availability должен быть all | in_stock | made_to_order' })
}
const applyPriceFilter = !(priceMin !== null && priceMax !== null && priceMin === 0 && priceMax === 0)
if (applyPriceFilter && (priceMin !== null || priceMax !== null)) {