@mercurjs/core 2.2.0-canary.11 → 2.2.0-canary.13
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.
- package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.d.ts +12 -0
- package/.medusa/server/src/api/admin/order-edits/[id]/confirm/route.js +27 -0
- package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.d.ts +5 -0
- package/.medusa/server/src/api/vendor/order-edits/[id]/confirm/route.js +8 -3
- package/.medusa/server/src/api/vendor/products/[id]/route.js +13 -1
- package/.medusa/server/src/api/vendor/products/[id]/variants/[variant_id]/route.js +8 -2
- package/.medusa/server/src/api/vendor/products/helpers.d.ts +20 -0
- package/.medusa/server/src/api/vendor/products/helpers.js +76 -2
- package/.medusa/server/src/api/vendor/products/middlewares.js +37 -1
- package/.medusa/server/src/api/vendor/products/route.js +13 -1
- package/.medusa/server/src/api/vendor/products/validators.d.ts +6 -0
- package/.medusa/server/src/api/vendor/products/validators.js +6 -1
- package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.d.ts +7 -0
- package/.medusa/server/src/workflows/order/workflows/confirm-order-edit-request.js +165 -0
- package/.medusa/server/src/workflows/order/workflows/index.d.ts +1 -0
- package/.medusa/server/src/workflows/order/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/product-edit/workflows/product-edit-update-variants.js +52 -3
- package/package.json +1 -1
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { HttpTypes } from "@medusajs/framework/types";
|
|
2
|
+
import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/http";
|
|
3
|
+
/**
|
|
4
|
+
* Mercur override of Medusa's `POST /admin/order-edits/:id/confirm`.
|
|
5
|
+
*
|
|
6
|
+
* Calls the Mercur wrapper around `confirmOrderEditRequestWorkflow` so
|
|
7
|
+
* reservations created on added / qty-bumped items are adjusted to the
|
|
8
|
+
* offer's `inventory_item_link.required_quantity` — same fix the vendor
|
|
9
|
+
* confirm route uses. `confirmed_by` is stamped with `auth_context.actor_id`
|
|
10
|
+
* (admin equivalent of the vendor route's `seller_context.seller_id`).
|
|
11
|
+
*/
|
|
12
|
+
export declare const POST: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.AdminOrderEditPreviewResponse>) => Promise<void>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POST = void 0;
|
|
4
|
+
const workflows_1 = require("../../../../../workflows/order/workflows");
|
|
5
|
+
/**
|
|
6
|
+
* Mercur override of Medusa's `POST /admin/order-edits/:id/confirm`.
|
|
7
|
+
*
|
|
8
|
+
* Calls the Mercur wrapper around `confirmOrderEditRequestWorkflow` so
|
|
9
|
+
* reservations created on added / qty-bumped items are adjusted to the
|
|
10
|
+
* offer's `inventory_item_link.required_quantity` — same fix the vendor
|
|
11
|
+
* confirm route uses. `confirmed_by` is stamped with `auth_context.actor_id`
|
|
12
|
+
* (admin equivalent of the vendor route's `seller_context.seller_id`).
|
|
13
|
+
*/
|
|
14
|
+
const POST = async (req, res) => {
|
|
15
|
+
const { id } = req.params;
|
|
16
|
+
const { result } = await (0, workflows_1.confirmOrderEditRequestWorkflow)(req.scope).run({
|
|
17
|
+
input: {
|
|
18
|
+
order_id: id,
|
|
19
|
+
confirmed_by: req.auth_context.actor_id,
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
res.json({
|
|
23
|
+
order_preview: result,
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
exports.POST = POST;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL29yZGVyLWVkaXRzL1tpZF0vY29uZmlybS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSx3RUFBMEY7QUFFMUY7Ozs7Ozs7O0dBUUc7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQStCLEVBQy9CLEdBQTRELEVBQzVELEVBQUU7SUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDJDQUErQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEUsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLEVBQUU7WUFDWixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVksQ0FBQyxRQUFRO1NBQ3hDO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLGFBQWEsRUFBRSxNQUFnRDtLQUNoRSxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFoQlksUUFBQSxJQUFJLFFBZ0JoQiJ9
|
|
@@ -5,5 +5,10 @@ import { AuthenticatedMedusaRequest, MedusaResponse } from "@medusajs/framework/
|
|
|
5
5
|
* `POST /admin/order-edits/:id/confirm`. Flips a requested edit to
|
|
6
6
|
* `confirmed` and applies its actions. `confirmed_by` is stamped with
|
|
7
7
|
* the seller's id (vendor equivalent of admin's `actor_id`).
|
|
8
|
+
*
|
|
9
|
+
* Calls the Mercur wrapper around `confirmOrderEditRequestWorkflow` so
|
|
10
|
+
* reservations created on added / qty-bumped items are adjusted to the
|
|
11
|
+
* offer's `inventory_item_link.required_quantity` (matches the exchange
|
|
12
|
+
* and claim confirm flows).
|
|
8
13
|
*/
|
|
9
14
|
export declare const POST: (req: AuthenticatedMedusaRequest, res: MedusaResponse<HttpTypes.AdminOrderEditPreviewResponse>) => Promise<void>;
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.POST = void 0;
|
|
4
|
-
const
|
|
4
|
+
const workflows_1 = require("../../../../../workflows/order/workflows");
|
|
5
5
|
/**
|
|
6
6
|
* `POST /vendor/order-edits/:id/confirm` — mirrors
|
|
7
7
|
* `POST /admin/order-edits/:id/confirm`. Flips a requested edit to
|
|
8
8
|
* `confirmed` and applies its actions. `confirmed_by` is stamped with
|
|
9
9
|
* the seller's id (vendor equivalent of admin's `actor_id`).
|
|
10
|
+
*
|
|
11
|
+
* Calls the Mercur wrapper around `confirmOrderEditRequestWorkflow` so
|
|
12
|
+
* reservations created on added / qty-bumped items are adjusted to the
|
|
13
|
+
* offer's `inventory_item_link.required_quantity` (matches the exchange
|
|
14
|
+
* and claim confirm flows).
|
|
10
15
|
*/
|
|
11
16
|
const POST = async (req, res) => {
|
|
12
17
|
const { id } = req.params;
|
|
13
|
-
const { result } = await (0,
|
|
18
|
+
const { result } = await (0, workflows_1.confirmOrderEditRequestWorkflow)(req.scope).run({
|
|
14
19
|
input: {
|
|
15
20
|
order_id: id,
|
|
16
21
|
confirmed_by: req.seller_context.seller_id,
|
|
@@ -21,4 +26,4 @@ const POST = async (req, res) => {
|
|
|
21
26
|
});
|
|
22
27
|
};
|
|
23
28
|
exports.POST = POST;
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9vcmRlci1lZGl0cy9baWRdL2NvbmZpcm0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBTUEsd0VBQTBGO0FBRTFGOzs7Ozs7Ozs7O0dBVUc7QUFDSSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQStCLEVBQy9CLEdBQTRELEVBQzVELEVBQUU7SUFDRixNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQTtJQUV6QixNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxJQUFBLDJDQUErQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDdEUsS0FBSyxFQUFFO1lBQ0wsUUFBUSxFQUFFLEVBQUU7WUFDWixZQUFZLEVBQUUsR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTO1NBQzVDO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLGFBQWEsRUFBRSxNQUFnRDtLQUNoRSxDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUFoQlksUUFBQSxJQUFJLFFBZ0JoQiJ9
|
|
@@ -5,8 +5,17 @@ const utils_1 = require("@medusajs/framework/utils");
|
|
|
5
5
|
const product_edit_delete_product_1 = require("../../../../workflows/product-edit/workflows/product-edit-delete-product");
|
|
6
6
|
const product_edit_update_fields_1 = require("../../../../workflows/product-edit/workflows/product-edit-update-fields");
|
|
7
7
|
const utils_2 = require("../../../utils");
|
|
8
|
+
const helpers_1 = require("../helpers");
|
|
8
9
|
const GET = async (req, res) => {
|
|
9
10
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
11
|
+
// Strip-then-wrap: the product-shaped offer detail requests
|
|
12
|
+
// `variants.offers.*`; re-attach the active seller's offers after the
|
|
13
|
+
// graph read so only the caller's offers surface (see
|
|
14
|
+
// `wrapProductVariantsWithOffers`).
|
|
15
|
+
const withOffers = req.queryConfig.fields.some((field) => field.includes("variants.offers"));
|
|
16
|
+
if (withOffers) {
|
|
17
|
+
req.queryConfig.fields = req.queryConfig.fields.filter((field) => !field.includes("variants.offers"));
|
|
18
|
+
}
|
|
10
19
|
const { data: [product], } = await query.graph({
|
|
11
20
|
entity: "product",
|
|
12
21
|
fields: req.queryConfig.fields,
|
|
@@ -16,6 +25,9 @@ const GET = async (req, res) => {
|
|
|
16
25
|
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Product with id ${req.params.id} was not found`);
|
|
17
26
|
}
|
|
18
27
|
await (0, utils_2.enrichProductAttributes)(req.scope, [product]);
|
|
28
|
+
if (withOffers) {
|
|
29
|
+
await (0, helpers_1.wrapProductVariantsWithOffers)(req.scope, req.seller_context.seller_id, [product]);
|
|
30
|
+
}
|
|
19
31
|
res.json({ product });
|
|
20
32
|
};
|
|
21
33
|
exports.GET = GET;
|
|
@@ -69,4 +81,4 @@ const DELETE = async (req, res) => {
|
|
|
69
81
|
res.status(202).json({ product_change: product_change ?? result });
|
|
70
82
|
};
|
|
71
83
|
exports.DELETE = DELETE;
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUdrQztBQUlsQywwSEFBMkg7QUFDM0gsd0hBQXlIO0FBQ3pILDBDQUF3RDtBQUN4RCx3Q0FBMEQ7QUFHbkQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsNERBQTREO0lBQzVELHNFQUFzRTtJQUN0RSxzREFBc0Q7SUFDdEQsb0NBQW9DO0lBQ3BDLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3ZELEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FDbEMsQ0FBQTtJQUNELElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ3BELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FDOUMsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQ2hCLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxTQUFTO1FBQ2pCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENB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
|
|
@@ -26,6 +26,12 @@ const POST = async (req, res) => {
|
|
|
26
26
|
const productId = req.params.id;
|
|
27
27
|
const variantId = req.params.variant_id;
|
|
28
28
|
const { attribute_values: _av, ...update } = req.validatedBody;
|
|
29
|
+
// `manage_inventory` is a marketplace invariant pinned to `false` at
|
|
30
|
+
// variant creation (see `create-products` / variant create route); it
|
|
31
|
+
// is not vendor-editable, so we deliberately do NOT inject it here.
|
|
32
|
+
// Forcing it in re-staged a phantom no-op change on every edit, which
|
|
33
|
+
// polluted the request block (MER-168). The workflow diffs the rest of
|
|
34
|
+
// the payload and stages only the fields that actually changed.
|
|
29
35
|
const { result } = await (0, product_edit_update_variants_1.productEditUpdateVariantsWorkflow)(req.scope).run({
|
|
30
36
|
input: {
|
|
31
37
|
product_id: productId,
|
|
@@ -34,7 +40,7 @@ const POST = async (req, res) => {
|
|
|
34
40
|
{
|
|
35
41
|
type: "update",
|
|
36
42
|
variant_id: variantId,
|
|
37
|
-
fields:
|
|
43
|
+
fields: update,
|
|
38
44
|
},
|
|
39
45
|
],
|
|
40
46
|
},
|
|
@@ -71,4 +77,4 @@ const DELETE = async (req, res) => {
|
|
|
71
77
|
res.status(202).json({ product_change: product_change ?? result });
|
|
72
78
|
};
|
|
73
79
|
exports.DELETE = DELETE;
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9baWRdL3ZhcmlhbnRzL1t2YXJpYW50X2lkXS9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFHa0M7QUFHbEMsa0lBQW1JO0FBRzVILE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBMkQsRUFDM0QsRUFBRTtJQUNGLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRWhFLE1BQU0sRUFDSixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FDaEIsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFO0tBQ2xFLENBQUMsQ0FBQTtJQUVGLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNiLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLG1CQUFtQixHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsZ0JBQWdCLENBQ3pELENBQUE7SUFDSCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7QUFDdkIsQ0FBQyxDQUFBO0FBdEJZLFFBQUEsR0FBRyxPQXNCZjtBQUVEOzs7R0FHRztBQUNJLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0QsRUFDL0QsR0FBeUQsRUFDekQsRUFB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
|
|
@@ -1,4 +1,23 @@
|
|
|
1
1
|
import type { MedusaContainer } from "@medusajs/framework/types";
|
|
2
|
+
type WrappableVariant = {
|
|
3
|
+
id: string;
|
|
4
|
+
offers?: unknown[];
|
|
5
|
+
};
|
|
6
|
+
type WrappableProduct = {
|
|
7
|
+
variants?: WrappableVariant[] | null;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Attaches the active seller's offers under each variant of the given
|
|
11
|
+
* products, in place (`variant.offers = [...]`). The Offer ↔ Variant
|
|
12
|
+
* link is shared across sellers, so a raw graph traversal would leak
|
|
13
|
+
* every seller's offers on a master variant — this wrap fetches only
|
|
14
|
+
* `seller_id`'s offers (one bounded query over the page's variant ids)
|
|
15
|
+
* and keys them onto the matching variants. Variants the seller has no
|
|
16
|
+
* offer on get `offers: []`. Mirrors Medusa's
|
|
17
|
+
* `wrapProductsWithTaxPrices` / `wrapVariantsWithInventoryQuantity…`
|
|
18
|
+
* post-query enrichment pattern.
|
|
19
|
+
*/
|
|
20
|
+
export declare const wrapProductVariantsWithOffers: (scope: MedusaContainer, sellerId: string, products: WrappableProduct[]) => Promise<void>;
|
|
2
21
|
/**
|
|
3
22
|
* Throws `NOT_FOUND` (rather than `NOT_ALLOWED`) when the seller does
|
|
4
23
|
* not own the product. The product is technically queryable for them
|
|
@@ -6,3 +25,4 @@ import type { MedusaContainer } from "@medusajs/framework/types";
|
|
|
6
25
|
* shape avoids leaking the difference.
|
|
7
26
|
*/
|
|
8
27
|
export declare const ensureSellerOwnsProduct: (scope: MedusaContainer, sellerId: string, productId: string) => Promise<void>;
|
|
28
|
+
export {};
|
|
@@ -1,7 +1,81 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ensureSellerOwnsProduct = void 0;
|
|
3
|
+
exports.ensureSellerOwnsProduct = exports.wrapProductVariantsWithOffers = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
/**
|
|
6
|
+
* Field set pulled for each offer attached by
|
|
7
|
+
* `wrapProductVariantsWithOffers`. Mirrors the offer-detail shape the
|
|
8
|
+
* vendor Offers surface renders (identity + shipping profile + price
|
|
9
|
+
* ladder + inventory-item links), scoped to one seller.
|
|
10
|
+
*/
|
|
11
|
+
const OFFER_WRAP_FIELDS = [
|
|
12
|
+
"id",
|
|
13
|
+
"seller_id",
|
|
14
|
+
"variant_id",
|
|
15
|
+
"shipping_profile_id",
|
|
16
|
+
"sku",
|
|
17
|
+
"ean",
|
|
18
|
+
"upc",
|
|
19
|
+
"created_at",
|
|
20
|
+
"updated_at",
|
|
21
|
+
"shipping_profile.id",
|
|
22
|
+
"shipping_profile.name",
|
|
23
|
+
"prices.id",
|
|
24
|
+
"prices.amount",
|
|
25
|
+
"prices.currency_code",
|
|
26
|
+
"prices.min_quantity",
|
|
27
|
+
"prices.max_quantity",
|
|
28
|
+
// Offer ↔ inventory-item link (same alias the offer detail uses), with
|
|
29
|
+
// per-location stock levels so the bulk Edit Stock Levels grid can seed.
|
|
30
|
+
"inventory_item_link.id",
|
|
31
|
+
"inventory_item_link.required_quantity",
|
|
32
|
+
"inventory_item_link.inventory_item_id",
|
|
33
|
+
"inventory_item_link.inventory_item.id",
|
|
34
|
+
"inventory_item_link.inventory_item.sku",
|
|
35
|
+
"inventory_item_link.inventory_item.title",
|
|
36
|
+
"inventory_item_link.inventory_item.location_levels.id",
|
|
37
|
+
"inventory_item_link.inventory_item.location_levels.location_id",
|
|
38
|
+
"inventory_item_link.inventory_item.location_levels.stocked_quantity",
|
|
39
|
+
];
|
|
40
|
+
/**
|
|
41
|
+
* Attaches the active seller's offers under each variant of the given
|
|
42
|
+
* products, in place (`variant.offers = [...]`). The Offer ↔ Variant
|
|
43
|
+
* link is shared across sellers, so a raw graph traversal would leak
|
|
44
|
+
* every seller's offers on a master variant — this wrap fetches only
|
|
45
|
+
* `seller_id`'s offers (one bounded query over the page's variant ids)
|
|
46
|
+
* and keys them onto the matching variants. Variants the seller has no
|
|
47
|
+
* offer on get `offers: []`. Mirrors Medusa's
|
|
48
|
+
* `wrapProductsWithTaxPrices` / `wrapVariantsWithInventoryQuantity…`
|
|
49
|
+
* post-query enrichment pattern.
|
|
50
|
+
*/
|
|
51
|
+
const wrapProductVariantsWithOffers = async (scope, sellerId, products) => {
|
|
52
|
+
const variantIds = Array.from(new Set(products.flatMap((p) => (p.variants ?? []).map((v) => v.id))));
|
|
53
|
+
if (!variantIds.length) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
57
|
+
const { data: offers } = await query.graph({
|
|
58
|
+
entity: "offer",
|
|
59
|
+
fields: OFFER_WRAP_FIELDS,
|
|
60
|
+
filters: { seller_id: sellerId, variant_id: variantIds },
|
|
61
|
+
});
|
|
62
|
+
const offersByVariant = new Map();
|
|
63
|
+
for (const offer of offers) {
|
|
64
|
+
const existing = offersByVariant.get(offer.variant_id);
|
|
65
|
+
if (existing) {
|
|
66
|
+
existing.push(offer);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
offersByVariant.set(offer.variant_id, [offer]);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
for (const product of products) {
|
|
73
|
+
for (const variant of product.variants ?? []) {
|
|
74
|
+
variant.offers = offersByVariant.get(variant.id) ?? [];
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
exports.wrapProductVariantsWithOffers = wrapProductVariantsWithOffers;
|
|
5
79
|
/**
|
|
6
80
|
* Throws `NOT_FOUND` (rather than `NOT_ALLOWED`) when the seller does
|
|
7
81
|
* not own the product. The product is technically queryable for them
|
|
@@ -23,4 +97,4 @@ const ensureSellerOwnsProduct = async (scope, sellerId, productId) => {
|
|
|
23
97
|
}
|
|
24
98
|
};
|
|
25
99
|
exports.ensureSellerOwnsProduct = ensureSellerOwnsProduct;
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
100
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL3Byb2R1Y3RzL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBR2tDO0FBR2xDOzs7OztHQUtHO0FBQ0gsTUFBTSxpQkFBaUIsR0FBRztJQUN4QixJQUFJO0lBQ0osV0FBVztJQUNYLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0lBQ0wsWUFBWTtJQUNaLFlBQVk7SUFDWixxQkFBcUI7SUFDckIsdUJBQXVCO0lBQ3ZCLFdBQVc7SUFDWCxlQUFlO0lBQ2Ysc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixxQkFBcUI7SUFDckIsdUVBQXVFO0lBQ3ZFLHlFQUF5RTtJQUN6RSx3QkFBd0I7SUFDeEIsdUNBQXVDO0lBQ3ZDLHVDQUF1QztJQUN2Qyx1Q0FBdUM7SUFDdkMsd0NBQXdDO0lBQ3hDLDBDQUEwQztJQUMxQyx1REFBdUQ7SUFDdkQsZ0VBQWdFO0lBQ2hFLHFFQUFxRTtDQUN0RSxDQUFBO0FBTUQ7Ozs7Ozs7Ozs7R0FVRztBQUNJLE1BQU0sNkJBQTZCLEdBQUcsS0FBSyxFQUNoRCxLQUFzQixFQUN0QixRQUFnQixFQUNoQixRQUE0QixFQUNiLEVBQUU7SUFDakIsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FDM0IsSUFBSSxHQUFHLENBQ0wsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQzdELENBQ0YsQ0FBQTtJQUVELElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTVELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3pDLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUU7S0FDekQsQ0FBQyxDQUFBO0lBRUYsTUFBTSxlQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXFCLENBQUE7SUFDcEQsS0FBSyxNQUFNLEtBQUssSUFBSSxNQUFvQixFQUFFLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDdEQsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixlQUFlLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUMvQixLQUFLLE1BQU0sT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLElBQUksRUFBRSxFQUFFLENBQUM7WUFDN0MsT0FBTyxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUE7UUFDeEQsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUE7QUF0Q1ksUUFBQSw2QkFBNkIsaUNBc0N6QztBQUVEOzs7OztHQUtHO0FBQ0ksTUFBTSx1QkFBdUIsR0FBRyxLQUFLLEVBQzFDLEtBQXNCLEVBQ3RCLFFBQWdCLEVBQ2hCLFNBQWlCLEVBQ0YsRUFBRTtJQUNqQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTVELE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDakMsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDdEIsT0FBTyxFQUFFO1lBQ1AsU0FBUyxFQUFFLFFBQVE7WUFDbkIsVUFBVSxFQUFFLFNBQVM7U0FDdEI7S0FDRixDQUFDLENBQUE7SUFFRixJQUFJLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLG1CQUFtQixTQUFTLGdCQUFnQixDQUM3QyxDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FBQTtBQXRCWSxRQUFBLHVCQUF1QiwyQkFzQm5DIn0=
|
|
@@ -37,6 +37,41 @@ const applySellerProductLinkFilter = async (req, _res, next) => {
|
|
|
37
37
|
];
|
|
38
38
|
return next();
|
|
39
39
|
};
|
|
40
|
+
/**
|
|
41
|
+
* Scopes the product list to products the active seller has at least one
|
|
42
|
+
* offer on, when `?has_offer=true`. The bare vendor-products list returns
|
|
43
|
+
* the master-catalogue union (every published product + the seller's
|
|
44
|
+
* own), which is far larger than the Offers surface; this narrows it to
|
|
45
|
+
* the seller's offered products by resolving their offers' variant ids
|
|
46
|
+
* and filtering products to those carrying one of those variants. The
|
|
47
|
+
* `has_offer` pseudo-filter is consumed here and removed so it never
|
|
48
|
+
* reaches the product graph read.
|
|
49
|
+
*/
|
|
50
|
+
const applySellerOfferedProductsFilter = async (req, _res, next) => {
|
|
51
|
+
req.filterableFields ??= {};
|
|
52
|
+
const hasOffer = req.filterableFields.has_offer;
|
|
53
|
+
delete req.filterableFields.has_offer;
|
|
54
|
+
if (hasOffer !== true) {
|
|
55
|
+
return next();
|
|
56
|
+
}
|
|
57
|
+
const sellerId = req.seller_context.seller_id;
|
|
58
|
+
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
59
|
+
const { data: offers } = await query.graph({
|
|
60
|
+
entity: "offer",
|
|
61
|
+
fields: ["variant_id"],
|
|
62
|
+
filters: { seller_id: sellerId },
|
|
63
|
+
});
|
|
64
|
+
const variantIds = Array.from(new Set(offers
|
|
65
|
+
.map((offer) => offer.variant_id)
|
|
66
|
+
.filter((id) => Boolean(id))));
|
|
67
|
+
const existingAnd = req.filterableFields.$and ?? [];
|
|
68
|
+
req.filterableFields.$and = [
|
|
69
|
+
...existingAnd,
|
|
70
|
+
// No offers → match nothing (empty list) rather than the whole catalogue.
|
|
71
|
+
{ variants: { id: variantIds.length ? variantIds : ["__none__"] } },
|
|
72
|
+
];
|
|
73
|
+
return next();
|
|
74
|
+
};
|
|
40
75
|
exports.vendorProductsMiddlewares = [
|
|
41
76
|
// --- /vendor/products ---
|
|
42
77
|
{
|
|
@@ -45,6 +80,7 @@ exports.vendorProductsMiddlewares = [
|
|
|
45
80
|
middlewares: [
|
|
46
81
|
(0, framework_1.validateAndTransformQuery)(validators_1.VendorGetProductsParams, query_config_1.vendorProductQueryConfig.list),
|
|
47
82
|
applySellerProductLinkFilter,
|
|
83
|
+
applySellerOfferedProductsFilter,
|
|
48
84
|
],
|
|
49
85
|
},
|
|
50
86
|
{
|
|
@@ -166,4 +202,4 @@ exports.vendorProductsMiddlewares = [
|
|
|
166
202
|
middlewares: [],
|
|
167
203
|
},
|
|
168
204
|
];
|
|
169
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9taWRkbGV3YXJlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFNQSxtREFHNEI7QUFDNUIscURBQXFFO0FBQ3JFLDJDQUErQztBQUUvQyxpREFHdUI7QUFDdkIsNkNBZXFCO0FBRXJCOzs7Ozs7R0FNRztBQUNILE1BQU0sNEJBQTRCLEdBQUcsS0FBSyxFQUN4QyxHQUErQixFQUMvQixJQUFvQixFQUNwQixJQUF3QixFQUN4QixFQUFFO0lBQ0YsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLENBQUE7SUFDOUMsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDeEMsTUFBTSxFQUFFLGdCQUFnQjtRQUN4QixNQUFNLEVBQUUsQ0FBQyxZQUFZLENBQUM7UUFDdEIsT0FBTyxFQUFFLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRTtLQUNqQyxDQUFDLENBQUE7SUFFRixNQUFNLGdCQUFnQixHQUFHLEtBQUs7U0FDM0IsR0FBRyxDQUFDLENBQUMsSUFBbUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQztTQUM3RCxNQUFNLENBQUMsQ0FBQyxFQUFpQixFQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFFM0QsR0FBRyxDQUFDLGdCQUFnQixLQUFLLEVBQUUsQ0FBQTtJQUMzQixNQUFNLFdBQVcsR0FBSSxHQUFHLENBQUMsZ0JBQWdCLENBQUMsSUFBNkIsSUFBSSxFQUFFLENBQUE7SUFDN0UsR0FBRyxDQUFDLGdCQUFnQixDQUFD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
|
|
@@ -4,8 +4,17 @@ exports.POST = exports.GET = void 0;
|
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const create_products_1 = require("../../../workflows/product/workflows/create-products");
|
|
6
6
|
const utils_2 = require("../../utils");
|
|
7
|
+
const helpers_1 = require("./helpers");
|
|
7
8
|
const GET = async (req, res) => {
|
|
8
9
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
10
|
+
// Offers are a per-seller overlay on the shared Offer ↔ Variant link;
|
|
11
|
+
// strip the requested `variants.offers.*` fields before the graph read
|
|
12
|
+
// and re-attach the active seller's offers afterwards so a competitor's
|
|
13
|
+
// offers on a master variant never leak (Medusa's strip-then-wrap flow).
|
|
14
|
+
const withOffers = req.queryConfig.fields.some((field) => field.includes("variants.offers"));
|
|
15
|
+
if (withOffers) {
|
|
16
|
+
req.queryConfig.fields = req.queryConfig.fields.filter((field) => !field.includes("variants.offers"));
|
|
17
|
+
}
|
|
9
18
|
const { data: products, metadata } = await query.graph({
|
|
10
19
|
entity: "product",
|
|
11
20
|
fields: req.queryConfig.fields,
|
|
@@ -13,6 +22,9 @@ const GET = async (req, res) => {
|
|
|
13
22
|
pagination: req.queryConfig.pagination,
|
|
14
23
|
});
|
|
15
24
|
await (0, utils_2.enrichProductAttributes)(req.scope, products);
|
|
25
|
+
if (withOffers) {
|
|
26
|
+
await (0, helpers_1.wrapProductVariantsWithOffers)(req.scope, req.seller_context.seller_id, products);
|
|
27
|
+
}
|
|
16
28
|
res.json({
|
|
17
29
|
products,
|
|
18
30
|
count: metadata?.count ?? 0,
|
|
@@ -56,4 +68,4 @@ const POST = async (req, res) => {
|
|
|
56
68
|
res.status(201).json({ product });
|
|
57
69
|
};
|
|
58
70
|
exports.POST = POST;
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9wcm9kdWN0cy9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFJQSxxREFBb0Y7QUFJcEYsMEZBRzZEO0FBQzdELHVDQUFxRDtBQUNyRCx1Q0FBeUQ7QUFHbEQsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUE0RCxFQUM1RCxHQUF3RCxFQUN4RCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsc0VBQXNFO0lBQ3RFLHVFQUF1RTtJQUN2RSx3RUFBd0U7SUFDeEUseUVBQXlFO0lBQ3pFLE1BQU0sVUFBVSxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3ZELEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FDbEMsQ0FBQTtJQUNELElBQUksVUFBVSxFQUFFLENBQUM7UUFDZixHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQ3BELENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FDOUMsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDckQsTUFBTSxFQUFFLFNBQVM7UUFDakIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsR0FBRyxDQUFDLGdCQUFnQjtRQUM3QixVQUFVLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVO0tBQ3ZDLENBQUMsQ0FBQTtJQUVGLE1BQU0sSUFBQSwrQkFBdUIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQWlCLENBQUMsQ0FBQTtJQUUzRCxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2YsTUFBTSxJQUFBLHVDQUE2QixFQUNqQyxHQUFHLENBQUMsS0FBSyxFQUNULEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxFQUM3QixRQUErRCxDQUNoRSxDQUFBO0lBQ0gsQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFJLENBQUM7UUFDUCxRQUFRO1FBQ1IsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLElBQUksQ0FBQztRQUMzQixNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO1FBQzNCLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7S0FDM0IsQ0FBQyxDQUFBO0FBQ0osQ0FBQyxDQUFBO0FBMUNZLFFBQUEsR0FBRyxPQTBDZjtBQUVEOzs7Ozs7OztHQVFHO0FBQ0ksTUFBTSxJQUFJLEdBQUcsS0FBSyxFQUN2QixHQUF5RSxFQUN6RSxHQUFvRCxFQUNwRCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLENBQUE7SUFFOUMsTUFBTSxFQUFFLGVBQWUsRUFBRSxHQUFHLE9BQU8sRUFBRSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUE7SUFFekQsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sSUFBQSx3Q0FBc0IsRUFBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzdELEtBQUssRUFBRTtZQUNMLFFBQVEsRUFBRTtnQkFDUjtvQkFDRSxHQUFHLE9BQU87b0JBQ1YsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLElBQUkscUJBQWEsQ0FBQyxRQUFRO2lCQUNuQjthQUNoQztZQUNELFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztZQUN0QixlQUFlO1NBQ2hCO0tBQ0YsQ0FBQyxDQUFBO0lBRUYsTUFBTSxTQUFTLEdBQUksTUFBMkIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFFcEQsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUNoQixHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUNwQixNQUFNLEVBQUUsU0FBUztRQUNqQixNQUFNLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNO1FBQzlCLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUU7S0FDM0IsQ0FBQyxDQUFBO0lBRUYsTUFBTSxJQUFBLCtCQUF1QixFQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO0lBRW5ELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUNuQyxDQUFDLENBQUE7QUFuQ1ksUUFBQSxJQUFJLFFBbUNoQiJ9
|
|
@@ -142,6 +142,7 @@ export declare const VendorGetProductsParams: z.ZodEffects<z.ZodObject<{} & {
|
|
|
142
142
|
$lt?: any;
|
|
143
143
|
$lte?: any;
|
|
144
144
|
}>]>>;
|
|
145
|
+
has_offer: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodString]>, string | boolean, string | boolean>, boolean, string | boolean>>;
|
|
145
146
|
}, "strip", z.ZodTypeAny, {
|
|
146
147
|
id?: string | string[] | undefined;
|
|
147
148
|
created_at?: any;
|
|
@@ -159,6 +160,7 @@ export declare const VendorGetProductsParams: z.ZodEffects<z.ZodObject<{} & {
|
|
|
159
160
|
tag_id?: string | string[] | undefined;
|
|
160
161
|
barcode?: string | undefined;
|
|
161
162
|
category_id?: string | string[] | undefined;
|
|
163
|
+
has_offer?: boolean | undefined;
|
|
162
164
|
}, {
|
|
163
165
|
id?: string | string[] | undefined;
|
|
164
166
|
created_at?: any;
|
|
@@ -176,6 +178,7 @@ export declare const VendorGetProductsParams: z.ZodEffects<z.ZodObject<{} & {
|
|
|
176
178
|
tag_id?: string | string[] | undefined;
|
|
177
179
|
barcode?: string | undefined;
|
|
178
180
|
category_id?: string | string[] | undefined;
|
|
181
|
+
has_offer?: string | boolean | undefined;
|
|
179
182
|
}>, "many">>>;
|
|
180
183
|
$or: z.ZodOptional<z.ZodLazy<z.ZodArray<z.ZodObject<{
|
|
181
184
|
q: z.ZodOptional<z.ZodString>;
|
|
@@ -316,6 +319,7 @@ export declare const VendorGetProductsParams: z.ZodEffects<z.ZodObject<{} & {
|
|
|
316
319
|
$lt?: any;
|
|
317
320
|
$lte?: any;
|
|
318
321
|
}>]>>;
|
|
322
|
+
has_offer: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodString]>, string | boolean, string | boolean>, boolean, string | boolean>>;
|
|
319
323
|
}, "strip", z.ZodTypeAny, {
|
|
320
324
|
id?: string | string[] | undefined;
|
|
321
325
|
created_at?: any;
|
|
@@ -333,6 +337,7 @@ export declare const VendorGetProductsParams: z.ZodEffects<z.ZodObject<{} & {
|
|
|
333
337
|
tag_id?: string | string[] | undefined;
|
|
334
338
|
barcode?: string | undefined;
|
|
335
339
|
category_id?: string | string[] | undefined;
|
|
340
|
+
has_offer?: boolean | undefined;
|
|
336
341
|
}, {
|
|
337
342
|
id?: string | string[] | undefined;
|
|
338
343
|
created_at?: any;
|
|
@@ -350,6 +355,7 @@ export declare const VendorGetProductsParams: z.ZodEffects<z.ZodObject<{} & {
|
|
|
350
355
|
tag_id?: string | string[] | undefined;
|
|
351
356
|
barcode?: string | undefined;
|
|
352
357
|
category_id?: string | string[] | undefined;
|
|
358
|
+
has_offer?: string | boolean | undefined;
|
|
353
359
|
}>, "many">>>;
|
|
354
360
|
}, "strip", z.ZodTypeAny, {
|
|
355
361
|
[x: string]: any;
|
|
@@ -25,6 +25,11 @@ const VendorGetProductsParamsFields = zod_1.z.object({
|
|
|
25
25
|
created_at: (0, validators_1.createOperatorMap)().optional(),
|
|
26
26
|
updated_at: (0, validators_1.createOperatorMap)().optional(),
|
|
27
27
|
deleted_at: (0, validators_1.createOperatorMap)().optional(),
|
|
28
|
+
// Pseudo-filter consumed by `applySellerOfferedProductsFilter`: when
|
|
29
|
+
// true, scopes the list to products the active seller has an offer on
|
|
30
|
+
// (the Offers list). Stripped from `filterableFields` before the
|
|
31
|
+
// product graph read.
|
|
32
|
+
has_offer: (0, common_1.booleanString)().optional(),
|
|
28
33
|
});
|
|
29
34
|
exports.VendorGetProductsParams = (0, validators_1.createFindParams)({
|
|
30
35
|
offset: 0,
|
|
@@ -376,4 +381,4 @@ exports.VendorBatchProductAttributes = zod_1.z
|
|
|
376
381
|
delete: zod_1.z.array(zod_1.z.string()).optional(),
|
|
377
382
|
})
|
|
378
383
|
.strict();
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL3Byb2R1Y3RzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXVCO0FBQ3ZCLDJDQUFtRTtBQUNuRSxzRUFLOEM7QUFDOUMsZ0ZBRzREO0FBRTVELHFEQUFrRTtBQUVsRSxNQUFNLFVBQVUsR0FBRyxPQUFDLENBQUMsVUFBVSxDQUFDLHFCQUFhLENBQUMsQ0FBQTtBQUU5Qyx1Q0FBdUM7QUFFdkMsTUFBTSw2QkFBNkIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdDLENBQUMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN6RCxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyxhQUFhLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDcEUsT0FBTyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzlELFdBQVcsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUNsRSxNQUFNLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0QsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsVUFBVSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsVUFBVSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUMsVUFBVSxFQUFFLElBQUEsOEJBQWlCLEdBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDM0MsQ0FBQyxDQUFBO0FBR1csUUFBQSx1QkFBdUIsR0FBRyxJQUFBLDZCQUFnQixFQUFDO0lBQ3RELE1BQU0sRUFBRSxDQUFDO0lBQ1QsS0FBSyxFQUFFLEVBQUU7Q0FDVixDQUFDO0tBQ0MsS0FBSyxDQUFDLDZCQUE2QixDQUFDO0tBQ3BDLEtBQUssQ0FBQyxJQUFBLCtCQUFzQixFQUFDLDZCQUE2QixDQUFDLENBQUM7S0FDNUQsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7SUFDbEIsTUFBTSxHQUFHLEdBQUcsRUFB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WCxNQUFNLG9CQUFvQixHQUFHLE9BQUM7S0FDM0IsTUFBTSxDQUFDO0lBQ04sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDL0IsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDM0IsY0FBYyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDcEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFO0lBQ3pDLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4QyxnQkFBZ0IsRUFBRSxPQUFDO1NBQ2hCLE1BQU0sQ0FBQyxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2xELFFBQVEsRUFBRTtDQUNkLENBQUM7S0FDRCxNQUFNLEVBQUUsQ0FBQTtBQUVYLE1BQU0saUJBQWlCLEdBQUcsT0FBQyxDQUFDLElBQUksQ0FBQztJQUMvQixlQUFlO0lBQ2YsY0FBYztJQUNkLE1BQU07SUFDTixRQUFRO0lBQ1IsTUFBTTtDQUNQLENBQUMsQ0FBQTtBQUVGOzs7Ozs7Ozs7Ozs7R0FZRztBQUNILE1BQU0scUJBQXFCLEdBQUcsT0FBQyxDQUFDLEtBQUssQ0FBQztJQUNwQyxPQUFDO1NBQ0UsTUFBTSxDQUFDO1FBQ04sWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7UUFDeEIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1FBQ3pDLE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtLQUN2QyxDQUFDO1NBQ0QsTUFBTSxFQUFFO0lBQ1gsT0FBQztTQUNFLE1BQU0sQ0FBQztRQUNOLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN2QixJQUFJLEVBQUUsaUJBQWlCO1FBQ3ZCLE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUN0QyxlQUFlLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUN2QyxhQUFhLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUNyQyxXQUFXLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtRQUNuQyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRTtRQUNqQyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7S0FDMUMsQ0FBQztTQUNELE1BQU0sRUFBRTtDQUNaLENBQUMsQ0FBQTtBQU1GLE1BQU0sYUFBYSxHQUFHLE9BQUM7S0FDcEIsTUFBTSxDQUFDO0lBQ04sS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsV0FBVyxFQUFFLElBQUEsc0JBQWEsR0FBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7SUFDdEQsWUFBWSxFQUFFLElBQUEsc0JBQWEsR0FBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7SUFDdEQsTUFBTSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3pELFNBQVMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2hDLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2xDLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLGFBQWEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3BDLFVBQVUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUM3QyxJQUFJLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsK0RBQStEO0lBQy9ELE9BQU8sRUFBRSxPQUFDO1NBQ1AsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuRSxRQUFRLEVBQUU7SUFDYixrQkFBa0IsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzdELGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0QsZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2pGLFFBQVEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2xELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLGNBQWMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3JDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtDQUMzQyxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUE7QUFDRSxRQUFBLG1CQUFtQixHQUFHLElBQUEsK0JBQWtCLEVBQUMsYUFBYSxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FDOUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRTtJQUMvQixJQUNFLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUztRQUN6QixtQkFBVyxDQUFDLGdCQUFnQixDQUFDLDBCQUFrQixDQUFDLGVBQWUsQ0FBQztRQUNoRSxJQUFJLENBQUMsTUFBTSxLQUFLLHFCQUFhLENBQUMsS0FBSztRQUNuQyxJQUFJLENBQUMsTUFBTSxLQUFLLHFCQUFhLENBQUMsUUFBUSxFQUN0QyxDQUFDO1FBQ0QsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNYLElBQUksRUFBRSxPQUFDLENBQUMsWUFBWSxDQUFDLE1BQU07WUFDM0IsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDO1lBQ2hCLE9BQU8sRUFBRSxvRUFBb0UscUJBQWEsQ0FBQyxLQUFLLEtBQUsscUJBQWEsQ0FBQyxRQUFRLEdBQUc7U0FDL0gsQ0FBQyxDQUFBO0lBQ0osQ0FBQztBQUNILENBQUMsQ0FBQyxDQUNILENBQUE7QUFJRCxNQUFNLGFBQWEsR0FBRyxPQUFDO0tBQ3BCLE1BQU0sQ0FBQztJQUNOLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQzlCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ2pDLFlBQVksRUFBRSxJQUFBLHNCQUFhLEdBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsV0FBVyxFQUFFLElBQUEsc0JBQWEsR0FBRSxDQUFDLFFBQVEsRUFBRTtJQUN2QyxNQUFNLEVBQUUsT0FBQztTQUNOLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztTQUMvRCxRQUFRLEVBQUU7SUFDYixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUMvQixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUM1QixXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUNqQyxPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUM3QixhQUFhLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRTtJQUNuQyxVQUFVLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0MsSUFBSSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLE9BQU8sRUFBRSxPQUFDO1NBQ1AsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNuRSxRQUFRLEVBQUU7SUFDYixrQkFBa0IsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzdELGtCQUFrQixFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMscUJBQXFCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0QsZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2pGLFFBQVEsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxFQUFFO0lBQ2xELE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQzVCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQzVCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQzVCLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQzNCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQzdCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQzlCLGNBQWMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQ3BDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFO0lBQzlCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtDQUMxQyxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUE7QUFDRSxRQUFBLG1CQUFtQixHQUFHLElBQUEsK0JBQWtCLEVBQUMsYUFBYSxDQUFDLENBQUE7QUFFcEUsMENBQTBDO0FBQzFDLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsc0VBQXNFO0FBQ3RFLDJFQUEyRTtBQUMzRSx3REFBd0Q7QUFFeEQsTUFBTSxvQ0FBb0MsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BELENBQUMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hCLGdCQUFnQixFQUFFLElBQUEsc0JBQWEsR0FBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QyxlQUFlLEVBQUUsSUFBQSxzQkFBYSxHQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNDLFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLFVBQVUsRUFBRSxJQUFBLDhCQUFpQixHQUFFLENBQUMsUUFBUSxFQUFFO0NBQzNDLENBQUMsQ0FBQTtBQUtXLFFBQUEsOEJBQThCLEdBQUcsSUFBQSw2QkFBZ0IsRUFBQztJQUM3RCxNQUFNLEVBQUUsQ0FBQztJQUNULEtBQUssRUFBRSxFQUFFO0NBQ1YsQ0FBQztLQUNDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQztLQUMzQyxLQUFLLENBQUMsSUFBQSwrQkFBc0IsRUFBQyxvQ0FBb0MsQ0FBQyxDQUFDLENBQUE7QUFLekQsUUFBQSw2QkFBNkIsR0FBRyxJQUFBLCtCQUFrQixHQUFFLENBQUE7QUFHcEQsUUFBQSx1QkFBdUIsR0FBRyxPQUFDO0tBQ3JDLE1BQU0sQ0FBQztJQUNOLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFCLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFCLEdBQUcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzlCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLFlBQVksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ25DLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLE1BQU0sRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLEtBQUssRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLGNBQWMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3JDLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQy9CLGVBQWUsRUFBRSxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3ZDLGdCQUFnQixFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDaEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO0lBQzFDLE9BQU8sRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4QyxnQkFBZ0IsRUFBRSxPQUFDO1NBQ2hCLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRixRQUFRLEVBQUU7Q0FDZCxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUE7QUFLRSxRQUFBLDBCQUEwQixHQUFHLE9BQUM7S0FDeEMsTUFBTSxDQUFDO0lBQ04sS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDL0IsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDM0IsY0FBYyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDcEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsZUFBZSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxRQUFRLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDekMsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENB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
|
|
384
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL3Byb2R1Y3RzL3ZhbGlkYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXVCO0FBQ3ZCLDJDQUFtRTtBQUNuRSxzRUFLOEM7QUFDOUMsZ0ZBRzREO0FBRTVELHFEQUFrRTtBQUVsRSxNQUFNLFVBQVUsR0FBRyxPQUFDLENBQUMsVUFBVSxDQUFDLHFCQUFhLENBQUMsQ0FBQTtBQUU5Qyx1Q0FBdUM7QUFFdkMsTUFBTSw2QkFBNkIsR0FBRyxPQUFDLENBQUMsTUFBTSxDQUFDO0lBQzdDLENBQUMsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hCLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN6RCxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixNQUFNLEVBQUUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNyQyxhQUFhLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDcEUsT0FBTyxFQUFFLE9BQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFDLENBQUMsTUFB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S0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNsRCxRQUFRLEVBQUU7Q0FDZCxDQUFDO0tBQ0QsTUFBTSxFQUFFLENBQUE7QUFFWCxNQUFNLG9CQUFvQixHQUFHLE9BQUM7S0FDM0IsTUFBTSxDQUFDO0lBQ04sRUFBRSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDL0IsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVB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LEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsR0FBRyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDekIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsT0FBTyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDN0IsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsU0FBUyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDL0IsWUFBWSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDNUIsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDM0IsY0FBYyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDcEMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxPQUFPLEVBQUU7SUFDOUIsZUFBZSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDdkMsZ0JBQWdCLEVBQUUsT0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QyxRQUFR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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { OrderPreviewDTO } from "@medusajs/framework/types";
|
|
2
|
+
export type ConfirmOrderEditRequestWorkflowInput = {
|
|
3
|
+
order_id: string;
|
|
4
|
+
confirmed_by?: string;
|
|
5
|
+
};
|
|
6
|
+
export declare const confirmOrderEditRequestWorkflowId = "mercur-confirm-order-edit-request";
|
|
7
|
+
export declare const confirmOrderEditRequestWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<ConfirmOrderEditRequestWorkflowInput, OrderPreviewDTO, []>;
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.confirmOrderEditRequestWorkflow = exports.confirmOrderEditRequestWorkflowId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
7
|
+
const adjustOrderEditReservationsForOffersStepId = "mercur-adjust-order-edit-reservations-for-offers";
|
|
8
|
+
const adjustOrderEditReservationsForOffersStep = (0, workflows_sdk_1.createStep)(adjustOrderEditReservationsForOffersStepId, async (input, { container }) => {
|
|
9
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
10
|
+
const { data: orders } = await query.graph({
|
|
11
|
+
entity: "order",
|
|
12
|
+
fields: [
|
|
13
|
+
"id",
|
|
14
|
+
"items.*",
|
|
15
|
+
"items.offer.id",
|
|
16
|
+
"items.offer.inventory_item_link.*",
|
|
17
|
+
"items.offer.inventory_item_link.inventory_item.*",
|
|
18
|
+
"items.offer.inventory_item_link.inventory_item.location_levels.*",
|
|
19
|
+
],
|
|
20
|
+
filters: { id: input.order_id },
|
|
21
|
+
});
|
|
22
|
+
const order = orders?.[0];
|
|
23
|
+
if (!order?.items?.length) {
|
|
24
|
+
return new workflows_sdk_1.StepResponse({ adjusted: false }, []);
|
|
25
|
+
}
|
|
26
|
+
const inventoryService = container.resolve(utils_1.Modules.INVENTORY);
|
|
27
|
+
const compensation = [];
|
|
28
|
+
for (const item of order.items) {
|
|
29
|
+
const lineItemId = item.id;
|
|
30
|
+
const links = item.offer?.inventory_item_link ?? [];
|
|
31
|
+
if (!lineItemId || links.length === 0) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
const orderedQuantity = Number(item.quantity ?? 0);
|
|
35
|
+
const fulfilledQuantity = Number(item.fulfilled_quantity ?? 0);
|
|
36
|
+
const reservationQuantity = orderedQuantity - fulfilledQuantity;
|
|
37
|
+
if (reservationQuantity <= 0) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const normalizedLinks = links
|
|
41
|
+
.map((link) => ({
|
|
42
|
+
inventory_item_id: link.inventory_item?.id ?? link.inventory_item_id ?? null,
|
|
43
|
+
required_quantity: Number(link.required_quantity ?? 1),
|
|
44
|
+
location_id: link.inventory_item?.location_levels?.[0]?.location_id ?? null,
|
|
45
|
+
}))
|
|
46
|
+
.filter((l) => !!l.inventory_item_id);
|
|
47
|
+
if (normalizedLinks.length === 0) {
|
|
48
|
+
continue;
|
|
49
|
+
}
|
|
50
|
+
const inventoryItemIdsMissingLocation = normalizedLinks
|
|
51
|
+
.filter((l) => !l.location_id)
|
|
52
|
+
.map((l) => l.inventory_item_id);
|
|
53
|
+
if (inventoryItemIdsMissingLocation.length) {
|
|
54
|
+
const levels = await inventoryService.listInventoryLevels({
|
|
55
|
+
inventory_item_id: inventoryItemIdsMissingLocation,
|
|
56
|
+
});
|
|
57
|
+
const firstLocationByItem = new Map();
|
|
58
|
+
for (const lvl of levels) {
|
|
59
|
+
const itemId = lvl.inventory_item_id;
|
|
60
|
+
if (!firstLocationByItem.has(itemId)) {
|
|
61
|
+
firstLocationByItem.set(itemId, lvl.location_id);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
for (const link of normalizedLinks) {
|
|
65
|
+
if (!link.location_id) {
|
|
66
|
+
link.location_id =
|
|
67
|
+
firstLocationByItem.get(link.inventory_item_id) ?? null;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
const existingReservations = await inventoryService.listReservationItems({
|
|
72
|
+
line_item_id: lineItemId,
|
|
73
|
+
});
|
|
74
|
+
const desiredByInventoryItem = new Map();
|
|
75
|
+
for (const link of normalizedLinks) {
|
|
76
|
+
desiredByInventoryItem.set(link.inventory_item_id, {
|
|
77
|
+
quantity: Number(utils_1.MathBN.mult(reservationQuantity, link.required_quantity).toString()),
|
|
78
|
+
location_id: link.location_id,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
const existingByInventoryItem = new Map();
|
|
82
|
+
for (const r of existingReservations) {
|
|
83
|
+
existingByInventoryItem.set(r.inventory_item_id, r);
|
|
84
|
+
}
|
|
85
|
+
const allMatch = existingReservations.length === desiredByInventoryItem.size &&
|
|
86
|
+
normalizedLinks.every((link) => {
|
|
87
|
+
const existing = existingByInventoryItem.get(link.inventory_item_id);
|
|
88
|
+
if (!existing)
|
|
89
|
+
return false;
|
|
90
|
+
const desiredQty = desiredByInventoryItem.get(link.inventory_item_id)
|
|
91
|
+
.quantity;
|
|
92
|
+
return Number(existing.quantity ?? 0) === desiredQty;
|
|
93
|
+
});
|
|
94
|
+
if (allMatch) {
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
const inheritedLocation = existingReservations[0];
|
|
98
|
+
const toCreate = normalizedLinks
|
|
99
|
+
.map((link) => {
|
|
100
|
+
const desired = desiredByInventoryItem.get(link.inventory_item_id);
|
|
101
|
+
const locationId = link.location_id ?? inheritedLocation?.location_id ?? null;
|
|
102
|
+
return {
|
|
103
|
+
line_item_id: lineItemId,
|
|
104
|
+
inventory_item_id: link.inventory_item_id,
|
|
105
|
+
location_id: locationId,
|
|
106
|
+
quantity: desired.quantity,
|
|
107
|
+
};
|
|
108
|
+
})
|
|
109
|
+
.filter((r) => !!r.location_id);
|
|
110
|
+
if (toCreate.length === 0) {
|
|
111
|
+
continue;
|
|
112
|
+
}
|
|
113
|
+
for (const r of existingReservations) {
|
|
114
|
+
compensation.push({
|
|
115
|
+
type: "recreate-prior",
|
|
116
|
+
line_item_id: lineItemId,
|
|
117
|
+
inventory_item_id: r
|
|
118
|
+
.inventory_item_id,
|
|
119
|
+
location_id: r.location_id,
|
|
120
|
+
quantity: Number(r.quantity ?? 0),
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
if (existingReservations.length) {
|
|
124
|
+
await inventoryService.deleteReservationItems(existingReservations.map((r) => r.id));
|
|
125
|
+
}
|
|
126
|
+
const created = await inventoryService.createReservationItems(toCreate);
|
|
127
|
+
for (const r of created) {
|
|
128
|
+
compensation.push({ type: "delete-created", id: r.id });
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return new workflows_sdk_1.StepResponse({ adjusted: true }, compensation);
|
|
132
|
+
}, async (compensation, { container }) => {
|
|
133
|
+
if (!compensation?.length)
|
|
134
|
+
return;
|
|
135
|
+
const inventoryService = container.resolve(utils_1.Modules.INVENTORY);
|
|
136
|
+
const toDelete = compensation
|
|
137
|
+
.filter((c) => c.type === "delete-created")
|
|
138
|
+
.map((c) => c.id);
|
|
139
|
+
if (toDelete.length) {
|
|
140
|
+
await inventoryService.deleteReservationItems(toDelete);
|
|
141
|
+
}
|
|
142
|
+
const toRecreate = compensation
|
|
143
|
+
.filter((c) => c.type === "recreate-prior")
|
|
144
|
+
.map((c) => ({
|
|
145
|
+
line_item_id: c.line_item_id ?? undefined,
|
|
146
|
+
inventory_item_id: c.inventory_item_id,
|
|
147
|
+
location_id: c.location_id,
|
|
148
|
+
quantity: c.quantity,
|
|
149
|
+
}));
|
|
150
|
+
if (toRecreate.length) {
|
|
151
|
+
await inventoryService.createReservationItems(toRecreate);
|
|
152
|
+
}
|
|
153
|
+
});
|
|
154
|
+
exports.confirmOrderEditRequestWorkflowId = "mercur-confirm-order-edit-request";
|
|
155
|
+
exports.confirmOrderEditRequestWorkflow = (0, workflows_sdk_1.createWorkflow)(exports.confirmOrderEditRequestWorkflowId, function (input) {
|
|
156
|
+
const orderPreview = core_flows_1.confirmOrderEditRequestWorkflow.runAsStep({
|
|
157
|
+
input: {
|
|
158
|
+
order_id: input.order_id,
|
|
159
|
+
confirmed_by: input.confirmed_by,
|
|
160
|
+
},
|
|
161
|
+
});
|
|
162
|
+
adjustOrderEditReservationsForOffersStep({ order_id: input.order_id });
|
|
163
|
+
return new workflows_sdk_1.WorkflowResponse(orderPreview);
|
|
164
|
+
});
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS1vcmRlci1lZGl0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL3dvcmtmbG93cy9jb25maXJtLW9yZGVyLWVkaXQtcmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFJa0M7QUFDbEMscUVBSzBDO0FBQzFDLDREQUFvSDtBQThDcEgsTUFBTSwwQ0FBMEMsR0FDOUMsa0RBQWtELENBQUE7QUFFcEQsTUFBTSx3Q0FBd0MsR0FBRyxJQUFBLDBCQUFVLEVBQ3pELDBDQUEwQyxFQUMxQyxLQUFLLEVBQUUsS0FBMkIsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbkQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRTtZQUNOLElBQUk7WUFDSixTQUFTO1lBQ1QsZ0JBQWdCO1lBQ2hCLG1DQUFtQztZQUNuQyxrREFBa0Q7WUFDbEQsa0VBQWtFO1NBQ25FO1FBQ0QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxRQUFRLEVBQUU7S0FDaEMsQ0FBQyxDQUFBO0lBRUYsTUFBTSxLQUFLLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQVNYLENBQUE7SUFFYixJQUFJLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUMxQixPQUFPLElBQUksNEJBQVksQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUF5QixDQUFDLENBQUE7SUFDekUsQ0FBQztJQUVELE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxl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
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./cancel-order-fulfillment"), exports);
|
|
|
19
19
|
__exportStar(require("./confirm-return-receive"), exports);
|
|
20
20
|
__exportStar(require("./confirm-exchange-request"), exports);
|
|
21
21
|
__exportStar(require("./confirm-claim-request"), exports);
|
|
22
|
-
|
|
22
|
+
__exportStar(require("./confirm-order-edit-request"), exports);
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL29yZGVyL3dvcmtmbG93cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsNkRBQTBDO0FBQzFDLDZEQUEwQztBQUMxQywyREFBd0M7QUFDeEMsNkRBQTBDO0FBQzFDLDBEQUF1QztBQUN2QywrREFBNEMifQ==
|
|
@@ -7,6 +7,13 @@ const types_1 = require("@mercurjs/types");
|
|
|
7
7
|
const steps_1 = require("../steps");
|
|
8
8
|
const stage_product_change_1 = require("./stage-product-change");
|
|
9
9
|
exports.productEditUpdateVariantsWorkflowId = "product-edit-update-variants";
|
|
10
|
+
/**
|
|
11
|
+
* Variant fields that are not vendor-editable and must never be staged
|
|
12
|
+
* as part of a `VARIANT_UPDATE`. `manage_inventory` is a marketplace
|
|
13
|
+
* invariant pinned to `false` at variant creation — surfacing it in the
|
|
14
|
+
* request block (as a phantom `Off → On` row) was the core of MER-168.
|
|
15
|
+
*/
|
|
16
|
+
const NON_EDITABLE_VARIANT_FIELDS = new Set(["manage_inventory"]);
|
|
10
17
|
/**
|
|
11
18
|
* Vendor "edit product variants" orchestrator. Translates each
|
|
12
19
|
* `operations[]` entry into a `VARIANT_ADD` / `VARIANT_UPDATE` /
|
|
@@ -59,6 +66,26 @@ exports.productEditUpdateVariantsWorkflow = (0, workflows_sdk_1.createWorkflow)(
|
|
|
59
66
|
for (const v of (currentVariants ?? [])) {
|
|
60
67
|
currentVariantsById.set(v.id, v);
|
|
61
68
|
}
|
|
69
|
+
// Mirror the product-level field diff (`product-edit-update-fields`):
|
|
70
|
+
// normalize relation/array shapes to ids/urls before comparing so an
|
|
71
|
+
// unchanged value never produces a spurious change row.
|
|
72
|
+
const normalize = (value) => {
|
|
73
|
+
if (Array.isArray(value)) {
|
|
74
|
+
return value
|
|
75
|
+
.map((item) => {
|
|
76
|
+
if (item && typeof item === "object" && "id" in item) {
|
|
77
|
+
return item.id;
|
|
78
|
+
}
|
|
79
|
+
if (item && typeof item === "object" && "url" in item) {
|
|
80
|
+
return item.url;
|
|
81
|
+
}
|
|
82
|
+
return item;
|
|
83
|
+
})
|
|
84
|
+
.sort();
|
|
85
|
+
}
|
|
86
|
+
return value ?? null;
|
|
87
|
+
};
|
|
88
|
+
const isEqual = (a, b) => JSON.stringify(normalize(a)) === JSON.stringify(normalize(b));
|
|
62
89
|
for (const op of input.operations ?? []) {
|
|
63
90
|
switch (op.type) {
|
|
64
91
|
case "add":
|
|
@@ -70,16 +97,38 @@ exports.productEditUpdateVariantsWorkflow = (0, workflows_sdk_1.createWorkflow)(
|
|
|
70
97
|
break;
|
|
71
98
|
case "update": {
|
|
72
99
|
const current = currentVariantsById.get(op.variant_id) ?? {};
|
|
100
|
+
const changedFields = {};
|
|
73
101
|
const previousFields = {};
|
|
74
|
-
for (const field of Object.
|
|
102
|
+
for (const [field, proposedValue] of Object.entries(op.fields ?? {})) {
|
|
103
|
+
// Never stage fields the vendor can't edit (e.g.
|
|
104
|
+
// `manage_inventory`).
|
|
105
|
+
if (NON_EDITABLE_VARIANT_FIELDS.has(field))
|
|
106
|
+
continue;
|
|
107
|
+
// `options` is a relation update (option-title → value
|
|
108
|
+
// pairs), not a scalar column we load for diffing. Forward
|
|
109
|
+
// it untouched when provided so the apply step can re-pair
|
|
110
|
+
// variant options; it carries no meaningful previous value.
|
|
111
|
+
if (field === "options") {
|
|
112
|
+
if (proposedValue !== undefined) {
|
|
113
|
+
changedFields.options = proposedValue;
|
|
114
|
+
}
|
|
115
|
+
continue;
|
|
116
|
+
}
|
|
117
|
+
// Skip fields that did not actually change.
|
|
118
|
+
if (isEqual(current[field], proposedValue))
|
|
119
|
+
continue;
|
|
120
|
+
changedFields[field] = proposedValue;
|
|
75
121
|
previousFields[field] = current[field] ?? null;
|
|
76
122
|
}
|
|
123
|
+
// Nothing editable changed — don't stage an empty action.
|
|
124
|
+
if (!Object.keys(changedFields).length)
|
|
125
|
+
break;
|
|
77
126
|
acts.push({
|
|
78
127
|
product_id: input.product_id,
|
|
79
128
|
action: types_1.ProductChangeActionType.VARIANT_UPDATE,
|
|
80
129
|
details: {
|
|
81
130
|
variant_id: op.variant_id,
|
|
82
|
-
fields:
|
|
131
|
+
fields: changedFields,
|
|
83
132
|
previous_fields: previousFields,
|
|
84
133
|
},
|
|
85
134
|
});
|
|
@@ -105,4 +154,4 @@ exports.productEditUpdateVariantsWorkflow = (0, workflows_sdk_1.createWorkflow)(
|
|
|
105
154
|
});
|
|
106
155
|
return new workflows_sdk_1.WorkflowResponse(change);
|
|
107
156
|
});
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
157
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1lZGl0LXVwZGF0ZS12YXJpYW50cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvcHJvZHVjdC1lZGl0L3dvcmtmbG93cy9wcm9kdWN0LWVkaXQtdXBkYXRlLXZhcmlhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFFQUswQztBQUMxQyw0REFBK0Q7QUFDL0QsMkNBSXdCO0FBRXhCLG9DQUE2RDtBQUM3RCxpRUFBbUU7QUE2QnRELFFBQUEsbUNBQW1DLEdBQzlDLDhCQUE4QixDQUFBO0FBRWhDOzs7OztHQUtHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQTtBQUVqRTs7Ozs7Ozs7O0dBU0c7QUFDVSxRQUFBLGlDQUFpQyxHQUkxQyxJQUFBLDhCQUFjLEVBQ2hCLDJDQUFtQyxFQUNuQyxVQUFVLEtBQTZDO0lBQ3JELElBQUEsMENBQWtDLEVBQ2hDLElBQUEseUJBQVMsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNuQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO0tBQ2hDLENBQUMsQ0FBQyxDQUNKLENBQUE7SUFFRCw0REFBNEQ7SUFDNUQsNkRBQTZEO0lBQzdELDJEQUEyRDtJQUMzRCx1QkFBdUI7SUFDdkIsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLHlCQUFTLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxDQUMxRCxLQUFLLENBQUMsSUFBSSxDQUNSLElBQUksR0FBRyxDQUNMLENBQUMsS0FBSyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7U0FDckIsTUFBTSxDQUNMLENBQ0UsRUFBRSxFQUtGLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxL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
|