@mercurjs/core 2.2.0-canary.20 → 2.2.0-canary.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.medusa/server/src/api/admin/collections/[id]/route.d.ts +7 -0
  2. package/.medusa/server/src/api/admin/collections/[id]/route.js +48 -0
  3. package/.medusa/server/src/api/admin/collections/middlewares.d.ts +2 -0
  4. package/.medusa/server/src/api/admin/collections/middlewares.js +55 -0
  5. package/.medusa/server/src/api/admin/collections/query-config.d.ts +12 -0
  6. package/.medusa/server/src/api/admin/collections/query-config.js +29 -0
  7. package/.medusa/server/src/api/admin/collections/route.d.ts +6 -0
  8. package/.medusa/server/src/api/admin/collections/route.js +36 -0
  9. package/.medusa/server/src/api/admin/collections/validators.d.ts +271 -0
  10. package/.medusa/server/src/api/admin/collections/validators.js +42 -0
  11. package/.medusa/server/src/api/admin/customer-groups/middlewares.d.ts +2 -0
  12. package/.medusa/server/src/api/admin/customer-groups/middlewares.js +48 -0
  13. package/.medusa/server/src/api/admin/customer-groups/validators.d.ts +753 -0
  14. package/.medusa/server/src/api/admin/customer-groups/validators.js +13 -0
  15. package/.medusa/server/src/api/admin/middlewares.js +29 -25
  16. package/.medusa/server/src/api/admin/product-categories/validators.d.ts +16 -16
  17. package/.medusa/server/src/api/vendor/collections/query-config.js +7 -1
  18. package/.medusa/server/src/api/vendor/customer-groups/helpers.js +1 -1
  19. package/.medusa/server/src/api/vendor/customer-groups/middlewares.js +1 -1
  20. package/.medusa/server/src/api/vendor/customers/[id]/route.js +4 -4
  21. package/.medusa/server/src/api/vendor/offers/validators.js +4 -4
  22. package/.medusa/server/src/api/vendor/product-categories/query-config.js +7 -1
  23. package/.medusa/server/src/links/media-product-collection-link.d.ts +11 -0
  24. package/.medusa/server/src/links/media-product-collection-link.js +22 -0
  25. package/.medusa/server/src/links/seller-customer-group-link.js +7 -2
  26. package/.medusa/server/src/utils/disable-medusa-middlewares.js +3 -1
  27. package/.medusa/server/src/workflows/customer-group/steps/link-seller-customer-group.js +9 -7
  28. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.d.ts +16 -0
  29. package/.medusa/server/src/workflows/media/workflows/create-product-collection-with-images.js +28 -0
  30. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.d.ts +10 -0
  31. package/.medusa/server/src/workflows/media/workflows/delete-product-collection-with-images.js +27 -0
  32. package/.medusa/server/src/workflows/media/workflows/index.d.ts +4 -0
  33. package/.medusa/server/src/workflows/media/workflows/index.js +5 -1
  34. package/.medusa/server/src/workflows/media/workflows/set-collection-images.d.ts +25 -0
  35. package/.medusa/server/src/workflows/media/workflows/set-collection-images.js +81 -0
  36. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.d.ts +16 -0
  37. package/.medusa/server/src/workflows/media/workflows/update-product-collection-with-images.js +26 -0
  38. package/package.json +1 -1
