carta-controller 3.0.0-dev.20220222 → 3.0.0-dev.20220301
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/config/config_schema.json +10 -0
- package/dist/auth/index.js +10 -10
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/ldap.js +3 -3
- package/dist/auth/ldap.js.map +1 -1
- package/dist/auth/local.js +1 -1
- package/dist/auth/local.js.map +1 -1
- package/dist/auth/pam.js +1 -1
- package/dist/auth/pam.js.map +1 -1
- package/dist/config.js +2 -2
- package/dist/controllerTests.js +17 -17
- package/dist/database.js +9 -9
- package/dist/index.js +4 -4
- package/dist/serverHandlers.js +17 -17
- package/package.json +2 -2
|
@@ -194,6 +194,16 @@
|
|
|
194
194
|
"15m"
|
|
195
195
|
]
|
|
196
196
|
},
|
|
197
|
+
"scriptingTokenAge": {
|
|
198
|
+
"description": "Lifetime of scripting tokens",
|
|
199
|
+
"type": "string",
|
|
200
|
+
"default": "1w",
|
|
201
|
+
"examples": [
|
|
202
|
+
"1w",
|
|
203
|
+
"5d",
|
|
204
|
+
"10h"
|
|
205
|
+
]
|
|
206
|
+
},
|
|
197
207
|
"ldapOptions": {
|
|
198
208
|
"description": "Options to path through to the LDAP auth instance",
|
|
199
209
|
"type": "object",
|
package/dist/auth/index.js
CHANGED
|
@@ -32,29 +32,29 @@ let refreshHandler = (req, res) => {
|
|
|
32
32
|
// Local providers
|
|
33
33
|
if (config_1.ServerConfig.authProviders.pam) {
|
|
34
34
|
const authConf = config_1.ServerConfig.authProviders.pam;
|
|
35
|
-
local_1.generateLocalVerifier(tokenVerifiers, authConf);
|
|
36
|
-
loginHandler = pam_1.getPamLoginHandler(authConf);
|
|
37
|
-
refreshHandler = local_1.generateLocalRefreshHandler(authConf);
|
|
35
|
+
(0, local_1.generateLocalVerifier)(tokenVerifiers, authConf);
|
|
36
|
+
loginHandler = (0, pam_1.getPamLoginHandler)(authConf);
|
|
37
|
+
refreshHandler = (0, local_1.generateLocalRefreshHandler)(authConf);
|
|
38
38
|
}
|
|
39
39
|
else if (config_1.ServerConfig.authProviders.ldap) {
|
|
40
40
|
const authConf = config_1.ServerConfig.authProviders.ldap;
|
|
41
|
-
local_1.generateLocalVerifier(tokenVerifiers, authConf);
|
|
42
|
-
loginHandler = ldap_1.getLdapLoginHandler(authConf);
|
|
43
|
-
refreshHandler = local_1.generateLocalRefreshHandler(authConf);
|
|
41
|
+
(0, local_1.generateLocalVerifier)(tokenVerifiers, authConf);
|
|
42
|
+
loginHandler = (0, ldap_1.getLdapLoginHandler)(authConf);
|
|
43
|
+
refreshHandler = (0, local_1.generateLocalRefreshHandler)(authConf);
|
|
44
44
|
}
|
|
45
45
|
else if (config_1.ServerConfig.authProviders.google) {
|
|
46
46
|
const authConf = config_1.ServerConfig.authProviders.google;
|
|
47
|
-
google_1.generateGoogleVerifier(tokenVerifiers, authConf);
|
|
47
|
+
(0, google_1.generateGoogleVerifier)(tokenVerifiers, authConf);
|
|
48
48
|
if (authConf.userLookupTable) {
|
|
49
|
-
external_1.watchUserTable(userMaps, google_1.validGoogleIssuers, authConf.userLookupTable);
|
|
49
|
+
(0, external_1.watchUserTable)(userMaps, google_1.validGoogleIssuers, authConf.userLookupTable);
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
else if (config_1.ServerConfig.authProviders.external) {
|
|
53
53
|
const authConf = config_1.ServerConfig.authProviders.external;
|
|
54
|
-
external_1.generateExternalVerifiers(tokenVerifiers, authConf);
|
|
54
|
+
(0, external_1.generateExternalVerifiers)(tokenVerifiers, authConf);
|
|
55
55
|
const tablePath = authConf.userLookupTable;
|
|
56
56
|
if (tablePath) {
|
|
57
|
-
external_1.watchUserTable(userMaps, authConf.issuers, tablePath);
|
|
57
|
+
(0, external_1.watchUserTable)(userMaps, authConf.issuers, tablePath);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
// Check for empty token verifies
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oCAAoC;AACpC,mCAAmC;AACnC,kCAAgC;AAEhC,sCAAsD;AACtD,yCAAqE;AACrE,mCAA2E;AAC3E,iCAA2C;AAC3C,+BAAyC;AACzC,qCAAoE;AAEpE,2CAA2C;AAC3C,MAAM,cAAc,GAAG,IAAI,GAAG,EAAoB,CAAC;AACnD,qCAAqC;AACrC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE5C,IAAI,YAAY,GAAmB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IAC5C,MAAM,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,uBAAuB,EAAC,CAAC;AAC9D,CAAC,CAAC;AAEF,IAAI,cAAc,GAAwB,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACnD,MAAM,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,+BAA+B,EAAC,CAAC;AACtE,CAAC,CAAC;AAEF,kBAAkB;AAClB,IAAI,qBAAY,CAAC,aAAa,CAAC,GAAG,EAAE;IAChC,MAAM,QAAQ,GAAG,qBAAY,CAAC,aAAa,CAAC,GAAG,CAAC;IAChD,6BAAqB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/ldap.js
CHANGED
|
@@ -33,15 +33,15 @@ function getLdapLoginHandler(authConf) {
|
|
|
33
33
|
}
|
|
34
34
|
if ((user === null || user === void 0 ? void 0 : user.uid) !== username) {
|
|
35
35
|
console.warn(`Returned user "uid ${user === null || user === void 0 ? void 0 : user.uid}" does not match username "${username}"`);
|
|
36
|
-
util_1.verboseLog(user);
|
|
36
|
+
(0, util_1.verboseLog)(user);
|
|
37
37
|
}
|
|
38
38
|
try {
|
|
39
39
|
const uid = userid.uid(username);
|
|
40
40
|
console.log(`Authenticated as user ${username} with uid ${uid} using LDAP`);
|
|
41
|
-
return local_1.addTokensToResponse(res, authConf, username);
|
|
41
|
+
return (0, local_1.addTokensToResponse)(res, authConf, username);
|
|
42
42
|
}
|
|
43
43
|
catch (e) {
|
|
44
|
-
util_1.verboseError(e);
|
|
44
|
+
(0, util_1.verboseError)(e);
|
|
45
45
|
return res.status(403).json({ statusCode: 403, message: "User does not exist" });
|
|
46
46
|
}
|
|
47
47
|
};
|
package/dist/auth/ldap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ldap.js","sourceRoot":"","sources":["../../src/auth/ldap.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AACjC,0CAA0C;AAE1C,mCAA4C;AAC5C,kCAAiD;AAEjD,IAAI,IAAc,CAAC;AAEnB,SAAgB,mBAAmB,CAAC,QAA6B;IAC7D,IAAI,GAAG,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,UAAU,CAAC,GAAG,EAAE;;QACZ,MAAM,aAAa,GAAG,MAAA,MAAC,IAAY,0CAAE,WAAW,0CAAE,SAAS,CAAC;QAC5D,IAAI,aAAa,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;SAC3C;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;SACxC;IACL,CAAC,EAAE,IAAI,CAAC,CAAC;IAET,OAAO,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;;QACnD,IAAI,QAAQ,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,QAAQ,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,QAAQ,CAAC;QAEpC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,yBAAyB,EAAC,CAAC,CAAC;SACtF;QAED,MAAM,UAAU,GAAG,CAAC,GAAmB,EAAE,IAAS,EAAE,EAAE;YAClD,IAAI,GAAG,EAAE;gBACL,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,iCAAiC,EAAC,CAAC,CAAC;aAC9F;YACD,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,MAAK,QAAQ,EAAE;gBACxB,OAAO,CAAC,IAAI,CAAC,sBAAsB,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,8BAA8B,QAAQ,GAAG,CAAC,CAAC;gBACvF,iBAAU,
|
|
1
|
+
{"version":3,"file":"ldap.js","sourceRoot":"","sources":["../../src/auth/ldap.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/local.js
CHANGED
|
@@ -87,7 +87,7 @@ function generateLocalRefreshHandler(authConf) {
|
|
|
87
87
|
const scriptingToken = ((_a = req.body) === null || _a === void 0 ? void 0 : _a.scripting) === true;
|
|
88
88
|
if (refreshTokenCookie) {
|
|
89
89
|
try {
|
|
90
|
-
const refreshToken = yield index_1.verifyToken(refreshTokenCookie);
|
|
90
|
+
const refreshToken = yield (0, index_1.verifyToken)(refreshTokenCookie);
|
|
91
91
|
if (!refreshToken || !refreshToken.username || !refreshToken.refresh) {
|
|
92
92
|
next({ statusCode: 403, message: "Not authorized" });
|
|
93
93
|
}
|
package/dist/auth/local.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/auth/local.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"local.js","sourceRoot":"","sources":["../../src/auth/local.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/pam.js
CHANGED
|
@@ -20,7 +20,7 @@ function getPamLoginHandler(authConf) {
|
|
|
20
20
|
try {
|
|
21
21
|
const uid = userid.uid(username);
|
|
22
22
|
console.log(`Authenticated as user ${username} with uid ${uid} using PAM`);
|
|
23
|
-
return local_1.addTokensToResponse(res, authConf, username);
|
|
23
|
+
return (0, local_1.addTokensToResponse)(res, authConf, username);
|
|
24
24
|
}
|
|
25
25
|
catch (e) {
|
|
26
26
|
return res.status(403).json({ statusCode: 403, message: "User does not exist" });
|
package/dist/auth/pam.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pam.js","sourceRoot":"","sources":["../../src/auth/pam.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AAEjC,mCAA4C;AAE5C,SAAgB,kBAAkB,CAAC,QAA8B;IAC7D,MAAM,EAAC,eAAe,EAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;;QACnD,IAAI,QAAQ,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,QAAQ,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,QAAQ,CAAC;QAEpC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,yBAAyB,EAAC,CAAC,CAAC;SACtF;QAED,eAAe,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,EAAE,CAAC,GAAmB,EAAE,IAAY,EAAE,EAAE;YACxE,IAAI,GAAG,EAAE;gBACL,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,iCAAiC,EAAC,CAAC,CAAC;aAC9F;iBAAM;gBACH,IAAI;oBACA,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,aAAa,GAAG,YAAY,CAAC,CAAC;oBAC3E,OAAO,2BAAmB,
|
|
1
|
+
{"version":3,"file":"pam.js","sourceRoot":"","sources":["../../src/auth/pam.ts"],"names":[],"mappings":";;;AACA,iCAAiC;AAEjC,mCAA4C;AAE5C,SAAgB,kBAAkB,CAAC,QAA8B;IAC7D,MAAM,EAAC,eAAe,EAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAoB,EAAE,GAAqB,EAAE,EAAE;;QACnD,IAAI,QAAQ,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,QAAQ,CAAC;QAClC,MAAM,QAAQ,GAAG,MAAA,GAAG,CAAC,IAAI,0CAAE,QAAQ,CAAC;QAEpC,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,EAAE;YACxB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,yBAAyB,EAAC,CAAC,CAAC;SACtF;QAED,eAAe,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,EAAE,CAAC,GAAmB,EAAE,IAAY,EAAE,EAAE;YACxE,IAAI,GAAG,EAAE;gBACL,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,iCAAiC,EAAC,CAAC,CAAC;aAC9F;iBAAM;gBACH,IAAI;oBACA,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACjC,OAAO,CAAC,GAAG,CAAC,yBAAyB,QAAQ,aAAa,GAAG,YAAY,CAAC,CAAC;oBAC3E,OAAO,IAAA,2BAAmB,EAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;iBACvD;gBAAC,OAAO,CAAC,EAAE;oBACR,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAC,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,qBAAqB,EAAC,CAAC,CAAC;iBAClF;aACJ;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAzBD,gDAyBC"}
|
package/dist/config.js
CHANGED
|
@@ -37,8 +37,8 @@ exports.verboseOutput = verboseOutput;
|
|
|
37
37
|
const configSchema = require("../config/config_schema.json");
|
|
38
38
|
const ajv = new ajv_1.default({ useDefaults: false, allowUnionTypes: true });
|
|
39
39
|
const ajvWithDefaults = new ajv_1.default({ useDefaults: true, allowUnionTypes: true });
|
|
40
|
-
ajv_formats_1.default(ajv);
|
|
41
|
-
ajv_formats_1.default(ajvWithDefaults);
|
|
40
|
+
(0, ajv_formats_1.default)(ajv);
|
|
41
|
+
(0, ajv_formats_1.default)(ajvWithDefaults);
|
|
42
42
|
const validateConfig = ajv.compile(configSchema);
|
|
43
43
|
const validateAndAddDefaults = ajvWithDefaults.compile(configSchema);
|
|
44
44
|
let serverConfig;
|
package/dist/controllerTests.js
CHANGED
|
@@ -60,7 +60,7 @@ function testLog(username) {
|
|
|
60
60
|
console.log(logSymbols.success, `Checked log writing for user ${username}`);
|
|
61
61
|
}
|
|
62
62
|
catch (err) {
|
|
63
|
-
util_1.verboseError(err);
|
|
63
|
+
(0, util_1.verboseError)(err);
|
|
64
64
|
throw new Error(`Could not create log file at ${logLocation} for user ${username}. Please check your config file's logFileTemplate option`);
|
|
65
65
|
}
|
|
66
66
|
});
|
|
@@ -75,14 +75,14 @@ function testLdap(authConf, username) {
|
|
|
75
75
|
read({ prompt: `Password for user ${username}:`, silent: true }, (er, password) => {
|
|
76
76
|
ldap.authenticate(username, password, (error, user) => {
|
|
77
77
|
if (error) {
|
|
78
|
-
util_1.verboseError(error);
|
|
78
|
+
(0, util_1.verboseError)(error);
|
|
79
79
|
reject(new Error(`Could not authenticate as user ${username}. Please check your config file's ldapOptions section!`));
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
82
|
console.log(logSymbols.success, `Checked LDAP connection for user ${username}`);
|
|
83
83
|
if ((user === null || user === void 0 ? void 0 : user.uid) !== username) {
|
|
84
84
|
console.warn(logSymbols.warning, `Returned user "uid ${user === null || user === void 0 ? void 0 : user.uid}" does not match username "${username}"`);
|
|
85
|
-
util_1.verboseLog(user);
|
|
85
|
+
(0, util_1.verboseLog)(user);
|
|
86
86
|
}
|
|
87
87
|
resolve();
|
|
88
88
|
}
|
|
@@ -91,7 +91,7 @@ function testLdap(authConf, username) {
|
|
|
91
91
|
}, 5000);
|
|
92
92
|
}
|
|
93
93
|
catch (e) {
|
|
94
|
-
util_1.verboseError(e);
|
|
94
|
+
(0, util_1.verboseError)(e);
|
|
95
95
|
reject(new Error("Cannot create LDAP object. Please check your config file's ldapOptions section!"));
|
|
96
96
|
}
|
|
97
97
|
}
|
|
@@ -104,7 +104,7 @@ function testPam(authConf, username) {
|
|
|
104
104
|
read({ prompt: `Password for user ${username}:`, silent: true }, (er, password) => {
|
|
105
105
|
pamAuthenticate({ username, password }, (err, code) => {
|
|
106
106
|
if (err) {
|
|
107
|
-
util_1.verboseError(err);
|
|
107
|
+
(0, util_1.verboseError)(err);
|
|
108
108
|
reject(new Error(`Could not authenticate as user ${username}. Error code ${code}`));
|
|
109
109
|
}
|
|
110
110
|
else {
|
|
@@ -124,7 +124,7 @@ function testDatabase() {
|
|
|
124
124
|
yield db.listCollections({}, { nameOnly: true }).hasNext();
|
|
125
125
|
}
|
|
126
126
|
catch (e) {
|
|
127
|
-
util_1.verboseError(e);
|
|
127
|
+
(0, util_1.verboseError)(e);
|
|
128
128
|
throw new Error("Cannot connect to MongoDB. Please check your config file's database section!");
|
|
129
129
|
}
|
|
130
130
|
console.log(logSymbols.success, "Checked database connection");
|
|
@@ -136,7 +136,7 @@ function testUid(username) {
|
|
|
136
136
|
uid = userid.uid(username);
|
|
137
137
|
}
|
|
138
138
|
catch (e) {
|
|
139
|
-
util_1.verboseError(e);
|
|
139
|
+
(0, util_1.verboseError)(e);
|
|
140
140
|
throw new Error(`Cannot verify uid of user ${username}`);
|
|
141
141
|
}
|
|
142
142
|
if (!uid) {
|
|
@@ -147,10 +147,10 @@ function testUid(username) {
|
|
|
147
147
|
function testToken(authConf, username) {
|
|
148
148
|
let token;
|
|
149
149
|
try {
|
|
150
|
-
token = local_1.generateToken(authConf, username, local_1.TokenType.Access);
|
|
150
|
+
token = (0, local_1.generateToken)(authConf, username, local_1.TokenType.Access);
|
|
151
151
|
}
|
|
152
152
|
catch (e) {
|
|
153
|
-
util_1.verboseError(e);
|
|
153
|
+
(0, util_1.verboseError)(e);
|
|
154
154
|
throw new Error(`Cannot generate access token. Please check your config file's ldap auth section!`);
|
|
155
155
|
}
|
|
156
156
|
if (!token) {
|
|
@@ -167,7 +167,7 @@ function testFrontend() {
|
|
|
167
167
|
indexContents = fs.readFileSync(config_1.ServerConfig.frontendPath + "/index.html").toString();
|
|
168
168
|
}
|
|
169
169
|
catch (e) {
|
|
170
|
-
util_1.verboseError(e);
|
|
170
|
+
(0, util_1.verboseError)(e);
|
|
171
171
|
throw new Error(`Cannot access frontend at ${config_1.ServerConfig.frontendPath}`);
|
|
172
172
|
}
|
|
173
173
|
if (!indexContents) {
|
|
@@ -204,10 +204,10 @@ function testBackendStartup(username) {
|
|
|
204
204
|
}
|
|
205
205
|
// Finally, add the positional argument for the base folder
|
|
206
206
|
args.push(config_1.ServerConfig.baseFolderTemplate.replace("{username}", username));
|
|
207
|
-
util_1.verboseLog(`running sudo ${args.join(" ")}`);
|
|
207
|
+
(0, util_1.verboseLog)(`running sudo ${args.join(" ")}`);
|
|
208
208
|
// Use same stdout and stderr stream for the backend process
|
|
209
|
-
const backendProcess = child_process_1.spawn("sudo", args, { stdio: "inherit" });
|
|
210
|
-
yield util_1.delay(2000);
|
|
209
|
+
const backendProcess = (0, child_process_1.spawn)("sudo", args, { stdio: "inherit" });
|
|
210
|
+
yield (0, util_1.delay)(2000);
|
|
211
211
|
if (backendProcess.signalCode) {
|
|
212
212
|
throw new Error(`Backend process terminated with code ${backendProcess.signalCode}. Please check your sudoers config, processCommand option and additionalArgs section`);
|
|
213
213
|
}
|
|
@@ -220,7 +220,7 @@ function testBackendStartup(username) {
|
|
|
220
220
|
wsConnected = true;
|
|
221
221
|
});
|
|
222
222
|
wsClient.connect(`ws://localhost:${port}`);
|
|
223
|
-
yield util_1.delay(1000);
|
|
223
|
+
yield (0, util_1.delay)(1000);
|
|
224
224
|
if (wsConnected) {
|
|
225
225
|
console.log(logSymbols.success, "Backend process accepted connection");
|
|
226
226
|
}
|
|
@@ -236,13 +236,13 @@ function testKillScript(username, existingProcess) {
|
|
|
236
236
|
throw new Error(`Backend process already killed, signal code ${existingProcess.signalCode}`);
|
|
237
237
|
}
|
|
238
238
|
const args = ["-u", `${username}`, config_1.ServerConfig.killCommand, `${existingProcess.pid}`];
|
|
239
|
-
util_1.verboseLog(`running sudo ${args.join(" ")}`);
|
|
240
|
-
const res = child_process_1.spawnSync("sudo", args);
|
|
239
|
+
(0, util_1.verboseLog)(`running sudo ${args.join(" ")}`);
|
|
240
|
+
const res = (0, child_process_1.spawnSync)("sudo", args);
|
|
241
241
|
if (res.status) {
|
|
242
242
|
throw new Error(`Cannot execute kill script (error status ${res.status}. Please check your killCommand option`);
|
|
243
243
|
}
|
|
244
244
|
// Delay to allow the parent process to exit
|
|
245
|
-
yield util_1.delay(1000);
|
|
245
|
+
yield (0, util_1.delay)(1000);
|
|
246
246
|
if (existingProcess.signalCode === "SIGKILL") {
|
|
247
247
|
console.log(logSymbols.success, "Backend process killed correctly");
|
|
248
248
|
}
|
package/dist/database.js
CHANGED
|
@@ -24,7 +24,7 @@ const preferenceSchema = require("../config/preference_schema_2.json");
|
|
|
24
24
|
const layoutSchema = require("../config/layout_schema_2.json");
|
|
25
25
|
const snippetSchema = require("../config/snippet_schema.json");
|
|
26
26
|
const ajv = new ajv_1.default({ useDefaults: true, strictTypes: false });
|
|
27
|
-
ajv_formats_1.default(ajv);
|
|
27
|
+
(0, ajv_formats_1.default)(ajv);
|
|
28
28
|
const validatePreferences = ajv.compile(preferenceSchema);
|
|
29
29
|
const validateLayout = ajv.compile(layoutSchema);
|
|
30
30
|
const validateSnippet = ajv.compile(snippetSchema);
|
|
@@ -72,7 +72,7 @@ function initDB() {
|
|
|
72
72
|
console.log(`Connected to server ${config_1.ServerConfig.database.uri} and database ${config_1.ServerConfig.database.databaseName}`);
|
|
73
73
|
}
|
|
74
74
|
catch (err) {
|
|
75
|
-
util_1.verboseError(err);
|
|
75
|
+
(0, util_1.verboseError)(err);
|
|
76
76
|
console.error("Error connecting to database");
|
|
77
77
|
process.exit(1);
|
|
78
78
|
}
|
|
@@ -102,7 +102,7 @@ function handleGetPreferences(req, res, next) {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
catch (err) {
|
|
105
|
-
util_1.verboseError(err);
|
|
105
|
+
(0, util_1.verboseError)(err);
|
|
106
106
|
return next({ statusCode: 500, message: "Problem retrieving preferences" });
|
|
107
107
|
}
|
|
108
108
|
});
|
|
@@ -137,7 +137,7 @@ function handleSetPreferences(req, res, next) {
|
|
|
137
137
|
}
|
|
138
138
|
}
|
|
139
139
|
catch (err) {
|
|
140
|
-
util_1.verboseError(err);
|
|
140
|
+
(0, util_1.verboseError)(err);
|
|
141
141
|
return next({ statusCode: 500, message: err.errmsg });
|
|
142
142
|
}
|
|
143
143
|
});
|
|
@@ -170,7 +170,7 @@ function handleClearPreferences(req, res, next) {
|
|
|
170
170
|
}
|
|
171
171
|
}
|
|
172
172
|
catch (err) {
|
|
173
|
-
util_1.verboseError(err);
|
|
173
|
+
(0, util_1.verboseError)(err);
|
|
174
174
|
return next({ statusCode: 500, message: "Problem clearing preferences" });
|
|
175
175
|
}
|
|
176
176
|
});
|
|
@@ -194,7 +194,7 @@ function handleGetLayouts(req, res, next) {
|
|
|
194
194
|
res.json({ success: true, layouts });
|
|
195
195
|
}
|
|
196
196
|
catch (err) {
|
|
197
|
-
util_1.verboseError(err);
|
|
197
|
+
(0, util_1.verboseError)(err);
|
|
198
198
|
return next({ statusCode: 500, message: "Problem retrieving layouts" });
|
|
199
199
|
}
|
|
200
200
|
});
|
|
@@ -229,7 +229,7 @@ function handleSetLayout(req, res, next) {
|
|
|
229
229
|
}
|
|
230
230
|
}
|
|
231
231
|
catch (err) {
|
|
232
|
-
util_1.verboseError(err);
|
|
232
|
+
(0, util_1.verboseError)(err);
|
|
233
233
|
return next({ statusCode: 500, message: err.errmsg });
|
|
234
234
|
}
|
|
235
235
|
});
|
|
@@ -278,7 +278,7 @@ function handleGetSnippets(req, res, next) {
|
|
|
278
278
|
res.json({ success: true, snippets });
|
|
279
279
|
}
|
|
280
280
|
catch (err) {
|
|
281
|
-
util_1.verboseError(err);
|
|
281
|
+
(0, util_1.verboseError)(err);
|
|
282
282
|
return next({ statusCode: 500, message: "Problem retrieving snippets" });
|
|
283
283
|
}
|
|
284
284
|
});
|
|
@@ -313,7 +313,7 @@ function handleSetSnippet(req, res, next) {
|
|
|
313
313
|
}
|
|
314
314
|
}
|
|
315
315
|
catch (err) {
|
|
316
|
-
util_1.verboseError(err);
|
|
316
|
+
(0, util_1.verboseError)(err);
|
|
317
317
|
return next({ statusCode: 500, message: err.errmsg });
|
|
318
318
|
}
|
|
319
319
|
});
|
package/dist/index.js
CHANGED
|
@@ -29,7 +29,7 @@ const config_1 = require("./config");
|
|
|
29
29
|
const controllerTests_1 = require("./controllerTests");
|
|
30
30
|
const logSymbols = require("log-symbols");
|
|
31
31
|
if (config_1.testUser) {
|
|
32
|
-
controllerTests_1.runTests(config_1.testUser).then(() => {
|
|
32
|
+
(0, controllerTests_1.runTests)(config_1.testUser).then(() => {
|
|
33
33
|
console.log(chalk.green.bold(`Controller tests with user ${config_1.testUser} succeeded`));
|
|
34
34
|
process.exit(0);
|
|
35
35
|
}, err => {
|
|
@@ -106,7 +106,7 @@ else {
|
|
|
106
106
|
app.use("/dashboard", express.static(path.join(__dirname, "../public")));
|
|
107
107
|
// Scripting proxy
|
|
108
108
|
const backendProxy = httpProxy.createServer({ ws: true });
|
|
109
|
-
app.post("/api/scripting/*", auth_1.authGuard, serverHandlers_1.createScriptingProxyHandler(backendProxy));
|
|
109
|
+
app.post("/api/scripting/*", auth_1.authGuard, (0, serverHandlers_1.createScriptingProxyHandler)(backendProxy));
|
|
110
110
|
// Simplified error handling
|
|
111
111
|
app.use((err, req, res, next) => {
|
|
112
112
|
err.statusCode = err.statusCode || 500;
|
|
@@ -118,7 +118,7 @@ else {
|
|
|
118
118
|
});
|
|
119
119
|
// Handle WS connections
|
|
120
120
|
const expressServer = http.createServer(app);
|
|
121
|
-
expressServer.on("upgrade", serverHandlers_1.createUpgradeHandler(backendProxy));
|
|
121
|
+
expressServer.on("upgrade", (0, serverHandlers_1.createUpgradeHandler)(backendProxy));
|
|
122
122
|
// Handle WS disconnects
|
|
123
123
|
backendProxy.on("error", (err) => {
|
|
124
124
|
// Ignore connection resets
|
|
@@ -132,7 +132,7 @@ else {
|
|
|
132
132
|
});
|
|
133
133
|
function init() {
|
|
134
134
|
return __awaiter(this, void 0, void 0, function* () {
|
|
135
|
-
yield database_1.initDB();
|
|
135
|
+
yield (0, database_1.initDB)();
|
|
136
136
|
const onListenStart = () => {
|
|
137
137
|
console.log(`Started listening for login requests on port ${config_1.ServerConfig.serverPort}`);
|
|
138
138
|
};
|
package/dist/serverHandlers.js
CHANGED
|
@@ -81,7 +81,7 @@ function nextAvailablePort() {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
catch (err) {
|
|
84
|
-
util_1.verboseError(err);
|
|
84
|
+
(0, util_1.verboseError)(err);
|
|
85
85
|
console.log(`Error checking status for port ${p}: ${err.message}`);
|
|
86
86
|
}
|
|
87
87
|
}
|
|
@@ -140,14 +140,14 @@ function handleStartServer(req, res, next) {
|
|
|
140
140
|
const existingProcess = processMap.get(username);
|
|
141
141
|
if (existingProcess) {
|
|
142
142
|
// Kill the process via the kill script
|
|
143
|
-
child_process_1.spawnSync("sudo", ["-u", `${username}`, config_1.ServerConfig.killCommand, `${existingProcess.process.pid}`]);
|
|
143
|
+
(0, child_process_1.spawnSync)("sudo", ["-u", `${username}`, config_1.ServerConfig.killCommand, `${existingProcess.process.pid}`]);
|
|
144
144
|
// Delay to allow the parent process to exit
|
|
145
|
-
yield util_1.delay(10);
|
|
145
|
+
yield (0, util_1.delay)(10);
|
|
146
146
|
deleteProcess(username);
|
|
147
147
|
}
|
|
148
148
|
}
|
|
149
149
|
catch (e) {
|
|
150
|
-
util_1.verboseError(e);
|
|
150
|
+
(0, util_1.verboseError)(e);
|
|
151
151
|
console.log(`Error killing existing process belonging to user ${username}`);
|
|
152
152
|
return next({ statusCode: 400, message: "Problem killing existing process" });
|
|
153
153
|
}
|
|
@@ -162,7 +162,7 @@ function handleStartServer(req, res, next) {
|
|
|
162
162
|
return res.json({ success: true });
|
|
163
163
|
}
|
|
164
164
|
catch (e) {
|
|
165
|
-
util_1.verboseError(e);
|
|
165
|
+
(0, util_1.verboseError)(e);
|
|
166
166
|
return next(e);
|
|
167
167
|
}
|
|
168
168
|
}
|
|
@@ -199,8 +199,8 @@ function startServer(username) {
|
|
|
199
199
|
}
|
|
200
200
|
// Finally, add the positional argument for the base folder
|
|
201
201
|
args.push(config_1.ServerConfig.baseFolderTemplate.replace("{username}", username));
|
|
202
|
-
const headerToken = uuid_1.v4();
|
|
203
|
-
const child = child_process_1.spawn("sudo", args, { env: { CARTA_AUTH_TOKEN: headerToken } });
|
|
202
|
+
const headerToken = (0, uuid_1.v4)();
|
|
203
|
+
const child = (0, child_process_1.spawn)("sudo", args, { env: { CARTA_AUTH_TOKEN: headerToken } });
|
|
204
204
|
setPendingProcess(username, port, headerToken, child);
|
|
205
205
|
let logLocation;
|
|
206
206
|
if (config_1.ServerConfig.logFileTemplate) {
|
|
@@ -219,7 +219,7 @@ function startServer(username) {
|
|
|
219
219
|
});
|
|
220
220
|
}
|
|
221
221
|
catch (err) {
|
|
222
|
-
util_1.verboseError(err);
|
|
222
|
+
(0, util_1.verboseError)(err);
|
|
223
223
|
console.error(`Could not create log file at ${logLocation}. Please ensure folder exists and permissions are set correctly`);
|
|
224
224
|
}
|
|
225
225
|
}
|
|
@@ -242,7 +242,7 @@ function startServer(username) {
|
|
|
242
242
|
logStream === null || logStream === void 0 ? void 0 : logStream.end();
|
|
243
243
|
});
|
|
244
244
|
// Check for early exit of backend process
|
|
245
|
-
yield util_1.delay(config_1.ServerConfig.startDelay);
|
|
245
|
+
yield (0, util_1.delay)(config_1.ServerConfig.startDelay);
|
|
246
246
|
if (child.exitCode || child.signalCode) {
|
|
247
247
|
throw { statusCode: 500, message: `Problem starting process for user ${username}` };
|
|
248
248
|
}
|
|
@@ -253,7 +253,7 @@ function startServer(username) {
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
catch (e) {
|
|
256
|
-
util_1.verboseError(e);
|
|
256
|
+
(0, util_1.verboseError)(e);
|
|
257
257
|
console.log(`Problem starting process for user ${username}`);
|
|
258
258
|
logStream === null || logStream === void 0 ? void 0 : logStream.end();
|
|
259
259
|
if (e.statusCode && e.message) {
|
|
@@ -276,9 +276,9 @@ function handleStopServer(req, res, next) {
|
|
|
276
276
|
if (existingProcess) {
|
|
277
277
|
existingProcess.process.removeAllListeners();
|
|
278
278
|
// Kill the process via the kill script
|
|
279
|
-
child_process_1.spawnSync("sudo", ["-u", `${req.username}`, config_1.ServerConfig.killCommand, `${existingProcess.process.pid}`]);
|
|
279
|
+
(0, child_process_1.spawnSync)("sudo", ["-u", `${req.username}`, config_1.ServerConfig.killCommand, `${existingProcess.process.pid}`]);
|
|
280
280
|
// Delay to allow the parent process to exit
|
|
281
|
-
yield util_1.delay(10);
|
|
281
|
+
yield (0, util_1.delay)(10);
|
|
282
282
|
console.log(`Process with PID ${existingProcess.process.pid} for user ${req.username} exited via stop request`);
|
|
283
283
|
deleteProcess(req.username);
|
|
284
284
|
res.json({ success: true });
|
|
@@ -288,7 +288,7 @@ function handleStopServer(req, res, next) {
|
|
|
288
288
|
}
|
|
289
289
|
}
|
|
290
290
|
catch (e) {
|
|
291
|
-
util_1.verboseError(e);
|
|
291
|
+
(0, util_1.verboseError)(e);
|
|
292
292
|
console.log(`Error killing existing process belonging to user ${req.username}`);
|
|
293
293
|
return next({ statusCode: 500, message: "Problem killing existing process" });
|
|
294
294
|
}
|
|
@@ -311,14 +311,14 @@ const createUpgradeHandler = (server) => (req, socket, head) => __awaiter(void 0
|
|
|
311
311
|
console.log(`Incoming Websocket upgrade request is missing an authentication token`);
|
|
312
312
|
return socket.end();
|
|
313
313
|
}
|
|
314
|
-
const token = yield auth_1.verifyToken(tokenString);
|
|
314
|
+
const token = yield (0, auth_1.verifyToken)(tokenString);
|
|
315
315
|
if (!token || !token.username) {
|
|
316
316
|
console.log(`Incoming Websocket upgrade request has an invalid token`);
|
|
317
317
|
return socket.end();
|
|
318
318
|
}
|
|
319
319
|
const remoteAddress = ((_a = req.headers) === null || _a === void 0 ? void 0 : _a["x-forwarded-for"]) || ((_b = req.connection) === null || _b === void 0 ? void 0 : _b.remoteAddress);
|
|
320
320
|
console.log(`WS upgrade request from ${remoteAddress} for authenticated user ${token.username}`);
|
|
321
|
-
const username = auth_1.getUser(token.username, token.iss);
|
|
321
|
+
const username = (0, auth_1.getUser)(token.username, token.iss);
|
|
322
322
|
if (!username) {
|
|
323
323
|
console.log(`Could not find username ${token.username} in the user map`);
|
|
324
324
|
return socket.end();
|
|
@@ -333,7 +333,7 @@ const createUpgradeHandler = (server) => (req, socket, head) => __awaiter(void 0
|
|
|
333
333
|
if (existingProcess && !existingProcess.process.signalCode) {
|
|
334
334
|
if (!existingProcess.ready) {
|
|
335
335
|
// Wait until existing process is ready
|
|
336
|
-
yield util_1.delay(config_1.ServerConfig.startDelay);
|
|
336
|
+
yield (0, util_1.delay)(config_1.ServerConfig.startDelay);
|
|
337
337
|
}
|
|
338
338
|
console.log(`Redirecting to backend process for ${username} (port ${existingProcess.port})`);
|
|
339
339
|
req.headers["carta-auth-token"] = existingProcess.headerToken;
|
|
@@ -373,7 +373,7 @@ const createScriptingProxyHandler = (server) => (req, res, next) => __awaiter(vo
|
|
|
373
373
|
if (existingProcess && !existingProcess.process.signalCode) {
|
|
374
374
|
if (!existingProcess.ready) {
|
|
375
375
|
// Wait until existing process is ready
|
|
376
|
-
yield util_1.delay(config_1.ServerConfig.startDelay);
|
|
376
|
+
yield (0, util_1.delay)(config_1.ServerConfig.startDelay);
|
|
377
377
|
}
|
|
378
378
|
req.headers["carta-auth-token"] = existingProcess.headerToken;
|
|
379
379
|
return server.web(req, res, { target: { host: "localhost", port: existingProcess.port } });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "carta-controller",
|
|
3
|
-
"version": "3.0.0-dev.
|
|
3
|
+
"version": "3.0.0-dev.20220301",
|
|
4
4
|
"description": "NodeJS-based controller for CARTA",
|
|
5
5
|
"repository": "https://github.com/CARTAvis/carta-controller",
|
|
6
6
|
"homepage": "https://www.cartavis.org",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"ajv-formats": "^2.1.0",
|
|
25
25
|
"body-parser": "^1.19.0",
|
|
26
26
|
"carta-frontend": "^3.0.0-dev.20220222",
|
|
27
|
-
"chalk": "^4.1.
|
|
27
|
+
"chalk": "^4.1.2",
|
|
28
28
|
"compression": "^1.7.4",
|
|
29
29
|
"cookie-parser": "^1.4.5",
|
|
30
30
|
"cors": "^2.8.5",
|