@mercurjs/core 2.3.8-canary.1 → 2.3.8-canary.3
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/middlewares.js +37 -35
- package/.medusa/server/src/api/admin/regions/[id]/sellers/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/regions/[id]/sellers/route.js +20 -0
- package/.medusa/server/src/api/admin/regions/middlewares.d.ts +2 -0
- package/.medusa/server/src/api/admin/regions/middlewares.js +17 -0
- package/.medusa/server/src/api/admin/sellers/[id]/regions/route.d.ts +4 -0
- package/.medusa/server/src/api/admin/sellers/[id]/regions/route.js +20 -0
- package/.medusa/server/src/api/admin/sellers/middlewares.js +45 -30
- package/.medusa/server/src/api/admin/sellers/query-config.js +4 -1
- package/.medusa/server/src/api/admin/sellers/validators.d.ts +2 -0
- package/.medusa/server/src/api/admin/sellers/validators.js +3 -1
- package/.medusa/server/src/api/vendor/offers/[id]/route.js +5 -1
- package/.medusa/server/src/api/vendor/offers/batch/route.js +3 -1
- package/.medusa/server/src/api/vendor/offers/route.js +3 -1
- package/.medusa/server/src/api/vendor/regions/[id]/route.js +3 -1
- package/.medusa/server/src/api/vendor/regions/helpers.d.ts +11 -0
- package/.medusa/server/src/api/vendor/regions/helpers.js +101 -0
- package/.medusa/server/src/api/vendor/regions/route.js +22 -2
- package/.medusa/server/src/api/vendor/shipping-options/[id]/route.js +3 -1
- package/.medusa/server/src/api/vendor/shipping-options/route.js +3 -1
- package/.medusa/server/src/links/region-seller-link.d.ts +2 -0
- package/.medusa/server/src/links/region-seller-link.js +20 -0
- package/.medusa/server/src/workflows/seller/steps/associate-sellers-with-regions.d.ts +9 -0
- package/.medusa/server/src/workflows/seller/steps/associate-sellers-with-regions.js +26 -0
- package/.medusa/server/src/workflows/seller/steps/detach-sellers-from-regions.d.ts +6 -0
- package/.medusa/server/src/workflows/seller/steps/detach-sellers-from-regions.js +26 -0
- package/.medusa/server/src/workflows/seller/steps/index.d.ts +5 -0
- package/.medusa/server/src/workflows/seller/steps/index.js +6 -1
- package/.medusa/server/src/workflows/seller/steps/resolve-seller-region-ids.d.ts +9 -0
- package/.medusa/server/src/workflows/seller/steps/resolve-seller-region-ids.js +27 -0
- package/.medusa/server/src/workflows/seller/steps/validate-seller-region-links.d.ts +6 -0
- package/.medusa/server/src/workflows/seller/steps/validate-seller-region-links.js +37 -0
- package/.medusa/server/src/workflows/seller/steps/validate-sellers-keep-regions.d.ts +7 -0
- package/.medusa/server/src/workflows/seller/steps/validate-sellers-keep-regions.js +33 -0
- package/.medusa/server/src/workflows/seller/workflows/create-seller-account.d.ts +2 -0
- package/.medusa/server/src/workflows/seller/workflows/create-seller-account.js +8 -1
- package/.medusa/server/src/workflows/seller/workflows/create-sellers.d.ts +1 -0
- package/.medusa/server/src/workflows/seller/workflows/create-sellers.js +10 -2
- package/.medusa/server/src/workflows/seller/workflows/index.d.ts +1 -0
- package/.medusa/server/src/workflows/seller/workflows/index.js +2 -1
- package/.medusa/server/src/workflows/seller/workflows/link-seller-regions.d.ts +7 -0
- package/.medusa/server/src/workflows/seller/workflows/link-seller-regions.js +15 -0
- package/package.json +3 -3
|
@@ -2,8 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const helpers_1 = require("../helpers");
|
|
5
6
|
const GET = async (req, res) => {
|
|
6
7
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
await (0, helpers_1.validateSellerRegions)(req.scope, req.seller_context.seller_id, [req.params.id], utils_1.MedusaError.Types.NOT_FOUND);
|
|
7
9
|
const { data: [region], } = await query.graph({
|
|
8
10
|
entity: "region",
|
|
9
11
|
fields: req.queryConfig.fields,
|
|
@@ -15,4 +17,4 @@ const GET = async (req, res) => {
|
|
|
15
17
|
res.json({ region });
|
|
16
18
|
};
|
|
17
19
|
exports.GET = GET;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9yZWdpb25zL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBSUEscURBR2tDO0FBR2xDLHdDQUFrRDtBQUUzQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQWtELEVBQ2xELEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLElBQUEsK0JBQXFCLEVBQ3pCLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsR0FBRyxDQUFDLGNBQWUsQ0FBQyxTQUFTLEVBQzdCLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFDZixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQzVCLENBQUE7SUFFRCxNQUFNLEVBQ0osSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQ2YsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEIsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUU7S0FDL0IsQ0FBQyxDQUFBO0lBRUYsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFDM0Isa0JBQWtCLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxnQkFBZ0IsQ0FDaEQsQ0FBQTtJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQTtBQUN0QixDQUFDLENBQUE7QUE3QlksUUFBQSxHQUFHLE9BNkJmIn0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MedusaContainer } from "@medusajs/framework";
|
|
2
|
+
export declare const listSellerRegionIds: (scope: MedusaContainer, sellerId: string) => Promise<string[]>;
|
|
3
|
+
export declare const listSellerCurrencyCodes: (scope: MedusaContainer, sellerId: string) => Promise<string[]>;
|
|
4
|
+
export declare const validateSellerRegions: (scope: MedusaContainer, sellerId: string, regionIds: string[], errorType?: string) => Promise<void>;
|
|
5
|
+
type RegionScopedPrice = {
|
|
6
|
+
currency_code?: string;
|
|
7
|
+
region_id?: string;
|
|
8
|
+
rules?: unknown;
|
|
9
|
+
};
|
|
10
|
+
export declare const validateSellerRegionPrices: (scope: MedusaContainer, sellerId: string, prices: RegionScopedPrice[]) => Promise<void>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateSellerRegionPrices = exports.validateSellerRegions = exports.listSellerCurrencyCodes = exports.listSellerRegionIds = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const listSellerRegionIds = async (scope, sellerId) => {
|
|
6
|
+
const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
7
|
+
const { data: links } = await query.graph({
|
|
8
|
+
entity: "region_seller",
|
|
9
|
+
filters: { seller_id: sellerId },
|
|
10
|
+
fields: ["region_id"],
|
|
11
|
+
});
|
|
12
|
+
return links.map((link) => link.region_id);
|
|
13
|
+
};
|
|
14
|
+
exports.listSellerRegionIds = listSellerRegionIds;
|
|
15
|
+
const listSellerCurrencyCodes = async (scope, sellerId) => {
|
|
16
|
+
const regionIds = await (0, exports.listSellerRegionIds)(scope, sellerId);
|
|
17
|
+
if (!regionIds.length) {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
21
|
+
const { data: regions } = await query.graph({
|
|
22
|
+
entity: "region",
|
|
23
|
+
filters: { id: regionIds },
|
|
24
|
+
fields: ["currency_code"],
|
|
25
|
+
});
|
|
26
|
+
return Array.from(new Set(regions.map((r) => r.currency_code.toLowerCase())));
|
|
27
|
+
};
|
|
28
|
+
exports.listSellerCurrencyCodes = listSellerCurrencyCodes;
|
|
29
|
+
const validateSellerRegions = async (scope, sellerId, regionIds, errorType = utils_1.MedusaError.Types.INVALID_DATA) => {
|
|
30
|
+
const ids = Array.from(new Set(regionIds));
|
|
31
|
+
if (!ids.length) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
35
|
+
const { data: links } = await query.graph({
|
|
36
|
+
entity: "region_seller",
|
|
37
|
+
filters: {
|
|
38
|
+
seller_id: sellerId,
|
|
39
|
+
region_id: ids,
|
|
40
|
+
},
|
|
41
|
+
fields: ["region_id"],
|
|
42
|
+
});
|
|
43
|
+
const assigned = new Set(links.map((link) => link.region_id));
|
|
44
|
+
const missing = ids.find((id) => !assigned.has(id));
|
|
45
|
+
if (missing) {
|
|
46
|
+
throw new utils_1.MedusaError(errorType, errorType === utils_1.MedusaError.Types.NOT_FOUND
|
|
47
|
+
? `Region with id: ${missing} was not found`
|
|
48
|
+
: `Region with id: ${missing} is not assigned to this seller`);
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
exports.validateSellerRegions = validateSellerRegions;
|
|
52
|
+
const regionIdFromRules = (rules) => {
|
|
53
|
+
if (!rules || typeof rules !== "object" || Array.isArray(rules)) {
|
|
54
|
+
return undefined;
|
|
55
|
+
}
|
|
56
|
+
const value = rules.region_id;
|
|
57
|
+
return typeof value === "string" ? value : undefined;
|
|
58
|
+
};
|
|
59
|
+
const validateSellerRegionPrices = async (scope, sellerId, prices) => {
|
|
60
|
+
const regionPrices = [];
|
|
61
|
+
const currencyCodes = new Set();
|
|
62
|
+
for (const price of prices) {
|
|
63
|
+
const regionId = price.region_id ?? regionIdFromRules(price.rules);
|
|
64
|
+
if (regionId) {
|
|
65
|
+
regionPrices.push({ region_id: regionId, currency_code: price.currency_code });
|
|
66
|
+
}
|
|
67
|
+
else if (price.currency_code) {
|
|
68
|
+
currencyCodes.add(price.currency_code.toLowerCase());
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (currencyCodes.size) {
|
|
72
|
+
const unlocked = new Set(await (0, exports.listSellerCurrencyCodes)(scope, sellerId));
|
|
73
|
+
const locked = Array.from(currencyCodes).find((code) => !unlocked.has(code));
|
|
74
|
+
if (locked) {
|
|
75
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Currency ${locked} is not available to this seller. Assign a region using it first`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (!regionPrices.length) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
const regionIds = Array.from(new Set(regionPrices.map((p) => p.region_id)));
|
|
82
|
+
await (0, exports.validateSellerRegions)(scope, sellerId, regionIds);
|
|
83
|
+
const withCurrency = regionPrices.filter((p) => p.currency_code);
|
|
84
|
+
if (!withCurrency.length) {
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
const query = scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
88
|
+
const { data: regions } = await query.graph({
|
|
89
|
+
entity: "region",
|
|
90
|
+
filters: { id: regionIds },
|
|
91
|
+
fields: ["id", "currency_code"],
|
|
92
|
+
});
|
|
93
|
+
const currencyByRegion = new Map(regions.map((r) => [r.id, r.currency_code]));
|
|
94
|
+
const mismatch = withCurrency.find((p) => currencyByRegion.get(p.region_id)?.toLowerCase() !==
|
|
95
|
+
p.currency_code.toLowerCase());
|
|
96
|
+
if (mismatch) {
|
|
97
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Price currency ${mismatch.currency_code} does not match the currency of region ${mismatch.region_id}`);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
exports.validateSellerRegionPrices = validateSellerRegionPrices;
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcGkvdmVuZG9yL3JlZ2lvbnMvaGVscGVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFHa0M7QUFFM0IsTUFBTSxtQkFBbUIsR0FBRyxLQUFLLEVBQ3RDLEtBQXNCLEVBQ3RCLFFBQWdCLEVBQ0csRUFBRTtJQUNyQixNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRTVELE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3hDLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLE9BQU8sRUFBRSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUU7UUFDaEMsTUFBTSxFQUFFLENBQUMsV0FBVyxDQUFDO0tBQ3RCLENBQUMsQ0FBQTtJQUVGLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUUsSUFBOEIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtBQUN2RSxDQUFDLENBQUE7QUFiWSxRQUFBLG1CQUFtQix1QkFhL0I7QUFFTSxNQUFNLHVCQUF1QixHQUFHLEtBQUssRUFDMUMsS0FBc0IsRUFDdEIsUUFBZ0IsRUFDRyxFQUFFO0lBQ3JCLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBQSwyQkFBbUIsRUFBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLENBQUE7SUFDNUQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN0QixPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFFRCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzVELE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxLQUFLLENB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
|
|
@@ -2,12 +2,32 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GET = void 0;
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const helpers_1 = require("./helpers");
|
|
5
6
|
const GET = async (req, res) => {
|
|
6
7
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
8
|
+
const assignedIds = await (0, helpers_1.listSellerRegionIds)(req.scope, req.seller_context.seller_id);
|
|
9
|
+
const requested = req.filterableFields.id;
|
|
10
|
+
const requestedIds = requested
|
|
11
|
+
? Array.isArray(requested)
|
|
12
|
+
? requested
|
|
13
|
+
: [requested]
|
|
14
|
+
: null;
|
|
15
|
+
const ids = requestedIds
|
|
16
|
+
? assignedIds.filter((id) => requestedIds.includes(id))
|
|
17
|
+
: assignedIds;
|
|
18
|
+
if (!ids.length) {
|
|
19
|
+
res.json({
|
|
20
|
+
regions: [],
|
|
21
|
+
count: 0,
|
|
22
|
+
offset: req.queryConfig.pagination?.skip ?? 0,
|
|
23
|
+
limit: req.queryConfig.pagination?.take ?? 0,
|
|
24
|
+
});
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
7
27
|
const { data: regions, metadata } = await query.graph({
|
|
8
28
|
entity: "region",
|
|
9
29
|
fields: req.queryConfig.fields,
|
|
10
|
-
filters: req.filterableFields,
|
|
30
|
+
filters: { ...req.filterableFields, id: ids },
|
|
11
31
|
pagination: req.queryConfig.pagination,
|
|
12
32
|
});
|
|
13
33
|
res.json({
|
|
@@ -18,4 +38,4 @@ const GET = async (req, res) => {
|
|
|
18
38
|
});
|
|
19
39
|
};
|
|
20
40
|
exports.GET = GET;
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9yZWdpb25zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFxRTtBQUdyRSx1Q0FBK0M7QUFFeEMsTUFBTSxHQUFHLEdBQUcsS0FBSyxFQUN0QixHQUErQixFQUMvQixHQUFzRCxFQUN0RCxFQUFFO0lBQ0YsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFFaEUsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFBLDZCQUFtQixFQUMzQyxHQUFHLENBQUMsS0FBSyxFQUNULEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUM5QixDQUFBO0lBRUQsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQW1DLENBQUE7SUFDMUUsTUFBTSxZQUFZLEdBQUcsU0FBUztRQUM1QixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7WUFDeEIsQ0FBQyxDQUFDLFNBQVM7WUFDWCxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDZixDQUFDLENBQUMsSUFBSSxDQUFBO0lBRVIsTUFBTSxHQUFHLEdBQUcsWUFBWTtRQUN0QixDQUFDLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2RCxDQUFDLENBQUMsV0FBVyxDQUFBO0lBRWYsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNoQixHQUFHLENBQUMsSUFBSSxDQUFDO1lBQ1AsT0FBTyxFQUFFLEVBQUU7WUFDWCxLQUFLLEVBQUUsQ0FBQztZQUNSLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxJQUFJLElBQUksQ0FBQztZQUM3QyxLQUFLLEVBQUUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUM7U0FDN0MsQ0FBQyxDQUFBO1FBQ0YsT0FBTTtJQUNSLENBQUM7SUFFRCxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxNQUFNLEtBQUssQ0FBQyxLQUFLLENBQUM7UUFDcEQsTUFBTSxFQUFFLFFBQVE7UUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTTtRQUM5QixPQUFPLEVBQUUsRUFBRSxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFO1FBQzdDLFVBQVUsRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLFVBQVU7S0FDdkMsQ0FBQyxDQUFBO0lBRUYsR0FBRyxDQUFDLElBQUksQ0FBQztRQUNQLE9BQU87UUFDUCxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssSUFBSSxDQUFDO1FBQzNCLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUM7UUFDM0IsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztLQUMzQixDQUFDLENBQUE7QUFDSixDQUFDLENBQUE7QUE3Q1ksUUFBQSxHQUFHLE9BNkNmIn0=
|
|
@@ -4,6 +4,7 @@ exports.DELETE = exports.POST = exports.GET = void 0;
|
|
|
4
4
|
const core_flows_1 = require("@medusajs/core-flows");
|
|
5
5
|
const utils_1 = require("@medusajs/framework/utils");
|
|
6
6
|
const helpers_1 = require("../helpers");
|
|
7
|
+
const helpers_2 = require("../../regions/helpers");
|
|
7
8
|
const GET = async (req, res) => {
|
|
8
9
|
const sellerId = req.seller_context.seller_id;
|
|
9
10
|
await (0, helpers_1.validateSellerShippingOption)(req.scope, sellerId, req.params.id);
|
|
@@ -18,6 +19,7 @@ const POST = async (req, res) => {
|
|
|
18
19
|
const sellerId = req.seller_context.seller_id;
|
|
19
20
|
await (0, helpers_1.validateSellerShippingOption)(req.scope, sellerId, req.params.id);
|
|
20
21
|
const shippingOptionPayload = req.validatedBody;
|
|
22
|
+
await (0, helpers_2.validateSellerRegionPrices)(req.scope, sellerId, shippingOptionPayload.prices ?? []);
|
|
21
23
|
const workflow = (0, core_flows_1.updateShippingOptionsWorkflow)(req.scope);
|
|
22
24
|
const workflowInput = {
|
|
23
25
|
id: req.params.id,
|
|
@@ -43,4 +45,4 @@ const DELETE = async (req, res) => {
|
|
|
43
45
|
.json({ id: shippingOptionId, object: "shipping_option", deleted: true });
|
|
44
46
|
};
|
|
45
47
|
exports.DELETE = DELETE;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9zaGlwcGluZy1vcHRpb25zL1tpZF0vcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBRzZCO0FBTTdCLHFEQUF1RDtBQUd2RCx3Q0FBZ0Y7QUFDaEYsbURBQWtFO0FBRzNELE1BQU0sR0FBRyxHQUFHLEtBQUssRUFDdEIsR0FBK0IsRUFDL0IsR0FBMkQsRUFDM0QsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBRTlDLE1BQU0sSUFBQSxzQ0FBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXRFLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBQSwrQkFBcUIsRUFDaEQsR0FBRyxDQUFDLEtBQUssRUFDVCxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFDYixHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDdkIsQ0FBQTtJQUVELElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNwQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQiw0QkFBNEIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLFlBQVksQ0FDdEQsQ0FBQTtJQUNILENBQUM7SUFFRCxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUE7QUFDL0MsQ0FBQyxDQUFBO0FBdEJZLFFBQUEsR0FBRyxPQXNCZjtBQUVNLE1BQU0sSUFBSSxHQUFHLEtBQUssRUFDdkIsR0FBK0QsRUFDL0QsR0FBMkQsRUFDM0QsRUFBRTtJQUNGLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxjQUFlLENBQUMsU0FBUyxDQUFBO0lBRTlDLE1BQU0sSUFBQSxzQ0FBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0lBRXRFLE1BQU0scUJBQXFCLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtJQUUvQyxNQUFNLElBQUEsb0NBQTBCLEVBQzlCLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsUUFBUSxFQUNSLHFCQUFxQixDQUFDLE1BQU0sSUFBSSxFQUFFLENBQ25DLENBQUE7SUFFRCxNQUFNLFFBQVEsR0FBRyxJQUFBLDBDQUE2QixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUV6RCxNQUFNLGFBQWEsR0FDakI7UUFDRSxFQUFFLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1FBQ2pCLEdBQUcscUJBQXFCO0tBQ3pCLENBQUE7SUFFSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsTUFBTSxRQUFRLENBQUMsR0FBRyxDQUFDO1FBQ3BDLEtBQUssRUFBRSxDQUFDLGFBQWEsQ0FBQztLQUN2QixDQUFDLENBQUE7SUFFRixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUEsK0JBQXFCLEVBQ2hELEdBQUcsQ0FBQyxLQUFLLEVBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDWixHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDdkIsQ0FBQTtJQUVELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUE7QUFDM0QsQ0FBQyxDQUFBO0FBbkNZLFFBQUEsSUFBSSxRQW1DaEI7QUFFTSxNQUFNLE1BQU0sR0FBRyxLQUFLLEVBQ3pCLEdBQStCLEVBQy9CLEdBQWlFLEVBQ2pFLEVBQUU7SUFDRixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsY0FBZSxDQUFDLFNBQVMsQ0FBQTtJQUM5QyxNQUFNLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFBO0lBRXRDLE1BQU0sSUFBQSxzQ0FBNEIsRUFBQyxHQUFHLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO0lBRXpFLE1BQU0sUUFBUSxHQUFHLElBQUEsMENBQTZCLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBRXpELE1BQU0sUUFBUSxDQUFDLEdBQUcsQ0FBQztRQUNqQixLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFO0tBQ25DLENBQUMsQ0FBQTtJQUVGLEdBQUc7U0FDQSxNQUFNLENBQUMsR0FBRyxDQUFDO1NBQ1gsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUM3RSxDQUFDLENBQUE7QUFsQlksUUFBQSxNQUFNLFVBa0JsQiJ9
|
|
@@ -4,6 +4,7 @@ exports.POST = exports.GET = void 0;
|
|
|
4
4
|
const utils_1 = require("@medusajs/framework/utils");
|
|
5
5
|
const shipping_option_1 = require("../../../workflows/shipping-option");
|
|
6
6
|
const helpers_1 = require("./helpers");
|
|
7
|
+
const helpers_2 = require("../regions/helpers");
|
|
7
8
|
const GET = async (req, res) => {
|
|
8
9
|
const query = req.scope.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
10
|
const { data: shipping_options, metadata } = await query.graph({
|
|
@@ -22,6 +23,7 @@ const GET = async (req, res) => {
|
|
|
22
23
|
exports.GET = GET;
|
|
23
24
|
const POST = async (req, res) => {
|
|
24
25
|
const sellerId = req.seller_context.seller_id;
|
|
26
|
+
await (0, helpers_2.validateSellerRegionPrices)(req.scope, sellerId, req.validatedBody.prices ?? []);
|
|
25
27
|
const { result } = await (0, shipping_option_1.createSellerShippingOptionsWorkflow)(req.scope).run({
|
|
26
28
|
input: {
|
|
27
29
|
seller_id: sellerId,
|
|
@@ -32,4 +34,4 @@ const POST = async (req, res) => {
|
|
|
32
34
|
res.status(201).json({ shipping_option: shippingOption });
|
|
33
35
|
};
|
|
34
36
|
exports.POST = POST;
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3ZlbmRvci9zaGlwcGluZy1vcHRpb25zL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUlBLHFEQUFxRTtBQUdyRSx3RUFBd0Y7QUFDeEYsdUNBQWlEO0FBQ2pELGdEQUErRDtBQUd4RCxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQ3RCLEdBQStCLEVBQy9CLEdBQStELEVBQy9ELEVBQUU7SUFDRixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUM3RCxNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSxHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU07UUFDOUIsT0FBTyxFQUFFLEdBQUcsQ0FBQyxnQkFBZ0I7UUFDN0IsVUFBVSxFQUFFLEdBQUcsQ0FBQyxXQUFXLENBQUMsVUFBVTtLQUN2QyxDQUFDLENBQUE7SUFFRixHQUFHLENBQUMsSUFBSSxDQUFDO1FBQ1AsZ0JBQWdCO1FBQ2hCLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxJQUFJLENBQUM7UUFDM0IsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQztRQUMzQixLQUFLLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxDQUFDO0tBQzNCLENBQUMsQ0FBQTtBQUNKLENBQUMsQ0FBQTtBQW5CWSxRQUFBLEdBQUcsT0FtQmY7QUFFTSxNQUFNLElBQUksR0FBRyxLQUFLLEVBQ3ZCLEdBQStELEVBQy9ELEdBQTJELEVBQzNELEVBQUU7SUFDRixNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsY0FBZSxDQUFDLFNBQVMsQ0FBQTtJQUU5QyxNQUFNLElBQUEsb0NBQTBCLEVBQzlCLEdBQUcsQ0FBQyxLQUFLLEVBQ1QsUUFBUSxFQUNSLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FDL0IsQ0FBQTtJQUVELE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxNQUFNLElBQUEscURBQW1DLEVBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUMxRSxLQUFLLEVBQUU7WUFDTCxTQUFTLEVBQUUsUUFBUTtZQUNuQixnQkFBZ0IsRUFBRSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7U0FDdEM7S0FDRixDQUFDLENBQUE7SUFFRixNQUFNLGNBQWMsR0FBRyxNQUFNLElBQUEsK0JBQXFCLEVBQ2hELEdBQUcsQ0FBQyxLQUFLLEVBQ1QsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDWixHQUFHLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FDdkIsQ0FBQTtJQUVELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUE7QUFDM0QsQ0FBQyxDQUFBO0FBMUJZLFFBQUEsSUFBSSxRQTBCaEIifQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
7
|
+
const region_1 = __importDefault(require("@medusajs/medusa/region"));
|
|
8
|
+
const seller_1 = __importDefault(require("../modules/seller"));
|
|
9
|
+
exports.default = (0, utils_1.defineLink)({
|
|
10
|
+
linkable: region_1.default.linkable.region,
|
|
11
|
+
isList: true,
|
|
12
|
+
}, {
|
|
13
|
+
linkable: seller_1.default.linkable.seller,
|
|
14
|
+
isList: true,
|
|
15
|
+
}, {
|
|
16
|
+
database: {
|
|
17
|
+
table: "region_seller",
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaW9uLXNlbGxlci1saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpbmtzL3JlZ2lvbi1zZWxsZXItbGluay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFEQUFzRDtBQUN0RCxxRUFBa0Q7QUFDbEQsK0RBQTRDO0FBRTVDLGtCQUFlLElBQUEsa0JBQVUsRUFDdkI7SUFDRSxRQUFRLEVBQUUsZ0JBQVksQ0FBQyxRQUFRLENBQUMsTUFBTTtJQUN0QyxNQUFNLEVBQUUsSUFBSTtDQUNiLEVBQ0Q7SUFDRSxRQUFRLEVBQUUsZ0JBQVksQ0FBQyxRQUFRLENBQUMsTUFBTTtJQUN0QyxNQUFNLEVBQUUsSUFBSTtDQUNiLEVBQ0Q7SUFDRSxRQUFRLEVBQUU7UUFDUixLQUFLLEVBQUUsZUFBZTtLQUN2QjtDQUNGLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type SellerRegionLink = {
|
|
2
|
+
region_id: string;
|
|
3
|
+
seller_id: string;
|
|
4
|
+
};
|
|
5
|
+
export interface AssociateSellersWithRegionsStepInput {
|
|
6
|
+
links: SellerRegionLink[];
|
|
7
|
+
}
|
|
8
|
+
export declare const associateSellersWithRegionsStepId = "associate-sellers-with-regions";
|
|
9
|
+
export declare const associateSellersWithRegionsStep: import("@medusajs/framework/workflows-sdk").StepFunction<AssociateSellersWithRegionsStepInput, unknown[]>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.associateSellersWithRegionsStep = exports.associateSellersWithRegionsStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const types_1 = require("@mercurjs/types");
|
|
7
|
+
exports.associateSellersWithRegionsStepId = "associate-sellers-with-regions";
|
|
8
|
+
exports.associateSellersWithRegionsStep = (0, workflows_sdk_1.createStep)(exports.associateSellersWithRegionsStepId, async (input, { container }) => {
|
|
9
|
+
if (!input.links?.length) {
|
|
10
|
+
return new workflows_sdk_1.StepResponse([], []);
|
|
11
|
+
}
|
|
12
|
+
const remoteLink = container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
13
|
+
const links = input.links.map((link) => ({
|
|
14
|
+
[utils_1.Modules.REGION]: { region_id: link.region_id },
|
|
15
|
+
[types_1.MercurModules.SELLER]: { seller_id: link.seller_id },
|
|
16
|
+
}));
|
|
17
|
+
const created = await remoteLink.create(links);
|
|
18
|
+
return new workflows_sdk_1.StepResponse(created, links);
|
|
19
|
+
}, async (links, { container }) => {
|
|
20
|
+
if (!links?.length) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const remoteLink = container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
24
|
+
await remoteLink.dismiss(links);
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzb2NpYXRlLXNlbGxlcnMtd2l0aC1yZWdpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zZWxsZXIvc3RlcHMvYXNzb2NpYXRlLXNlbGxlcnMtd2l0aC1yZWdpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUE4RTtBQUM5RSxxRUFBNEU7QUFDNUUsMkNBQStDO0FBV2xDLFFBQUEsaUNBQWlDLEdBQzVDLGdDQUFnQyxDQUFBO0FBRXJCLFFBQUEsK0JBQStCLEdBQUcsSUFBQSwwQkFBVSxFQUN2RCx5Q0FBaUMsRUFDakMsS0FBSyxFQUFFLEtBQTJDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ25FLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ3pCLE9BQU8sSUFBSSw0QkFBWSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNqQyxDQUFDO0lBRUQsTUFBTSxVQUFVLEdBQVMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUUxRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN2QyxDQUFDLGVBQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQy9DLENBQUMscUJBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO0tBQ3RELENBQUMsQ0FBQyxDQUFBO0lBRUgsTUFBTSxPQUFPLEdBQUcsTUFBTSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQzlDLE9BQU8sSUFBSSw0QkFBWSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUN6QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDN0IsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNuQixPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFTLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDMUUsTUFBTSxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ2pDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SellerRegionLink } from "./associate-sellers-with-regions";
|
|
2
|
+
export interface DetachSellersFromRegionsStepInput {
|
|
3
|
+
links: SellerRegionLink[];
|
|
4
|
+
}
|
|
5
|
+
export declare const detachSellersFromRegionsStepId = "detach-sellers-from-regions";
|
|
6
|
+
export declare const detachSellersFromRegionsStep: import("@medusajs/framework/workflows-sdk").StepFunction<DetachSellersFromRegionsStepInput, undefined>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.detachSellersFromRegionsStep = exports.detachSellersFromRegionsStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
const types_1 = require("@mercurjs/types");
|
|
7
|
+
exports.detachSellersFromRegionsStepId = "detach-sellers-from-regions";
|
|
8
|
+
exports.detachSellersFromRegionsStep = (0, workflows_sdk_1.createStep)(exports.detachSellersFromRegionsStepId, async (input, { container }) => {
|
|
9
|
+
if (!input.links?.length) {
|
|
10
|
+
return new workflows_sdk_1.StepResponse(void 0, []);
|
|
11
|
+
}
|
|
12
|
+
const remoteLink = container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
13
|
+
const links = input.links.map((link) => ({
|
|
14
|
+
[utils_1.Modules.REGION]: { region_id: link.region_id },
|
|
15
|
+
[types_1.MercurModules.SELLER]: { seller_id: link.seller_id },
|
|
16
|
+
}));
|
|
17
|
+
await remoteLink.dismiss(links);
|
|
18
|
+
return new workflows_sdk_1.StepResponse(void 0, links);
|
|
19
|
+
}, async (links, { container }) => {
|
|
20
|
+
if (!links?.length) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const remoteLink = container.resolve(utils_1.ContainerRegistrationKeys.LINK);
|
|
24
|
+
await remoteLink.create(links);
|
|
25
|
+
});
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWNoLXNlbGxlcnMtZnJvbS1yZWdpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zZWxsZXIvc3RlcHMvZGV0YWNoLXNlbGxlcnMtZnJvbS1yZWdpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLHFEQUE4RTtBQUM5RSxxRUFBNEU7QUFDNUUsMkNBQStDO0FBUWxDLFFBQUEsOEJBQThCLEdBQUcsNkJBQTZCLENBQUE7QUFFOUQsUUFBQSw0QkFBNEIsR0FBRyxJQUFBLDBCQUFVLEVBQ3BELHNDQUE4QixFQUM5QixLQUFLLEVBQUUsS0FBd0MsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDaEUsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFDekIsT0FBTyxJQUFJLDRCQUFZLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFDckMsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFTLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFFMUUsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkMsQ0FBQyxlQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUMvQyxDQUFDLHFCQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtLQUN0RCxDQUFDLENBQUMsQ0FBQTtJQUVILE1BQU0sVUFBVSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMvQixPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUN4QyxDQUFDLEVBQ0QsS0FBSyxFQUFFLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDN0IsSUFBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNuQixPQUFNO0lBQ1IsQ0FBQztJQUVELE1BQU0sVUFBVSxHQUFTLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDMUUsTUFBTSxVQUFVLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQ2hDLENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -22,3 +22,8 @@ export * from "./update-seller-address";
|
|
|
22
22
|
export * from "./update-seller-professional-details";
|
|
23
23
|
export * from "./delete-seller-professional-details";
|
|
24
24
|
export * from "./update-payment-details";
|
|
25
|
+
export * from "./associate-sellers-with-regions";
|
|
26
|
+
export * from "./detach-sellers-from-regions";
|
|
27
|
+
export * from "./resolve-seller-region-ids";
|
|
28
|
+
export * from "./validate-seller-region-links";
|
|
29
|
+
export * from "./validate-sellers-keep-regions";
|
|
@@ -38,4 +38,9 @@ __exportStar(require("./update-seller-address"), exports);
|
|
|
38
38
|
__exportStar(require("./update-seller-professional-details"), exports);
|
|
39
39
|
__exportStar(require("./delete-seller-professional-details"), exports);
|
|
40
40
|
__exportStar(require("./update-payment-details"), exports);
|
|
41
|
-
|
|
41
|
+
__exportStar(require("./associate-sellers-with-regions"), exports);
|
|
42
|
+
__exportStar(require("./detach-sellers-from-regions"), exports);
|
|
43
|
+
__exportStar(require("./resolve-seller-region-ids"), exports);
|
|
44
|
+
__exportStar(require("./validate-seller-region-links"), exports);
|
|
45
|
+
__exportStar(require("./validate-sellers-keep-regions"), exports);
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NlbGxlci9zdGVwcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsa0RBQStCO0FBQy9CLGtEQUErQjtBQUMvQixrREFBK0I7QUFDL0Isa0RBQStCO0FBQy9CLHlEQUFzQztBQUN0QywyREFBd0M7QUFDeEMsMERBQXVDO0FBQ3ZDLDREQUF5QztBQUN6Qyw4REFBMkM7QUFDM0MsNERBQXlDO0FBQ3pDLDhEQUEyQztBQUMzQyxnRUFBNkM7QUFDN0Msa0VBQStDO0FBQy9DLDBEQUF1QztBQUN2QyxpRUFBOEM7QUFDOUMseURBQXNDO0FBQ3RDLHlEQUFzQztBQUN0Qyx5REFBc0M7QUFDdEMsa0RBQStCO0FBQy9CLHVEQUFvQztBQUNwQywwREFBdUM7QUFDdkMsdUVBQW9EO0FBQ3BELHVFQUFvRDtBQUNwRCwyREFBd0M7QUFDeEMsbUVBQWdEO0FBQ2hELGdFQUE2QztBQUM3Qyw4REFBMkM7QUFDM0MsaUVBQThDO0FBQzlDLGtFQUErQyJ9
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SellerRegionLink } from "./associate-sellers-with-regions";
|
|
2
|
+
export interface ResolveSellerRegionIdsStepInput {
|
|
3
|
+
requests: {
|
|
4
|
+
seller_id: string;
|
|
5
|
+
region_ids?: string[] | null;
|
|
6
|
+
}[];
|
|
7
|
+
}
|
|
8
|
+
export declare const resolveSellerRegionIdsStepId = "resolve-seller-region-ids";
|
|
9
|
+
export declare const resolveSellerRegionIdsStep: import("@medusajs/framework/workflows-sdk").StepFunction<ResolveSellerRegionIdsStepInput, SellerRegionLink[]>;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveSellerRegionIdsStep = exports.resolveSellerRegionIdsStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.resolveSellerRegionIdsStepId = "resolve-seller-region-ids";
|
|
7
|
+
exports.resolveSellerRegionIdsStep = (0, workflows_sdk_1.createStep)(exports.resolveSellerRegionIdsStepId, async (input, { container }) => {
|
|
8
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
9
|
+
const { data: [store], } = await query.graph({
|
|
10
|
+
entity: "store",
|
|
11
|
+
fields: ["default_region_id"],
|
|
12
|
+
});
|
|
13
|
+
const defaultRegionId = store
|
|
14
|
+
?.default_region_id ?? null;
|
|
15
|
+
const links = input.requests.flatMap((request) => {
|
|
16
|
+
const regionIds = [
|
|
17
|
+
...(defaultRegionId ? [defaultRegionId] : []),
|
|
18
|
+
...(request.region_ids ?? []),
|
|
19
|
+
];
|
|
20
|
+
return Array.from(new Set(regionIds)).map((region_id) => ({
|
|
21
|
+
seller_id: request.seller_id,
|
|
22
|
+
region_id,
|
|
23
|
+
}));
|
|
24
|
+
});
|
|
25
|
+
return new workflows_sdk_1.StepResponse(links);
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZS1zZWxsZXItcmVnaW9uLWlkcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc2VsbGVyL3N0ZXBzL3Jlc29sdmUtc2VsbGVyLXJlZ2lvbi1pZHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBQXFFO0FBQ3JFLHFFQUE0RTtBQVcvRCxRQUFBLDRCQUE0QixHQUFHLDJCQUEyQixDQUFBO0FBRTFELFFBQUEsMEJBQTBCLEdBQUcsSUFBQSwwQkFBVSxFQUNsRCxvQ0FBNEIsRUFDNUIsS0FBSyxFQUFFLEtBQXNDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQzlELE1BQU0sS0FBSyxHQUFHLFNBQVMsQ0FBQyxPQUFPLENBQUMsaUNBQXlCLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDaEUsTUFBTSxFQUNKLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUNkLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1FBQ3BCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsTUFBTSxFQUFFLENBQUMsbUJBQW1CLENBQUM7S0FDOUIsQ0FBQyxDQUFBO0lBRUYsTUFBTSxlQUFlLEdBQ2xCLEtBQTJEO1FBQzFELEVBQUUsaUJBQWlCLElBQUksSUFBSSxDQUFBO0lBRS9CLE1BQU0sS0FBSyxHQUF1QixLQUFLLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFO1FBQ25FLE1BQU0sU0FBUyxHQUFHO1lBQ2hCLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxHQUFHLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxFQUFFLENBQUM7U0FDOUIsQ0FBQTtRQUVELE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUN4RCxTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7WUFDNUIsU0FBUztTQUNWLENBQUMsQ0FBQyxDQUFBO0lBQ0wsQ0FBQyxDQUFDLENBQUE7SUFFRixPQUFPLElBQUksNEJBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUNoQyxDQUFDLENBQ0YsQ0FBQSJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { SellerRegionLink } from "./associate-sellers-with-regions";
|
|
2
|
+
export interface ValidateSellerRegionLinksStepInput {
|
|
3
|
+
links: SellerRegionLink[];
|
|
4
|
+
}
|
|
5
|
+
export declare const validateSellerRegionLinksStepId = "validate-seller-region-links";
|
|
6
|
+
export declare const validateSellerRegionLinksStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateSellerRegionLinksStepInput, unknown>;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateSellerRegionLinksStep = exports.validateSellerRegionLinksStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.validateSellerRegionLinksStepId = "validate-seller-region-links";
|
|
7
|
+
exports.validateSellerRegionLinksStep = (0, workflows_sdk_1.createStep)(exports.validateSellerRegionLinksStepId, async (input, { container }) => {
|
|
8
|
+
if (!input.links.length) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
12
|
+
const regionIds = Array.from(new Set(input.links.map((l) => l.region_id)));
|
|
13
|
+
const sellerIds = Array.from(new Set(input.links.map((l) => l.seller_id)));
|
|
14
|
+
const [{ data: regions }, { data: sellers }] = await Promise.all([
|
|
15
|
+
query.graph({
|
|
16
|
+
entity: "region",
|
|
17
|
+
fields: ["id"],
|
|
18
|
+
filters: { id: regionIds },
|
|
19
|
+
}),
|
|
20
|
+
query.graph({
|
|
21
|
+
entity: "seller",
|
|
22
|
+
fields: ["id"],
|
|
23
|
+
filters: { id: sellerIds },
|
|
24
|
+
}),
|
|
25
|
+
]);
|
|
26
|
+
const foundRegions = new Set(regions.map((r) => r.id));
|
|
27
|
+
const missingRegion = regionIds.find((id) => !foundRegions.has(id));
|
|
28
|
+
if (missingRegion) {
|
|
29
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Region with id: ${missingRegion} was not found`);
|
|
30
|
+
}
|
|
31
|
+
const foundSellers = new Set(sellers.map((s) => s.id));
|
|
32
|
+
const missingSeller = sellerIds.find((id) => !foundSellers.has(id));
|
|
33
|
+
if (missingSeller) {
|
|
34
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.NOT_FOUND, `Seller with id: ${missingSeller} was not found`);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtc2VsbGVyLXJlZ2lvbi1saW5rcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3Mvc2VsbGVyL3N0ZXBzL3ZhbGlkYXRlLXNlbGxlci1yZWdpb24tbGlua3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscURBR2tDO0FBQ2xDLHFFQUE4RDtBQVFqRCxRQUFBLCtCQUErQixHQUFHLDhCQUE4QixDQUFBO0FBRWhFLFFBQUEsNkJBQTZCLEdBQUcsSUFBQSwwQkFBVSxFQUNyRCx1Q0FBK0IsRUFDL0IsS0FBSyxFQUFFLEtBQXlDLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ2pFLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3hCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUVoRSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFFLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFFMUUsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQy9ELEtBQUssQ0FBQyxLQUFLLENBQUM7WUFDVixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsQ0FBQyxJQUFJLENBQUM7WUFDZCxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFO1NBQzNCLENBQUM7UUFDRixLQUFLLENBQUMsS0FBSyxDQUFDO1lBQ1YsTUFBTSxFQUFFLFFBQVE7WUFDaEIsTUFBTSxFQUFFLENBQUMsSUFBSSxDQUFDO1lBQ2QsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsRUFBRTtTQUMzQixDQUFDO0tBQ0gsQ0FBQyxDQUFBO0lBRUYsTUFBTSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDdEQsTUFBTSxhQUFhLEdBQUcsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDbkUsSUFBSSxhQUFhLEVBQUUsQ0FBQztRQUNsQixNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUMzQixtQkFBbUIsYUFBYSxnQkFBZ0IsQ0FDakQsQ0FBQTtJQUNILENBQUM7SUFFRCxNQUFNLFlBQVksR0FBRyxJQUFJLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0RCxNQUFNLGFBQWEsR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNuRSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQzNCLG1CQUFtQixhQUFhLGdCQUFnQixDQUNqRCxDQUFBO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SellerRegionLink } from "./associate-sellers-with-regions";
|
|
2
|
+
export interface ValidateSellersKeepRegionsStepInput {
|
|
3
|
+
add: SellerRegionLink[];
|
|
4
|
+
remove: SellerRegionLink[];
|
|
5
|
+
}
|
|
6
|
+
export declare const validateSellersKeepRegionsStepId = "validate-sellers-keep-regions";
|
|
7
|
+
export declare const validateSellersKeepRegionsStep: import("@medusajs/framework/workflows-sdk").StepFunction<ValidateSellersKeepRegionsStepInput, unknown>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateSellersKeepRegionsStep = exports.validateSellersKeepRegionsStepId = void 0;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
6
|
+
exports.validateSellersKeepRegionsStepId = "validate-sellers-keep-regions";
|
|
7
|
+
exports.validateSellersKeepRegionsStep = (0, workflows_sdk_1.createStep)(exports.validateSellersKeepRegionsStepId, async (input, { container }) => {
|
|
8
|
+
const sellerIds = Array.from(new Set(input.remove.map((l) => l.seller_id)));
|
|
9
|
+
if (!sellerIds.length) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const query = container.resolve(utils_1.ContainerRegistrationKeys.QUERY);
|
|
13
|
+
const { data: links } = await query.graph({
|
|
14
|
+
entity: "region_seller",
|
|
15
|
+
filters: { seller_id: sellerIds },
|
|
16
|
+
fields: ["seller_id", "region_id"],
|
|
17
|
+
});
|
|
18
|
+
for (const sellerId of sellerIds) {
|
|
19
|
+
const remaining = new Set(links
|
|
20
|
+
.filter((l) => l.seller_id === sellerId)
|
|
21
|
+
.map((l) => l.region_id));
|
|
22
|
+
input.add
|
|
23
|
+
.filter((l) => l.seller_id === sellerId)
|
|
24
|
+
.forEach((l) => remaining.add(l.region_id));
|
|
25
|
+
input.remove
|
|
26
|
+
.filter((l) => l.seller_id === sellerId)
|
|
27
|
+
.forEach((l) => remaining.delete(l.region_id));
|
|
28
|
+
if (!remaining.size) {
|
|
29
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Seller with id: ${sellerId} must stay assigned to at least one region`);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGUtc2VsbGVycy1rZWVwLXJlZ2lvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3NlbGxlci9zdGVwcy92YWxpZGF0ZS1zZWxsZXJzLWtlZXAtcmVnaW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFHa0M7QUFDbEMscUVBQThEO0FBU2pELFFBQUEsZ0NBQWdDLEdBQUcsK0JBQStCLENBQUE7QUFFbEUsUUFBQSw4QkFBOEIsR0FBRyxJQUFBLDBCQUFVLEVBQ3RELHdDQUFnQyxFQUNoQyxLQUFLLEVBQUUsS0FBMEMsRUFBRSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7SUFDbEUsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMzRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RCLE9BQU07SUFDUixDQUFDO0lBRUQsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxpQ0FBeUIsQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUNoRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxHQUFHLE1BQU0sS0FBSyxDQUFDLEtBQUssQ0FBQztRQUN4QyxNQUFNLEVBQUUsZUFBZTtRQUN2QixPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFO1FBQ2pDLE1BQU0sRUFBRSxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7S0FDbkMsQ0FBQyxDQUFBO0lBRUYsS0FBSyxNQUFNLFFBQVEsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNqQyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FDdkIsS0FBSzthQUNGLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUM7YUFDdkMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBbUIsQ0FBQyxDQUNyQyxDQUFBO1FBQ0QsS0FBSyxDQUFDLEdBQUc7YUFDTixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssUUFBUSxDQUFDO2FBQ3ZDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtRQUM3QyxLQUFLLENBQUMsTUFBTTthQUNULE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsS0FBSyxRQUFRLENBQUM7YUFDdkMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFBO1FBRWhELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEIsTUFBTSxJQUFJLG1CQUFXLENBQ25CLG1CQUFXLENBQUMsS0FBSyxDQUFDLFlBQVksRUFDOUIsbUJBQW1CLFFBQVEsNENBQTRDLENBQ3hFLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUMsQ0FDRixDQUFBIn0=
|
|
@@ -11,6 +11,7 @@ type CreateSellerAccountWorkflowInput = {
|
|
|
11
11
|
address?: UpdateSellerAddressDTO;
|
|
12
12
|
professional_details?: UpdateProfessionalDetailsDTO;
|
|
13
13
|
payment_details?: UpdatePaymentDetailsDTO;
|
|
14
|
+
region_ids?: string[];
|
|
14
15
|
} & AdditionalData;
|
|
15
16
|
export declare const createSellerAccountWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<{
|
|
16
17
|
auth_identity_id: string;
|
|
@@ -22,6 +23,7 @@ export declare const createSellerAccountWorkflow: import("@medusajs/framework/wo
|
|
|
22
23
|
address?: UpdateSellerAddressDTO;
|
|
23
24
|
professional_details?: UpdateProfessionalDetailsDTO;
|
|
24
25
|
payment_details?: UpdatePaymentDetailsDTO;
|
|
26
|
+
region_ids?: string[];
|
|
25
27
|
} & AdditionalData, import("@mercurjs/types").SellerDTO, [import("@medusajs/framework/workflows-sdk").Hook<"validate", {
|
|
26
28
|
input: CreateSellerAccountWorkflowInput;
|
|
27
29
|
}, unknown>, import("@medusajs/framework/workflows-sdk").Hook<"sellerAccountCreated", {
|
|
@@ -19,6 +19,13 @@ exports.createSellerAccountWorkflow = (0, workflows_sdk_1.createWorkflow)(export
|
|
|
19
19
|
]);
|
|
20
20
|
const sellers = (0, steps_1.createSellersStep)(sellerData);
|
|
21
21
|
const seller = (0, workflows_sdk_1.transform)({ sellers }, ({ sellers }) => sellers[0]);
|
|
22
|
+
const regionLinks = (0, steps_1.resolveSellerRegionIdsStep)({
|
|
23
|
+
requests: (0, workflows_sdk_1.transform)({ seller, input }, ({ seller, input }) => [
|
|
24
|
+
{ seller_id: seller.id, region_ids: input.region_ids },
|
|
25
|
+
]),
|
|
26
|
+
});
|
|
27
|
+
(0, steps_1.validateSellerRegionLinksStep)({ links: regionLinks });
|
|
28
|
+
(0, steps_1.associateSellersWithRegionsStep)({ links: regionLinks });
|
|
22
29
|
const newMember = (0, workflows_sdk_1.when)('no-existing-member', input, ({ member_id }) => !member_id).then(() => {
|
|
23
30
|
const members = (0, steps_1.upsertMembersStep)((0, workflows_sdk_1.transform)(input, ({ member_email, first_name, last_name }) => [
|
|
24
31
|
{
|
|
@@ -79,4 +86,4 @@ exports.createSellerAccountWorkflow = (0, workflows_sdk_1.createWorkflow)(export
|
|
|
79
86
|
});
|
|
80
87
|
return new workflows_sdk_1.WorkflowResponse(seller, { hooks: [validate, sellerAccountCreated] });
|
|
81
88
|
});
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXNlbGxlci1hY2NvdW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zZWxsZXIvd29ya2Zsb3dzL2NyZWF0ZS1zZWxsZXItYWNjb3VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxRUFNMEM7QUFDMUMsNERBR29DO0FBQ3BDLDJDQU93QjtBQUd4QixvQ0FPaUI7QUFDakIseUNBQW1EO0FBQ25ELG1FQUFxRTtBQUNyRSw2RkFBOEY7QUFDOUYsbUZBQW9GO0FBRXZFLFFBQUEsNkJBQTZCLEdBQUcsdUJBQXVCLENBQUE7QUFldkQsUUFBQSwyQkFBMkIsR0FBRyxJQUFBLDhCQUFjLEVBQ3ZELHFDQUE2QixFQUM3QixVQUFVLEtBQXVDO0lBQy9DLE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQVUsRUFBQyxVQUFVLEVBQUU7UUFDdEMsS0FBSztLQUNOLENBQUMsQ0FBQTtJQUVGLE1BQU0sVUFBVSxHQUFHLElBQUEseUJBQVMsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsRCxFQUFFLEdBQUcsTUFBTSxFQUFFLE1BQU0sRUFBRSxvQkFBWSxDQUFDLGdCQUFnQixFQUFFO0tBQ3JELENBQUMsQ0FBQTtJQUVGLE1BQU0sT0FBTyxHQUFHLElBQUEseUJBQWlCLEVBQUMsVUFBVSxDQUFDLENBQUE7SUFDN0MsTUFBTSxNQUFNLEdBQUcsSUFBQSx5QkFBUyxFQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVsRSxNQUFNLFdBQVcsR0FBRyxJQUFBLGtDQUEwQixFQUFDO1FBQzdDLFFBQVEsRUFBRSxJQUFBLHlCQUFTLEVBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFB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
|