@@ -0,0 +1,7 @@
1
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ import { AdditionalData } from "@medusajs/framework/types";
3
+ import { HttpTypes } from "@medusajs/types";
4
+ import { AdminUpdateCollectionType } from "../validators";
5
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.AdminCollectionResponse>) => Promise<void>;
6
+ export declare const POST: (req: AuthenticatedMedusaRequest<AdminUpdateCollectionType & AdditionalData>, res: MedusaResponse<HttpTypes.AdminCollectionResponse>) => Promise<void>;
7
+ export declare const DELETE: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.AdminCollectionDeleteResponse>) => Promise<void>;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DELETE = exports.POST = exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const update_product_collection_with_images_1 = require("../../../../workflows/media/workflows/update-product-collection-with-images");
6
+ const delete_product_collection_with_images_1 = require("../../../../workflows/media/workflows/delete-product-collection-with-images");
7
+ const GET = async (req, res) => {
8
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
9
+ const { data: [collection], } = await query.graph({
10
+ entity: "product_collection",
11
+ fields: req.queryConfig.fields,
12
+ filters: { id: req.params.id },
13
+ });
14
+ if (!collection) {
15
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Collection with id ${req.params.id} was not found`);
16
+ }
17
+ res.json({ collection });
18
+ };
19
+ exports.GET = GET;
20
+ const POST = async (req, res) => {
21
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
22
+ const { additional_data: _additional_data, media, icon, ...update } = req.validatedBody;
23
+ await (0, update_product_collection_with_images_1.updateProductCollectionWithImagesWorkflow)(req.scope).run({
24
+ input: { id: req.params.id, update, media, icon },
25
+ });
26
+ const { data: [collection], } = await query.graph({
27
+ entity: "product_collection",
28
+ fields: req.queryConfig.fields,
29
+ filters: { id: req.params.id },
30
+ });
31
+ if (!collection) {
32
+ throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Collection with id ${req.params.id} was not found`);
33
+ }
34
+ res.json({ collection });
35
+ };
36
+ exports.POST = POST;
37
+ const DELETE = async (req, res) => {
38
+ await (0, delete_product_collection_with_images_1.deleteProductCollectionWithImagesWorkflow)(req.scope).run({
39
+ input: { id: req.params.id },
40
+ });
41
+ res.status(200).json({
42
+ id: req.params.id,
43
+ object: "collection",
44
+ deleted: true,
45
+ });
46
+ };
47
+ exports.DELETE = DELETE;
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbGxlY3Rpb25zL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBR2tDO0FBTWxDLHVJQUF1STtBQUN2SSx1SUFBdUk7QUFFaEksTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFzRCxFQUN0RCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUNuQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQy9CLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixzQkFBc0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGdCQUFnQixDQUNwRCxDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFBO0FBQzFCLENBQUMsQ0FBQTtBQXRCWSxRQUFBLEdBQUcsT0FzQmY7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQTJFLEVBQzNFLEdBQXNELEVBQ3RELEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQ0osZUFBZSxFQUFFLGdCQUFnQixFQUNqQyxLQUFLLEVBQ0wsSUFBSSxFQUNKLEdBQUcsTUFBTSxFQUNWLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUVyQixNQUFNLElBQUEsaUZBQXlDLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUM3RCxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7S0FDbEQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxHQUNuQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQy9CLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNoQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixzQkFBc0IsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLGdCQUFnQixDQUNwRCxDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFBO0FBQzFCLENBQUMsQ0FBQTtBQWpDWSxRQUFBLElBQUksUUFpQ2hCO0FBRU0sTUFBTSxNQUFNLEdBQUcsS0FBSyxFQUN6QixHQUErQixFQUMvQixHQUE0RCxFQUM1RCxFQUFFO0lBQ0YsTUFBTSxJQUFBLGlGQUF5QyxFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDN0QsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQzdCLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ25CLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDakIsTUFBTSxFQUFFLFlBQVk7UUFDcEIsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFiWSxRQUFBLE1BQU0sVUFhbEIifQ==
@@ -0,0 +1,2 @@
1
+ import { MiddlewareRoute } from "@medusajs/framework/http";
2
+ export declare const adminCollectionsMiddlewares: MiddlewareRoute[];
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminCollectionsMiddlewares = void 0;
4
+ const framework_1 = require("@medusajs/framework");
5
+ const disable_medusa_middlewares_1 = require("../../../utils/disable-medusa-middlewares");
6
+ const query_config_1 = require("./query-config");
7
+ const validators_1 = require("./validators");
8
+ // Mercur replaces the base `/admin/collections` and `/admin/collections/:id`
9
+ // routes (to attach media + icon), but leaves the rest of Medusa's collection
10
+ // routes — `/admin/collections/:id/products` (product linking) and the
11
+ // `/admin/collections/*` sub-resource query validation — intact. Those core
12
+ // middlewares were emptied by `disableMedusaMiddlewares`, so re-spread the
13
+ // captured originals for the matchers we are NOT overriding.
14
+ const OVERRIDDEN_MATCHERS = new Set(["/admin/collections", "/admin/collections/:id"]);
15
+ const capturedBase = (disable_medusa_middlewares_1.ORIGINAL_MIDDLEWARES["dist/api/admin/collections/middlewares.js"] ?? []);
16
+ const baseRetained = capturedBase.filter((route) => !OVERRIDDEN_MATCHERS.has(String(route.matcher)));
17
+ exports.adminCollectionsMiddlewares = [
18
+ ...baseRetained,
19
+ {
20
+ method: ["GET"],
21
+ matcher: "/admin/collections",
22
+ middlewares: [
23
+ (0, framework_1.validateAndTransformQuery)(validators_1.AdminCollectionsParams, query_config_1.adminCollectionQueryConfig.list),
24
+ ],
25
+ },
26
+ {
27
+ method: ["POST"],
28
+ matcher: "/admin/collections",
29
+ middlewares: [
30
+ (0, framework_1.validateAndTransformBody)(validators_1.AdminCreateCollection),
31
+ (0, framework_1.validateAndTransformQuery)(validators_1.AdminCollectionParams, query_config_1.adminCollectionQueryConfig.retrieve),
32
+ ],
33
+ },
34
+ {
35
+ method: ["GET"],
36
+ matcher: "/admin/collections/:id",
37
+ middlewares: [
38
+ (0, framework_1.validateAndTransformQuery)(validators_1.AdminCollectionParams, query_config_1.adminCollectionQueryConfig.retrieve),
39
+ ],
40
+ },
41
+ {
42
+ method: ["POST"],
43
+ matcher: "/admin/collections/:id",
44
+ middlewares: [
45
+ (0, framework_1.validateAndTransformBody)(validators_1.AdminUpdateCollection),
46
+ (0, framework_1.validateAndTransformQuery)(validators_1.AdminCollectionParams, query_config_1.adminCollectionQueryConfig.retrieve),
47
+ ],
48
+ },
49
+ {
50
+ method: ["DELETE"],
51
+ matcher: "/admin/collections/:id",
52
+ middlewares: [],
53
+ },
54
+ ];
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbGxlY3Rpb25zL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1EQUc0QjtBQUU1QiwwRkFBZ0Y7QUFDaEYsaURBQTJEO0FBQzNELDZDQUtxQjtBQUVyQiw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLHVFQUF1RTtBQUN2RSw0RUFBNEU7QUFDNUUsMkVBQTJFO0FBQzNFLDZEQUE2RDtBQUM3RCxNQUFNLG1CQUFtQixHQUFHLElBQUksR0FBRyxDQUFDLENBQUMsb0JBQW9CLEVBQUUsd0JBQXdCLENBQUMsQ0FBQyxDQUFBO0FBRXJGLE1BQU0sWUFBWSxHQUFHLENBQUMsaURBQW9CLENBQ3hDLDJDQUEyQyxDQUM1QyxJQUFJLEVBQUUsQ0FBc0IsQ0FBQTtBQUU3QixNQUFNLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUN0QyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUMzRCxDQUFBO0FBRVksUUFBQSwyQkFBMkIsR0FBc0I7SUFDNUQsR0FBRyxZQUFZO0lBQ2Y7UUFDRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLENBQUM7UUFDZixPQUFPLEVBQUUsb0JBQW9CO1FBQzdCLFdBQVcsRUFBRTtZQUNYLElBQUEscUNBQXlCLEVBQ3ZCLG1DQUFzQixFQUN0Qix5Q0FBMEIsQ0FBQyxJQUFJLENBQ2hDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ2hCLE9BQU8sRUFBRSxvQkFBb0I7UUFDN0IsV0FBVyxFQUFFO1lBQ1gsSUFBQSxvQ0FBd0IsRUFBQyxrQ0FBcUIsQ0FBQztZQUMvQyxJQUFBLHFDQUF5QixFQUN2QixrQ0FBcUIsRUFDckIseUNBQTBCLENBQUMsUUFBUSxDQUNwQztTQUNGO0tBQ0Y7SUFDRDtRQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsV0FBVyxFQUFFO1lBQ1gsSUFBQSxxQ0FBeUIsRUFDdkIsa0NBQXFCLEVBQ3JCLHlDQUEwQixDQUFDLFFBQVEsQ0FDcEM7U0FDRjtLQUNGO0lBQ0Q7UUFDRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUM7UUFDaEIsT0FBTyxFQUFFLHdCQUF3QjtRQUNqQyxXQUFXLEVBQUU7WUFDWCxJQUFBLG9DQUF3QixFQUFDLGtDQUFxQixDQUFDO1lBQy9DLElBQUEscUNBQXlCLEVBQ3ZCLGtDQUFxQixFQUNyQix5Q0FBMEIsQ0FBQyxRQUFRLENBQ3BDO1NBQ0Y7S0FDRjtJQUNEO1FBQ0UsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO1FBQ2xCLE9BQU8sRUFBRSx3QkFBd0I7UUFDakMsV0FBVyxFQUFFLEVBQUU7S0FDaEI7Q0FDRixDQUFBIn0=
@@ -0,0 +1,12 @@
1
+ export declare const adminCollectionFields: string[];
2
+ export declare const adminCollectionQueryConfig: {
3
+ list: {
4
+ defaults: string[];
5
+ defaultLimit: number;
6
+ isList: boolean;
7
+ };
8
+ retrieve: {
9
+ defaults: string[];
10
+ isList: boolean;
11
+ };
12
+ };
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminCollectionQueryConfig = exports.adminCollectionFields = void 0;
4
+ exports.adminCollectionFields = [
5
+ "id",
6
+ "title",
7
+ "handle",
8
+ "created_at",
9
+ "updated_at",
10
+ "metadata",
11
+ "images.id",
12
+ "images.url",
13
+ "images.type",
14
+ "images.is_thumbnail",
15
+ "images.is_banner",
16
+ "images.rank",
17
+ ];
18
+ exports.adminCollectionQueryConfig = {
19
+ list: {
20
+ defaults: exports.adminCollectionFields,
21
+ defaultLimit: 20,
22
+ isList: true,
23
+ },
24
+ retrieve: {
25
+ defaults: exports.adminCollectionFields,
26
+ isList: false,
27
+ },
28
+ };
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwaS9hZG1pbi9jb2xsZWN0aW9ucy9xdWVyeS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxxQkFBcUIsR0FBRztJQUNuQyxJQUFJO0lBQ0osT0FBTztJQUNQLFFBQVE7SUFDUixZQUFZO0lBQ1osWUFBWTtJQUNaLFVBQVU7SUFDVixXQUFXO0lBQ1gsWUFBWTtJQUNaLGFBQWE7SUFDYixxQkFBcUI7SUFDckIsa0JBQWtCO0lBQ2xCLGFBQWE7Q0FDZCxDQUFBO0FBRVksUUFBQSwwQkFBMEIsR0FBRztJQUN4QyxJQUFJLEVBQUU7UUFDSixRQUFRLEVBQUUsNkJBQXFCO1FBQy9CLFlBQVksRUFBRSxFQUFFO1FBQ2hCLE1BQU0sRUFBRSxJQUFJO0tBQ2I7SUFDRCxRQUFRLEVBQUU7UUFDUixRQUFRLEVBQUUsNkJBQXFCO1FBQy9CLE1BQU0sRUFBRSxLQUFLO0tBQ2Q7Q0FDRixDQUFBIn0=
@@ -0,0 +1,6 @@
1
+ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ import { AdditionalData } from "@medusajs/framework/types";
3
+ import { HttpTypes } from "@medusajs/types";
4
+ import { AdminCreateCollectionType } from "./validators";
5
+ export declare const GET: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.AdminCollectionListResponse>) => Promise<void>;
6
+ export declare const POST: (req: AuthenticatedMedusaRequest<AdminCreateCollectionType & AdditionalData>, res: MedusaResponse<HttpTypes.AdminCollectionResponse>) => Promise<void>;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.POST = exports.GET = void 0;
4
+ const utils_1 = require("@medusajs/framework/utils");
5
+ const create_product_collection_with_images_1 = require("../../../workflows/media/workflows/create-product-collection-with-images");
6
+ const GET = async (req, res) => {
7
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
8
+ const { data: collections, metadata } = await query.graph({
9
+ entity: "product_collection",
10
+ fields: req.queryConfig.fields,
11
+ filters: req.filterableFields,
12
+ pagination: req.queryConfig.pagination,
13
+ });
14
+ res.json({
15
+ collections,
16
+ count: metadata?.count ?? 0,
17
+ offset: metadata?.skip ?? 0,
18
+ limit: metadata?.take ?? 0,
19
+ });
20
+ };
21
+ exports.GET = GET;
22
+ const POST = async (req, res) => {
23
+ const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
24
+ const { additional_data: _additional_data, media, icon, ...payload } = req.validatedBody;
25
+ const { result: createdId } = await (0, create_product_collection_with_images_1.createProductCollectionWithImagesWorkflow)(req.scope).run({
26
+ input: { collection: payload, media, icon },
27
+ });
28
+ const { data: [collection], } = await query.graph({
29
+ entity: "product_collection",
30
+ fields: req.queryConfig.fields,
31
+ filters: { id: createdId },
32
+ });
33
+ res.status(200).json({ collection });
34
+ };
35
+ exports.POST = POST;
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2NvbGxlY3Rpb25zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFxRTtBQUtyRSxvSUFBb0k7QUFFN0gsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUEwRCxFQUMxRCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hELE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsR0FBRyxDQUFDLGdCQUFnQjtRQUM3QixVQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVO0tBQ3ZDLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxXQUFXO1FBQ1gsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztRQUMzQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1FBQzNCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7S0FDM0IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBbkJZLFFBQUEsR0FBRyxPQW1CZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBMkUsRUFDM0UsR0FBc0QsRUFDdEQsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLE1BQU0sRUFDSixlQUFlLEVBQUUsZ0JBQWdCLEVBQ2pDLEtBQUssRUFDTCxJQUFJLEVBQ0osR0FBRyxPQUFPLEVBQ1gsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO0lBRXJCLE1BQU0sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQ3pCLE1BQU0sSUFBQSxpRkFBeUMsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzdELEtBQUssRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtLQUM1QyxDQUFDLENBQUE7SUFFSixNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsVUFBVSxDQUFDLEdBQ25CLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxvQkFBb0I7UUFDNUIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFO0tBQzNCLENBQUMsQ0FBQTtJQUVGLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQTtBQUN0QyxDQUFDLENBQUE7QUEzQlksUUFBQSxJQUFJLFFBMkJoQiJ9
@@ -0,0 +1,271 @@
1
+ import { z } from "zod";
2
+ import { AdditionalData } from "@medusajs/framework/types";
3
+ export type AdminCollectionParamsType = z.infer<typeof AdminCollectionParams>;
4
+ export declare const AdminCollectionParams: z.ZodObject<{
5
+ fields: z.ZodOptional<z.ZodString>;
6
+ }, "strip", z.ZodTypeAny, {
7
+ fields?: string | undefined;
8
+ }, {
9
+ fields?: string | undefined;
10
+ }>;
11
+ export type AdminCollectionsParamsType = z.infer<typeof AdminCollectionsParams>;
12
+ export declare const AdminCollectionsParams: z.ZodObject<{
13
+ fields: z.ZodOptional<z.ZodString>;
14
+ } & {
15
+ offset: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
16
+ limit: z.ZodEffects<z.ZodDefault<z.ZodOptional<z.ZodNumber>>, number, unknown>;
17
+ order: z.ZodOptional<z.ZodString> | z.ZodDefault<z.ZodOptional<z.ZodString>>;
18
+ with_deleted: z.ZodEffects<z.ZodOptional<z.ZodBoolean>, boolean | undefined, unknown>;
19
+ } & {
20
+ q: z.ZodOptional<z.ZodString>;
21
+ id: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
22
+ title: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
23
+ handle: z.ZodOptional<z.ZodUnion<[z.ZodString, z.ZodArray<z.ZodString, "many">]>>;
24
+ created_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
25
+ $eq: any;
26
+ $ne: any;
27
+ $in: any;
28
+ $nin: any;
29
+ $like: any;
30
+ $ilike: any;
31
+ $re: any;
32
+ $contains: any;
33
+ $gt: any;
34
+ $gte: any;
35
+ $lt: any;
36
+ $lte: any;
37
+ }, "strip", z.ZodTypeAny, {
38
+ $eq?: any;
39
+ $ne?: any;
40
+ $in?: any;
41
+ $nin?: any;
42
+ $like?: any;
43
+ $ilike?: any;
44
+ $re?: any;
45
+ $contains?: any;
46
+ $gt?: any;
47
+ $gte?: any;
48
+ $lt?: any;
49
+ $lte?: any;
50
+ }, {
51
+ $eq?: any;
52
+ $ne?: any;
53
+ $in?: any;
54
+ $nin?: any;
55
+ $like?: any;
56
+ $ilike?: any;
57
+ $re?: any;
58
+ $contains?: any;
59
+ $gt?: any;
60
+ $gte?: any;
61
+ $lt?: any;
62
+ $lte?: any;
63
+ }>]>>;
64
+ updated_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
65
+ $eq: any;
66
+ $ne: any;
67
+ $in: any;
68
+ $nin: any;
69
+ $like: any;
70
+ $ilike: any;
71
+ $re: any;
72
+ $contains: any;
73
+ $gt: any;
74
+ $gte: any;
75
+ $lt: any;
76
+ $lte: any;
77
+ }, "strip", z.ZodTypeAny, {
78
+ $eq?: any;
79
+ $ne?: any;
80
+ $in?: any;
81
+ $nin?: any;
82
+ $like?: any;
83
+ $ilike?: any;
84
+ $re?: any;
85
+ $contains?: any;
86
+ $gt?: any;
87
+ $gte?: any;
88
+ $lt?: any;
89
+ $lte?: any;
90
+ }, {
91
+ $eq?: any;
92
+ $ne?: any;
93
+ $in?: any;
94
+ $nin?: any;
95
+ $like?: any;
96
+ $ilike?: any;
97
+ $re?: any;
98
+ $contains?: any;
99
+ $gt?: any;
100
+ $gte?: any;
101
+ $lt?: any;
102
+ $lte?: any;
103
+ }>]>>;
104
+ deleted_at: z.ZodOptional<z.ZodUnion<[any, z.ZodObject<{
105
+ $eq: any;
106
+ $ne: any;
107
+ $in: any;
108
+ $nin: any;
109
+ $like: any;
110
+ $ilike: any;
111
+ $re: any;
112
+ $contains: any;
113
+ $gt: any;
114
+ $gte: any;
115
+ $lt: any;
116
+ $lte: any;
117
+ }, "strip", z.ZodTypeAny, {
118
+ $eq?: any;
119
+ $ne?: any;
120
+ $in?: any;
121
+ $nin?: any;
122
+ $like?: any;
123
+ $ilike?: any;
124
+ $re?: any;
125
+ $contains?: any;
126
+ $gt?: any;
127
+ $gte?: any;
128
+ $lt?: any;
129
+ $lte?: any;
130
+ }, {
131
+ $eq?: any;
132
+ $ne?: any;
133
+ $in?: any;
134
+ $nin?: any;
135
+ $like?: any;
136
+ $ilike?: any;
137
+ $re?: any;
138
+ $contains?: any;
139
+ $gt?: any;
140
+ $gte?: any;
141
+ $lt?: any;
142
+ $lte?: any;
143
+ }>]>>;
144
+ }, "strip", z.ZodTypeAny, {
145
+ offset: number;
146
+ limit: number;
147
+ order?: string | undefined;
148
+ id?: string | string[] | undefined;
149
+ created_at?: any;
150
+ updated_at?: any;
151
+ q?: string | undefined;
152
+ fields?: string | undefined;
153
+ with_deleted?: boolean | undefined;
154
+ deleted_at?: any;
155
+ title?: string | string[] | undefined;
156
+ handle?: string | string[] | undefined;
157
+ }, {
158
+ order?: string | undefined;
159
+ id?: string | string[] | undefined;
160
+ created_at?: any;
161
+ updated_at?: any;
162
+ offset?: unknown;
163
+ limit?: unknown;
164
+ q?: string | undefined;
165
+ fields?: string | undefined;
166
+ with_deleted?: unknown;
167
+ deleted_at?: any;
168
+ title?: string | string[] | undefined;
169
+ handle?: string | string[] | undefined;
170
+ }>;
171
+ export type AdminCreateCollectionType = z.infer<typeof CreateCollection> & AdditionalData;
172
+ declare const CreateCollection: z.ZodObject<{
173
+ title: z.ZodString;
174
+ handle: z.ZodOptional<z.ZodString>;
175
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
176
+ media: z.ZodOptional<z.ZodArray<z.ZodObject<{
177
+ url: z.ZodString;
178
+ is_thumbnail: z.ZodOptional<z.ZodBoolean>;
179
+ is_banner: z.ZodOptional<z.ZodBoolean>;
180
+ rank: z.ZodOptional<z.ZodNumber>;
181
+ }, "strip", z.ZodTypeAny, {
182
+ url: string;
183
+ rank?: number | undefined;
184
+ is_thumbnail?: boolean | undefined;
185
+ is_banner?: boolean | undefined;
186
+ }, {
187
+ url: string;
188
+ rank?: number | undefined;
189
+ is_thumbnail?: boolean | undefined;
190
+ is_banner?: boolean | undefined;
191
+ }>, "many">>;
192
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
193
+ }, "strip", z.ZodTypeAny, {
194
+ title: string;
195
+ metadata?: Record<string, unknown> | null | undefined;
196
+ handle?: string | undefined;
197
+ media?: {
198
+ url: string;
199
+ rank?: number | undefined;
200
+ is_thumbnail?: boolean | undefined;
201
+ is_banner?: boolean | undefined;
202
+ }[] | undefined;
203
+ icon?: string | null | undefined;
204
+ }, {
205
+ title: string;
206
+ metadata?: Record<string, unknown> | null | undefined;
207
+ handle?: string | undefined;
208
+ media?: {
209
+ url: string;
210
+ rank?: number | undefined;
211
+ is_thumbnail?: boolean | undefined;
212
+ is_banner?: boolean | undefined;
213
+ }[] | undefined;
214
+ icon?: string | null | undefined;
215
+ }>;
216
+ export declare const AdminCreateCollection: (additionalDataValidator?: z.ZodOptional<z.ZodNullable<z.ZodObject<any, any>>>) => z.ZodObject<any, any, z.ZodTypeAny, {
217
+ [x: string]: any;
218
+ }, {
219
+ [x: string]: any;
220
+ }> | z.ZodEffects<any, any, any>;
221
+ export type AdminUpdateCollectionType = z.infer<typeof UpdateCollection> & AdditionalData;
222
+ declare const UpdateCollection: z.ZodObject<{
223
+ title: z.ZodOptional<z.ZodString>;
224
+ handle: z.ZodOptional<z.ZodString>;
225
+ metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
226
+ media: z.ZodOptional<z.ZodArray<z.ZodObject<{
227
+ url: z.ZodString;
228
+ is_thumbnail: z.ZodOptional<z.ZodBoolean>;
229
+ is_banner: z.ZodOptional<z.ZodBoolean>;
230
+ rank: z.ZodOptional<z.ZodNumber>;
231
+ }, "strip", z.ZodTypeAny, {
232
+ url: string;
233
+ rank?: number | undefined;
234
+ is_thumbnail?: boolean | undefined;
235
+ is_banner?: boolean | undefined;
236
+ }, {
237
+ url: string;
238
+ rank?: number | undefined;
239
+ is_thumbnail?: boolean | undefined;
240
+ is_banner?: boolean | undefined;
241
+ }>, "many">>;
242
+ icon: z.ZodOptional<z.ZodNullable<z.ZodString>>;
243
+ }, "strip", z.ZodTypeAny, {
244
+ metadata?: Record<string, unknown> | null | undefined;
245
+ title?: string | undefined;
246
+ handle?: string | undefined;
247
+ media?: {
248
+ url: string;
249
+ rank?: number | undefined;
250
+ is_thumbnail?: boolean | undefined;
251
+ is_banner?: boolean | undefined;
252
+ }[] | undefined;
253
+ icon?: string | null | undefined;
254
+ }, {
255
+ metadata?: Record<string, unknown> | null | undefined;
256
+ title?: string | undefined;
257
+ handle?: string | undefined;
258
+ media?: {
259
+ url: string;
260
+ rank?: number | undefined;
261
+ is_thumbnail?: boolean | undefined;
262
+ is_banner?: boolean | undefined;
263
+ }[] | undefined;
264
+ icon?: string | null | undefined;
265
+ }>;
266
+ export declare const AdminUpdateCollection: (additionalDataValidator?: z.ZodOptional<z.ZodNullable<z.ZodObject<any, any>>>) => z.ZodObject<any, any, z.ZodTypeAny, {
267
+ [x: string]: any;
268
+ }, {
269
+ [x: string]: any;
270
+ }> | z.ZodEffects<any, any, any>;
271
+ export {};
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AdminUpdateCollection = exports.AdminCreateCollection = exports.AdminCollectionsParams = exports.AdminCollectionParams = void 0;
4
+ const zod_1 = require("zod");
5
+ const validators_1 = require("@medusajs/medusa/api/utils/validators");
6
+ exports.AdminCollectionParams = (0, validators_1.createSelectParams)();
7
+ const AdminCollectionsParamsFields = zod_1.z.object({
8
+ q: zod_1.z.string().optional(),
9
+ id: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
10
+ title: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
11
+ handle: zod_1.z.union([zod_1.z.string(), zod_1.z.array(zod_1.z.string())]).optional(),
12
+ created_at: (0, validators_1.createOperatorMap)().optional(),
13
+ updated_at: (0, validators_1.createOperatorMap)().optional(),
14
+ deleted_at: (0, validators_1.createOperatorMap)().optional(),
15
+ });
16
+ exports.AdminCollectionsParams = (0, validators_1.createFindParams)({
17
+ offset: 0,
18
+ limit: 20,
19
+ }).merge(AdminCollectionsParamsFields);
20
+ const CollectionMedia = zod_1.z.object({
21
+ url: zod_1.z.string(),
22
+ is_thumbnail: zod_1.z.boolean().optional(),
23
+ is_banner: zod_1.z.boolean().optional(),
24
+ rank: zod_1.z.number().optional(),
25
+ });
26
+ const CreateCollection = zod_1.z.object({
27
+ title: zod_1.z.string(),
28
+ handle: zod_1.z.string().optional(),
29
+ metadata: zod_1.z.record(zod_1.z.unknown()).nullish(),
30
+ media: zod_1.z.array(CollectionMedia).optional(),
31
+ icon: zod_1.z.string().nullish(),
32
+ });
33
+ exports.AdminCreateCollection = (0, validators_1.WithAdditionalData)(CreateCollection);
34
+ const UpdateCollection = zod_1.z.object({
35
+ title: zod_1.z.string().optional(),
36
+ handle: zod_1.z.string().optional(),
37
+ metadata: zod_1.z.record(zod_1.z.unknown()).nullish(),
38
+ media: zod_1.z.array(CollectionMedia).optional(),
39
+ icon: zod_1.z.string().nullish(),
40
+ });
41
+ exports.AdminUpdateCollection = (0, validators_1.WithAdditionalData)(UpdateCollection);
42
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvYWRtaW4vY29sbGVjdGlvbnMvdmFsaWRhdG9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBdUI7QUFDdkIsc0VBSzhDO0FBSWpDLFFBQUEscUJBQXFCLEdBQUcsSUFBQSwrQkFBa0IsR0FBRSxDQUFBO0FBRXpELE1BQU0sNEJBQTRCLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM1QyxDQUFDLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QixFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDekQsS0FBSyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzVELE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM3RCxVQUFVLEVBQUUsSUFBQSw4QkFBaUIsR0FBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQyxVQUFVLEVBQUUsSUFBQSw4QkFBaUIsR0FBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQyxVQUFVLEVBQUUsSUFBQSw4QkFBaUIsR0FBRSxDQUFDLFFBQVEsRUFBRTtDQUMzQyxDQUFDLENBQUE7QUFHVyxRQUFBLHNCQUFzQixHQUFHLElBQUEsNkJBQWdCLEVBQUM7SUFDckQsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsRUFBRTtDQUNWLENBQUMsQ0FBQyxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtBQUV0QyxNQUFNLGVBQWUsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQy9CLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2YsWUFBWSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsU0FBUyxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDNUIsQ0FBQyxDQUFBO0FBSUYsTUFBTSxnQkFBZ0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hDLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUN6QyxLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Q0FDM0IsQ0FBQyxDQUFBO0FBQ1csUUFBQSxxQkFBcUIsR0FBRyxJQUFBLCtCQUFrQixFQUFDLGdCQUFnQixDQUFDLENBQUE7QUFJekUsTUFBTSxnQkFBZ0IsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ2hDLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUN6QyxLQUFLLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7Q0FDM0IsQ0FBQyxDQUFBO0FBQ1csUUFBQSxxQkFBcUIsR0FBRyxJQUFBLCtCQUFrQixFQUFDLGdCQUFnQixDQUFDLENBQUEifQ==
@@ -0,0 +1,2 @@
1
+ import { MiddlewareRoute } from "@medusajs/framework/http";
2
+ export declare const adminCustomerGroupsMiddlewares: MiddlewareRoute[];
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adminCustomerGroupsMiddlewares = void 0;
4
+ const http_1 = require("@medusajs/framework/http");
5
+ const framework_1 = require("@medusajs/framework");
6
+ const query_config_1 = require("@medusajs/medusa/api/admin/customer-groups/query-config");
7
+ const disable_medusa_middlewares_1 = require("../../../utils/disable-medusa-middlewares");
8
+ const validators_1 = require("./validators");
9
+ const LIST_MATCHER = "/admin/customer-groups";
10
+ const capturedBase = (disable_medusa_middlewares_1.ORIGINAL_MIDDLEWARES["dist/api/admin/customer-groups/middlewares.js"] ?? []);
11
+ // Re-spread every base middleware except the list GET, which we replace below
12
+ // so we can allow `seller_id` and translate it into a link filter.
13
+ const baseWithoutListGet = capturedBase.filter((route) => {
14
+ if (route.matcher !== LIST_MATCHER) {
15
+ return true;
16
+ }
17
+ const methods = Array.isArray(route.method)
18
+ ? route.method
19
+ : route.method
20
+ ? [route.method]
21
+ : [];
22
+ return !methods.includes("GET");
23
+ });
24
+ // Customer groups are owned through the `customer_group_seller` link, so a
25
+ // `seller_id` filter can't hit the customer_group table directly — rewrite it
26
+ // into an `id IN (...)` filter sourced from the link.
27
+ const maybeApplyCustomerGroupSellerFilter = (req, res, next) => {
28
+ if (!req.filterableFields.seller_id) {
29
+ return next();
30
+ }
31
+ return (0, http_1.maybeApplyLinkFilter)({
32
+ entryPoint: "customer_group_seller",
33
+ resourceId: "customer_group_id",
34
+ filterableField: "seller_id",
35
+ })(req, res, next);
36
+ };
37
+ exports.adminCustomerGroupsMiddlewares = [
38
+ ...baseWithoutListGet,
39
+ {
40
+ method: ["GET"],
41
+ matcher: LIST_MATCHER,
42
+ middlewares: [
43
+ (0, framework_1.validateAndTransformQuery)(validators_1.AdminGetCustomerGroupsParams, query_config_1.listTransformQueryConfig),
44
+ maybeApplyCustomerGroupSellerFilter,
45
+ ],
46
+ },
47
+ ];
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL2N1c3RvbWVyLWdyb3Vwcy9taWRkbGV3YXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtREFNaUM7QUFDakMsbURBQStEO0FBQy9ELDBGQUFrRztBQUVsRywwRkFBZ0Y7QUFDaEYsNkNBQTJEO0FBRTNELE1BQU0sWUFBWSxHQUFHLHdCQUF3QixDQUFBO0FBRTdDLE1BQU0sWUFBWSxHQUFHLENBQUMsaURBQW9CLENBQ3hDLCtDQUErQyxDQUNoRCxJQUFJLEVBQUUsQ0FBc0IsQ0FBQTtBQUU3Qiw4RUFBOEU7QUFDOUUsbUVBQW1FO0FBQ25FLE1BQU0sa0JBQWtCLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO0lBQ3ZELElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxZQUFZLEVBQUUsQ0FBQztRQUNuQyxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDekMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNO1FBQ2QsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNO1lBQ2QsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUNoQixDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ04sT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDakMsQ0FBQyxDQUFDLENBQUE7QUFFRiwyRUFBMkU7QUFDM0UsOEVBQThFO0FBQzlFLHNEQUFzRDtBQUN0RCxNQUFNLG1DQUFtQyxHQUFHLENBQzFDLEdBQStCLEVBQy9CLEdBQW1CLEVBQ25CLElBQXdCLEVBQ3hCLEVBQUU7SUFDRixJQUFJLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ3BDLE9BQU8sSUFBSSxFQUFFLENBQUE7SUFDZixDQUFDO0lBRUQsT0FBTyxJQUFBLDJCQUFvQixFQUFDO1FBQzFCLFVBQVUsRUFBRSx1QkFBdUI7UUFDbkMsVUFBVSxFQUFFLG1CQUFtQjtRQUMvQixlQUFlLEVBQUUsV0FBVztLQUM3QixDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUNwQixDQUFDLENBQUE7QUFFWSxRQUFBLDhCQUE4QixHQUFzQjtJQUMvRCxHQUFHLGtCQUFrQjtJQUNyQjtRQUNFLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQztRQUNmLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLFdBQVcsRUFBRTtZQUNYLElBQUEscUNBQXlCLEVBQ3ZCLHlDQUE0QixFQUM1Qix1Q0FBd0IsQ0FDekI7WUFDRCxtQ0FBbUM7U0FDcEM7S0FDRjtDQUNGLENBQUEifQ==