mstate-cli 0.1.8 → 0.2.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.
@@ -1,136 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.actionHandler = void 0;
39
- const fs = __importStar(require("fs"));
40
- const path_1 = __importDefault(require("path"));
41
- const constant_1 = require("../common/constant");
42
- const utils_1 = require("../common/utils");
43
- var Key;
44
- (function (Key) {
45
- Key["WORKFLOW"] = "workflow=";
46
- Key["SECRET_KEY"] = "secret=";
47
- })(Key || (Key = {}));
48
- class ActionHandler {
49
- constructor() { }
50
- cloneActions() {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const args = process.argv;
53
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.WORKFLOW);
54
- const workflowName = dirPath.replace(/\//g, '__');
55
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
56
- if (!secretKey) {
57
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
58
- return;
59
- }
60
- if (!workflowName) {
61
- utils_1.customLog.changeAndThrow(`Parameter workflow is required`);
62
- return;
63
- }
64
- const url = `${constant_1.MSTATE_URL}/action/config/all/?workflow=${workflowName}`;
65
- const responseJSON = yield fetch(url, {
66
- headers: {
67
- 'Content-Type': 'application/json',
68
- 'secret-key': secretKey,
69
- },
70
- });
71
- const response = yield responseJSON.json();
72
- if (response === null || response === void 0 ? void 0 : response.errors) {
73
- utils_1.customLog.changeAndThrow('Invalid Parameters for Action: ', ...response === null || response === void 0 ? void 0 : response.errors);
74
- }
75
- else {
76
- const actionConfigs = response === null || response === void 0 ? void 0 : response.data;
77
- const folderPath = path_1.default.resolve(dirPath, 'actions');
78
- fs.mkdirSync(folderPath, { recursive: true });
79
- actionConfigs.forEach((config) => {
80
- try {
81
- const file = path_1.default.join(folderPath, `${config === null || config === void 0 ? void 0 : config.name}.json`);
82
- fs.writeFileSync(file, JSON.stringify(config, null, 2));
83
- utils_1.customLog.success('file created at', folderPath, `${config === null || config === void 0 ? void 0 : config.name}.json`);
84
- }
85
- catch (error) {
86
- utils_1.customLog.error(error.message);
87
- }
88
- });
89
- }
90
- });
91
- }
92
- saveToDB() {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- const args = process.argv;
95
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.WORKFLOW);
96
- const workflowName = dirPath.replace(/\//g, '__');
97
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
98
- if (!secretKey) {
99
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
100
- return;
101
- }
102
- if (!workflowName) {
103
- utils_1.customLog.changeAndThrow(`Parameter workflow is required`);
104
- return;
105
- }
106
- const folderPath = path_1.default.resolve(dirPath, 'actions');
107
- // loop to every folder to publish workflow
108
- fs.readdir(folderPath, (err, files) => {
109
- if (!files)
110
- return;
111
- files.forEach((fileName) => __awaiter(this, void 0, void 0, function* () {
112
- const filePath = path_1.default.join(folderPath, fileName);
113
- const data = fs.readFileSync(filePath, 'utf8');
114
- const url = `${constant_1.MSTATE_URL}/action/config/?workflow=${workflowName}`;
115
- const responseJSON = yield fetch(url, {
116
- method: 'PUT',
117
- headers: {
118
- 'secret-key': secretKey,
119
- 'Content-Type': 'application/json',
120
- },
121
- body: data,
122
- });
123
- const response = yield responseJSON.json();
124
- const actionConfig = JSON.parse(data);
125
- if (response === null || response === void 0 ? void 0 : response.errors) {
126
- utils_1.customLog.error(`Invalid Parameters for Action ${actionConfig.name}: `, ...response === null || response === void 0 ? void 0 : response.errors);
127
- }
128
- else {
129
- utils_1.customLog.success(`Action ${actionConfig.name} Updated successfully`);
130
- }
131
- }));
132
- });
133
- });
134
- }
135
- }
136
- exports.actionHandler = new ActionHandler();
@@ -1,104 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.companyHandler = void 0;
13
- const constant_1 = require("../common/constant");
14
- const utils_1 = require("../common/utils");
15
- var Key;
16
- (function (Key) {
17
- Key["PERMISSIONS"] = "permissions=";
18
- Key["SECRET_KEY"] = "secret=";
19
- Key["USER_ID"] = "user=";
20
- })(Key || (Key = {}));
21
- class CompanyHandler {
22
- constructor() { }
23
- addToken() {
24
- return __awaiter(this, void 0, void 0, function* () {
25
- const args = process.argv;
26
- const pString = (0, utils_1.getValueFromArgs)(args, Key.PERMISSIONS).trim();
27
- const permissions = pString.split(',');
28
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
29
- const user = (0, utils_1.getValueFromArgs)(args, Key.USER_ID);
30
- if (!pString.length) {
31
- utils_1.customLog.changeAndThrow(`Parameter permissions is required`);
32
- return;
33
- }
34
- if (!secretKey) {
35
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
36
- return;
37
- }
38
- if (!user) {
39
- utils_1.customLog.changeAndThrow(`Parameter user is required`);
40
- return;
41
- }
42
- const url = `${constant_1.MSTATE_URL}/company/permission`;
43
- const responseJSON = yield fetch(url, {
44
- method: 'POST',
45
- headers: {
46
- 'secret-key': secretKey,
47
- 'Content-Type': 'application/json',
48
- },
49
- body: JSON.stringify({
50
- user,
51
- permissions,
52
- }),
53
- });
54
- const response = yield responseJSON.json();
55
- if (response === null || response === void 0 ? void 0 : response.errors) {
56
- utils_1.customLog.changeAndThrow('Invalid Parameters for Company: ', ...response === null || response === void 0 ? void 0 : response.errors);
57
- }
58
- else {
59
- utils_1.customLog.success('Company updated successfully \n', response === null || response === void 0 ? void 0 : response.data);
60
- }
61
- });
62
- }
63
- revokePermission() {
64
- return __awaiter(this, void 0, void 0, function* () {
65
- const args = process.argv;
66
- const pString = (0, utils_1.getValueFromArgs)(args, Key.PERMISSIONS);
67
- const permissions = pString.split(',');
68
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
69
- const user = (0, utils_1.getValueFromArgs)(args, Key.USER_ID);
70
- if (!permissions.length) {
71
- utils_1.customLog.changeAndThrow(`Parameter permissions is required`);
72
- return;
73
- }
74
- if (!secretKey) {
75
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
76
- return;
77
- }
78
- if (!user) {
79
- utils_1.customLog.changeAndThrow(`Parameter user is required`);
80
- return;
81
- }
82
- const url = `${constant_1.MSTATE_URL}/company/permission`;
83
- const responseJSON = yield fetch(url, {
84
- method: 'DELETE',
85
- headers: {
86
- 'secret-key': secretKey,
87
- 'Content-Type': 'application/json',
88
- },
89
- body: JSON.stringify({
90
- user,
91
- permissions,
92
- }),
93
- });
94
- const response = yield responseJSON.json();
95
- if (response === null || response === void 0 ? void 0 : response.errors) {
96
- utils_1.customLog.changeAndThrow('Invalid Parameters for Company: ', ...response === null || response === void 0 ? void 0 : response.errors);
97
- }
98
- else {
99
- utils_1.customLog.success('Company updated successfully \n', response === null || response === void 0 ? void 0 : response.data);
100
- }
101
- });
102
- }
103
- }
104
- exports.companyHandler = new CompanyHandler();
@@ -1,126 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.environmentHandler = void 0;
39
- const fs = __importStar(require("fs"));
40
- const path_1 = __importDefault(require("path"));
41
- const constant_1 = require("../common/constant");
42
- const utils_1 = require("../common/utils");
43
- var Key;
44
- (function (Key) {
45
- Key["WORKFLOW"] = "workflow=";
46
- Key["SECRET_KEY"] = "secret=";
47
- })(Key || (Key = {}));
48
- class EnvironmentHandler {
49
- constructor() { }
50
- cloneEnvironments() {
51
- return __awaiter(this, void 0, void 0, function* () {
52
- const args = process.argv;
53
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.WORKFLOW);
54
- const workflowName = dirPath.replace(/\//g, '__');
55
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
56
- if (!secretKey) {
57
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
58
- return;
59
- }
60
- if (!workflowName) {
61
- utils_1.customLog.changeAndThrow(`Parameter workflow is required`);
62
- return;
63
- }
64
- const url = `${constant_1.MSTATE_URL}/env/?workflow=${workflowName}`;
65
- const responseJSON = yield fetch(url, {
66
- headers: {
67
- 'Content-Type': 'application/json',
68
- 'secret-key': secretKey,
69
- },
70
- });
71
- const response = yield responseJSON.json();
72
- if (response === null || response === void 0 ? void 0 : response.errors) {
73
- utils_1.customLog.changeAndThrow('Invalid Parameters for Environment: ', ...response === null || response === void 0 ? void 0 : response.errors);
74
- }
75
- else {
76
- const config = response === null || response === void 0 ? void 0 : response.data;
77
- const filePath = path_1.default.resolve(dirPath, 'environment.json');
78
- fs.writeFileSync(filePath, JSON.stringify(config, null, 2));
79
- }
80
- });
81
- }
82
- saveToDB() {
83
- return __awaiter(this, void 0, void 0, function* () {
84
- const args = process.argv;
85
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.WORKFLOW);
86
- const workflowName = dirPath.replace(/\//g, '__');
87
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
88
- if (!secretKey) {
89
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
90
- return;
91
- }
92
- if (!workflowName) {
93
- utils_1.customLog.changeAndThrow(`Parameter workflow is required`);
94
- return;
95
- }
96
- const filePath = path_1.default.resolve(dirPath, 'environment.json');
97
- const data = fs.readFileSync(filePath, 'utf8');
98
- const environments = JSON.parse(data);
99
- try {
100
- const url = `${constant_1.MSTATE_URL}/env`;
101
- const responseJSON = yield fetch(url, {
102
- method: 'POST',
103
- headers: {
104
- 'secret-key': secretKey,
105
- 'Content-Type': 'application/json',
106
- },
107
- body: JSON.stringify({
108
- workflow: workflowName,
109
- env: environments,
110
- }),
111
- });
112
- const response = yield responseJSON.json();
113
- if (response === null || response === void 0 ? void 0 : response.errors) {
114
- utils_1.customLog.changeAndThrow(`Invalid Parameters for Environment: `, ...response === null || response === void 0 ? void 0 : response.errors);
115
- }
116
- else {
117
- utils_1.customLog.success(`Environments Updated successfully`);
118
- }
119
- }
120
- catch (error) {
121
- utils_1.customLog.changeAndThrow(error.message);
122
- }
123
- });
124
- }
125
- }
126
- exports.environmentHandler = new EnvironmentHandler();
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.helpHandler = void 0;
4
- const enum_1 = require("../common/enum");
5
- const utils_1 = require("../common/utils");
6
- class HelpHandler {
7
- logCommandInfo() {
8
- console.log('\n\nUsage: mstate [cmd] [parameter]="[value]"\n');
9
- console.log('Commands:');
10
- utils_1.customLog.info(enum_1.CmdAction.ADD, 'Add new workflow');
11
- utils_1.customLog.info(enum_1.CmdAction.CLONE, 'Clone workflow with actions and environments');
12
- utils_1.customLog.info(enum_1.CmdAction.PUSH, 'Update the changes one in cloned workflow');
13
- utils_1.customLog.info(enum_1.CmdAction.LINK, 'Add workflow and allow user to view workflow in the mobioffice application');
14
- utils_1.customLog.info(enum_1.CmdAction.UNLINK, 'Disallow user to view workflow in the mobioffice application');
15
- utils_1.customLog.info([enum_1.CmdAction.VERSION_FLAG, enum_1.CmdAction.VERSION].toString(), 'print mstate-cli version');
16
- }
17
- logActionInfo(action) {
18
- switch (action) {
19
- case enum_1.CmdAction.ADD:
20
- break;
21
- default:
22
- utils_1.customLog.error(`${action ? 'Invalid' : 'Missing'} script: ${action !== null && action !== void 0 ? action : ''}`);
23
- console.log(`use 'mstate ${enum_1.CmdAction.HELP_FLAG}, ${enum_1.CmdAction.HELP}' for getting allowed action`);
24
- }
25
- }
26
- }
27
- exports.helpHandler = new HelpHandler();
@@ -1,74 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.mobiofficeHandler = void 0;
13
- const constant_1 = require("../common/constant");
14
- const utils_1 = require("../common/utils");
15
- var Key;
16
- (function (Key) {
17
- Key["WORKFLOW"] = "workflow=";
18
- Key["PERMISSIONS"] = "permissions=";
19
- Key["SECRET_KEY"] = "secret=";
20
- Key["COMPANY_ID"] = "company=";
21
- Key["USER_ID"] = "user=";
22
- })(Key || (Key = {}));
23
- class MobiofficeHandler {
24
- constructor() { }
25
- linkToMobioffice(action) {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- const args = process.argv;
28
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.WORKFLOW);
29
- const workflowName = dirPath.replace(/\//g, '__');
30
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
31
- const companyID = (0, utils_1.getValueFromArgs)(args, Key.COMPANY_ID);
32
- const user = (0, utils_1.getValueFromArgs)(args, Key.USER_ID);
33
- if (!workflowName) {
34
- utils_1.customLog.changeAndThrow(`Parameter workflow is required`);
35
- return;
36
- }
37
- if (!secretKey) {
38
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
39
- return;
40
- }
41
- if (!companyID) {
42
- utils_1.customLog.changeAndThrow(`Parameter company is required`);
43
- return;
44
- }
45
- if (!user) {
46
- utils_1.customLog.changeAndThrow(`Parameter user is required`);
47
- return;
48
- }
49
- const url = `${constant_1.MOBIOFFICE_URL}/Mstate/workFlow/user`;
50
- const responseJSON = yield fetch(url, {
51
- method: 'POST',
52
- headers: {
53
- 'secret-key': secretKey,
54
- 'Content-Type': 'application/json',
55
- },
56
- body: JSON.stringify({
57
- action: action.toUpperCase(),
58
- workflow: workflowName,
59
- secret: secretKey,
60
- companyID,
61
- user,
62
- }),
63
- });
64
- const response = yield responseJSON.json();
65
- if (responseJSON.status >= 400) {
66
- utils_1.customLog.changeAndThrow('Invalid Parameters for Linking: ', responseJSON.statusText);
67
- }
68
- else {
69
- utils_1.customLog.success('Workflow Added successfully', response === null || response === void 0 ? void 0 : response.message);
70
- }
71
- });
72
- }
73
- }
74
- exports.mobiofficeHandler = new MobiofficeHandler();
@@ -1,204 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
- var __importDefault = (this && this.__importDefault) || function (mod) {
35
- return (mod && mod.__esModule) ? mod : { "default": mod };
36
- };
37
- Object.defineProperty(exports, "__esModule", { value: true });
38
- exports.workflowHandler = void 0;
39
- const fs = __importStar(require("fs"));
40
- const path_1 = __importDefault(require("path"));
41
- const constant_1 = require("../common/constant");
42
- const utils_1 = require("../common/utils");
43
- var Key;
44
- (function (Key) {
45
- Key["PATH"] = "path=";
46
- Key["FILE"] = "file=";
47
- Key["SECRET_KEY"] = "secret=";
48
- Key["WORKFLOW"] = "workflow=";
49
- })(Key || (Key = {}));
50
- class WorkflowHandler {
51
- constructor() { }
52
- saveToDB() {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- try {
55
- const args = process.argv;
56
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.PATH);
57
- const workflowPath = dirPath.replace(/\//g, '__');
58
- const file = (0, utils_1.getValueFromArgs)(args, Key.FILE);
59
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
60
- if (!file) {
61
- utils_1.customLog.changeAndThrow(`Parameter file is required`);
62
- return;
63
- }
64
- if (!secretKey) {
65
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
66
- return;
67
- }
68
- const filePath = path_1.default.resolve(file);
69
- const workflowJSON = fs.readFileSync(filePath, 'utf8');
70
- let query = '';
71
- if (workflowPath) {
72
- query += `path=${workflowPath}`;
73
- }
74
- if (query.length) {
75
- query = '?' + query;
76
- }
77
- const url = `${constant_1.MSTATE_URL}/workflow/config/new${query}`;
78
- const responseJSON = yield fetch(url, {
79
- method: 'POST',
80
- headers: {
81
- 'secret-key': secretKey,
82
- 'Content-Type': 'application/json',
83
- },
84
- body: workflowJSON,
85
- });
86
- const response = yield responseJSON.json();
87
- if (response === null || response === void 0 ? void 0 : response.errors) {
88
- utils_1.customLog.changeAndThrow('Invalid Parameters for Workflow: ', ...response === null || response === void 0 ? void 0 : response.errors);
89
- }
90
- else {
91
- utils_1.customLog.success('Workflow Added successfully', response === null || response === void 0 ? void 0 : response.data);
92
- }
93
- }
94
- catch (error) {
95
- utils_1.customLog.changeAndThrow(error.message);
96
- }
97
- });
98
- }
99
- updateWorkflowToDB() {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- const args = process.argv;
102
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.WORKFLOW);
103
- const workflowName = dirPath.replace(/\//g, '__');
104
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
105
- if (!secretKey) {
106
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
107
- return;
108
- }
109
- if (!workflowName) {
110
- utils_1.customLog.changeAndThrow(`Parameter workflow is required`);
111
- return;
112
- }
113
- const folderPath = path_1.default.resolve(dirPath);
114
- const filePath = path_1.default.join(folderPath, 'workflow.json');
115
- const workflowJSON = fs.readFileSync(filePath, 'utf8');
116
- let query = `?workflow=${workflowName}`;
117
- const url = `${constant_1.MSTATE_URL}/workflow/config${query}`;
118
- const responseJSON = yield fetch(url, {
119
- method: 'PUT',
120
- headers: {
121
- 'secret-key': secretKey,
122
- 'Content-Type': 'application/json',
123
- },
124
- body: workflowJSON,
125
- });
126
- const response = yield responseJSON.json();
127
- if (response === null || response === void 0 ? void 0 : response.errors) {
128
- utils_1.customLog.changeAndThrow('Invalid Parameters for Server: ', ...response === null || response === void 0 ? void 0 : response.errors);
129
- }
130
- else {
131
- utils_1.customLog.success('Workflow Uploaded successfully \n', response === null || response === void 0 ? void 0 : response.data);
132
- }
133
- return response;
134
- });
135
- }
136
- cloneWorkflow() {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- const args = process.argv;
139
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.WORKFLOW);
140
- const workflowName = dirPath.replace(/\//g, '__');
141
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
142
- if (!secretKey) {
143
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
144
- return;
145
- }
146
- if (!workflowName) {
147
- utils_1.customLog.changeAndThrow(`Parameter workflow is required`);
148
- return;
149
- }
150
- const url = `${constant_1.MSTATE_URL}/workflow/config/${workflowName}`;
151
- const responseJSON = yield fetch(url, {
152
- method: 'GET',
153
- headers: {
154
- 'Content-Type': 'application/json',
155
- 'secret-key': secretKey,
156
- },
157
- });
158
- const response = yield responseJSON.json();
159
- if (response === null || response === void 0 ? void 0 : response.errors) {
160
- utils_1.customLog.changeAndThrow('Invalid Parameters for Workflow: ', ...response === null || response === void 0 ? void 0 : response.errors);
161
- }
162
- else {
163
- const workflowConfig = response === null || response === void 0 ? void 0 : response.data;
164
- const folderPath = path_1.default.resolve(dirPath);
165
- fs.mkdirSync(folderPath, { recursive: true });
166
- const filePath = path_1.default.join(folderPath, 'workflow.json');
167
- fs.writeFileSync(filePath, JSON.stringify(workflowConfig, null, 2));
168
- utils_1.customLog.success(`Workflow cloned successfully`);
169
- }
170
- });
171
- }
172
- resetCache() {
173
- return __awaiter(this, void 0, void 0, function* () {
174
- const args = process.argv;
175
- const dirPath = (0, utils_1.getValueFromArgs)(args, Key.WORKFLOW);
176
- const workflowName = dirPath.replace(/\//g, '__');
177
- const secretKey = (0, utils_1.getValueFromArgs)(args, Key.SECRET_KEY);
178
- if (!secretKey) {
179
- utils_1.customLog.changeAndThrow(`Parameter secret is required`);
180
- return;
181
- }
182
- if (!workflowName) {
183
- utils_1.customLog.changeAndThrow(`Parameter workflow is required`);
184
- return;
185
- }
186
- const url = `${constant_1.MSTATE_URL}/cache/reset/${workflowName}`;
187
- const responseJSON = yield fetch(url, {
188
- method: 'DELETE',
189
- headers: {
190
- 'Content-Type': 'application/json',
191
- 'secret-key': secretKey,
192
- },
193
- });
194
- const response = yield responseJSON.json();
195
- if (response === null || response === void 0 ? void 0 : response.errors) {
196
- utils_1.customLog.changeAndThrow('Invalid Parameters for Workflow: ', ...response === null || response === void 0 ? void 0 : response.errors);
197
- }
198
- else {
199
- utils_1.customLog.success(`Workflow updated successfully`);
200
- }
201
- });
202
- }
203
- }
204
- exports.workflowHandler = new WorkflowHandler();