medusa-plugin-product-reviews-kvy
Version:
Plugins Product Reviews for Medusa ecommerce server.
67 lines (63 loc) • 4.74 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _typeof = require("@babel/runtime/helpers/typeof");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _express = _interopRequireWildcard(require("express"));
var _medusaCoreUtils = require("medusa-core-utils");
var _route = require("./store/products/[id]/reviews/route");
var _route2 = require("./store/products/[id]/average-reviews/route");
var _route3 = require("./store/products/[productId]/reviews/route");
var _route4 = require("./admin/products/[productId]/reviews/[reviewId]/approve/route");
var _route5 = require("./admin/products/[productId]/reviews/[reviewId]/route");
var _route6 = require("./store/orders/[orderId]/reviews/route");
var _route7 = require("./store/products/[productId]/reviews/upload-medias/route");
var _index = _interopRequireDefault(require("@medusajs/medusa/dist/api/middlewares/index"));
var _cors = _interopRequireDefault(require("cors"));
var _multer = _interopRequireDefault(require("multer"));
var _docs = _interopRequireDefault(require("../docs/docs.json"));
var _swaggerUiExpress = _interopRequireDefault(require("swagger-ui-express"));
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
//This file for support old arch for next v1.17.x remove it
var upload = (0, _multer["default"])({
dest: "uploads/"
});
var _default = exports["default"] = function _default(rootDirectory, pluginOptions) {
var router = (0, _express.Router)();
var _getConfigFile = (0, _medusaCoreUtils.getConfigFile)(rootDirectory, "medusa-config"),
configModule = _getConfigFile.configModule;
var projectConfig = configModule.projectConfig;
var adminCorsOptions = {
origin: (0, _medusaCoreUtils.parseCorsOrigins)(projectConfig.admin_cors),
credentials: true
};
var storeCorsOptions = {
origin: (0, _medusaCoreUtils.parseCorsOrigins)(projectConfig.store_cors),
credentials: true
};
router.use(_express["default"].json());
router.use(_express["default"].urlencoded({
extended: true
}));
router.use("/medusa-plugin-product-reviews/docs", _swaggerUiExpress["default"].serve, _swaggerUiExpress["default"].setup(_docs["default"]));
//STORE Route
router.options("/store/products/:id/reviews", (0, _cors["default"])(storeCorsOptions));
router.get("/store/products/:id/reviews", (0, _cors["default"])(storeCorsOptions), _route.GET);
router.options("/store/orders/:orderId/reviews", (0, _cors["default"])(storeCorsOptions));
router.get("/store/orders/:orderId/reviews", (0, _cors["default"])(storeCorsOptions), _index["default"].wrap(_route6.GET));
router.options("/store/products/:id/average-reviews", (0, _cors["default"])(storeCorsOptions));
router.get("/store/products/:id/average-reviews", (0, _cors["default"])(storeCorsOptions), _route2.GET);
router.options("/store/products/:productId/reviews", (0, _cors["default"])(storeCorsOptions));
router.post("/store/products/:productId/reviews", (0, _cors["default"])(storeCorsOptions), _index["default"].authenticateCustomer(), _index["default"].wrap(_route3.POST));
router.options("/store/products/:productId/reviews/upload-medias", (0, _cors["default"])(storeCorsOptions));
router.post("/store/products/:productId/reviews/upload-medias", (0, _cors["default"])(storeCorsOptions), upload.array("files"), _route7.POST);
//ADMIN Route
router.options("/admin/products/:productId/reviews/:reviewId/approve", (0, _cors["default"])(adminCorsOptions));
router.put("/admin/products/:productId/reviews/:reviewId/approve", (0, _cors["default"])(adminCorsOptions), _route4.PUT);
router.options("/admin/products/:productId/reviews/:reviewId", (0, _cors["default"])(adminCorsOptions));
router["delete"]("/admin/products/:productId/reviews/:reviewId", (0, _cors["default"])(adminCorsOptions), _index["default"].authenticate(), _index["default"].wrap(_route5.DELETE));
return router;
};