UNPKG

@medusajs/medusa

Version:

Building blocks for digital commerce

246 lines • 10.4 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.adminProductRoutesMiddlewares = void 0; const framework_1 = require("@medusajs/framework"); const multer_1 = __importDefault(require("multer")); const http_1 = require("@medusajs/framework/http"); const middlewares_1 = require("../../../utils/middlewares"); const validators_1 = require("../../utils/validators"); const QueryConfig = __importStar(require("./query-config")); const utils_1 = require("./utils"); const validators_2 = require("./validators"); const index_engine_1 = __importDefault(require("../../../loaders/feature-flags/index-engine")); const upload = (0, multer_1.default)({ storage: multer_1.default.memoryStorage() }); exports.adminProductRoutesMiddlewares = [ { method: ["GET"], matcher: "/admin/products", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductsParams, QueryConfig.listProductQueryConfig), (req, res, next) => { if (framework_1.featureFlagRouter.isFeatureEnabled(index_engine_1.default.key)) { return next(); } return (0, http_1.maybeApplyLinkFilter)({ entryPoint: "product_sales_channel", resourceId: "product_id", filterableField: "sales_channel_id", })(req, res, next); }, (0, utils_1.maybeApplyPriceListsFilter)(), ], }, { method: ["POST"], matcher: "/admin/products", middlewares: [ (0, framework_1.validateAndTransformBody)(validators_2.AdminCreateProduct), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["POST"], matcher: "/admin/products/batch", bodyParser: { sizeLimit: middlewares_1.DEFAULT_BATCH_ENDPOINTS_SIZE_LIMIT, }, middlewares: [ (0, framework_1.validateAndTransformBody)((0, validators_1.createBatchBody)(validators_2.CreateProduct, validators_2.AdminBatchUpdateProduct)), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["POST"], matcher: "/admin/products/export", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductsParams, QueryConfig.listProductQueryConfig), ], }, { method: ["POST"], matcher: "/admin/products/import", middlewares: [upload.single("file")], }, { method: ["POST"], matcher: "/admin/products/imports", middlewares: [(0, framework_1.validateAndTransformBody)(validators_2.AdminImportProducts)], }, { method: ["POST"], matcher: "/admin/products/import/:transaction_id/confirm", middlewares: [], }, { method: ["GET"], matcher: "/admin/products/:id", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["POST"], matcher: "/admin/products/:id", middlewares: [ (0, framework_1.validateAndTransformBody)(validators_2.AdminUpdateProduct), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["DELETE"], matcher: "/admin/products/:id", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["GET"], matcher: "/admin/products/:id/variants", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductVariantsParams, QueryConfig.listVariantConfig), ], }, { method: ["POST"], matcher: "/admin/products/:id/variants", middlewares: [ (0, framework_1.validateAndTransformBody)(validators_2.AdminCreateProductVariant), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["POST"], matcher: "/admin/products/:id/variants/batch", bodyParser: { sizeLimit: middlewares_1.DEFAULT_BATCH_ENDPOINTS_SIZE_LIMIT, }, middlewares: [ (0, framework_1.validateAndTransformBody)((0, validators_1.createBatchBody)(validators_2.CreateProductVariant, validators_2.AdminBatchUpdateProductVariant)), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductVariantParams, QueryConfig.retrieveVariantConfig), ], }, // Note: New endpoint in v2 { method: ["GET"], matcher: "/admin/products/:id/variants/:variant_id", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductVariantParams, QueryConfig.retrieveVariantConfig), ], }, { method: ["POST"], matcher: "/admin/products/:id/variants/:variant_id", middlewares: [ (0, framework_1.validateAndTransformBody)(validators_2.AdminUpdateProductVariant), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["DELETE"], matcher: "/admin/products/:id/variants/:variant_id", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, // Note: New endpoint in v2 { method: ["GET"], matcher: "/admin/products/:id/options", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductOptionsParams, QueryConfig.listOptionConfig), ], }, // Note: New endpoint in v2 { method: ["GET"], matcher: "/admin/products/:id/options/:option_id", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductOptionParams, QueryConfig.retrieveOptionConfig), ], }, { method: ["POST"], matcher: "/admin/products/:id/options", middlewares: [ (0, framework_1.validateAndTransformBody)(validators_2.AdminCreateProductOption), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["POST"], matcher: "/admin/products/:id/options/:option_id", middlewares: [ (0, framework_1.validateAndTransformBody)(validators_2.AdminUpdateProductOption), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, { method: ["DELETE"], matcher: "/admin/products/:id/options/:option_id", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductParams, QueryConfig.retrieveProductQueryConfig), ], }, // Variant inventory item endpoints { method: ["POST"], matcher: "/admin/products/:id/variants/inventory-items/batch", bodyParser: { sizeLimit: middlewares_1.DEFAULT_BATCH_ENDPOINTS_SIZE_LIMIT, }, middlewares: [ (0, framework_1.validateAndTransformBody)((0, validators_1.createBatchBody)(validators_2.AdminBatchCreateVariantInventoryItem, validators_2.AdminBatchUpdateVariantInventoryItem, validators_2.AdminBatchDeleteVariantInventoryItem)), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductVariantParams, QueryConfig.retrieveVariantConfig), ], }, { method: ["POST"], matcher: "/admin/products/:id/variants/:variant_id/inventory-items", middlewares: [ (0, framework_1.validateAndTransformBody)(validators_2.AdminCreateVariantInventoryItem), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductVariantParams, QueryConfig.retrieveVariantConfig), ], }, { method: ["POST"], matcher: "/admin/products/:id/variants/:variant_id/inventory-items/:inventory_item_id", middlewares: [ (0, framework_1.validateAndTransformBody)(validators_2.AdminUpdateVariantInventoryItem), (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductVariantParams, QueryConfig.retrieveVariantConfig), ], }, { method: ["DELETE"], matcher: "/admin/products/:id/variants/:variant_id/inventory-items/:inventory_item_id", middlewares: [ (0, framework_1.validateAndTransformQuery)(validators_2.AdminGetProductVariantParams, QueryConfig.retrieveVariantConfig), ], }, ]; //# sourceMappingURL=middlewares.js.map