@mongodb-js/connection-form 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +557 -0
- package/dist/.esm-wrapper.mjs +5 -0
- package/dist/components/advanced-connection-options.d.ts +12 -0
- package/dist/components/advanced-connection-options.d.ts.map +1 -0
- package/dist/components/advanced-connection-options.js +29 -0
- package/dist/components/advanced-connection-options.js.map +1 -0
- package/dist/components/advanced-options-tabs/advanced-options-tabs.d.ts +11 -0
- package/dist/components/advanced-options-tabs/advanced-options-tabs.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/advanced-options-tabs.js +85 -0
- package/dist/components/advanced-options-tabs/advanced-options-tabs.js.map +1 -0
- package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.d.ts +13 -0
- package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.js +80 -0
- package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.js.map +1 -0
- package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.d.ts +9 -0
- package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.js +130 -0
- package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.js.map +1 -0
- package/dist/components/advanced-options-tabs/advanced-tab/url-options.d.ts +9 -0
- package/dist/components/advanced-options-tabs/advanced-tab/url-options.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/advanced-tab/url-options.js +25 -0
- package/dist/components/advanced-options-tabs/advanced-tab/url-options.js.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.d.ts +14 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.js +44 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.js.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-default.d.ts +11 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-default.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-default.js +103 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-default.js.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.d.ts +11 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.js +103 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.js.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.d.ts +13 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.js +36 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.js.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.d.ts +13 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.js +116 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.js.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-x509.d.ts +4 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-x509.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-x509.js +20 -0
- package/dist/components/advanced-options-tabs/authentication-tab/authentication-x509.js.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.d.ts +9 -0
- package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.js +49 -0
- package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.js.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/general-tab.d.ts +11 -0
- package/dist/components/advanced-options-tabs/general-tab/general-tab.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/general-tab.js +17 -0
- package/dist/components/advanced-options-tabs/general-tab/general-tab.js.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/host-input.d.ts +11 -0
- package/dist/components/advanced-options-tabs/general-tab/host-input.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/host-input.js +86 -0
- package/dist/components/advanced-options-tabs/general-tab/host-input.js.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/schema-input.d.ts +11 -0
- package/dist/components/advanced-options-tabs/general-tab/schema-input.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/schema-input.js +52 -0
- package/dist/components/advanced-options-tabs/general-tab/schema-input.js.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/scheme-input.d.ts +11 -0
- package/dist/components/advanced-options-tabs/general-tab/scheme-input.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/general-tab/scheme-input.js +52 -0
- package/dist/components/advanced-options-tabs/general-tab/scheme-input.js.map +1 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.d.ts +13 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.js +127 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.js.map +1 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/socks.d.ts +11 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/socks.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/socks.js +86 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/socks.js.map +1 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.d.ts +11 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.js +100 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.js.map +1 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.d.ts +11 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.js +82 -0
- package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.js.map +1 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.d.ts +9 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.js +22 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.js.map +1 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.d.ts +10 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.js +27 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.js.map +1 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.d.ts +11 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.d.ts.map +1 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.js +129 -0
- package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.js.map +1 -0
- package/dist/components/confirm-edit-connection-string.d.ts +8 -0
- package/dist/components/confirm-edit-connection-string.d.ts.map +1 -0
- package/dist/components/confirm-edit-connection-string.js +13 -0
- package/dist/components/confirm-edit-connection-string.js.map +1 -0
- package/dist/components/connect-form-actions.d.ts +11 -0
- package/dist/components/connect-form-actions.d.ts.map +1 -0
- package/dist/components/connect-form-actions.js +30 -0
- package/dist/components/connect-form-actions.js.map +1 -0
- package/dist/components/connect-form.d.ts +10 -0
- package/dist/components/connect-form.d.ts.map +1 -0
- package/dist/components/connect-form.js +166 -0
- package/dist/components/connect-form.js.map +1 -0
- package/dist/components/connection-string-input.d.ts +11 -0
- package/dist/components/connection-string-input.d.ts.map +1 -0
- package/dist/components/connection-string-input.js +118 -0
- package/dist/components/connection-string-input.js.map +1 -0
- package/dist/components/favorite-color-picker.d.ts +6 -0
- package/dist/components/favorite-color-picker.d.ts.map +1 -0
- package/dist/components/favorite-color-picker.js +79 -0
- package/dist/components/favorite-color-picker.js.map +1 -0
- package/dist/components/form-field-container.d.ts +7 -0
- package/dist/components/form-field-container.d.ts.map +1 -0
- package/dist/components/form-field-container.js +15 -0
- package/dist/components/form-field-container.js.map +1 -0
- package/dist/components/save-connection-modal.d.ts +10 -0
- package/dist/components/save-connection-modal.d.ts.map +1 -0
- package/dist/components/save-connection-modal.js +55 -0
- package/dist/components/save-connection-modal.js.map +1 -0
- package/dist/components/validation-summary.d.ts +12 -0
- package/dist/components/validation-summary.d.ts.map +1 -0
- package/dist/components/validation-summary.js +56 -0
- package/dist/components/validation-summary.js.map +1 -0
- package/dist/constants/default-connection.d.ts +6 -0
- package/dist/constants/default-connection.d.ts.map +1 -0
- package/dist/constants/default-connection.js +9 -0
- package/dist/constants/default-connection.js.map +1 -0
- package/dist/hooks/use-connect-form.d.ts +67 -0
- package/dist/hooks/use-connect-form.d.ts.map +1 -0
- package/dist/hooks/use-connect-form.js +373 -0
- package/dist/hooks/use-connect-form.js.map +1 -0
- package/dist/hooks/use-connection-color.d.ts +8 -0
- package/dist/hooks/use-connection-color.d.ts.map +1 -0
- package/dist/hooks/use-connection-color.js +59 -0
- package/dist/hooks/use-connection-color.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -0
- package/dist/utils/authentication-handler.d.ts +42 -0
- package/dist/utils/authentication-handler.d.ts.map +1 -0
- package/dist/utils/authentication-handler.js +96 -0
- package/dist/utils/authentication-handler.js.map +1 -0
- package/dist/utils/check-for-invalid-character-in-host.d.ts +2 -0
- package/dist/utils/check-for-invalid-character-in-host.d.ts.map +1 -0
- package/dist/utils/check-for-invalid-character-in-host.js +16 -0
- package/dist/utils/check-for-invalid-character-in-host.js.map +1 -0
- package/dist/utils/connection-ssh-handler.d.ts +15 -0
- package/dist/utils/connection-ssh-handler.d.ts.map +1 -0
- package/dist/utils/connection-ssh-handler.js +23 -0
- package/dist/utils/connection-ssh-handler.js.map +1 -0
- package/dist/utils/connection-string-helpers.d.ts +14 -0
- package/dist/utils/connection-string-helpers.d.ts.map +1 -0
- package/dist/utils/connection-string-helpers.js +65 -0
- package/dist/utils/connection-string-helpers.js.map +1 -0
- package/dist/utils/connection-string-schema.d.ts +3 -0
- package/dist/utils/connection-string-schema.d.ts.map +1 -0
- package/dist/utils/connection-string-schema.js +43 -0
- package/dist/utils/connection-string-schema.js.map +1 -0
- package/dist/utils/get-next-host.d.ts +2 -0
- package/dist/utils/get-next-host.d.ts.map +1 -0
- package/dist/utils/get-next-host.js +26 -0
- package/dist/utils/get-next-host.js.map +1 -0
- package/dist/utils/read-preferences.d.ts +8 -0
- package/dist/utils/read-preferences.d.ts.map +1 -0
- package/dist/utils/read-preferences.js +27 -0
- package/dist/utils/read-preferences.js.map +1 -0
- package/dist/utils/tls-handler.d.ts +29 -0
- package/dist/utils/tls-handler.d.ts.map +1 -0
- package/dist/utils/tls-handler.js +47 -0
- package/dist/utils/tls-handler.js.map +1 -0
- package/dist/utils/url-options.d.ts +10 -0
- package/dist/utils/url-options.d.ts.map +1 -0
- package/dist/utils/url-options.js +49 -0
- package/dist/utils/url-options.js.map +1 -0
- package/dist/utils/validation.d.ts +30 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +284 -0
- package/dist/utils/validation.js.map +1 -0
- package/package.json +89 -0
|
@@ -0,0 +1,373 @@
|
|
|
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.useConnectForm = exports.handleConnectionFormFieldUpdate = void 0;
|
|
7
|
+
const react_1 = require("react");
|
|
8
|
+
const lodash_1 = require("lodash");
|
|
9
|
+
const mongodb_connection_string_url_1 = __importDefault(require("mongodb-connection-string-url"));
|
|
10
|
+
const validation_1 = require("../utils/validation");
|
|
11
|
+
const get_next_host_1 = require("../utils/get-next-host");
|
|
12
|
+
const default_connection_1 = require("../constants/default-connection");
|
|
13
|
+
const check_for_invalid_character_in_host_1 = require("../utils/check-for-invalid-character-in-host");
|
|
14
|
+
const connection_string_schema_1 = require("../utils/connection-string-schema");
|
|
15
|
+
const connection_ssh_handler_1 = require("../utils/connection-ssh-handler");
|
|
16
|
+
const tls_handler_1 = require("../utils/tls-handler");
|
|
17
|
+
const authentication_handler_1 = require("../utils/authentication-handler");
|
|
18
|
+
const connection_string_helpers_1 = require("../utils/connection-string-helpers");
|
|
19
|
+
function connectFormReducer(state, action) {
|
|
20
|
+
switch (action.type) {
|
|
21
|
+
case 'set-connection-form-state':
|
|
22
|
+
return {
|
|
23
|
+
...state,
|
|
24
|
+
...action.newState,
|
|
25
|
+
};
|
|
26
|
+
case 'set-enable-editing-connection-string':
|
|
27
|
+
return {
|
|
28
|
+
...state,
|
|
29
|
+
enableEditingConnectionString: action.enableEditing,
|
|
30
|
+
};
|
|
31
|
+
case 'set-form-errors':
|
|
32
|
+
return {
|
|
33
|
+
...state,
|
|
34
|
+
errors: action.errors,
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
function parseConnectionString(connectionString) {
|
|
39
|
+
const [parsedConnectionString, parsingError] = (0, connection_string_helpers_1.tryToParseConnectionString)(connectionString);
|
|
40
|
+
return [
|
|
41
|
+
parsedConnectionString,
|
|
42
|
+
parsingError
|
|
43
|
+
? [
|
|
44
|
+
{
|
|
45
|
+
fieldName: 'connectionString',
|
|
46
|
+
fieldTab: 'general',
|
|
47
|
+
message: parsingError.message,
|
|
48
|
+
},
|
|
49
|
+
]
|
|
50
|
+
: [],
|
|
51
|
+
];
|
|
52
|
+
}
|
|
53
|
+
function buildStateFromConnectionInfo(initialConnectionInfo) {
|
|
54
|
+
const [, errors] = parseConnectionString(initialConnectionInfo.connectionOptions.connectionString);
|
|
55
|
+
return {
|
|
56
|
+
errors: errors,
|
|
57
|
+
enableEditingConnectionString: initialConnectionInfo.connectionOptions.connectionString ===
|
|
58
|
+
default_connection_1.defaultConnectionString && !initialConnectionInfo.lastUsed,
|
|
59
|
+
warnings: errors
|
|
60
|
+
? []
|
|
61
|
+
: (0, validation_1.validateConnectionOptionsWarnings)(initialConnectionInfo.connectionOptions),
|
|
62
|
+
connectionOptions: (0, lodash_1.cloneDeep)(initialConnectionInfo.connectionOptions),
|
|
63
|
+
isDirty: false,
|
|
64
|
+
};
|
|
65
|
+
}
|
|
66
|
+
function handleUpdateHost({ action, connectionStringUrl, connectionOptions, }) {
|
|
67
|
+
const { newHostValue, fieldIndex } = action;
|
|
68
|
+
try {
|
|
69
|
+
(0, check_for_invalid_character_in_host_1.checkForInvalidCharacterInHost)(newHostValue, connectionStringUrl.isSRV);
|
|
70
|
+
if (connectionStringUrl.hosts.length === 1 && newHostValue === '') {
|
|
71
|
+
throw new Error('Host cannot be empty. The host is the address hostname, IP address, or UNIX domain socket where the mongodb instance is running.');
|
|
72
|
+
}
|
|
73
|
+
const updatedConnectionString = connectionStringUrl.clone();
|
|
74
|
+
updatedConnectionString.hosts[fieldIndex] = newHostValue || '';
|
|
75
|
+
const newConnectionStringUrl = new mongodb_connection_string_url_1.default(updatedConnectionString.toString());
|
|
76
|
+
return {
|
|
77
|
+
connectionOptions: {
|
|
78
|
+
...(0, lodash_1.cloneDeep)(connectionOptions),
|
|
79
|
+
connectionString: newConnectionStringUrl.toString(),
|
|
80
|
+
},
|
|
81
|
+
errors: [],
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
return {
|
|
86
|
+
connectionOptions: {
|
|
87
|
+
...(0, lodash_1.cloneDeep)(connectionOptions),
|
|
88
|
+
connectionString: connectionStringUrl.toString(),
|
|
89
|
+
},
|
|
90
|
+
errors: [
|
|
91
|
+
{
|
|
92
|
+
fieldName: 'hosts',
|
|
93
|
+
fieldTab: 'general',
|
|
94
|
+
fieldIndex,
|
|
95
|
+
message: err.message,
|
|
96
|
+
},
|
|
97
|
+
],
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
function handleConnectionFormFieldUpdate(action, currentConnectionOptions) {
|
|
102
|
+
var _a;
|
|
103
|
+
if (action.type === 'update-connection-string') {
|
|
104
|
+
const [newParsedConnectionStringUrl, errors] = parseConnectionString(action.newConnectionStringValue);
|
|
105
|
+
return {
|
|
106
|
+
connectionOptions: {
|
|
107
|
+
...currentConnectionOptions,
|
|
108
|
+
connectionString: (newParsedConnectionStringUrl === null || newParsedConnectionStringUrl === void 0 ? void 0 : newParsedConnectionStringUrl.toString()) ||
|
|
109
|
+
action.newConnectionStringValue,
|
|
110
|
+
},
|
|
111
|
+
errors,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
const [parsedConnectionStringUrl, errors] = parseConnectionString(currentConnectionOptions.connectionString);
|
|
115
|
+
if (!parsedConnectionStringUrl) {
|
|
116
|
+
return {
|
|
117
|
+
connectionOptions: currentConnectionOptions,
|
|
118
|
+
errors: errors,
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
const updatedSearchParams = parsedConnectionStringUrl.typedSearchParams();
|
|
122
|
+
switch (action.type) {
|
|
123
|
+
case 'add-new-host': {
|
|
124
|
+
const { fieldIndexToAddAfter } = action;
|
|
125
|
+
const newHost = (0, get_next_host_1.getNextHost)(parsedConnectionStringUrl.hosts, fieldIndexToAddAfter);
|
|
126
|
+
parsedConnectionStringUrl.hosts.splice(fieldIndexToAddAfter + 1, 0, newHost);
|
|
127
|
+
if (updatedSearchParams.get('directConnection')) {
|
|
128
|
+
updatedSearchParams.delete('directConnection');
|
|
129
|
+
}
|
|
130
|
+
return {
|
|
131
|
+
connectionOptions: {
|
|
132
|
+
...currentConnectionOptions,
|
|
133
|
+
connectionString: parsedConnectionStringUrl.toString(),
|
|
134
|
+
},
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
case 'remove-host': {
|
|
138
|
+
const { fieldIndexToRemove } = action;
|
|
139
|
+
parsedConnectionStringUrl.hosts.splice(fieldIndexToRemove, 1);
|
|
140
|
+
if (parsedConnectionStringUrl.hosts.length === 1 &&
|
|
141
|
+
!parsedConnectionStringUrl.hosts[0]) {
|
|
142
|
+
parsedConnectionStringUrl.hosts[0] = `${default_connection_1.defaultHostname}:${default_connection_1.defaultPort}`;
|
|
143
|
+
}
|
|
144
|
+
return {
|
|
145
|
+
connectionOptions: {
|
|
146
|
+
...currentConnectionOptions,
|
|
147
|
+
connectionString: parsedConnectionStringUrl.toString(),
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
case 'update-tls': {
|
|
152
|
+
return (0, tls_handler_1.handleUpdateTls)({
|
|
153
|
+
action,
|
|
154
|
+
connectionStringUrl: parsedConnectionStringUrl,
|
|
155
|
+
connectionOptions: currentConnectionOptions,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
case 'update-tls-option': {
|
|
159
|
+
return (0, tls_handler_1.handleUpdateTlsOption)({
|
|
160
|
+
action,
|
|
161
|
+
connectionStringUrl: parsedConnectionStringUrl,
|
|
162
|
+
connectionOptions: currentConnectionOptions,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
case 'update-auth-mechanism': {
|
|
166
|
+
return (0, authentication_handler_1.handleUpdateAuthMechanism)({
|
|
167
|
+
action,
|
|
168
|
+
connectionStringUrl: parsedConnectionStringUrl,
|
|
169
|
+
connectionOptions: currentConnectionOptions,
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
case 'update-username': {
|
|
173
|
+
return (0, authentication_handler_1.handleUpdateUsername)({
|
|
174
|
+
action,
|
|
175
|
+
connectionStringUrl: parsedConnectionStringUrl,
|
|
176
|
+
connectionOptions: currentConnectionOptions,
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
case 'update-password': {
|
|
180
|
+
return (0, authentication_handler_1.handleUpdatePassword)({
|
|
181
|
+
action,
|
|
182
|
+
connectionStringUrl: parsedConnectionStringUrl,
|
|
183
|
+
connectionOptions: currentConnectionOptions,
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
case 'update-host': {
|
|
187
|
+
return handleUpdateHost({
|
|
188
|
+
action,
|
|
189
|
+
connectionStringUrl: parsedConnectionStringUrl,
|
|
190
|
+
connectionOptions: currentConnectionOptions,
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
case 'update-connection-schema': {
|
|
194
|
+
const { isSrv } = action;
|
|
195
|
+
try {
|
|
196
|
+
const newConnectionStringUrl = (0, connection_string_schema_1.tryUpdateConnectionStringSchema)(parsedConnectionStringUrl, isSrv);
|
|
197
|
+
return {
|
|
198
|
+
connectionOptions: {
|
|
199
|
+
...currentConnectionOptions,
|
|
200
|
+
connectionString: newConnectionStringUrl.toString(),
|
|
201
|
+
},
|
|
202
|
+
errors: [],
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
catch (err) {
|
|
206
|
+
return {
|
|
207
|
+
connectionOptions: {
|
|
208
|
+
...currentConnectionOptions,
|
|
209
|
+
},
|
|
210
|
+
errors: [
|
|
211
|
+
{
|
|
212
|
+
fieldName: 'isSrv',
|
|
213
|
+
fieldTab: 'general',
|
|
214
|
+
message: `Error updating connection schema: ${err.message}`,
|
|
215
|
+
},
|
|
216
|
+
],
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
case 'update-ssh-options': {
|
|
221
|
+
return (0, connection_ssh_handler_1.handleUpdateSshOptions)({
|
|
222
|
+
action,
|
|
223
|
+
connectionOptions: currentConnectionOptions,
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
case 'update-search-param': {
|
|
227
|
+
if (action.newKey) {
|
|
228
|
+
const newValue = (_a = action.value) !== null && _a !== void 0 ? _a : updatedSearchParams.get(action.currentKey);
|
|
229
|
+
updatedSearchParams.delete(action.currentKey);
|
|
230
|
+
updatedSearchParams.set(action.newKey, newValue);
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
updatedSearchParams.set(action.currentKey, action.value);
|
|
234
|
+
}
|
|
235
|
+
return {
|
|
236
|
+
connectionOptions: {
|
|
237
|
+
...currentConnectionOptions,
|
|
238
|
+
connectionString: parsedConnectionStringUrl.toString(),
|
|
239
|
+
},
|
|
240
|
+
};
|
|
241
|
+
}
|
|
242
|
+
case 'update-auth-mechanism-property': {
|
|
243
|
+
const authMechanismProperties = (0, connection_string_helpers_1.parseAuthMechanismProperties)(parsedConnectionStringUrl);
|
|
244
|
+
if (action.value) {
|
|
245
|
+
authMechanismProperties.set(action.key, action.value);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
authMechanismProperties.delete(action.key);
|
|
249
|
+
}
|
|
250
|
+
const authMechanismPropertiesString = authMechanismProperties.toString();
|
|
251
|
+
if (authMechanismPropertiesString) {
|
|
252
|
+
updatedSearchParams.set('authMechanismProperties', authMechanismPropertiesString);
|
|
253
|
+
}
|
|
254
|
+
else {
|
|
255
|
+
updatedSearchParams.delete('authMechanismProperties');
|
|
256
|
+
}
|
|
257
|
+
return {
|
|
258
|
+
connectionOptions: {
|
|
259
|
+
...currentConnectionOptions,
|
|
260
|
+
connectionString: parsedConnectionStringUrl.toString(),
|
|
261
|
+
},
|
|
262
|
+
};
|
|
263
|
+
}
|
|
264
|
+
case 'delete-search-param': {
|
|
265
|
+
updatedSearchParams.delete(action.key);
|
|
266
|
+
return {
|
|
267
|
+
connectionOptions: {
|
|
268
|
+
...currentConnectionOptions,
|
|
269
|
+
connectionString: parsedConnectionStringUrl.toString(),
|
|
270
|
+
},
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
case 'update-connection-path': {
|
|
274
|
+
parsedConnectionStringUrl.pathname = action.value;
|
|
275
|
+
return {
|
|
276
|
+
connectionOptions: {
|
|
277
|
+
...currentConnectionOptions,
|
|
278
|
+
connectionString: parsedConnectionStringUrl.toString(),
|
|
279
|
+
},
|
|
280
|
+
};
|
|
281
|
+
}
|
|
282
|
+
case 'remove-proxy-options': {
|
|
283
|
+
const proxyOptions = [
|
|
284
|
+
'proxyHost',
|
|
285
|
+
'proxyPort',
|
|
286
|
+
'proxyPassword',
|
|
287
|
+
'proxyUsername',
|
|
288
|
+
];
|
|
289
|
+
proxyOptions.forEach((key) => updatedSearchParams.delete(key));
|
|
290
|
+
return {
|
|
291
|
+
connectionOptions: {
|
|
292
|
+
...currentConnectionOptions,
|
|
293
|
+
connectionString: parsedConnectionStringUrl.toString(),
|
|
294
|
+
},
|
|
295
|
+
};
|
|
296
|
+
}
|
|
297
|
+
case 'remove-ssh-options': {
|
|
298
|
+
return {
|
|
299
|
+
connectionOptions: {
|
|
300
|
+
...currentConnectionOptions,
|
|
301
|
+
sshTunnel: undefined,
|
|
302
|
+
},
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
exports.handleConnectionFormFieldUpdate = handleConnectionFormFieldUpdate;
|
|
308
|
+
function useConnectForm(initialConnectionInfo, connectionErrorMessage) {
|
|
309
|
+
const [state, dispatch] = (0, react_1.useReducer)(connectFormReducer, initialConnectionInfo, buildStateFromConnectionInfo);
|
|
310
|
+
const setErrors = (0, react_1.useCallback)((errors) => {
|
|
311
|
+
dispatch({
|
|
312
|
+
type: 'set-form-errors',
|
|
313
|
+
errors,
|
|
314
|
+
});
|
|
315
|
+
}, []);
|
|
316
|
+
const setEnableEditingConnectionString = (0, react_1.useCallback)((enableEditing) => {
|
|
317
|
+
dispatch({
|
|
318
|
+
type: 'set-enable-editing-connection-string',
|
|
319
|
+
enableEditing,
|
|
320
|
+
});
|
|
321
|
+
}, []);
|
|
322
|
+
const updateConnectionFormField = (0, react_1.useCallback)((action) => {
|
|
323
|
+
const updatedState = handleConnectionFormFieldUpdate(action, state.connectionOptions);
|
|
324
|
+
dispatch({
|
|
325
|
+
type: 'set-connection-form-state',
|
|
326
|
+
newState: {
|
|
327
|
+
...state,
|
|
328
|
+
errors: [],
|
|
329
|
+
...updatedState,
|
|
330
|
+
warnings: updatedState.errors && updatedState.errors.length > 0
|
|
331
|
+
? []
|
|
332
|
+
: (0, validation_1.validateConnectionOptionsWarnings)(updatedState.connectionOptions),
|
|
333
|
+
isDirty: !(0, lodash_1.isEqual)(updatedState.connectionOptions, state.connectionOptions),
|
|
334
|
+
},
|
|
335
|
+
});
|
|
336
|
+
}, [state]);
|
|
337
|
+
setInitialState({
|
|
338
|
+
connectionErrorMessage,
|
|
339
|
+
initialConnectionInfo,
|
|
340
|
+
setErrors,
|
|
341
|
+
dispatch,
|
|
342
|
+
});
|
|
343
|
+
return [
|
|
344
|
+
state,
|
|
345
|
+
{
|
|
346
|
+
updateConnectionFormField,
|
|
347
|
+
setEnableEditingConnectionString,
|
|
348
|
+
setErrors,
|
|
349
|
+
},
|
|
350
|
+
];
|
|
351
|
+
}
|
|
352
|
+
exports.useConnectForm = useConnectForm;
|
|
353
|
+
function setInitialState({ connectionErrorMessage, initialConnectionInfo, setErrors, dispatch, }) {
|
|
354
|
+
(0, react_1.useEffect)(() => {
|
|
355
|
+
const { errors, enableEditingConnectionString, warnings, connectionOptions, } = buildStateFromConnectionInfo(initialConnectionInfo);
|
|
356
|
+
dispatch({
|
|
357
|
+
type: 'set-connection-form-state',
|
|
358
|
+
newState: {
|
|
359
|
+
errors,
|
|
360
|
+
enableEditingConnectionString,
|
|
361
|
+
warnings,
|
|
362
|
+
connectionOptions,
|
|
363
|
+
isDirty: false,
|
|
364
|
+
},
|
|
365
|
+
});
|
|
366
|
+
}, [initialConnectionInfo]);
|
|
367
|
+
(0, react_1.useEffect)(() => {
|
|
368
|
+
if (connectionErrorMessage) {
|
|
369
|
+
setErrors([{ message: connectionErrorMessage }]);
|
|
370
|
+
}
|
|
371
|
+
}, [setErrors, connectionErrorMessage]);
|
|
372
|
+
}
|
|
373
|
+
//# sourceMappingURL=use-connect-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-connect-form.js","sourceRoot":"","sources":["../../src/hooks/use-connect-form.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare type ColorCode = `color${1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10}`;
|
|
2
|
+
export declare const CONNECTION_COLOR_CODES: ("color5" | "color1" | "color2" | "color4" | "color8" | "color7" | "color3" | "color6" | "color9" | "color10")[];
|
|
3
|
+
export declare function legacyColorsToColorCode(hexOrColorCode: string | undefined): ColorCode | undefined;
|
|
4
|
+
export declare function useConnectionColor(): {
|
|
5
|
+
connectionColorToHex: (colorCode: string | undefined) => string | undefined;
|
|
6
|
+
};
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=use-connection-color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-connection-color.d.ts","sourceRoot":"","sources":["../../src/hooks/use-connection-color.ts"],"names":[],"mappings":"AAEA,aAAK,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC;AA4BlE,eAAO,MAAM,sBAAsB,kHAEnB,CAAC;AAMjB,wBAAgB,uBAAuB,CACrC,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,SAAS,GAAG,SAAS,CAUvB;AAED,wBAAgB,kBAAkB,IAAI;IACpC,oBAAoB,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,SAAS,CAAC;CAC7E,CAoBA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.useConnectionColor = exports.legacyColorsToColorCode = exports.CONNECTION_COLOR_CODES = void 0;
|
|
4
|
+
const react_1 = require("react");
|
|
5
|
+
const COLOR_CODES_TO_UI_COLORS_DARK_THEME_MAP = {
|
|
6
|
+
color1: '#00A35C',
|
|
7
|
+
color2: '#71F6BA',
|
|
8
|
+
color3: '#016BF8',
|
|
9
|
+
color4: '#0498EC',
|
|
10
|
+
color5: '#FFC010',
|
|
11
|
+
color6: '#EF5752',
|
|
12
|
+
color7: '#B45AF2',
|
|
13
|
+
color8: '#F1D4FD',
|
|
14
|
+
color9: '#889397',
|
|
15
|
+
color10: '#C1C7C6',
|
|
16
|
+
};
|
|
17
|
+
const LEGACY_COLORS_TO_COLOR_CODE_MAP = {
|
|
18
|
+
'#5fc86e': 'color1',
|
|
19
|
+
'#326fde': 'color2',
|
|
20
|
+
'#deb342': 'color3',
|
|
21
|
+
'#d4366e': 'color4',
|
|
22
|
+
'#59c1e2': 'color5',
|
|
23
|
+
'#2c5f4a': 'color6',
|
|
24
|
+
'#d66531': 'color7',
|
|
25
|
+
'#773819': 'color8',
|
|
26
|
+
'#3b8196': 'color9',
|
|
27
|
+
'#ababab': 'color10',
|
|
28
|
+
};
|
|
29
|
+
exports.CONNECTION_COLOR_CODES = Object.keys(COLOR_CODES_TO_UI_COLORS_DARK_THEME_MAP);
|
|
30
|
+
function isColorCode(hexOrColorCode) {
|
|
31
|
+
return exports.CONNECTION_COLOR_CODES.includes(hexOrColorCode);
|
|
32
|
+
}
|
|
33
|
+
function legacyColorsToColorCode(hexOrColorCode) {
|
|
34
|
+
if (!hexOrColorCode) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (isColorCode(hexOrColorCode)) {
|
|
38
|
+
return hexOrColorCode;
|
|
39
|
+
}
|
|
40
|
+
return LEGACY_COLORS_TO_COLOR_CODE_MAP[hexOrColorCode];
|
|
41
|
+
}
|
|
42
|
+
exports.legacyColorsToColorCode = legacyColorsToColorCode;
|
|
43
|
+
function useConnectionColor() {
|
|
44
|
+
const colorCodeToHex = (0, react_1.useCallback)((colorCode) => {
|
|
45
|
+
if (!colorCode) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const migratedColor = legacyColorsToColorCode(colorCode);
|
|
49
|
+
if (!migratedColor) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
return COLOR_CODES_TO_UI_COLORS_DARK_THEME_MAP[migratedColor];
|
|
53
|
+
}, []);
|
|
54
|
+
return {
|
|
55
|
+
connectionColorToHex: colorCodeToHex,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
exports.useConnectionColor = useConnectionColor;
|
|
59
|
+
//# sourceMappingURL=use-connection-color.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-connection-color.js","sourceRoot":"","sources":["../../src/hooks/use-connection-color.ts"],"names":[],"mappings":";;;AAAA,iCAAoC;AAIpC,MAAM,uCAAuC,GAA8B;IACzE,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;CACnB,CAAC;AAEF,MAAM,+BAA+B,GAA8B;IACjE,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,QAAQ;IACnB,SAAS,EAAE,SAAS;CACrB,CAAC;AAEW,QAAA,sBAAsB,GAAG,MAAM,CAAC,IAAI,CAC/C,uCAAuC,CACzB,CAAC;AAEjB,SAAS,WAAW,CAAC,cAAkC;IACrD,OAAO,8BAAsB,CAAC,QAAQ,CAAC,cAA2B,CAAC,CAAC;AACtE,CAAC;AAED,SAAgB,uBAAuB,CACrC,cAAkC;IAElC,IAAI,CAAC,cAAc,EAAE;QACnB,OAAO;KACR;IAED,IAAI,WAAW,CAAC,cAAc,CAAC,EAAE;QAC/B,OAAO,cAA2B,CAAC;KACpC;IAED,OAAO,+BAA+B,CAAC,cAAc,CAAC,CAAC;AACzD,CAAC;AAZD,0DAYC;AAED,SAAgB,kBAAkB;IAGhC,MAAM,cAAc,GAAG,IAAA,mBAAW,EAChC,CAAC,SAA6B,EAAsB,EAAE;QACpD,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,MAAM,aAAa,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO;SACR;QAED,OAAO,uCAAuC,CAAC,aAAa,CAAC,CAAC;IAChE,CAAC,EACD,EAAE,CACH,CAAC;IAEF,OAAO;QACL,oBAAoB,EAAE,cAAc;KACrC,CAAC;AACJ,CAAC;AAtBD,gDAsBC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import ConnectionForm from './components/connect-form';
|
|
2
|
+
import SaveConnectionModal from './components/save-connection-modal';
|
|
3
|
+
import { useConnectionColor } from './hooks/use-connection-color';
|
|
4
|
+
export { SaveConnectionModal, useConnectionColor };
|
|
5
|
+
export default ConnectionForm;
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,2BAA2B,CAAC;AACvD,OAAO,mBAAmB,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,CAAC;AACnD,eAAe,cAAc,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
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.useConnectionColor = exports.SaveConnectionModal = void 0;
|
|
7
|
+
const connect_form_1 = __importDefault(require("./components/connect-form"));
|
|
8
|
+
const save_connection_modal_1 = __importDefault(require("./components/save-connection-modal"));
|
|
9
|
+
exports.SaveConnectionModal = save_connection_modal_1.default;
|
|
10
|
+
const use_connection_color_1 = require("./hooks/use-connection-color");
|
|
11
|
+
Object.defineProperty(exports, "useConnectionColor", { enumerable: true, get: function () { return use_connection_color_1.useConnectionColor; } });
|
|
12
|
+
use_connection_color_1.useConnectionColor;
|
|
13
|
+
exports.default = connect_form_1.default;
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAAA,6EAAuD;AACvD,+FAAqE;AAG5D,8BAHF,+BAAmB,CAGE;AAF5B,uEAAkE;AAEpC,mGAFrB,yCAAkB,OAEqB;AADhD,yCAAkB,CAAC;AAEnB,kBAAe,sBAAc,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { AuthMechanism } from 'mongodb';
|
|
2
|
+
import type ConnectionStringUrl from 'mongodb-connection-string-url';
|
|
3
|
+
import type { ConnectionOptions } from 'mongodb-data-service';
|
|
4
|
+
import type { ConnectionFormError } from './validation';
|
|
5
|
+
export declare type UpdateAuthMechanismAction = {
|
|
6
|
+
type: 'update-auth-mechanism';
|
|
7
|
+
authMechanism: AuthMechanism | null;
|
|
8
|
+
};
|
|
9
|
+
export declare type UpdateUsernameAction = {
|
|
10
|
+
type: 'update-username';
|
|
11
|
+
username: string;
|
|
12
|
+
};
|
|
13
|
+
export declare type UpdatePasswordAction = {
|
|
14
|
+
type: 'update-password';
|
|
15
|
+
password: string;
|
|
16
|
+
};
|
|
17
|
+
export declare function getConnectionUrlWithoutAuth(connectionStringUrl: ConnectionStringUrl): ConnectionStringUrl;
|
|
18
|
+
export declare function handleUpdateAuthMechanism({ action, connectionStringUrl, connectionOptions, }: {
|
|
19
|
+
action: UpdateAuthMechanismAction;
|
|
20
|
+
connectionStringUrl: ConnectionStringUrl;
|
|
21
|
+
connectionOptions: ConnectionOptions;
|
|
22
|
+
}): {
|
|
23
|
+
connectionOptions: ConnectionOptions;
|
|
24
|
+
errors?: ConnectionFormError[];
|
|
25
|
+
};
|
|
26
|
+
export declare function handleUpdateUsername({ action, connectionStringUrl, connectionOptions, }: {
|
|
27
|
+
action: UpdateUsernameAction;
|
|
28
|
+
connectionStringUrl: ConnectionStringUrl;
|
|
29
|
+
connectionOptions: ConnectionOptions;
|
|
30
|
+
}): {
|
|
31
|
+
connectionOptions: ConnectionOptions;
|
|
32
|
+
errors?: ConnectionFormError[];
|
|
33
|
+
};
|
|
34
|
+
export declare function handleUpdatePassword({ action, connectionStringUrl, connectionOptions, }: {
|
|
35
|
+
action: UpdatePasswordAction;
|
|
36
|
+
connectionStringUrl: ConnectionStringUrl;
|
|
37
|
+
connectionOptions: ConnectionOptions;
|
|
38
|
+
}): {
|
|
39
|
+
connectionOptions: ConnectionOptions;
|
|
40
|
+
errors?: ConnectionFormError[];
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=authentication-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication-handler.d.ts","sourceRoot":"","sources":["../../src/utils/authentication-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAQxD,oBAAY,yBAAyB,GAAG;IACtC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;CACrC,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,oBAAY,oBAAoB,GAAG;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,GACvC,mBAAmB,CAkBrB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,MAAM,EACN,mBAAmB,EACnB,iBAAiB,GAClB,EAAE;IACD,MAAM,EAAE,yBAAyB,CAAC;IAClC,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,GAAG;IACF,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChC,CAuBA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,mBAAmB,EACnB,iBAAiB,GAClB,EAAE;IACD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,GAAG;IACF,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChC,CA+BA;AAED,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,mBAAmB,EACnB,iBAAiB,GAClB,EAAE;IACD,MAAM,EAAE,oBAAoB,CAAC;IAC7B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,GAAG;IACF,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,MAAM,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAChC,CA0CA"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.handleUpdatePassword = exports.handleUpdateUsername = exports.handleUpdateAuthMechanism = exports.getConnectionUrlWithoutAuth = void 0;
|
|
4
|
+
const connection_string_helpers_1 = require("./connection-string-helpers");
|
|
5
|
+
const lodash_1 = require("lodash");
|
|
6
|
+
function getConnectionUrlWithoutAuth(connectionStringUrl) {
|
|
7
|
+
const updatedConnectionString = connectionStringUrl.clone();
|
|
8
|
+
const updatedSearchParams = updatedConnectionString.typedSearchParams();
|
|
9
|
+
updatedSearchParams.delete('authMechanism');
|
|
10
|
+
updatedConnectionString.password = '';
|
|
11
|
+
updatedConnectionString.username = '';
|
|
12
|
+
updatedSearchParams.delete('authMechanismProperties');
|
|
13
|
+
updatedSearchParams.delete('gssapiServiceName');
|
|
14
|
+
updatedSearchParams.delete('authSource');
|
|
15
|
+
return updatedConnectionString;
|
|
16
|
+
}
|
|
17
|
+
exports.getConnectionUrlWithoutAuth = getConnectionUrlWithoutAuth;
|
|
18
|
+
function handleUpdateAuthMechanism({ action, connectionStringUrl, connectionOptions, }) {
|
|
19
|
+
const updatedConnectionString = getConnectionUrlWithoutAuth(connectionStringUrl);
|
|
20
|
+
const updatedSearchParams = updatedConnectionString.typedSearchParams();
|
|
21
|
+
if (action.authMechanism) {
|
|
22
|
+
updatedSearchParams.set('authMechanism', action.authMechanism);
|
|
23
|
+
if (['MONGODB-AWS', 'GSSAPI', 'PLAIN', 'MONGODB-X509'].includes(action.authMechanism)) {
|
|
24
|
+
updatedSearchParams.set('authSource', '$external');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
connectionOptions: {
|
|
29
|
+
...(0, lodash_1.cloneDeep)(connectionOptions),
|
|
30
|
+
connectionString: updatedConnectionString.toString(),
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
exports.handleUpdateAuthMechanism = handleUpdateAuthMechanism;
|
|
35
|
+
function handleUpdateUsername({ action, connectionStringUrl, connectionOptions, }) {
|
|
36
|
+
const updatedConnectionString = (0, connection_string_helpers_1.setConnectionStringUsername)(connectionStringUrl, action.username);
|
|
37
|
+
const [, parsingError] = (0, connection_string_helpers_1.tryToParseConnectionString)(updatedConnectionString.toString());
|
|
38
|
+
if (parsingError) {
|
|
39
|
+
return {
|
|
40
|
+
connectionOptions,
|
|
41
|
+
errors: [
|
|
42
|
+
{
|
|
43
|
+
fieldName: 'username',
|
|
44
|
+
fieldTab: 'authentication',
|
|
45
|
+
message: action.username
|
|
46
|
+
? parsingError.message
|
|
47
|
+
: `Username cannot be empty: "${parsingError.message}"`,
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
connectionOptions: {
|
|
54
|
+
...(0, lodash_1.cloneDeep)(connectionOptions),
|
|
55
|
+
connectionString: updatedConnectionString.toString(),
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
exports.handleUpdateUsername = handleUpdateUsername;
|
|
60
|
+
function handleUpdatePassword({ action, connectionStringUrl, connectionOptions, }) {
|
|
61
|
+
const updatedConnectionString = (0, connection_string_helpers_1.setConnectionStringPassword)(connectionStringUrl, action.password);
|
|
62
|
+
const [, parsingError] = (0, connection_string_helpers_1.tryToParseConnectionString)(updatedConnectionString.toString());
|
|
63
|
+
if (parsingError) {
|
|
64
|
+
return {
|
|
65
|
+
connectionOptions,
|
|
66
|
+
errors: connectionStringUrl.username
|
|
67
|
+
? [
|
|
68
|
+
{
|
|
69
|
+
fieldName: 'password',
|
|
70
|
+
fieldTab: 'authentication',
|
|
71
|
+
message: parsingError.message,
|
|
72
|
+
},
|
|
73
|
+
]
|
|
74
|
+
: [
|
|
75
|
+
{
|
|
76
|
+
fieldName: 'username',
|
|
77
|
+
fieldTab: 'authentication',
|
|
78
|
+
message: `Username cannot be empty: "${parsingError.message}"`,
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
fieldName: 'password',
|
|
82
|
+
fieldTab: 'authentication',
|
|
83
|
+
message: 'Please enter a username first',
|
|
84
|
+
},
|
|
85
|
+
],
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
return {
|
|
89
|
+
connectionOptions: {
|
|
90
|
+
...(0, lodash_1.cloneDeep)(connectionOptions),
|
|
91
|
+
connectionString: updatedConnectionString.toString(),
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
exports.handleUpdatePassword = handleUpdatePassword;
|
|
96
|
+
//# sourceMappingURL=authentication-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication-handler.js","sourceRoot":"","sources":["../../src/utils/authentication-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-for-invalid-character-in-host.d.ts","sourceRoot":"","sources":["../../src/utils/check-for-invalid-character-in-host.ts"],"names":[],"mappings":"AAGA,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,IAAI,CAWN"}
|