@alphabite/medusa-reviews
Version:
Alphabite's Medusa Reviews Plugin
95 lines • 6.25 kB
JavaScript
"use strict";
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");
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),
],
},
],
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBS2tDO0FBQ2xDLGlEQUE4RDtBQUM5RCx3REFBa0Y7QUFDbEYsMkRBQXFFO0FBQ3JFLG9FQUE2RTtBQUM3RSxzRUFBeUU7QUFDekUsd0VBQXdGO0FBRXhGLGtCQUFlLElBQUEsd0JBQWlCLEVBQUM7SUFDL0IsTUFBTSxFQUFFO1FBQ04sMEJBQTBCO1FBQzFCO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7WUFDaEIsVUFBVSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRTtZQUNqQyxXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLENBQUMsQ0FBQztnQkFDL0MsSUFBQSwrQkFBd0IsRUFBQyxvQ0FBdUIsQ0FBQzthQUNsRDtTQUNGO1FBQ0QsMEJBQTBCO1FBQzFCO1lBQ0UsT0FBTyxFQUFFLHlCQUF5QjtZQUNsQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxtQkFBWSxFQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNuQyxvQkFBb0IsRUFBRSxJQUFJO29CQUMxQixpQkFBaUIsRUFBRSxJQUFJO2lCQUN4QixDQUFDO2dCQUNGLElBQUEsZ0NBQXlCLEVBQ3ZCLElBQUEsNkJBQWdCLEdBQUUsQ0FBQyxNQUFNLENBQUMsbUNBQXNCLENBQUMsS0FBSyxDQUFDLEVBQ3ZEO29CQUNFLFFBQVEsRUFBRSxDQUFDLHFCQUFxQixFQUFFLG9CQUFvQixDQUFDO29CQUN2RCxNQUFNLEVBQUUsSUFBSTtpQkFDYixDQUNGO2FBQ0Y7U0FDRjtRQUNELGlDQUFpQztRQUNqQztZQUNFLE9BQU8sRUFBRSw0QkFBNEI7WUFDckMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2YsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRTtvQkFDbkMsb0JBQW9CLEVBQUUsSUFBSTtvQkFDMUIsaUJBQWlCLEVBQUUsSUFBSTtpQkFDeEIsQ0FBQztnQkFDRixJQUFBLGdDQUF5QixFQUN2QixJQUFBLDZCQUFnQixHQUFFLENBQUMsTUFBTSxDQUFDLDBDQUE2QixDQUFDLEtBQUssQ0FBQyxFQUM5RDtvQkFDRSxRQUFRLEVBQUUsQ0FBQyxxQkFBcUIsRUFBRSxvQkFBb0IsQ0FBQztvQkFDdkQsTUFBTSxFQUFFLElBQUk7aUJBQ2IsQ0FDRjthQUNGO1NBQ0Y7UUFDRCxvREFBb0Q7UUFDcEQ7WUFDRSxPQUFPLEVBQUUsNkNBQTZDO1lBQ3RELE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztTQUNoQjtRQUNELGtDQUFrQztRQUNsQztZQUNFLE9BQU8sRUFBRSxvQkFBb0I7WUFDN0IsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ2xCLFdBQVcsRUFBRSxDQUFDLElBQUEsbUJBQVksRUFBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1NBQ3BEO1FBQ0QsK0JBQStCO1FBQy9CO1lBQ0UsT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDZixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSxnQ0FBeUIsRUFBQyw2QkFBcUIsRUFBRTtvQkFDL0MsTUFBTSxFQUFFLElBQUk7b0JBQ1osUUFBUSxFQUFFO3dCQUNSLElBQUk7d0JBQ0osT0FBTzt3QkFDUCxTQUFTO3dCQUNULFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFFBQVE7d0JBQ1IsWUFBWTt3QkFDWixZQUFZO3dCQUNaLFdBQVc7cUJBQ1o7aUJBQ0YsQ0FBQzthQUNIO1NBQ0Y7UUFDRCx3Q0FBd0M7UUFDeEM7WUFDRSxPQUFPLEVBQUUsdUJBQXVCO1lBQ2hDLE1BQU0sRUFBRSxDQUFDLE1BQU0sQ0FBQztZQUNoQixXQUFXLEVBQUU7Z0JBQ1gsSUFBQSwrQkFBd0IsRUFBQywwQ0FBa0MsQ0FBQzthQUM3RDtTQUNGO0tBQ0Y7Q0FDRixDQUFDLENBQUMifQ==