mstate-cli 0.2.1 → 0.2.2
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/dist/index.js +16 -16
- package/package.json +1 -1
- package/src/common/enum.ts +2 -0
- package/src/common/utils.ts +1 -1
- package/src/handlers/company.handler.ts +31 -10
- package/src/index.ts +11 -3
package/package.json
CHANGED
package/src/common/enum.ts
CHANGED
package/src/common/utils.ts
CHANGED
@@ -14,20 +14,22 @@ enum Key {
|
|
14
14
|
PERMISSIONS = 'permissions=',
|
15
15
|
SECRET_KEY = 'secret=',
|
16
16
|
USER_ID = 'user=',
|
17
|
+
COMPANY_ID = "company="
|
17
18
|
}
|
18
19
|
|
19
20
|
class CompanyHandler {
|
20
|
-
constructor() {}
|
21
|
+
constructor() { }
|
21
22
|
|
22
23
|
async addToken() {
|
23
24
|
const args = process.argv;
|
24
25
|
|
25
26
|
const pString = getValueFromArgs(args, Key.PERMISSIONS).trim();
|
26
|
-
const permissions = pString.split(',');
|
27
|
+
const permissions = pString.split(',').map(s => s.trim());
|
27
28
|
const secretKey = getSecretKey();
|
28
29
|
const user = getValueFromArgs(args, Key.USER_ID);
|
30
|
+
const companyID = getValueFromArgs(args, Key.COMPANY_ID);
|
29
31
|
|
30
|
-
if (!
|
32
|
+
if (!permissions.length && permissions[0]?.length) {
|
31
33
|
customLog.changeAndThrow(`Parameter permissions is required`);
|
32
34
|
return;
|
33
35
|
}
|
@@ -42,6 +44,11 @@ class CompanyHandler {
|
|
42
44
|
return;
|
43
45
|
}
|
44
46
|
|
47
|
+
if (!companyID) {
|
48
|
+
customLog.changeAndThrow(`Parameter company is required`);
|
49
|
+
return;
|
50
|
+
}
|
51
|
+
|
45
52
|
const url = `${MSTATE_URL}/company/permission`;
|
46
53
|
const responseJSON = await fetch(url, {
|
47
54
|
method: 'POST',
|
@@ -52,6 +59,7 @@ class CompanyHandler {
|
|
52
59
|
body: JSON.stringify({
|
53
60
|
user,
|
54
61
|
permissions,
|
62
|
+
company: companyID
|
55
63
|
}),
|
56
64
|
});
|
57
65
|
|
@@ -64,17 +72,19 @@ class CompanyHandler {
|
|
64
72
|
} else {
|
65
73
|
customLog.success('Company updated successfully \n', response?.data);
|
66
74
|
}
|
75
|
+
|
67
76
|
}
|
68
77
|
|
69
78
|
async revokePermission() {
|
70
79
|
const args = process.argv;
|
71
80
|
|
72
81
|
const pString = getValueFromArgs(args, Key.PERMISSIONS);
|
73
|
-
const permissions = pString.split(',');
|
82
|
+
const permissions = pString.split(',').map(s => s.trim());
|
74
83
|
const secretKey = getSecretKey();
|
75
84
|
const user = getValueFromArgs(args, Key.USER_ID);
|
85
|
+
const companyID = getValueFromArgs(args, Key.COMPANY_ID);
|
76
86
|
|
77
|
-
if (!permissions.length) {
|
87
|
+
if (!permissions.length && permissions[0]?.length) {
|
78
88
|
customLog.changeAndThrow(`Parameter permissions is required`);
|
79
89
|
return;
|
80
90
|
}
|
@@ -89,6 +99,11 @@ class CompanyHandler {
|
|
89
99
|
return;
|
90
100
|
}
|
91
101
|
|
102
|
+
if (!companyID) {
|
103
|
+
customLog.changeAndThrow(`Parameter company is required`);
|
104
|
+
return;
|
105
|
+
}
|
106
|
+
|
92
107
|
const url = `${MSTATE_URL}/company/permission`;
|
93
108
|
const responseJSON = await fetch(url, {
|
94
109
|
method: 'DELETE',
|
@@ -97,6 +112,7 @@ class CompanyHandler {
|
|
97
112
|
'Content-Type': 'application/json',
|
98
113
|
},
|
99
114
|
body: JSON.stringify({
|
115
|
+
company: companyID,
|
100
116
|
user,
|
101
117
|
permissions,
|
102
118
|
}),
|
@@ -148,14 +164,14 @@ class CompanyHandler {
|
|
148
164
|
const { token } = req.query;
|
149
165
|
|
150
166
|
if (token) {
|
151
|
-
console.log('Authentication successful!
|
167
|
+
console.log('Authentication successful!');
|
152
168
|
|
153
169
|
// Save the token locally
|
154
170
|
handleUpdateSecretKey(token as string);
|
155
171
|
|
156
172
|
res.send('<h1>Login successful! You can close this window.</h1>');
|
157
173
|
} else {
|
158
|
-
console.error('Authentication failed.
|
174
|
+
console.error('Authentication failed.');
|
159
175
|
res.send('<h1>Authentication failed. Please try again.</h1>');
|
160
176
|
}
|
161
177
|
} catch (error) {
|
@@ -170,9 +186,9 @@ class CompanyHandler {
|
|
170
186
|
.then(async () => {
|
171
187
|
await open(
|
172
188
|
MSTATE_DOMAIN +
|
173
|
-
|
174
|
-
|
175
|
-
|
189
|
+
`oauth?redirect=${encodeURIComponent(
|
190
|
+
'cli/mstate/login',
|
191
|
+
)}&open=${port}&scope=profile`,
|
176
192
|
);
|
177
193
|
})
|
178
194
|
.catch((err) => {
|
@@ -181,8 +197,13 @@ class CompanyHandler {
|
|
181
197
|
});
|
182
198
|
}
|
183
199
|
|
200
|
+
handleUpdateSavedSecretKey() {
|
201
|
+
handleUpdateSecretKey(getSecretKey());
|
202
|
+
}
|
203
|
+
|
184
204
|
logToken() {
|
185
205
|
customLog.info('Token', getSecretKey());
|
206
|
+
customLog.info('MSTATE_URL', MSTATE_URL);
|
186
207
|
}
|
187
208
|
}
|
188
209
|
|
package/src/index.ts
CHANGED
@@ -29,10 +29,18 @@ const [action] = argv.slice(2);
|
|
29
29
|
break;
|
30
30
|
|
31
31
|
case CmdAction.USER:
|
32
|
-
companyHandler.
|
33
|
-
|
34
|
-
// else companyHandler.addToken();
|
32
|
+
if (hasFlag(argv, '-d')) await companyHandler.revokePermission();
|
33
|
+
else await companyHandler.addToken();
|
35
34
|
break;
|
35
|
+
|
36
|
+
case CmdAction.UPDATE:
|
37
|
+
companyHandler.handleUpdateSavedSecretKey();
|
38
|
+
break;
|
39
|
+
|
40
|
+
// case CmdAction.DEV: // comment this case on production build
|
41
|
+
// companyHandler.logToken()
|
42
|
+
// break;
|
43
|
+
|
36
44
|
case CmdAction.LOGIN:
|
37
45
|
await companyHandler.handleLogin();
|
38
46
|
break;
|