@devx-commerce/plugin-gati 0.0.2-beta.0
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/admin/index.js +20 -0
- package/.medusa/server/src/admin/index.mjs +21 -0
- package/.medusa/server/src/api/admin/plugin/route.js +7 -0
- package/.medusa/server/src/api/erp/webhook/route.js +64 -0
- package/.medusa/server/src/api/store/plugin/route.js +7 -0
- package/.medusa/server/src/api/types/index.js +3 -0
- package/.medusa/server/src/modules/erp/index.js +16 -0
- package/.medusa/server/src/modules/erp/loaders/erp-loader.js +10 -0
- package/.medusa/server/src/modules/erp/service.js +30 -0
- package/.medusa/server/src/modules/erp/types/index.js +8 -0
- package/.medusa/server/src/workflows/create-or-update-style-master/index.js +228 -0
- package/.medusa/server/src/workflows/create-or-update-style-master/steps/index.js +18 -0
- package/.medusa/server/src/workflows/helpers/product-helper.js +22 -0
- package/.medusa/server/src/workflows/types/index.js +3 -0
- package/README.md +64 -0
- package/package.json +84 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const widgetModule = { widgets: [] };
|
|
3
|
+
const routeModule = {
|
|
4
|
+
routes: []
|
|
5
|
+
};
|
|
6
|
+
const menuItemModule = {
|
|
7
|
+
menuItems: []
|
|
8
|
+
};
|
|
9
|
+
const formModule = { customFields: {} };
|
|
10
|
+
const displayModule = {
|
|
11
|
+
displays: {}
|
|
12
|
+
};
|
|
13
|
+
const plugin = {
|
|
14
|
+
widgetModule,
|
|
15
|
+
routeModule,
|
|
16
|
+
menuItemModule,
|
|
17
|
+
formModule,
|
|
18
|
+
displayModule
|
|
19
|
+
};
|
|
20
|
+
module.exports = plugin;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
const widgetModule = { widgets: [] };
|
|
2
|
+
const routeModule = {
|
|
3
|
+
routes: []
|
|
4
|
+
};
|
|
5
|
+
const menuItemModule = {
|
|
6
|
+
menuItems: []
|
|
7
|
+
};
|
|
8
|
+
const formModule = { customFields: {} };
|
|
9
|
+
const displayModule = {
|
|
10
|
+
displays: {}
|
|
11
|
+
};
|
|
12
|
+
const plugin = {
|
|
13
|
+
widgetModule,
|
|
14
|
+
routeModule,
|
|
15
|
+
menuItemModule,
|
|
16
|
+
formModule,
|
|
17
|
+
displayModule
|
|
18
|
+
};
|
|
19
|
+
export {
|
|
20
|
+
plugin as default
|
|
21
|
+
};
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2FkbWluL3BsdWdpbi9yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGtCQUtDO0FBTE0sS0FBSyxVQUFVLEdBQUcsQ0FDdkIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN0QixDQUFDIn0=
|
|
@@ -0,0 +1,64 @@
|
|
|
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.POST = POST;
|
|
7
|
+
const framework_1 = require("@medusajs/framework");
|
|
8
|
+
const create_or_update_style_master_1 = __importDefault(require("../../../workflows/create-or-update-style-master"));
|
|
9
|
+
async function POST(req, res) {
|
|
10
|
+
try {
|
|
11
|
+
const { datafor, operation, data } = req.body;
|
|
12
|
+
if (!datafor || !operation || !Array.isArray(data)) {
|
|
13
|
+
res.status(400).json({
|
|
14
|
+
status: false,
|
|
15
|
+
message: "Invalid request body. Required fields: datafor, operation, data (array)",
|
|
16
|
+
});
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
// Log the received data
|
|
20
|
+
framework_1.logger.info(`Received webhook: ${operation} for ${datafor} with ${data.length} items`);
|
|
21
|
+
// Handle different datafor types
|
|
22
|
+
switch (datafor) {
|
|
23
|
+
case "StyleMst":
|
|
24
|
+
await (0, create_or_update_style_master_1.default)(req.scope).run({
|
|
25
|
+
input: {
|
|
26
|
+
datafor,
|
|
27
|
+
operation,
|
|
28
|
+
data,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
break;
|
|
32
|
+
// Add more cases for other datafor types here
|
|
33
|
+
// case "StockMst":
|
|
34
|
+
// result = await stockMstWorkflow(req.scope).run({
|
|
35
|
+
// input: {
|
|
36
|
+
// datafor,
|
|
37
|
+
// operation,
|
|
38
|
+
// data,
|
|
39
|
+
// authToken,
|
|
40
|
+
// baseUrl,
|
|
41
|
+
// },
|
|
42
|
+
// });
|
|
43
|
+
// break;
|
|
44
|
+
default:
|
|
45
|
+
res.status(400).json({
|
|
46
|
+
status: false,
|
|
47
|
+
message: `Unsupported datafor type: ${datafor}`,
|
|
48
|
+
});
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
res.status(200).json({
|
|
52
|
+
status: true,
|
|
53
|
+
message: `Successfully processed ${operation} for ${datafor}`,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
catch (error) {
|
|
57
|
+
framework_1.logger.error("Error processing webhook:", error);
|
|
58
|
+
res.status(500).json({
|
|
59
|
+
status: false,
|
|
60
|
+
message: "Internal server error",
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvYXBpL2VycC93ZWJob29rL3JvdXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBTUEsb0JBK0RDO0FBckVELG1EQUE2QztBQUc3QyxxSEFBZ0Y7QUFHekUsS0FBSyxVQUFVLElBQUksQ0FDeEIsR0FBa0IsRUFDbEIsR0FBbUI7SUFFbkIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxDQUFDLElBQXNCLENBQUM7UUFFaEUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDbkIsTUFBTSxFQUFFLEtBQUs7Z0JBQ2IsT0FBTyxFQUNMLHlFQUF5RTthQUM1RSxDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1QsQ0FBQztRQUVELHdCQUF3QjtRQUN4QixrQkFBTSxDQUFDLElBQUksQ0FDVCxxQkFBcUIsU0FBUyxRQUFRLE9BQU8sU0FBUyxJQUFJLENBQUMsTUFBTSxRQUFRLENBQzFFLENBQUM7UUFFRixpQ0FBaUM7UUFDakMsUUFBUSxPQUFPLEVBQUUsQ0FBQztZQUNoQixLQUFLLFVBQVU7Z0JBQ2IsTUFBTSxJQUFBLHVDQUFnQixFQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUM7b0JBQ3BDLEtBQUssRUFBRTt3QkFDTCxPQUFPO3dCQUNQLFNBQVM7d0JBQ1QsSUFBSTtxQkFDTDtpQkFDRixDQUFDLENBQUM7Z0JBQ0gsTUFBTTtZQUNSLDhDQUE4QztZQUM5QyxtQkFBbUI7WUFDbkIscURBQXFEO1lBQ3JELGVBQWU7WUFDZixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxtQkFBbUI7WUFDbkIsaUJBQWlCO1lBQ2pCLFNBQVM7WUFDVCxRQUFRO1lBQ1IsV0FBVztZQUNYO2dCQUNFLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNuQixNQUFNLEVBQUUsS0FBSztvQkFDYixPQUFPLEVBQUUsNkJBQTZCLE9BQU8sRUFBRTtpQkFDaEQsQ0FBQyxDQUFDO2dCQUNILE9BQU87UUFDWCxDQUFDO1FBRUQsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDbkIsTUFBTSxFQUFFLElBQUk7WUFDWixPQUFPLEVBQUUsMEJBQTBCLFNBQVMsUUFBUSxPQUFPLEVBQUU7U0FDOUQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7UUFDZixrQkFBTSxDQUFDLEtBQUssQ0FBQywyQkFBMkIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNqRCxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNuQixNQUFNLEVBQUUsS0FBSztZQUNiLE9BQU8sRUFBRSx1QkFBdUI7U0FDakMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztBQUNILENBQUMifQ==
|
|
@@ -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,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvYXBpL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
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.ERP_MODULE = void 0;
|
|
7
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
8
|
+
const service_1 = __importDefault(require("./service"));
|
|
9
|
+
const types_1 = require("./types");
|
|
10
|
+
const erp_loader_1 = __importDefault(require("./loaders/erp-loader"));
|
|
11
|
+
exports.ERP_MODULE = types_1.ErpKeys.ERP;
|
|
12
|
+
exports.default = (0, utils_1.Module)(exports.ERP_MODULE, {
|
|
13
|
+
service: service_1.default,
|
|
14
|
+
loaders: [erp_loader_1.default],
|
|
15
|
+
});
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lcnAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEscURBQW1EO0FBRW5ELHdEQUFtQztBQUNuQyxtQ0FBa0M7QUFDbEMsc0VBQTZDO0FBRWhDLFFBQUEsVUFBVSxHQUFHLGVBQU8sQ0FBQyxHQUFHLENBQUM7QUFFdEMsa0JBQWUsSUFBQSxjQUFNLEVBQUMsa0JBQVUsRUFBRTtJQUNoQyxPQUFPLEVBQUUsaUJBQVU7SUFDbkIsT0FBTyxFQUFFLENBQUMsb0JBQVMsQ0FBQztDQUNyQixDQUFDLENBQUMifQ==
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = validationLoader;
|
|
4
|
+
const utils_1 = require("@medusajs/framework/utils");
|
|
5
|
+
async function validationLoader({ options, }) {
|
|
6
|
+
if (!options?.authToken || !options?.baseUrl) {
|
|
7
|
+
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "ERP Module requires an authToken and baseUrl option.");
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJwLWxvYWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2VycC9sb2FkZXJzL2VycC1sb2FkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFLQSxtQ0FTQztBQWJELHFEQUF3RDtBQUl6QyxLQUFLLFVBQVUsZ0JBQWdCLENBQUMsRUFDN0MsT0FBTyxHQUNtQjtJQUMxQixJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsSUFBSSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUM3QyxNQUFNLElBQUksbUJBQVcsQ0FDbkIsbUJBQVcsQ0FBQyxLQUFLLENBQUMsWUFBWSxFQUM5QixzREFBc0QsQ0FDdkQsQ0FBQztJQUNKLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const types_1 = require("./types");
|
|
4
|
+
class ErpService {
|
|
5
|
+
constructor({}, options) {
|
|
6
|
+
this._options = options;
|
|
7
|
+
}
|
|
8
|
+
get options() {
|
|
9
|
+
return this._options;
|
|
10
|
+
}
|
|
11
|
+
async getMasterData(datafor, transactionId) {
|
|
12
|
+
const response = await fetch(`${this._options.baseUrl}/GetMasterData`, {
|
|
13
|
+
method: "GET",
|
|
14
|
+
headers: {
|
|
15
|
+
AuthorizationToken: this._options.authToken,
|
|
16
|
+
datafor: datafor,
|
|
17
|
+
transactionid: transactionId,
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
if (!response.ok) {
|
|
21
|
+
throw new Error(`Failed to fetch data for transaction ID: ${transactionId}`);
|
|
22
|
+
}
|
|
23
|
+
return response.json().then((data) => {
|
|
24
|
+
return data.data;
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
ErpService.identifier = types_1.ErpKeys.ERP;
|
|
29
|
+
exports.default = ErpService;
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9tb2R1bGVzL2VycC9zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsbUNBQTREO0FBRTVELE1BQXFCLFVBQVU7SUFJN0IsWUFBWSxFQUFFLEVBQUUsT0FBbUI7UUFDakMsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLGFBQWEsQ0FDakIsT0FBZSxFQUNmLGFBQXFCO1FBRXJCLE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLGdCQUFnQixFQUFFO1lBQ3JFLE1BQU0sRUFBRSxLQUFLO1lBQ2IsT0FBTyxFQUFFO2dCQUNQLGtCQUFrQixFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUztnQkFDM0MsT0FBTyxFQUFFLE9BQU87Z0JBQ2hCLGFBQWEsRUFBRSxhQUFhO2FBQzdCO1NBQ0YsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQztZQUNqQixNQUFNLElBQUksS0FBSyxDQUNiLDRDQUE0QyxhQUFhLEVBQUUsQ0FDNUQsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOztBQWpDTSxxQkFBVSxHQUFHLGVBQU8sQ0FBQyxHQUFHLENBQUM7a0JBRGIsVUFBVSJ9
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ErpKeys = void 0;
|
|
4
|
+
var ErpKeys;
|
|
5
|
+
(function (ErpKeys) {
|
|
6
|
+
ErpKeys["ERP"] = "erp";
|
|
7
|
+
})(ErpKeys || (exports.ErpKeys = ErpKeys = {}));
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbW9kdWxlcy9lcnAvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsSUFBWSxPQUVYO0FBRkQsV0FBWSxPQUFPO0lBQ2pCLHNCQUFXLENBQUE7QUFDYixDQUFDLEVBRlcsT0FBTyx1QkFBUCxPQUFPLFFBRWxCIn0=
|
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
4
|
+
const core_flows_1 = require("@medusajs/medusa/core-flows");
|
|
5
|
+
const product_helper_1 = require("../helpers/product-helper");
|
|
6
|
+
const steps_1 = require("./steps");
|
|
7
|
+
/**
|
|
8
|
+
* Main workflow for handling StyleMst operations
|
|
9
|
+
* This workflow:
|
|
10
|
+
* 1. Fetches style data from ERP
|
|
11
|
+
* 2. Gets required sales channels and shipping profiles
|
|
12
|
+
* 3. Conditionally creates products based on operation type
|
|
13
|
+
*
|
|
14
|
+
* @param input - Contains operation type, datafor type, and transaction IDs
|
|
15
|
+
*/
|
|
16
|
+
const styleMstWorkflow = (0, workflows_sdk_1.createWorkflow)("style-mst", (input) => {
|
|
17
|
+
// Step 1: Fetch style data from ERP system
|
|
18
|
+
const styleData = (0, steps_1.fetchStyleData)(input);
|
|
19
|
+
// Step 2: Get all sales channels for product creation
|
|
20
|
+
const { data: stores } = (0, core_flows_1.useQueryGraphStep)({
|
|
21
|
+
entity: "store",
|
|
22
|
+
fields: ["default_sales_channel_id"],
|
|
23
|
+
});
|
|
24
|
+
// Step 3: Get shipping profile for product creation
|
|
25
|
+
const { data: shippingProfiles } = (0, core_flows_1.useQueryGraphStep)({
|
|
26
|
+
entity: "shipping_profile",
|
|
27
|
+
fields: ["id"],
|
|
28
|
+
pagination: {
|
|
29
|
+
take: 1,
|
|
30
|
+
},
|
|
31
|
+
}).config({ name: "shipping-profile" });
|
|
32
|
+
const externalIdsFilters = (0, workflows_sdk_1.transform)({
|
|
33
|
+
styleData,
|
|
34
|
+
}, (data) => {
|
|
35
|
+
return data.styleData.map((product) => `${product.StyleId}`);
|
|
36
|
+
});
|
|
37
|
+
// @ts-ignore
|
|
38
|
+
const { data: existingProducts } = (0, core_flows_1.useQueryGraphStep)({
|
|
39
|
+
entity: "product",
|
|
40
|
+
fields: ["id", "external_id", "variants.*"],
|
|
41
|
+
filters: {
|
|
42
|
+
// @ts-ignore
|
|
43
|
+
external_id: externalIdsFilters,
|
|
44
|
+
},
|
|
45
|
+
}).config({ name: "existing-products" });
|
|
46
|
+
// Conditional step: Only create products if operation is "add"
|
|
47
|
+
(0, workflows_sdk_1.when)(input, (input) => {
|
|
48
|
+
return input.operation === "add";
|
|
49
|
+
}).then(() => {
|
|
50
|
+
const { productsToCreate, productsToUpdate } = (0, workflows_sdk_1.transform)({
|
|
51
|
+
styleData,
|
|
52
|
+
shippingProfiles,
|
|
53
|
+
stores,
|
|
54
|
+
existingProducts,
|
|
55
|
+
}, (data) => {
|
|
56
|
+
const productsToCreate = [];
|
|
57
|
+
const productsToUpdate = [];
|
|
58
|
+
data.styleData.forEach((styleData) => {
|
|
59
|
+
// Calculate costs based on raw codes
|
|
60
|
+
const metalTotalCost = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Metal").reduce((acc, detail) => acc + detail.CostAmount, 0);
|
|
61
|
+
const diamondTotalCost = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Diamond").reduce((acc, detail) => acc + detail.CostAmount, 0);
|
|
62
|
+
const stoneTotalCost = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Stone" ||
|
|
63
|
+
detail.RawType === "Stone(Color Stone)").reduce((acc, detail) => acc + detail.CostAmount, 0);
|
|
64
|
+
// const czTotalCost = styleData.StyleMstDetail.filter(
|
|
65
|
+
// (detail) => detail.RawType === "CZ"
|
|
66
|
+
// ).reduce((acc, detail) => acc + detail.CostAmount, 0);
|
|
67
|
+
const cpfTotalCost = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Metal").reduce((acc, detail) => acc + detail.CPFCostAmt, 0);
|
|
68
|
+
// const otherMaterialTotalCost = styleData.StyleMstDetail.filter(
|
|
69
|
+
// (detail) => detail.RawType === "Other Material"
|
|
70
|
+
// ).reduce((acc, detail) => acc + detail.CostAmount, 0);
|
|
71
|
+
// Calculate amounts based on raw codes
|
|
72
|
+
const metalTotalAmount = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Metal").reduce((acc, detail) => acc + detail.Amount, 0);
|
|
73
|
+
const diamondTotalAmount = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Diamond").reduce((acc, detail) => acc + detail.Amount, 0);
|
|
74
|
+
const stoneTotalAmount = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Stone" ||
|
|
75
|
+
detail.RawType === "Stone(Color Stone)").reduce((acc, detail) => acc + detail.Amount, 0);
|
|
76
|
+
// const otherMaterialTotalAmount = styleData.StyleMstDetail.filter(
|
|
77
|
+
// (detail) => detail.RawType === "Other Material"
|
|
78
|
+
// ).reduce((acc, detail) => acc + detail.Amount, 0);
|
|
79
|
+
const cpfTotalAmount = styleData.StyleMstDetail.filter((detail) => detail.RawType === "Metal").reduce((acc, detail) => acc + detail.CPFAmt, 0);
|
|
80
|
+
const productTitle = styleData.StyleMstExploration.find((exploration) => exploration.ExplorationCode === "Product Name")?.ExplorationValue || "";
|
|
81
|
+
console.log("productTitle", productTitle);
|
|
82
|
+
const product = {
|
|
83
|
+
external_id: `${styleData.StyleId}`,
|
|
84
|
+
title: productTitle,
|
|
85
|
+
description: styleData.WebDescription || "",
|
|
86
|
+
status: "draft",
|
|
87
|
+
options: [
|
|
88
|
+
{
|
|
89
|
+
title: "Default",
|
|
90
|
+
values: ["Default"],
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
hs_code: styleData.HSN || "",
|
|
94
|
+
handle: (0, product_helper_1.toKebabCase)([productTitle, styleData.StyleCode]),
|
|
95
|
+
variants: [],
|
|
96
|
+
shipping_profile_id: data.shippingProfiles[0].id,
|
|
97
|
+
sales_channels: [
|
|
98
|
+
{
|
|
99
|
+
id: data.stores[0].default_sales_channel_id || "",
|
|
100
|
+
},
|
|
101
|
+
],
|
|
102
|
+
};
|
|
103
|
+
const existingProduct = data.existingProducts.find((p) => p.external_id === product.external_id);
|
|
104
|
+
if (existingProduct) {
|
|
105
|
+
product.id = existingProduct.id;
|
|
106
|
+
product.status = existingProduct.status;
|
|
107
|
+
}
|
|
108
|
+
product.variants?.push({
|
|
109
|
+
id: existingProduct ? existingProduct.variants[0].id : undefined,
|
|
110
|
+
title: "Default",
|
|
111
|
+
options: {
|
|
112
|
+
Default: "Default",
|
|
113
|
+
},
|
|
114
|
+
prices: [
|
|
115
|
+
{
|
|
116
|
+
amount: styleData.Mrp,
|
|
117
|
+
currency_code: "INR",
|
|
118
|
+
},
|
|
119
|
+
],
|
|
120
|
+
metadata: {
|
|
121
|
+
external_id: `${styleData.StyleId}`,
|
|
122
|
+
},
|
|
123
|
+
manage_inventory: false,
|
|
124
|
+
});
|
|
125
|
+
const additionalData = {
|
|
126
|
+
styleId: styleData.StyleId,
|
|
127
|
+
styleDate: styleData.StyleDate,
|
|
128
|
+
styleCode: styleData.StyleCode,
|
|
129
|
+
styleAliasNo: styleData.StyleAliasNo,
|
|
130
|
+
category: styleData.Category || "",
|
|
131
|
+
subCategory: styleData.SubCategory || "",
|
|
132
|
+
manufacturer: styleData.Manufacturer || "",
|
|
133
|
+
manufacturerNo: styleData.ManufacturerNo || "",
|
|
134
|
+
makeType: styleData.MakeType || "",
|
|
135
|
+
stockType: styleData.StockType || "",
|
|
136
|
+
itemSize: styleData.ItemSize || "",
|
|
137
|
+
brand: styleData.Brand || "",
|
|
138
|
+
gender: (0, product_helper_1.genderMapper)(styleData.Gender),
|
|
139
|
+
shapeCode: styleData.StyleMstDetail.find((detail) => detail.IsCenterStone)
|
|
140
|
+
?.ShapeCode || "",
|
|
141
|
+
isComplete: styleData.IsComplete || false,
|
|
142
|
+
restricted: styleData.Restricted || false,
|
|
143
|
+
currency: styleData.Currency || "INR",
|
|
144
|
+
rateChart: styleData.RateChart || "",
|
|
145
|
+
discountMarkup: styleData.DiscountMarkup || "",
|
|
146
|
+
cost: styleData.Cost || 0,
|
|
147
|
+
mrp: styleData.Mrp || 0,
|
|
148
|
+
hsnCode: styleData.HSN || "",
|
|
149
|
+
grossWeight: styleData.GrossWt || 0,
|
|
150
|
+
netWeight: styleData.NetWt || 0,
|
|
151
|
+
waxWeight: styleData.WaxWt || 0,
|
|
152
|
+
modelWeight: styleData.ModelWt || 0,
|
|
153
|
+
totalDiamondPcs: styleData.TotDiamondPcs || 0,
|
|
154
|
+
totalDiamondWeight: styleData.TotDiamondWt || 0,
|
|
155
|
+
totalClientDiamondPcs: styleData.TotClientDiamondPcs || 0,
|
|
156
|
+
totalClientDiamondWeight: styleData.TotClientDiamondWt || 0,
|
|
157
|
+
totalStonePcs: styleData.TotStonePcs || 0,
|
|
158
|
+
totalStoneWeight: styleData.TotStoneWt || 0,
|
|
159
|
+
totalCzPcs: styleData.TotCzPcs || 0,
|
|
160
|
+
totalCzWeight: styleData.TotCzWt || 0,
|
|
161
|
+
webDescription: styleData.WebDescription || "",
|
|
162
|
+
remarks: styleData.Remarks || "",
|
|
163
|
+
customerRemarks: styleData.CustomerRemarks || "",
|
|
164
|
+
specialRemarks: styleData.SpecialRemarks || "",
|
|
165
|
+
metalTotalCost,
|
|
166
|
+
diamondTotalCost,
|
|
167
|
+
stoneTotalCost,
|
|
168
|
+
czTotalCost: 0,
|
|
169
|
+
cpfTotalCost,
|
|
170
|
+
metalTotalAmount,
|
|
171
|
+
diamondTotalAmount,
|
|
172
|
+
stoneTotalAmount,
|
|
173
|
+
czTotalAmount: 0,
|
|
174
|
+
cpfTotalAmount,
|
|
175
|
+
};
|
|
176
|
+
if (existingProduct) {
|
|
177
|
+
productsToUpdate.push({
|
|
178
|
+
product: product,
|
|
179
|
+
additional_data: additionalData,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
productsToCreate.push({
|
|
184
|
+
product: product,
|
|
185
|
+
additional_data: additionalData,
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
});
|
|
189
|
+
return {
|
|
190
|
+
productsToCreate: {
|
|
191
|
+
products: productsToCreate.map((p) => p.product),
|
|
192
|
+
additional_data: productsToCreate.reduce((acc, p) => {
|
|
193
|
+
const externalId = p?.product?.external_id;
|
|
194
|
+
if (externalId) {
|
|
195
|
+
acc[externalId] = p.additional_data;
|
|
196
|
+
}
|
|
197
|
+
return acc;
|
|
198
|
+
}, {}),
|
|
199
|
+
},
|
|
200
|
+
productsToUpdate: {
|
|
201
|
+
products: productsToUpdate.map((p) => p.product),
|
|
202
|
+
additional_data: productsToUpdate.reduce((acc, p) => {
|
|
203
|
+
const externalId = p?.product?.external_id;
|
|
204
|
+
if (externalId) {
|
|
205
|
+
acc[externalId] = p.additional_data;
|
|
206
|
+
}
|
|
207
|
+
return acc;
|
|
208
|
+
}, {}),
|
|
209
|
+
},
|
|
210
|
+
};
|
|
211
|
+
});
|
|
212
|
+
core_flows_1.createProductsWorkflow.runAsStep({
|
|
213
|
+
input: {
|
|
214
|
+
...productsToCreate,
|
|
215
|
+
},
|
|
216
|
+
});
|
|
217
|
+
core_flows_1.updateProductsWorkflow.runAsStep({
|
|
218
|
+
input: {
|
|
219
|
+
...productsToUpdate,
|
|
220
|
+
},
|
|
221
|
+
});
|
|
222
|
+
});
|
|
223
|
+
return new workflows_sdk_1.WorkflowResponse({
|
|
224
|
+
success: true,
|
|
225
|
+
});
|
|
226
|
+
});
|
|
227
|
+
exports.default = styleMstWorkflow;
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtc3R5bGUtbWFzdGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEscUVBSzJDO0FBQzNDLDREQUlxQztBQU1yQyw4REFBc0U7QUFFdEUsbUNBQXlDO0FBRXpDOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxnQkFBZ0IsR0FBRyxJQUFBLDhCQUFjLEVBQUMsV0FBVyxFQUFFLENBQUMsS0FBb0IsRUFBRSxFQUFFO0lBQzVFLDJDQUEyQztJQUMzQyxNQUFNLFNBQVMsR0FBRyxJQUFBLHNCQUFjLEVBQUMsS0FBSyxDQUFDLENBQUM7SUFFeEMsc0RBQXNEO0lBQ3RELE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUN6QyxNQUFNLEVBQUUsT0FBTztRQUNmLE1BQU0sRUFBRSxDQUFDLDBCQUEwQixDQUFDO0tBQ3JDLENBQUMsQ0FBQztJQUVILG9EQUFvRDtJQUNwRCxNQUFNLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBQSw4QkFBaUIsRUFBQztRQUNuRCxNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQztRQUNkLFVBQVUsRUFBRTtZQUNWLElBQUksRUFBRSxDQUFDO1NBQ1I7S0FDRixDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUV4QyxNQUFNLGtCQUFrQixHQUFHLElBQUEseUJBQVMsRUFDbEM7UUFDRSxTQUFTO0tBQ1YsRUFDRCxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1AsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMs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
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchStyleData = void 0;
|
|
4
|
+
const workflows_sdk_1 = require("@medusajs/framework/workflows-sdk");
|
|
5
|
+
/**
|
|
6
|
+
* Step to fetch style data from ERP system
|
|
7
|
+
* This step makes parallel API calls to fetch data for each transaction ID
|
|
8
|
+
* @param input - Contains datafor type and array of transaction IDs
|
|
9
|
+
* @param container - Dependency injection container to resolve services
|
|
10
|
+
*/
|
|
11
|
+
exports.fetchStyleData = (0, workflows_sdk_1.createStep)("fetch-style-data", async (input, { container }) => {
|
|
12
|
+
const erpService = container.resolve("erp");
|
|
13
|
+
const styleData = await Promise.all(input.data.map(async (transactionId) => {
|
|
14
|
+
return erpService.getMasterData(input.datafor, transactionId);
|
|
15
|
+
}));
|
|
16
|
+
return new workflows_sdk_1.StepResponse(styleData.flat());
|
|
17
|
+
});
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2NyZWF0ZS1vci11cGRhdGUtc3R5bGUtbWFzdGVyL3N0ZXBzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHFFQUE2RTtBQUk3RTs7Ozs7R0FLRztBQUNVLFFBQUEsY0FBYyxHQUFHLElBQUEsMEJBQVUsRUFDdEMsa0JBQWtCLEVBQ2xCLEtBQUssRUFBRSxLQUFvQixFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRTtJQUM1QyxNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBcUIsQ0FBQztJQUVoRSxNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ2pDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhLEVBQUUsRUFBRTtRQUNyQyxPQUFPLFVBQVUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztJQUNoRSxDQUFDLENBQUMsQ0FDSCxDQUFDO0lBQ0YsT0FBTyxJQUFJLDRCQUFZLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7QUFDNUMsQ0FBQyxDQUNGLENBQUMifQ==
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.genderMapper = exports.toKebabCase = void 0;
|
|
4
|
+
const toKebabCase = (strings) => {
|
|
5
|
+
return strings
|
|
6
|
+
.join("-")
|
|
7
|
+
.toLowerCase()
|
|
8
|
+
.replace(/\s+/g, "-") // Replace spaces with hyphens
|
|
9
|
+
.replace(/[^a-z0-9-]/g, ""); // Remove non-alphanumeric characters except hyphens
|
|
10
|
+
};
|
|
11
|
+
exports.toKebabCase = toKebabCase;
|
|
12
|
+
const genderMapper = (gender) => {
|
|
13
|
+
const genderMap = {
|
|
14
|
+
MN: "Men",
|
|
15
|
+
WN: "Women",
|
|
16
|
+
UN: "Unisex",
|
|
17
|
+
KD: "Kids",
|
|
18
|
+
};
|
|
19
|
+
return genderMap[gender] || "Unisex";
|
|
20
|
+
};
|
|
21
|
+
exports.genderMapper = genderMapper;
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1oZWxwZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL2hlbHBlcnMvcHJvZHVjdC1oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQU8sTUFBTSxXQUFXLEdBQUcsQ0FBQyxPQUFpQixFQUFVLEVBQUU7SUFDdkQsT0FBTyxPQUFPO1NBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQztTQUNULFdBQVcsRUFBRTtTQUNiLE9BQU8sQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsOEJBQThCO1NBQ25ELE9BQU8sQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxvREFBb0Q7QUFDckYsQ0FBQyxDQUFDO0FBTlcsUUFBQSxXQUFXLGVBTXRCO0FBRUssTUFBTSxZQUFZLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRTtJQUNyRCxNQUFNLFNBQVMsR0FBMkI7UUFDeEMsRUFBRSxFQUFFLEtBQUs7UUFDVCxFQUFFLEVBQUUsT0FBTztRQUNYLEVBQUUsRUFBRSxRQUFRO1FBQ1osRUFBRSxFQUFFLE1BQU07S0FDWCxDQUFDO0lBQ0YsT0FBTyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksUUFBUSxDQUFDO0FBQ3ZDLENBQUMsQ0FBQztBQVJXLFFBQUEsWUFBWSxnQkFRdkIifQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvd29ya2Zsb3dzL3R5cGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ==
|
package/README.md
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<a href="https://www.medusajs.com">
|
|
3
|
+
<picture>
|
|
4
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/59018053/229103275-b5e482bb-4601-46e6-8142-244f531cebdb.svg">
|
|
5
|
+
<source media="(prefers-color-scheme: light)" srcset="https://user-images.githubusercontent.com/59018053/229103726-e5b529a3-9b3f-4970-8a1f-c6af37f087bf.svg">
|
|
6
|
+
<img alt="Medusa logo" src="https://user-images.githubusercontent.com/59018053/229103726-e5b529a3-9b3f-4970-8a1f-c6af37f087bf.svg">
|
|
7
|
+
</picture>
|
|
8
|
+
</a>
|
|
9
|
+
</p>
|
|
10
|
+
<h1 align="center">
|
|
11
|
+
Medusa Plugin - Gati ERP
|
|
12
|
+
</h1>
|
|
13
|
+
|
|
14
|
+
<h4 align="center">
|
|
15
|
+
<a href="https://docs.medusajs.com">Documentation</a> |
|
|
16
|
+
<a href="https://www.medusajs.com">Website</a>
|
|
17
|
+
</h4>
|
|
18
|
+
|
|
19
|
+
<p align="center">
|
|
20
|
+
Building blocks for digital commerce
|
|
21
|
+
</p>
|
|
22
|
+
<p align="center">
|
|
23
|
+
<a href="https://github.com/medusajs/medusa/blob/master/CONTRIBUTING.md">
|
|
24
|
+
<img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PRs welcome!" />
|
|
25
|
+
</a>
|
|
26
|
+
<a href="https://www.producthunt.com/posts/medusa"><img src="https://img.shields.io/badge/Product%20Hunt-%231%20Product%20of%20the%20Day-%23DA552E" alt="Product Hunt"></a>
|
|
27
|
+
<a href="https://discord.gg/xpCwq3Kfn8">
|
|
28
|
+
<img src="https://img.shields.io/badge/chat-on%20discord-7289DA.svg" alt="Discord Chat" />
|
|
29
|
+
</a>
|
|
30
|
+
<a href="https://twitter.com/intent/follow?screen_name=medusajs">
|
|
31
|
+
<img src="https://img.shields.io/twitter/follow/medusajs.svg?label=Follow%20@medusajs" alt="Follow @medusajs" />
|
|
32
|
+
</a>
|
|
33
|
+
</p>
|
|
34
|
+
|
|
35
|
+
## Compatibility
|
|
36
|
+
|
|
37
|
+
This starter is compatible with versions >= 2.4.0 of `@medusajs/medusa`.
|
|
38
|
+
|
|
39
|
+
## Getting Started
|
|
40
|
+
|
|
41
|
+
Visit the [Quickstart Guide](https://docs.medusajs.com/learn/installation) to set up a server.
|
|
42
|
+
|
|
43
|
+
Visit the [Plugins documentation](https://docs.medusajs.com/learn/fundamentals/plugins) to learn more about plugins and how to create them.
|
|
44
|
+
|
|
45
|
+
Visit the [Docs](https://docs.medusajs.com/learn/installation#get-started) to learn more about our system requirements.
|
|
46
|
+
|
|
47
|
+
## What is Medusa
|
|
48
|
+
|
|
49
|
+
Medusa is a set of commerce modules and tools that allow you to build rich, reliable, and performant commerce applications without reinventing core commerce logic. The modules can be customized and used to build advanced ecommerce stores, marketplaces, or any product that needs foundational commerce primitives. All modules are open-source and freely available on npm.
|
|
50
|
+
|
|
51
|
+
Learn more about [Medusa’s architecture](https://docs.medusajs.com/learn/introduction/architecture) and [commerce modules](https://docs.medusajs.com/learn/fundamentals/modules/commerce-modules) in the Docs.
|
|
52
|
+
|
|
53
|
+
## Community & Contributions
|
|
54
|
+
|
|
55
|
+
The community and core team are available in [GitHub Discussions](https://github.com/medusajs/medusa/discussions), where you can ask for support, discuss roadmap, and share ideas.
|
|
56
|
+
|
|
57
|
+
Join our [Discord server](https://discord.com/invite/medusajs) to meet other community members.
|
|
58
|
+
|
|
59
|
+
## Other channels
|
|
60
|
+
|
|
61
|
+
- [GitHub Issues](https://github.com/medusajs/medusa/issues)
|
|
62
|
+
- [Twitter](https://twitter.com/medusajs)
|
|
63
|
+
- [LinkedIn](https://www.linkedin.com/company/medusajs)
|
|
64
|
+
- [Medusa Blog](https://medusajs.com/blog/)
|
package/package.json
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@devx-commerce/plugin-gati",
|
|
3
|
+
"version": "0.0.2-beta.0",
|
|
4
|
+
"description": "Gati ERP integration for Medusa",
|
|
5
|
+
"author": "devx commerce",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"files": [
|
|
8
|
+
".medusa/server"
|
|
9
|
+
],
|
|
10
|
+
"exports": {
|
|
11
|
+
"./package.json": "./package.json",
|
|
12
|
+
"./workflows": "./.medusa/server/src/workflows/index.js",
|
|
13
|
+
"./.medusa/server/src/modules/*": "./.medusa/server/src/modules/*/index.js",
|
|
14
|
+
"./providers/*": "./.medusa/server/src/providers/*/index.js",
|
|
15
|
+
"./admin": {
|
|
16
|
+
"import": "./.medusa/server/src/admin/index.mjs",
|
|
17
|
+
"require": "./.medusa/server/src/admin/index.js",
|
|
18
|
+
"default": "./.medusa/server/src/admin/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./*": "./.medusa/server/src/*.js"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"medusa",
|
|
24
|
+
"plugin",
|
|
25
|
+
"medusa-plugin-other",
|
|
26
|
+
"medusa-plugin",
|
|
27
|
+
"medusa-v2",
|
|
28
|
+
"medusa-plugin-integration"
|
|
29
|
+
],
|
|
30
|
+
"scripts": {
|
|
31
|
+
"build": "medusa plugin:build",
|
|
32
|
+
"dev": "medusa plugin:develop",
|
|
33
|
+
"prepublishOnly": "medusa plugin:build",
|
|
34
|
+
"release": "yarn standard-version"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@medusajs/admin-sdk": "2.7.0",
|
|
38
|
+
"@medusajs/cli": "2.7.0",
|
|
39
|
+
"@medusajs/framework": "2.7.0",
|
|
40
|
+
"@medusajs/icons": "2.7.0",
|
|
41
|
+
"@medusajs/medusa": "2.7.0",
|
|
42
|
+
"@medusajs/test-utils": "2.7.0",
|
|
43
|
+
"@medusajs/ui": "4.0.4",
|
|
44
|
+
"@mikro-orm/cli": "6.4.3",
|
|
45
|
+
"@mikro-orm/core": "6.4.3",
|
|
46
|
+
"@mikro-orm/knex": "6.4.3",
|
|
47
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
48
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
49
|
+
"@swc/core": "1.5.7",
|
|
50
|
+
"@types/node": "^20.0.0",
|
|
51
|
+
"@types/react": "^18.3.2",
|
|
52
|
+
"@types/react-dom": "^18.2.25",
|
|
53
|
+
"awilix": "^8.0.1",
|
|
54
|
+
"pg": "^8.13.0",
|
|
55
|
+
"prop-types": "^15.8.1",
|
|
56
|
+
"react": "^18.2.0",
|
|
57
|
+
"react-dom": "^18.2.0",
|
|
58
|
+
"standard-version": "^9.5.0",
|
|
59
|
+
"ts-node": "^10.9.2",
|
|
60
|
+
"typescript": "^5.6.2",
|
|
61
|
+
"vite": "^5.2.11",
|
|
62
|
+
"yalc": "^1.0.0-pre.53"
|
|
63
|
+
},
|
|
64
|
+
"peerDependencies": {
|
|
65
|
+
"@medusajs/admin-sdk": "2.7.0",
|
|
66
|
+
"@medusajs/cli": "2.7.0",
|
|
67
|
+
"@medusajs/framework": "2.7.0",
|
|
68
|
+
"@medusajs/icons": "2.7.0",
|
|
69
|
+
"@medusajs/medusa": "2.7.0",
|
|
70
|
+
"@medusajs/test-utils": "2.7.0",
|
|
71
|
+
"@medusajs/ui": "4.0.3",
|
|
72
|
+
"@mikro-orm/cli": "6.4.3",
|
|
73
|
+
"@mikro-orm/core": "6.4.3",
|
|
74
|
+
"@mikro-orm/knex": "6.4.3",
|
|
75
|
+
"@mikro-orm/migrations": "6.4.3",
|
|
76
|
+
"@mikro-orm/postgresql": "6.4.3",
|
|
77
|
+
"awilix": "^8.0.1",
|
|
78
|
+
"pg": "^8.13.0"
|
|
79
|
+
},
|
|
80
|
+
"engines": {
|
|
81
|
+
"node": ">=20"
|
|
82
|
+
},
|
|
83
|
+
"packageManager": "yarn@3.2.3+sha512.f26f951f67de0c6a33ee381e5ff364709c87e70eb5e65c694e4facde3512f1fa80b8679e6ba31ce7d340fbb46f08dd683af9457e240f25a204be7427940d767e"
|
|
84
|
+
}
|