@alphabite/medusa-wishlist
Version:
Alphabite's Medusa Wishlist Plugin
147 lines • 10 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const http_1 = require("@medusajs/framework/http");
const validators_1 = require("@medusajs/medusa/api/utils/validators");
const validators_2 = require("./store/wishlists/validators");
const validators_3 = require("./store/wishlists/[id]/add-item/validators");
const validators_4 = require("./store/wishlists/total-items-count/validators");
const validators_5 = require("./store/wishlists/[id]/validators");
const utils_1 = require("../utils/utils");
const validators_6 = require("./store/wishlists/import/validators");
exports.default = (0, http_1.defineMiddlewares)({
routes: [
//----List Wishlists-----//
{
matcher: "/store/wishlists",
methods: ["GET"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"]),
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)().extend(validators_2.ListWishlistsQuerySchema.shape), {
isList: true,
}),
],
},
//----Total Items Count-----//
{
matcher: "/store/wishlists/total-items-count",
methods: ["GET"],
middlewares: [
(0, http_1.validateAndTransformQuery)(validators_4.TotalItemsCountInputSchema, {}),
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnauthenticated: true,
allowUnregistered: true,
}),
],
},
//----Retrieve Wishlist-----//
{
matcher: "/store/wishlists/:id",
methods: ["GET"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnregistered: true,
allowUnauthenticated: true,
}),
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)().extend(validators_5.RetrieveWishlistQuerySchema.shape), {}),
],
},
//----Create wishlist-----//
{
matcher: "/store/wishlists",
methods: ["POST"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnregistered: true,
allowUnauthenticated: true,
}),
(0, http_1.validateAndTransformBody)(validators_2.CreateWishlistInputSchema),
],
},
//----Update wishlist-----//
{
matcher: "/store/wishlists/:id",
methods: ["PUT"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"]),
(0, http_1.validateAndTransformBody)(validators_2.UpdateWishlistInputSchema),
],
},
//----Delete wishlist-----//
{
matcher: "/store/wishlists/:id",
methods: ["DELETE"],
middlewares: [(0, http_1.authenticate)("customer", ["bearer"])],
},
//----Transfer wishlist-----//
{
matcher: "/store/wishlists/:id/transfer",
methods: ["POST"],
middlewares: [(0, http_1.authenticate)("customer", ["bearer"])],
},
//----Share wishlist-----//
{
matcher: "/store/wishlists/:id/share",
methods: ["POST"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnregistered: true,
allowUnauthenticated: true,
}),
],
},
//----Import wishlist-----//
{
matcher: "/store/wishlists/import",
methods: ["POST"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnregistered: true,
allowUnauthenticated: true,
}),
(0, http_1.validateAndTransformBody)(validators_6.ImportWishlistInputSchema),
],
},
//----List Wishlist Items-----//
{
matcher: "/store/wishlists/:id/items",
methods: ["GET"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnregistered: true,
allowUnauthenticated: true,
}),
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)(), {
defaults: [...utils_1.defaultItemsFields, "wishlist.*"],
isList: true,
}),
],
},
//----Add item to wishlist-----//
{
matcher: "/store/wishlists/:id/add-item",
methods: ["POST"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnregistered: true,
allowUnauthenticated: true,
}),
(0, http_1.validateAndTransformBody)(validators_3.AddItemToWishlistInputSchema),
(0, http_1.validateAndTransformQuery)((0, validators_1.createFindParams)(), {
defaults: utils_1.defaultItemsFields,
}),
],
},
//----Remove item from wishlist-----//
{
matcher: "/store/wishlists/:id/items/:item_id",
methods: ["DELETE"],
middlewares: [
(0, http_1.authenticate)("customer", ["bearer"], {
allowUnregistered: true,
allowUnauthenticated: true,
}),
],
},
],
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBS2tDO0FBQ2xDLHNFQUF5RTtBQUN6RSw2REFJc0M7QUFDdEMsMkVBQTBGO0FBQzFGLCtFQUE0RjtBQUM1RixrRUFBZ0Y7QUFDaEYsMENBQW9EO0FBQ3BELG9FQUFnRjtBQUVoRixrQkFBZSxJQUFBLHdCQUFpQixFQUFDO0lBQy9CLE1BQU0sRUFBRTtRQUNOLDJCQUEyQjtRQUMzQjtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsT0FBTyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ2hCLFdBQVcsRUFBRTtnQkFDWCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3BDLElBQUEsZ0NBQXlCLEVBQ3ZCLElBQUEsNkJBQWdCLEdBQUUsQ0FBQyxNQUFNLENBQUMscUNBQXdCLENBQUMsS0FBSyxDQUFDLEVBQ3pEO29CQUNFLE1BQU0sRUFBRSxJQUFJO2lCQUNiLENBQ0Y7YUFDRjtTQUNGO1FBQ0QsOEJBQThCO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLG9DQUFvQztZQUM3QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsZ0NBQXlCLEVBQUMsdUNBQTBCLEVBQUUsRUFBRSxDQUFDO2dCQUN6RCxJQUFBLG1CQUFZLEVBQUMsVUFBVSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ25DLG9CQUFvQixFQUFFLElBQUk7b0JBQzFCLGlCQUFpQixFQUFFLElBQUk7aUJBQ3hCLENBQUM7YUFDSDtTQUNGO1FBQ0QsOEJBQThCO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLHNCQUFzQjtZQUMvQixPQUFPLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDaEIsV0FBVyxFQUFFO2dCQUNYLElBQUEsbUJBQVks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