Added product admin features

This commit is contained in:
Niklas Fondberg
2021-07-26 10:35:52 +02:00
committed by GitHub
parent 32adee1bf4
commit d17df41d86
38 changed files with 1613 additions and 381 deletions
+54 -36
View File
@@ -4,57 +4,75 @@ import { Maybe } from '../../types/types';
const baseQuery = /* sql */ `
SELECT products.productid as id,
SELECT products.productid AS id,
stock.stockid,
products.path,
products.visible,
products.browsable,
products.designerid,
products.inserted,
products.updated,
products.ref1,
products.ref2,
products.ref3,
(
SELECT json_agg(
json_build_object(
'printId',
"product-printproducts".printid,
'productId',
"product-printproducts".productid,
'groupId',
"product-printproducts".groupid,
'inserted',
"product-printproducts".inserted,
'updated',
"product-printproducts".updated
SELECT json_agg(
json_build_object(
'printId',
"product-printproducts".printid,
'productId',
"product-printproducts".productid,
'groupId',
"product-printproducts".groupid,
'inserted',
"product-printproducts".inserted,
'updated',
"product-printproducts".updated
)
)
) FROM "product-printproducts" WHERE "product-printproducts".productid = products.productid
FROM "product-printproducts"
WHERE "product-printproducts".productid = products.productid
) AS printproducts,
( SELECT json_agg(
json_build_object(
'id',
product_blacklist.id,
'productId',
product_blacklist.product_id,
'marketId',
product_blacklist.market_id,
'groupId',
product_blacklist.group_id,
'inserted',
product_blacklist.created_at,
'updated',
product_blacklist.updated_at
(
SELECT json_agg(
json_build_object(
'id',
product_blacklist.id,
'productId',
product_blacklist.product_id,
'marketId',
product_blacklist.market_id,
'groupId',
product_blacklist.group_id,
'inserted',
product_blacklist.created_at,
'updated',
product_blacklist.updated_at
)
)
) FROM product_blacklist WHERE product_blacklist.product_id = products.productid
FROM product_blacklist
WHERE product_blacklist.product_id = products.productid
) AS blacklisting,
( SELECT json_object_agg(fields.field, pf.value)
(
SELECT json_object_agg(fields.field, pf.value)
FROM "product-products_fields" pf
JOIN "product-fields" fields ON fields.fieldid = pf.fieldid
JOIN "product-fields" fields ON fields.fieldid = pf.fieldid
WHERE pf.productid = products.productid
) AS fields,
( SELECT json_agg(keywords.value)
(
SELECT json_agg(keywords.value)
FROM product_keyword pk
JOIN keywords ON keywords.id = pk.keyword_id
WHERE keywords.id IN (1103,1104)AND pk.product_id = products.productid
) AS types
FROM "product-products" products
JOIN keywords ON keywords.id = pk.keyword_id
WHERE keywords.id IN (1103, 1104)
AND pk.product_id = products.productid
) AS types,
(
SELECT json_agg(wt.wallpapertype_id)
FROM product_wallpapertypes wt
WHERE wt.product_id = products.productid
) AS wallpapertypes
FROM "product-products" products
LEFT JOIN "product-stockproducts" stock ON stock.productid = products.productid
`;
export function products(