@weareseeed/medusa-athos-plugin 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/.medusa/server/src/admin/index.js +259 -0
  2. package/.medusa/server/src/admin/index.mjs +258 -0
  3. package/.medusa/server/src/api/admin/athos/config/route.d.ts +4 -0
  4. package/.medusa/server/src/api/admin/athos/config/route.js +21 -0
  5. package/.medusa/server/src/api/admin/athos/middlewares.d.ts +11 -0
  6. package/.medusa/server/src/api/admin/athos/middlewares.js +20 -0
  7. package/.medusa/server/src/api/admin/plugin/route.d.ts +2 -0
  8. package/.medusa/server/src/api/admin/plugin/route.js +7 -0
  9. package/.medusa/server/src/api/athos/feed/route.d.ts +2 -0
  10. package/.medusa/server/src/api/athos/feed/route.js +249 -0
  11. package/.medusa/server/src/api/athos/middlewares.d.ts +2 -0
  12. package/.medusa/server/src/api/athos/middlewares.js +26 -0
  13. package/.medusa/server/src/api/middlewares.d.ts +2 -0
  14. package/.medusa/server/src/api/middlewares.js +9 -0
  15. package/.medusa/server/src/api/store/plugin/route.d.ts +2 -0
  16. package/.medusa/server/src/api/store/plugin/route.js +7 -0
  17. package/.medusa/server/src/modules/athosConfig/index.d.ts +21 -0
  18. package/.medusa/server/src/modules/athosConfig/index.js +13 -0
  19. package/.medusa/server/src/modules/athosConfig/migrations/Migration20260518000000.d.ts +5 -0
  20. package/.medusa/server/src/modules/athosConfig/migrations/Migration20260518000000.js +26 -0
  21. package/.medusa/server/src/modules/athosConfig/migrations/Migration20260518000001.d.ts +5 -0
  22. package/.medusa/server/src/modules/athosConfig/migrations/Migration20260518000001.js +14 -0
  23. package/.medusa/server/src/modules/athosConfig/models/athos-config.d.ts +9 -0
  24. package/.medusa/server/src/modules/athosConfig/models/athos-config.js +13 -0
  25. package/.medusa/server/src/modules/athosConfig/service.d.ts +17 -0
  26. package/.medusa/server/src/modules/athosConfig/service.js +32 -0
  27. package/.medusa/server/src/modules/athosConfig/types.d.ts +15 -0
  28. package/.medusa/server/src/modules/athosConfig/types.js +3 -0
  29. package/.medusa/server/src/workflows/steps/upsert-athos-config-step.d.ts +9 -0
  30. package/.medusa/server/src/workflows/steps/upsert-athos-config-step.js +31 -0
  31. package/.medusa/server/src/workflows/upsert-athos-config.d.ts +9 -0
  32. package/.medusa/server/src/workflows/upsert-athos-config.js +10 -0
  33. package/README.md +198 -0
  34. package/package.json +73 -0
