@alphabite/medusa-reviews
Version:
Alphabite's Medusa Reviews Plugin
109 lines • 7.18 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const http_1 = require("@medusajs/framework/http");
const route_1 = require("./admin/reviews/route");
const route_2 = require("./admin/reviews/status/route");
const validators_1 = require("./store/reviews/validators");
const validators_2 = require("./store/products/reviews/validators");
const validators_3 = require("@medusajs/medusa/api/utils/validators");
const validators_4 = require("./store/reviews/product/[id]/validators");
const multer_1 = __importDefault(require("multer"));
const upload = (0, multer_1.default)({ storage: multer_1.default.memoryStorage() });
exports.default = (0, http_1.defineMiddlewares)({
routes: [
//----Create review-----//
{
matcher: "/store/reviews",
method: ["POST"],
bodyParser: { sizeLimit: "10mb" },
middlewares: [
(0, http_1.authenticate)("customer", ["session", "bearer"]),
(0, http_1.validateAndTransformBody)(validators_1.CreateReviewInputSchema),
],
},
//----List reviews-----//
{
matcher: "/store/products/reviews",
method: ["GET"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnauthenticated: true,
allowUnregistered: true,
}),
(0, http_1.validateAndTransformQuery)((0, validators_3.createFindParams)().extend(validators_2.ListReviewsQuerySchema.shape), {
defaults: ["customer.first_name", "customer.last_name"],
isList: true,
}),
],
},
//----List product reviews-----//
{
matcher: "/store/reviews/product/:id",
method: ["GET"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnauthenticated: true,
allowUnregistered: true,
}),
(0, http_1.validateAndTransformQuery)((0, validators_3.createFindParams)().extend(validators_4.ListProductReviewsQuerySchema.shape), {
defaults: ["customer.first_name", "customer.last_name"],
isList: true,
}),
],
},
//----Get Aggregate counts of product reviews-----//
{
matcher: "/store/reviews/product/:id/aggregate-counts",
method: ["GET"],
},
//----Delete product review-----//
{
matcher: "/store/reviews/:id",
method: ["DELETE"],
middlewares: [(0, http_1.authenticate)("customer", ["bearer"])],
},
//----Admin list reviews-----//
{
matcher: "/admin/reviews",
method: ["GET"],
middlewares: [
(0, http_1.validateAndTransformQuery)(route_1.GetAdminReviewsSchema, {
isList: true,
defaults: [
"id",
"title",
"content",
"rating",
"product_id",
"customer_id",
"status",
"created_at",
"updated_at",
"product.*",
],
}),
],
},
//----Admin change reviews status-----//
{
matcher: "/admin/reviews/status",
method: ["POST"],
middlewares: [
(0, http_1.validateAndTransformBody)(route_2.PostAdminUpdateReviewsStatusSchema),
],
},
{
matcher: "/store/reviews/files/images/upload",
method: "POST",
middlewares: [
// @ts-ignore
upload.array("files"),
(0, http_1.authenticate)("customer", ["bearer"]),
],
},
],
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsbURBS2tDO0FBQ2xDLGlEQUE4RDtBQUM5RCx3REFBa0Y7QUFDbEYsMkRBQXFFO0FBQ3JFLG9FQUE2RTtBQUM3RSxzRUFBeUU7QUFDekUsd0VBQXdGO0FBQ3hGLG9EQUE0QjtBQUU1QixNQUFNLE1BQU0sR0FBRyxJQUFBLGdCQUFNLEVBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQU0sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFM0Qsa0JBQWUsSUFBQSx3QkFBaUIsRUFBQztJQUMvQixNQUFNLEVBQUU7UUFDTiwwQkFBMEI7UUFDMUI7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixVQUFVLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFO1lBQ2pDLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvQyxJQUFBLCtCQUF3QixFQUFDLG9DQUF1QixDQUFDO2FBQ2xEO1NBQ0Y7UUFDRCwwQkFBMEI7UUFDMUI7WUFDRSxPQUFPLEVBQUUseUJBQXlCO1lBQ2xDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNmLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ25DLG9CQUFvQixFQUFFLElBQUk7b0JBQzFCLGlCQUFpQixFQUFFLElBQUk7aUJBQ3hCLENBQUM7Z0JBQ0YsSUFBQSxnQ0FBeUIsRUFDdkIsSUFBQSw2QkFBZ0IsR0FBRSxDQUFDLE1BQU0sQ0FBQyxtQ0FBc0IsQ0FBQyxLQUFLLENBQUMsRUFDdkQ7b0JBQ0UsUUFBUSxFQUFFLENBQUMscUJBQXFCLEVBQUUsb0JBQW9CLENBQUM7b0JBQ3ZELE1BQU0sRUFBRSxJQUFJO2lCQUNiLENBQ0Y7YUFDRjtTQUNGO1FBQ0QsaUNBQWlDO1FBQ2pDO1lBQ0UsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNuQyxvQkFBb0IsRUFBRSxJQUFJO29CQUMxQixpQkFBaUIsRUFBRSxJQUFJO2lCQUN4QixDQUFDO2dCQUNGLElBQUEsZ0NBQXlCLEVBQ3ZCLElBQUEsNkJBQWdCLEdBQUUsQ0FBQyxNQUFNLENBQUMsMENBQTZCLENBQUMsS0FBSyxDQUFDLEVBQzlEO29CQUNFLFFBQVEsRUFBRSxDQUFDLHFCQUFxQixFQUFFLG9CQUFvQixDQUFDO29CQUN2RCxNQUFNLEVBQUUsSUFBSTtpQkFDYixDQUNGO2FBQ0Y7U0FDRjtRQUNELG9EQUFvRDtRQUNwRDtZQUNFLE9BQU8sRUFBRSw2Q0FBNkM7WUFDdEQsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1NBQ2hCO1FBQ0Qsa0NBQWtDO1FBQ2xDO1lBQ0UsT0FBTyxFQUFFLG9CQUFvQjtZQUM3QixNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUM7WUFDbEIsV0FBVyxFQUFFLENBQUMsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7U0FDcEQ7UUFDRCwrQkFBK0I7UUFDL0I7WUFDRSxPQUFPLEVBQUUsZ0JBQWdCO1lBQ3pCLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNmLFdBQVcsRUFBRTtnQkFDWCxJQUFBLGdDQUF5QixFQUFDLDZCQUFxQixFQUFFO29CQUMvQyxNQUFNLEVBQUUsSUFBSTtvQkFDWixRQUFRLEVBQUU7d0JBQ1IsSUFBSTt3QkFDSixPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsUUFBUTt3QkFDUixZQUFZO3dCQUNaLFlBQVk7d0JBQ1osV0FBVztxQkFDWjtpQkFDRixDQUFDO2FBQ0g7U0FDRjtRQUNELHdDQUF3QztRQUN4QztZQUNFLE9BQU8sRUFBRSx1QkFBdUI7WUFDaEMsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLCtCQUF3QixFQUFDLDBDQUFrQyxDQUFDO2FBQzdEO1NBQ0Y7UUFDRDtZQUNFLE9BQU8sRUFBRSxvQ0FBb0M7WUFDN0MsTUFBTSxFQUFFLE1BQU07WUFDZCxXQUFXLEVBQUU7Z0JBQ1gsYUFBYTtnQkFDYixNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztnQkFDckIsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQ3JDO1NBQ0Y7S0FDRjtDQUNGLENBQUMsQ0FBQyJ9