@@ -0,0 +1,249 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ const athosConfig_1 = require("../../../modules/athosConfig");
5
+ const BATCH_SIZE = 100;
6
+ const DEFAULT_SWATCH_TITLES = ["color", "colour"];
7
+ const PRODUCT_FIELDS = [
8
+ "id",
9
+ "title",
10
+ "handle",
11
+ "description",
12
+ "thumbnail",
13
+ "status",
14
+ "variants.id",
15
+ "variants.title",
16
+ "variants.sku",
17
+ "variants.compare_at_price",
18
+ "variants.manage_inventory",
19
+ "variants.allow_backorder",
20
+ "variants.prices.amount",
21
+ "variants.prices.currency_code",
22
+ "variants.options.value",
23
+ "variants.options.option.title",
24
+ "variants.inventory_items.inventory.location_levels.stocked_quantity",
25
+ "variants.inventory_items.inventory.location_levels.reserved_quantity",
26
+ "categories.id",
27
+ "categories.name",
28
+ "categories.parent_category.id",
29
+ "categories.parent_category.name",
30
+ "categories.parent_category.parent_category.name",
31
+ "tags.value",
32
+ "options.title",
33
+ "options.position",
34
+ "options.values.value",
35
+ "sales_channels.id",
36
+ ];
37
+ async function GET(req, res) {
38
+ const athosConfigService = req.scope.resolve(athosConfig_1.ATHOS_CONFIG_MODULE);
39
+ const query = req.scope.resolve("query");
40
+ const feedOptions = athosConfigService.getFeedOptions();
41
+ const allProductFields = [
42
+ ...PRODUCT_FIELDS,
43
+ ...(feedOptions?.extraProductFields ?? []),
44
+ ];
45
+ const [configs] = await athosConfigService.listAndCountAthosConfigs();
46
+ const config = configs[0];
47
+ const storefrontUrl = config?.storefront_url ?? "";
48
+ const regionId = config?.region_id;
49
+ const salesChannelIds = config?.sales_channel_ids;
50
+ const rawSwatchTitles = config?.swatch_option_titles;
51
+ const swatchTitles = (rawSwatchTitles?.length ? rawSwatchTitles : DEFAULT_SWATCH_TITLES).map((t) => t.toLowerCase());
52
+ res.setHeader("Content-Type", "application/x-ndjson");
53
+ res.setHeader("Content-Disposition", 'attachment; filename="feed.ndjson"');
54
+ res.setHeader("Transfer-Encoding", "chunked");
55
+ let regionCurrencies = null;
56
+ if (regionId) {
57
+ const { data: regions } = await query.graph({
58
+ entity: "region",
59
+ fields: ["id", "currency_code"],
60
+ filters: { id: regionId },
61
+ });
62
+ if (regions.length > 0) {
63
+ regionCurrencies = [regions[0].currency_code];
64
+ }
65
+ }
66
+ let offset = 0;
67
+ let hasMore = true;
68
+ try {
69
+ while (hasMore) {
70
+ const { data: products } = await query.graph({
71
+ entity: "product",
72
+ fields: allProductFields,
73
+ filters: { status: "published" },
74
+ pagination: { take: BATCH_SIZE, skip: offset },
75
+ });
76
+ if (!products || products.length === 0) {
77
+ break;
78
+ }
79
+ for (const product of products) {
80
+ if (salesChannelIds && salesChannelIds.length > 0) {
81
+ const productChannelIds = (product.sales_channels ?? []).map((sc) => sc.id);
82
+ if (!salesChannelIds.some((id) => productChannelIds.includes(id))) {
83
+ continue;
84
+ }
85
+ }
86
+ const variants = product.variants ?? [];
87
+ const totalVariants = variants.length;
88
+ const variantStockMap = new Map();
89
+ for (const variant of variants) {
90
+ variantStockMap.set(variant.id, computeInStock(variant));
91
+ }
92
+ const inStockCount = [...variantStockMap.values()].filter(Boolean).length;
93
+ const inStockPct = totalVariants > 0 ? (inStockCount / totalVariants) * 100 : 0;
94
+ // __standard_options: all options, original casing, product-level
95
+ const standardOptions = {};
96
+ for (const opt of product.options ?? []) {
97
+ const title = String(opt.title);
98
+ standardOptions[title] = {
99
+ position: opt.position ?? 0,
100
+ values: (opt.values ?? []).map((v) => v.value),
101
+ };
102
+ }
103
+ // __swatch_options: configured swatch options only, keyed by value, product-level
104
+ const swatchOptions = {};
105
+ for (const opt of product.options ?? []) {
106
+ if (swatchTitles.includes(String(opt.title).toLowerCase())) {
107
+ for (const v of opt.values ?? []) {
108
+ swatchOptions[v.value] = { value: v.value };
109
+ }
110
+ }
111
+ }
112
+ const categories = product.categories ?? [];
113
+ const categoryPaths = categories.map((cat) => buildCategoryPath(cat));
114
+ const categoryIds = categories.map((cat) => String(cat.id));
115
+ const tags = (product.tags ?? []).map((t) => t.value);
116
+ const searchKeywords = tags.length > 0 ? tags.join(", ") : undefined;
117
+ const productUrl = `${storefrontUrl}/products/${product.handle}`;
118
+ // Product-level min price and retail price
119
+ const allPriceAmounts = variants.flatMap((v) => {
120
+ const prices = v.prices ?? [];
121
+ const filtered = regionCurrencies
122
+ ? prices.filter((p) => regionCurrencies.includes(p.currency_code))
123
+ : prices;
124
+ return filtered.map((p) => p.amount);
125
+ });
126
+ const productMinPrice = allPriceAmounts.length > 0 ? Math.min(...allPriceAmounts) : undefined;
127
+ const allRetailAmounts = variants
128
+ .map((v) => v.compare_at_price)
129
+ .filter((a) => a != null);
130
+ const productRetailPrice = allRetailAmounts.length > 0
131
+ ? Math.min(...allRetailAmounts)
132
+ : undefined;
133
+ // Variant records
134
+ for (let variantIndex = 0; variantIndex < variants.length; variantIndex++) {
135
+ const variant = variants[variantIndex];
136
+ const prices = variant.prices ?? [];
137
+ const filteredPrices = regionCurrencies
138
+ ? prices.filter((p) => regionCurrencies.includes(p.currency_code))
139
+ : prices;
140
+ const amounts = filteredPrices.map((p) => p.amount);
141
+ const minPrice = amounts.length > 0 ? Math.min(...amounts) : undefined;
142
+ // __selected_options: this variant's chosen values, original casing
143
+ const selectedOptions = {};
144
+ for (const optVal of variant.options ?? []) {
145
+ const title = String(optVal.option?.title ?? "");
146
+ if (title) {
147
+ selectedOptions[title] = { value: optVal.value };
148
+ }
149
+ }
150
+ const line = {
151
+ "Product ID": variant.id,
152
+ SKU: variant.sku,
153
+ Name: variant.title,
154
+ "Product URL": productUrl,
155
+ Price: minPrice,
156
+ "Retail Price": variant.compare_at_price ?? undefined,
157
+ "Thumbnail URL": product.thumbnail,
158
+ Description: product.description,
159
+ ...(categoryPaths.length > 0 ? { Category: categoryPaths } : {}),
160
+ ...(categoryIds.length > 0 ? { "Category ID": categoryIds } : {}),
161
+ ...(searchKeywords ? { "Search Keywords": searchKeywords } : {}),
162
+ __parent_id: product.id,
163
+ __parent_title: product.title,
164
+ __parent_image: product.thumbnail,
165
+ __variant_position: variantIndex + 1,
166
+ __in_stock: variantStockMap.get(variant.id) ?? false,
167
+ __in_stock_pct: Math.round(inStockPct * 100) / 100,
168
+ ...(Object.keys(standardOptions).length > 0
169
+ ? { __standard_options: standardOptions }
170
+ : {}),
171
+ ...(Object.keys(selectedOptions).length > 0
172
+ ? { __selected_options: selectedOptions }
173
+ : {}),
174
+ ...(Object.keys(swatchOptions).length > 0
175
+ ? { __swatch_options: swatchOptions }
176
+ : {}),
177
+ };
178
+ stripUndefined(line);
179
+ const finalLine = feedOptions?.transformLine
180
+ ? await feedOptions.transformLine(line, {
181
+ type: "variant",
182
+ product,
183
+ variant,
184
+ variantIndex,
185
+ })
186
+ : line;
187
+ res.write(JSON.stringify(finalLine) + "\n");
188
+ }
189
+ // Product record
190
+ const productLine = {
191
+ "Product ID": product.id,
192
+ Name: product.title,
193
+ "Product URL": productUrl,
194
+ Price: productMinPrice,
195
+ "Retail Price": productRetailPrice,
196
+ "Thumbnail URL": product.thumbnail,
197
+ Description: product.description,
198
+ ...(categoryPaths.length > 0 ? { Category: categoryPaths } : {}),
199
+ ...(categoryIds.length > 0 ? { "Category ID": categoryIds } : {}),
200
+ ...(searchKeywords ? { "Search Keywords": searchKeywords } : {}),
201
+ };
202
+ stripUndefined(productLine);
203
+ const finalProductLine = feedOptions?.transformLine
204
+ ? await feedOptions.transformLine(productLine, {
205
+ type: "product",
206
+ product,
207
+ })
208
+ : productLine;
209
+ res.write(JSON.stringify(finalProductLine) + "\n");
210
+ }
211
+ if (products.length < BATCH_SIZE) {
212
+ hasMore = false;
213
+ }
214
+ else {
215
+ offset += BATCH_SIZE;
216
+ }
217
+ }
218
+ }
219
+ finally {
220
+ res.end();
221
+ }
222
+ }
223
+ function stripUndefined(obj) {
224
+ for (const key of Object.keys(obj)) {
225
+ if (obj[key] === undefined)
226
+ delete obj[key];
227
+ }
228
+ }
229
+ function buildCategoryPath(category) {
230
+ if (category.parent_category) {
231
+ return buildCategoryPath(category.parent_category) + ">" + category.name;
232
+ }
233
+ return category.name;
234
+ }
235
+ function computeInStock(variant) {
236
+ if (!variant.manage_inventory)
237
+ return true;
238
+ if (variant.allow_backorder)
239
+ return true;
240
+ for (const item of variant.inventory_items ?? []) {
241
+ for (const level of item.inventory?.location_levels ?? []) {
242
+ const available = (level.stocked_quantity ?? 0) - (level.reserved_quantity ?? 0);
243
+ if (available > 0)
244
+ return true;
245
+ }
246
+ }
247
+ return false;
248
+ }
249
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2F0aG9zL2ZlZWQvcm91dGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFzQ0Esa0JBNE9DO0FBalJELDhEQUFtRTtBQUduRSxNQUFNLFVBQVUsR0FBRyxHQUFHLENBQUM7QUFDdkIsTUFBTSxxQkFBcUIsR0FBRyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUVsRCxNQUFNLGNBQWMsR0FBRztJQUNyQixJQUFJO0lBQ0osT0FBTztJQUNQLFFBQVE7SUFDUixhQUFhO0lBQ2IsV0FBVztJQUNYLFFBQVE7SUFDUixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLGNBQWM7SUFDZCwyQkFBMkI7SUFDM0IsMkJBQTJCO0lBQzNCLDBCQUEwQjtJQUMxQix3QkFBd0I7SUFDeEIsK0JBQStCO0lBQy9CLHdCQUF3QjtJQUN4QiwrQkFBK0I7SUFDL0IscUVBQXFFO0lBQ3JFLHNFQUFzRTtJQUN0RSxlQUFlO0lBQ2YsaUJBQWlCO0lBQ2pCLCtCQUErQjtJQUMvQixpQ0FBaUM7SUFDakMsaURBQWlEO0lBQ2pELFlBQVk7SUFDWixlQUFlO0lBQ2Ysa0JBQWtCO0lBQ2xCLHNCQUFzQjtJQUN0QixtQkFBbUI7Q0FDcEIsQ0FBQztBQUVLLEtBQUssVUFBVSxHQUFHLENBQUMsR0FBa0IsRUFBRSxHQUFtQjtJQUMvRCxNQUFNLGtCQUFrQixHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUMxQyxpQ0FBbUIsQ0FDUSxDQUFDO0lBQzlCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sV0FBVyxHQUFHLGtCQUFrQixDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hELE1BQU0sZ0JBQWdCLEdBQUc7UUFDdkIsR0FBRyxjQUFjO1FBQ2pCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsa0JBQWtCLElBQUksRUFBRSxDQUFDO0tBQzNDLENBQUM7SUFFRixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO0lBQ3RFLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxQixNQUFNLGFBQWEsR0FBRyxNQUFNLEVBQUUsY0FBYyxJQUFJLEVBQUUsQ0FBQztJQUNuRCxNQUFNLFFBQVEsR0FBRyxNQUFNLEVBQUUsU0FBc0MsQ0FBQztJQUNoRSxNQUFNLGVBQWUsR0FBRyxNQUFNLEVBQUUsaUJBR25CLENBQUM7SUFDZCxNQUFNLGVBQWUsR0FBRyxNQUFNLEVBQUUsb0JBR25CLENBQUM7SUFDZCxNQUFNLFlBQVksR0FBRyxDQUNuQixlQUFlLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUNsRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFOUIsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztJQUN0RCxHQUFHLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLG9DQUFvQyxDQUFDLENBQUM7SUFDM0UsR0FBRyxDQUFDLFNBQVMsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUMsQ0FBQztJQUU5QyxJQUFJLGdCQUFnQixHQUFvQixJQUFJLENBQUM7SUFDN0MsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNiLE1BQU0sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO1lBQzFDLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUM7WUFDL0IsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRTtTQUMxQixDQUFDLENBQUM7UUFDSCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDdkIsZ0JBQWdCLEdBQUcsQ0FBRSxPQUFPLENBQUMsQ0FBQyxDQUFTLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDekQsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDZixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsT0FBTyxPQUFPLEVBQUUsQ0FBQztZQUNmLE1BQU0sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEdBQUcsTUFBTSxLQUFLLENBQUMsS0FBSyxDQUFDO2dCQUMzQyxNQUFNLEVBQUUsU0FBUztnQkFDakIsTUFBTSxFQUFFLGdCQUFnQjtnQkFDeEIsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRTtnQkFDaEMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFO2FBQy9DLENBQUMsQ0FBQztZQUVILElBQUksQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDdkMsTUFBTTtZQUNSLENBQUM7WUFFRCxLQUFLLE1BQU0sT0FBTyxJQUFJLFFBQWlCLEVBQUUsQ0FBQztnQkFDeEMsSUFBSSxlQUFlLElBQUksZUFBZSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztvQkFDbEQsTUFBTSxpQkFBaUIsR0FBYSxDQUNsQyxPQUFPLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FDN0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ2xFLFNBQVM7b0JBQ1gsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE1BQU0sUUFBUSxHQUFVLE9BQU8sQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUMvQyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDO2dCQUV0QyxNQUFNLGVBQWUsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztnQkFDbkQsS0FBSyxNQUFNLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDL0IsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUMzRCxDQUFDO2dCQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsR0FBRyxlQUFlLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQ3ZELE9BQU8sQ0FDUixDQUFDLE1BQU0sQ0FBQztnQkFDVCxNQUFNLFVBQVUsR0FDZCxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFFL0Qsa0VBQWtFO2dCQUNsRSxNQUFNLGVBQWUsR0FHakIsRUFBRSxDQUFDO2dCQUNQLEtBQUssTUFBTSxHQUFHLElBQUksT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDeEMsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztvQkFDaEMsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHO3dCQUN2QixRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVEsSUFBSSxDQUFDO3dCQUMzQixNQUFNLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztxQkFDcEQsQ0FBQztnQkFDSixDQUFDO2dCQUVELGtGQUFrRjtnQkFDbEYsTUFBTSxhQUFhLEdBQXNDLEVBQUUsQ0FBQztnQkFDNUQsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO29CQUN4QyxJQUFJLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUM7d0JBQzNELEtBQUssTUFBTSxDQUFDLElBQUksR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQzs0QkFDakMsYUFBYSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7d0JBQzlDLENBQUM7b0JBQ0gsQ0FBQztnQkFDSCxDQUFDO2dCQUVELE1BQU0sVUFBVSxHQUFVLE9BQU8sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO2dCQUNuRCxNQUFNLGFBQWEsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUN0RSxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pFLE1BQU0sSUFBSSxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFlLENBQUMsQ0FBQztnQkFDckUsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFDckUsTUFBTSxVQUFVLEdBQUcsR0FBRyxhQUFhLGFBQWEsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUVqRSwyQ0FBMkM7Z0JBQzNDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDN0MsTUFBTSxNQUFNLEdBQVUsQ0FBQyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUM7b0JBQ3JDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQjt3QkFDL0IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUN2QixnQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUM1Qzt3QkFDSCxDQUFDLENBQUMsTUFBTSxDQUFDO29CQUNYLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQWdCLENBQUMsQ0FBQztnQkFDdEQsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsTUFBTSxlQUFlLEdBQ25CLGVBQWUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztnQkFFeEUsTUFBTSxnQkFBZ0IsR0FBRyxRQUFRO3FCQUM5QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxnQkFBNkMsQ0FBQztxQkFDM0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFlLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sa0JBQWtCLEdBQ3RCLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxDQUFDO29CQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLGdCQUFnQixDQUFDO29CQUMvQixDQUFDLENBQUMsU0FBUyxDQUFDO2dCQUVoQixrQkFBa0I7Z0JBQ2xCLEtBQ0UsSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUNwQixZQUFZLEdBQUcsUUFBUSxDQUFDLE1BQU0sRUFDOUIsWUFBWSxFQUFFLEVBQ2QsQ0FBQztvQkFDRCxNQUFNLE9BQU8sR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3ZDLE1BQU0sTUFBTSxHQUFVLE9BQU8sQ0FBQyxNQUFNLElBQUksRUFBRSxDQUFDO29CQUMzQyxNQUFNLGNBQWMsR0FBRyxnQkFBZ0I7d0JBQ3JDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FDdkIsZ0JBQWlCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsQ0FDNUM7d0JBQ0gsQ0FBQyxDQUFDLE1BQU0sQ0FBQztvQkFFWCxNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBZ0IsQ0FBQyxDQUFDO29CQUNuRSxNQUFNLFFBQVEsR0FDWixPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7b0JBRXhELG9FQUFvRTtvQkFDcEUsTUFBTSxlQUFlLEdBQXNDLEVBQUUsQ0FBQztvQkFDOUQsS0FBSyxNQUFNLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsRUFBRSxDQUFDO3dCQUMzQyxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7d0JBQ2pELElBQUksS0FBSyxFQUFFLENBQUM7NEJBQ1YsZUFBZSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQzt3QkFDbkQsQ0FBQztvQkFDSCxDQUFDO29CQUVELE1BQU0sSUFBSSxHQUE0Qjt3QkFDcEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxFQUFFO3dCQUN4QixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUc7d0JBQ2hCLElBQUksRUFBRSxPQUFPLENBQUMsS0FBSzt3QkFDbkIsYUFBYSxFQUFFLFVBQVU7d0JBQ3pCLEtBQUssRUFBRSxRQUFRO3dCQUNmLGNBQWMsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLElBQUksU0FBUzt3QkFDckQsZUFBZSxFQUFFLE9BQU8sQ0FBQyxTQUFTO3dCQUNsQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7d0JBQ2hDLEdBQUcsQ0FBQyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDaEUsR0FBRyxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO3dCQUNqRSxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ2hFLFdBQVcsRUFBRSxPQUFPLENBQUMsRUFBRTt3QkFDdkIsY0FBYyxFQUFFLE9BQU8sQ0FBQyxLQUFLO3dCQUM3QixjQUFjLEVBQUUsT0FBTyxDQUFDLFNBQVM7d0JBQ2pDLGtCQUFrQixFQUFFLFlBQVksR0FBRyxDQUFDO3dCQUNwQyxVQUFVLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLElBQUksS0FBSzt3QkFDcEQsY0FBYyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUc7d0JBQ2xELEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDOzRCQUN6QyxDQUFDLENBQUMsRUFBRSxrQkFBa0IsRUFBRSxlQUFlLEVBQUU7NEJBQ3pDLENBQUMsQ0FBQyxFQUFFLENBQUM7d0JBQ1AsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUM7NEJBQ3pDLENBQUMsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRTs0QkFDekMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzt3QkFDUCxHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQzs0QkFDdkMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFOzRCQUNyQyxDQUFDLENBQUMsRUFBRSxDQUFDO3FCQUNSLENBQUM7b0JBRUYsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUNyQixNQUFNLFNBQVMsR0FBRyxXQUFXLEVBQUUsYUFBYTt3QkFDMUMsQ0FBQyxDQUFDLE1BQU0sV0FBVyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUU7NEJBQ3BDLElBQUksRUFBRSxTQUFTOzRCQUNmLE9BQU87NEJBQ1AsT0FBTzs0QkFDUCxZQUFZO3lCQUNiLENBQUM7d0JBQ0osQ0FBQyxDQUFDLElBQUksQ0FBQztvQkFDVCxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7Z0JBQzlDLENBQUM7Z0JBRUQsaUJBQWlCO2dCQUNqQixNQUFNLFdBQVcsR0FBNEI7b0JBQzNDLFlBQVksRUFBRSxPQUFPLENBQUMsRUFBRTtvQkFDeEIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxLQUFLO29CQUNuQixhQUFhLEVBQUUsVUFBVTtvQkFDekIsS0FBSyxFQUFFLGVBQWU7b0JBQ3RCLGNBQWMsRUFBRSxrQkFBa0I7b0JBQ2xDLGVBQWUsRUFBRSxPQUFPLENBQUMsU0FBUztvQkFDbEMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO29CQUNoQyxHQUFHLENBQUMsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2hFLEdBQUcsQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDakUsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2lCQUNqRSxDQUFDO2dCQUVGLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztnQkFDNUIsTUFBTSxnQkFBZ0IsR0FBRyxXQUFXLEVBQUUsYUFBYTtvQkFDakQsQ0FBQyxDQUFDLE1BQU0sV0FBVyxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUU7d0JBQzNDLElBQUksRUFBRSxTQUFTO3dCQUNmLE9BQU87cUJBQ1IsQ0FBQztvQkFDSixDQUFDLENBQUMsV0FBVyxDQUFDO2dCQUNoQixHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUNyRCxDQUFDO1lBRUQsSUFBSyxRQUFrQixDQUFDLE1BQU0sR0FBRyxVQUFVLEVBQUUsQ0FBQztnQkFDNUMsT0FBTyxHQUFHLEtBQUssQ0FBQztZQUNsQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLFVBQVUsQ0FBQztZQUN2QixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7WUFBUyxDQUFDO1FBQ1QsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDO0lBQ1osQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxHQUE0QjtJQUNsRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUNuQyxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxTQUFTO1lBQUUsT0FBTyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDOUMsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGlCQUFpQixDQUFDLFFBQWE7SUFDdEMsSUFBSSxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDN0IsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEdBQUcsR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUM7SUFDM0UsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFDLElBQWMsQ0FBQztBQUNqQyxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsT0FBWTtJQUNsQyxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQjtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBQzNDLElBQUksT0FBTyxDQUFDLGVBQWU7UUFBRSxPQUFPLElBQUksQ0FBQztJQUV6QyxLQUFLLE1BQU0sSUFBSSxJQUFJLE9BQU8sQ0FBQyxlQUFlLElBQUksRUFBRSxFQUFFLENBQUM7UUFDakQsS0FBSyxNQUFNLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLGVBQWUsSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUMxRCxNQUFNLFNBQVMsR0FDYixDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNqRSxJQUFJLFNBQVMsR0FBRyxDQUFDO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ2pDLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ import { MiddlewareRoute } from "@medusajs/framework/http";
2
+ export declare const athosMiddlewares: MiddlewareRoute[];
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.athosMiddlewares = void 0;
4
+ const athosConfig_1 = require("../../modules/athosConfig");
5
+ async function validateFeedToken(req, res, next) {
6
+ const token = req.query.token;
7
+ if (!token) {
8
+ res.status(401).json({ message: "Unauthorized" });
9
+ return;
10
+ }
11
+ const athosConfigService = req.scope.resolve(athosConfig_1.ATHOS_CONFIG_MODULE);
12
+ const [configs] = await athosConfigService.listAndCountAthosConfigs();
13
+ if (!configs.length || configs[0].feed_token !== token) {
14
+ res.status(401).json({ message: "Unauthorized" });
15
+ return;
16
+ }
17
+ next();
18
+ }
19
+ exports.athosMiddlewares = [
20
+ {
21
+ matcher: "/athos/feed",
22
+ method: "GET",
23
+ middlewares: [validateFeedToken],
24
+ },
25
+ ];
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2F0aG9zL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLDJEQUFnRTtBQUdoRSxLQUFLLFVBQVUsaUJBQWlCLENBQzlCLEdBQWtCLEVBQ2xCLEdBQW1CLEVBQ25CLElBQWM7SUFFZCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEtBQTJCLENBQUM7SUFFcEQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ1gsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUNsRCxPQUFPO0lBQ1QsQ0FBQztJQUVELE1BQU0sa0JBQWtCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQzFDLGlDQUFtQixDQUNRLENBQUM7SUFDOUIsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztJQUV0RSxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQ3ZELEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDbEQsT0FBTztJQUNULENBQUM7SUFFRCxJQUFJLEVBQUUsQ0FBQztBQUNULENBQUM7QUFFWSxRQUFBLGdCQUFnQixHQUFzQjtJQUNqRDtRQUNFLE9BQU8sRUFBRSxhQUFhO1FBQ3RCLE1BQU0sRUFBRSxLQUFLO1FBQ2IsV0FBVyxFQUFFLENBQUMsaUJBQWlCLENBQUM7S0FDakM7Q0FDRixDQUFDIn0=
@@ -0,0 +1,2 @@
1
+ declare const _default: import("@medusajs/framework/http").MiddlewaresConfig;
2
+ export default _default;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const http_1 = require("@medusajs/framework/http");
4
+ const middlewares_1 = require("./admin/athos/middlewares");
5
+ const middlewares_2 = require("./athos/middlewares");
6
+ exports.default = (0, http_1.defineMiddlewares)({
7
+ routes: [...middlewares_1.adminAthosMiddlewares, ...middlewares_2.athosMiddlewares],
8
+ });
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlkZGxld2FyZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBpL21pZGRsZXdhcmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbURBQTREO0FBQzVELDJEQUFpRTtBQUNqRSxxREFBc0Q7QUFFdEQsa0JBQWUsSUFBQSx3QkFBaUIsRUFBQztJQUMvQixNQUFNLEVBQUUsQ0FBQyxHQUFHLG1DQUFxQixFQUFFLEdBQUcsOEJBQWdCLENBQUM7Q0FDeEQsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,2 @@
1
+ import { MedusaRequest, MedusaResponse } from "@medusajs/framework/http";
2
+ export declare function GET(req: MedusaRequest, res: MedusaResponse): Promise<void>;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GET = GET;
4
+ async function GET(req, res) {
5
+ res.sendStatus(200);
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3N0b3JlL3BsdWdpbi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGtCQUtDO0FBTE0sS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0QixDQUFDIn0=
@@ -0,0 +1,21 @@
1
+ import AthosConfigModuleService from "./service";
2
+ export declare const ATHOS_CONFIG_MODULE = "athosConfig";
3
+ declare const _default: import("@medusajs/types").ModuleExports<typeof AthosConfigModuleService> & {
4
+ linkable: {
5
+ readonly athosConfig: {
6
+ id: {
7
+ serviceName: "athosConfig";
8
+ field: "athosConfig";
9
+ linkable: "athos_config_id";
10
+ primaryKey: "id";
11
+ };
12
+ toJSON: () => {
13
+ serviceName: "athosConfig";
14
+ field: "athosConfig";
15
+ linkable: "athos_config_id";
16
+ primaryKey: "id";
17
+ };
18
+ };
19
+ };
20
+ };
21
+ export default _default;
@@ -0,0 +1,13 @@
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
+ exports.ATHOS_CONFIG_MODULE = void 0;
7
+ const utils_1 = require("@medusajs/framework/utils");
8
+ const service_1 = __importDefault(require("./service"));
9
+ exports.ATHOS_CONFIG_MODULE = "athosConfig";
10
+ exports.default = (0, utils_1.Module)(exports.ATHOS_CONFIG_MODULE, {
11
+ service: service_1.default,
12
+ });
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdGhvc0NvbmZpZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxxREFBa0Q7QUFDbEQsd0RBQWdEO0FBRW5DLFFBQUEsbUJBQW1CLEdBQUcsYUFBYSxDQUFBO0FBRWhELGtCQUFlLElBQUEsY0FBTSxFQUFDLDJCQUFtQixFQUFFO0lBQ3pDLE9BQU8sRUFBRSxpQkFBd0I7Q0FDbEMsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,5 @@
1
+ import { Migration } from "@medusajs/framework/mikro-orm/migrations";
2
+ export declare class Migration20260518000000 extends Migration {
3
+ up(): Promise<void>;
4
+ down(): Promise<void>;
5
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20260518000000 = void 0;
4
+ const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
5
+ class Migration20260518000000 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`create table if not exists "athos_config" (` +
8
+ `"id" text not null, ` +
9
+ `"storefront_url" text not null, ` +
10
+ `"feed_token" text not null, ` +
11
+ `"region_id" text null, ` +
12
+ `"sales_channel_ids" jsonb null, ` +
13
+ `"swatch_option_titles" jsonb null, ` +
14
+ `"created_at" timestamptz not null default now(), ` +
15
+ `"updated_at" timestamptz not null default now(), ` +
16
+ `"deleted_at" timestamptz null, ` +
17
+ `constraint "athos_config_pkey" primary key ("id")` +
18
+ `);`);
19
+ this.addSql(`create index if not exists "IDX_athos_config_deleted_at" on "athos_config" ("deleted_at");`);
20
+ }
21
+ async down() {
22
+ this.addSql(`drop table if exists "athos_config";`);
23
+ }
24
+ }
25
+ exports.Migration20260518000000 = Migration20260518000000;
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA1MTgwMDAwMDAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdGhvc0NvbmZpZy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYwNTE4MDAwMDAwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFvRTtBQUVwRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQ3BELEtBQUssQ0FBQyxFQUFFO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FDVCw2Q0FBNkM7WUFDM0Msc0JBQXNCO1lBQ3RCLGtDQUFrQztZQUNsQyw4QkFBOEI7WUFDOUIseUJBQXlCO1lBQ3pCLGtDQUFrQztZQUNsQyxxQ0FBcUM7WUFDckMsbURBQW1EO1lBQ25ELG1EQUFtRDtZQUNuRCxpQ0FBaUM7WUFDakMsbURBQW1EO1lBQ25ELElBQUksQ0FDUCxDQUFBO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FDVCw0RkFBNEYsQ0FDN0YsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQUMsc0NBQXNDLENBQUMsQ0FBQTtJQUNyRCxDQUFDO0NBQ0Y7QUF4QkQsMERBd0JDIn0=
@@ -0,0 +1,5 @@
1
+ import { Migration } from "@medusajs/framework/mikro-orm/migrations";
2
+ export declare class Migration20260518000001 extends Migration {
3
+ up(): Promise<void>;
4
+ down(): Promise<void>;
5
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Migration20260518000001 = void 0;
4
+ const migrations_1 = require("@medusajs/framework/mikro-orm/migrations");
5
+ class Migration20260518000001 extends migrations_1.Migration {
6
+ async up() {
7
+ this.addSql(`alter table "athos_config" add column if not exists "swatch_option_titles" jsonb null;`);
8
+ }
9
+ async down() {
10
+ this.addSql(`alter table "athos_config" drop column if exists "swatch_option_titles";`);
11
+ }
12
+ }
13
+ exports.Migration20260518000001 = Migration20260518000001;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uMjAyNjA1MTgwMDAwMDEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdGhvc0NvbmZpZy9taWdyYXRpb25zL01pZ3JhdGlvbjIwMjYwNTE4MDAwMDAxLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHlFQUFvRTtBQUVwRSxNQUFhLHVCQUF3QixTQUFRLHNCQUFTO0lBQ3BELEtBQUssQ0FBQyxFQUFFO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FDVCx3RkFBd0YsQ0FDekYsQ0FBQTtJQUNILENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSTtRQUNSLElBQUksQ0FBQyxNQUFNLENBQ1QsMEVBQTBFLENBQzNFLENBQUE7SUFDSCxDQUFDO0NBQ0Y7QUFaRCwwREFZQyJ9
@@ -0,0 +1,9 @@
1
+ declare const AthosConfig: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
2
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
3
+ storefront_url: import("@medusajs/framework/utils").TextProperty;
4
+ feed_token: import("@medusajs/framework/utils").TextProperty;
5
+ region_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
6
+ sales_channel_ids: import("@medusajs/framework/utils").NullableModifier<Record<string, unknown>, import("@medusajs/framework/utils").JSONProperty>;
7
+ swatch_option_titles: import("@medusajs/framework/utils").NullableModifier<Record<string, unknown>, import("@medusajs/framework/utils").JSONProperty>;
8
+ }>, "athos_config">;
9
+ export default AthosConfig;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const utils_1 = require("@medusajs/framework/utils");
4
+ const AthosConfig = utils_1.model.define("athos_config", {
5
+ id: utils_1.model.id().primaryKey(),
6
+ storefront_url: utils_1.model.text(),
7
+ feed_token: utils_1.model.text(),
8
+ region_id: utils_1.model.text().nullable(),
9
+ sales_channel_ids: utils_1.model.json().nullable(),
10
+ swatch_option_titles: utils_1.model.json().nullable(),
11
+ });
12
+ exports.default = AthosConfig;
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRob3MtY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvYXRob3NDb25maWcvbW9kZWxzL2F0aG9zLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFEQUFpRDtBQUVqRCxNQUFNLFdBQVcsR0FBRyxhQUFLLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRTtJQUMvQyxFQUFFLEVBQUUsYUFBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFVBQVUsRUFBRTtJQUMzQixjQUFjLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUM1QixVQUFVLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRTtJQUN4QixTQUFTLEVBQUUsYUFBSyxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxpQkFBaUIsRUFBRSxhQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzFDLG9CQUFvQixFQUFFLGFBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDOUMsQ0FBQyxDQUFBO0FBRUYsa0JBQWUsV0FBVyxDQUFBIn0=
@@ -0,0 +1,17 @@
1
+ import { AthosPluginOptions } from "./types";
2
+ declare const AthosConfigModuleService_base: import("@medusajs/framework/utils").MedusaServiceReturnType<import("@medusajs/framework/utils").ModelConfigurationsToConfigTemplate<{
3
+ readonly AthosConfig: import("@medusajs/framework/utils").DmlEntity<import("@medusajs/framework/utils").DMLEntitySchemaBuilder<{
4
+ id: import("@medusajs/framework/utils").PrimaryKeyModifier<string, import("@medusajs/framework/utils").IdProperty>;
5
+ storefront_url: import("@medusajs/framework/utils").TextProperty;
6
+ feed_token: import("@medusajs/framework/utils").TextProperty;
7
+ region_id: import("@medusajs/framework/utils").NullableModifier<string, import("@medusajs/framework/utils").TextProperty>;
8
+ sales_channel_ids: import("@medusajs/framework/utils").NullableModifier<Record<string, unknown>, import("@medusajs/framework/utils").JSONProperty>;
9
+ swatch_option_titles: import("@medusajs/framework/utils").NullableModifier<Record<string, unknown>, import("@medusajs/framework/utils").JSONProperty>;
10
+ }>, "athos_config">;
11
+ }>>;
12
+ declare class AthosConfigModuleService extends AthosConfigModuleService_base {
13
+ private feedOptions_;
14
+ constructor(container: Record<string, unknown>, options?: AthosPluginOptions);
15
+ getFeedOptions(): AthosPluginOptions["feed"];
16
+ }
17
+ export default AthosConfigModuleService;
@@ -0,0 +1,32 @@
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 athos_config_1 = __importDefault(require("./models/athos-config"));
8
+ class AthosConfigModuleService extends (0, utils_1.MedusaService)({
9
+ AthosConfig: athos_config_1.default,
10
+ }) {
11
+ constructor(container, options) {
12
+ super(...arguments);
13
+ this.feedOptions_ = options?.feed;
14
+ const logger = (container.logger ?? console);
15
+ if (this.feedOptions_) {
16
+ logger.info("[AthosPlugin] ✅ Feed options loaded: transformLine=" +
17
+ (typeof this.feedOptions_.transformLine === "function"
18
+ ? "yes"
19
+ : "no") +
20
+ ", extraProductFields=" +
21
+ (this.feedOptions_.extraProductFields?.length ?? 0));
22
+ }
23
+ else {
24
+ logger.warn("[AthosPlugin] No feed options provided, using defaults");
25
+ }
26
+ }
27
+ getFeedOptions() {
28
+ return this.feedOptions_;
29
+ }
30
+ }
31
+ exports.default = AthosConfigModuleService;
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2F0aG9zQ29uZmlnL3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxxREFBMEQ7QUFDMUQseUVBQWdEO0FBR2hELE1BQU0sd0JBQXlCLFNBQVEsSUFBQSxxQkFBYSxFQUFDO0lBQ25ELFdBQVcsRUFBWCxzQkFBVztDQUNaLENBQUM7SUFHQSxZQUNFLFNBQWtDLEVBQ2xDLE9BQTRCO1FBRTVCLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLEdBQUcsT0FBTyxFQUFFLElBQUksQ0FBQztRQUNsQyxNQUFNLE1BQU0sR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFRLENBQUM7UUFDcEQsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsTUFBTSxDQUFDLElBQUksQ0FDVCxxREFBcUQ7Z0JBQ25ELENBQUMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsS0FBSyxVQUFVO29CQUNwRCxDQUFDLENBQUMsS0FBSztvQkFDUCxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNULHVCQUF1QjtnQkFDdkIsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGtCQUFrQixFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FDdEQsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sTUFBTSxDQUFDLElBQUksQ0FBQyx3REFBd0QsQ0FBQyxDQUFDO1FBQ3hFLENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztJQUMzQixDQUFDO0NBQ0Y7QUFFRCxrQkFBZSx3QkFBd0IsQ0FBQyJ9
@@ -0,0 +1,15 @@
1
+ export type FeedLineContext = {
2
+ type: "variant";
3
+ product: Record<string, unknown>;
4
+ variant: Record<string, unknown>;
5
+ variantIndex: number;
6
+ } | {
7
+ type: "product";
8
+ product: Record<string, unknown>;
9
+ };
10
+ export type AthosPluginOptions = {
11
+ feed?: {
12
+ extraProductFields?: string[];
13
+ transformLine?: (line: Record<string, unknown>, ctx: FeedLineContext) => Record<string, unknown> | Promise<Record<string, unknown>>;
14
+ };
15
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9hdGhvc0NvbmZpZy90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,9 @@
1
+ type Input = {
2
+ storefront_url: string;
3
+ feed_token: string;
4
+ region_id?: string | null;
5
+ sales_channel_ids?: string[] | null;
6
+ swatch_option_titles?: string[] | null;
7
+ };
8
+ export declare const upsertAthosConfigStep: import("@medusajs/framework/workflows-sdk").StepFunction<Input, any>;
9
+ export {};
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.upsertAthosConfigStep = void 0;
4
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
5
+ const athosConfig_1 = require("../../modules/athosConfig");
6
+ exports.upsertAthosConfigStep = (0, workflows_sdk_1.createStep)("upsert-athos-config-step", async (input, { container }) => {
7
+ const athosConfigService = container.resolve(athosConfig_1.ATHOS_CONFIG_MODULE);
8
+ const [configs] = await athosConfigService.listAndCountAthosConfigs();
9
+ // sales_channel_ids is string[] but model.json() types it as Record<string, unknown>
10
+ const data = {
11
+ storefront_url: input.storefront_url,
12
+ feed_token: input.feed_token,
13
+ region_id: input.region_id,
14
+ sales_channel_ids: input.sales_channel_ids,
15
+ swatch_option_titles: input.swatch_option_titles,
16
+ };
17
+ let config;
18
+ if (configs.length > 0) {
19
+ const updated = await athosConfigService.updateAthosConfigs({
20
+ id: configs[0].id,
21
+ ...data,
22
+ });
23
+ config = Array.isArray(updated) ? updated[0] : updated;
24
+ }
25
+ else {
26
+ const created = await athosConfigService.createAthosConfigs(data);
27
+ config = Array.isArray(created) ? created[0] : created;
28
+ }
29
+ return new workflows_sdk_1.StepResponse(config);
30
+ });
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LWF0aG9zLWNvbmZpZy1zdGVwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3dvcmtmbG93cy9zdGVwcy91cHNlcnQtYXRob3MtY29uZmlnLXN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUVBQTRFO0FBQzVFLDJEQUErRDtBQVdsRCxRQUFBLHFCQUFxQixHQUFHLElBQUEsMEJBQVUsRUFDN0MsMEJBQTBCLEVBQzFCLEtBQUssRUFBRSxLQUFZLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFO0lBQ3BDLE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FDMUMsaUNBQW1CLENBQ1EsQ0FBQTtJQUU3QixNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyx3QkFBd0IsRUFBRSxDQUFBO0lBRXJFLHFGQUFxRjtJQUNyRixNQUFNLElBQUksR0FBRztRQUNYLGNBQWMsRUFBRSxLQUFLLENBQUMsY0FBYztRQUNwQyxVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7UUFDNUIsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTO1FBQzFCLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFHakI7UUFDUixvQkFBb0IsRUFBRSxLQUFLLENBQUMsb0JBR3BCO0tBQ1QsQ0FBQTtJQUVELElBQUksTUFBTSxDQUFBO0lBQ1YsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsa0JBQWtCLENBQUM7WUFDMUQsRUFBRSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2pCLEdBQUcsSUFBSTtTQUNSLENBQUMsQ0FBQTtRQUNGLE1BQU0sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQTtJQUN4RCxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sT0FBTyxHQUFHLE1BQU0sa0JBQWtCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDakUsTUFBTSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFBO0lBQ3hELENBQUM7SUFFRCxPQUFPLElBQUksNEJBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQTtBQUNqQyxDQUFDLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,9 @@
1
+ type Input = {
2
+ storefront_url: string;
3
+ feed_token: string;
4
+ region_id?: string | null;
5
+ sales_channel_ids?: string[] | null;
6
+ swatch_option_titles?: string[] | null;
7
+ };
8
+ declare const upsertAthosConfigWorkflow: import("@medusajs/framework/workflows-sdk").ReturnWorkflow<Input, any, []>;
9
+ export default upsertAthosConfigWorkflow;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
4
+ const upsert_athos_config_step_1 = require("./steps/upsert-athos-config-step");
5
+ const upsertAthosConfigWorkflow = (0, workflows_sdk_1.createWorkflow)("upsert-athos-config", function (input) {
6
+ const config = (0, upsert_athos_config_step_1.upsertAthosConfigStep)(input);
7
+ return new workflows_sdk_1.WorkflowResponse(config);
8
+ });
9
+ exports.default = upsertAthosConfigWorkflow;
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBzZXJ0LWF0aG9zLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy93b3JrZmxvd3MvdXBzZXJ0LWF0aG9zLWNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLHFFQUFvRjtBQUNwRiwrRUFBd0U7QUFVeEUsTUFBTSx5QkFBeUIsR0FBRyxJQUFBLDhCQUFjLEVBQzlDLHFCQUFxQixFQUNyQixVQUFVLEtBQVk7SUFDcEIsTUFBTSxNQUFNLEdBQUcsSUFBQSxnREFBcUIsRUFBQyxLQUFLLENBQUMsQ0FBQTtJQUMzQyxPQUFPLElBQUksZ0NBQWdCLENBQUMsTUFBTSxDQUFDLENBQUE7QUFDckMsQ0FBQyxDQUNGLENBQUE7QUFFRCxrQkFBZSx5QkFBeUIsQ0FBQSJ9