@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.
Files changed (183) hide show
  1. package/LICENSE +557 -0
  2. package/dist/.esm-wrapper.mjs +5 -0
  3. package/dist/components/advanced-connection-options.d.ts +12 -0
  4. package/dist/components/advanced-connection-options.d.ts.map +1 -0
  5. package/dist/components/advanced-connection-options.js +29 -0
  6. package/dist/components/advanced-connection-options.js.map +1 -0
  7. package/dist/components/advanced-options-tabs/advanced-options-tabs.d.ts +11 -0
  8. package/dist/components/advanced-options-tabs/advanced-options-tabs.d.ts.map +1 -0
  9. package/dist/components/advanced-options-tabs/advanced-options-tabs.js +85 -0
  10. package/dist/components/advanced-options-tabs/advanced-options-tabs.js.map +1 -0
  11. package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.d.ts +13 -0
  12. package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.d.ts.map +1 -0
  13. package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.js +80 -0
  14. package/dist/components/advanced-options-tabs/advanced-tab/advanced-tab.js.map +1 -0
  15. package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.d.ts +9 -0
  16. package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.d.ts.map +1 -0
  17. package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.js +130 -0
  18. package/dist/components/advanced-options-tabs/advanced-tab/url-options-table.js.map +1 -0
  19. package/dist/components/advanced-options-tabs/advanced-tab/url-options.d.ts +9 -0
  20. package/dist/components/advanced-options-tabs/advanced-tab/url-options.d.ts.map +1 -0
  21. package/dist/components/advanced-options-tabs/advanced-tab/url-options.js +25 -0
  22. package/dist/components/advanced-options-tabs/advanced-tab/url-options.js.map +1 -0
  23. package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.d.ts +14 -0
  24. package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.d.ts.map +1 -0
  25. package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.js +44 -0
  26. package/dist/components/advanced-options-tabs/authentication-tab/authentication-aws.js.map +1 -0
  27. package/dist/components/advanced-options-tabs/authentication-tab/authentication-default.d.ts +11 -0
  28. package/dist/components/advanced-options-tabs/authentication-tab/authentication-default.d.ts.map +1 -0
  29. package/dist/components/advanced-options-tabs/authentication-tab/authentication-default.js +103 -0
  30. package/dist/components/advanced-options-tabs/authentication-tab/authentication-default.js.map +1 -0
  31. package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.d.ts +11 -0
  32. package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.d.ts.map +1 -0
  33. package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.js +103 -0
  34. package/dist/components/advanced-options-tabs/authentication-tab/authentication-gssapi.js.map +1 -0
  35. package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.d.ts +13 -0
  36. package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.d.ts.map +1 -0
  37. package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.js +36 -0
  38. package/dist/components/advanced-options-tabs/authentication-tab/authentication-plain.js.map +1 -0
  39. package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.d.ts +13 -0
  40. package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.d.ts.map +1 -0
  41. package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.js +116 -0
  42. package/dist/components/advanced-options-tabs/authentication-tab/authentication-tab.js.map +1 -0
  43. package/dist/components/advanced-options-tabs/authentication-tab/authentication-x509.d.ts +4 -0
  44. package/dist/components/advanced-options-tabs/authentication-tab/authentication-x509.d.ts.map +1 -0
  45. package/dist/components/advanced-options-tabs/authentication-tab/authentication-x509.js +20 -0
  46. package/dist/components/advanced-options-tabs/authentication-tab/authentication-x509.js.map +1 -0
  47. package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.d.ts +9 -0
  48. package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.d.ts.map +1 -0
  49. package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.js +49 -0
  50. package/dist/components/advanced-options-tabs/general-tab/direct-connection-input.js.map +1 -0
  51. package/dist/components/advanced-options-tabs/general-tab/general-tab.d.ts +11 -0
  52. package/dist/components/advanced-options-tabs/general-tab/general-tab.d.ts.map +1 -0
  53. package/dist/components/advanced-options-tabs/general-tab/general-tab.js +17 -0
  54. package/dist/components/advanced-options-tabs/general-tab/general-tab.js.map +1 -0
  55. package/dist/components/advanced-options-tabs/general-tab/host-input.d.ts +11 -0
  56. package/dist/components/advanced-options-tabs/general-tab/host-input.d.ts.map +1 -0
  57. package/dist/components/advanced-options-tabs/general-tab/host-input.js +86 -0
  58. package/dist/components/advanced-options-tabs/general-tab/host-input.js.map +1 -0
  59. package/dist/components/advanced-options-tabs/general-tab/schema-input.d.ts +11 -0
  60. package/dist/components/advanced-options-tabs/general-tab/schema-input.d.ts.map +1 -0
  61. package/dist/components/advanced-options-tabs/general-tab/schema-input.js +52 -0
  62. package/dist/components/advanced-options-tabs/general-tab/schema-input.js.map +1 -0
  63. package/dist/components/advanced-options-tabs/general-tab/scheme-input.d.ts +11 -0
  64. package/dist/components/advanced-options-tabs/general-tab/scheme-input.d.ts.map +1 -0
  65. package/dist/components/advanced-options-tabs/general-tab/scheme-input.js +52 -0
  66. package/dist/components/advanced-options-tabs/general-tab/scheme-input.js.map +1 -0
  67. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.d.ts +13 -0
  68. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.d.ts.map +1 -0
  69. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.js +127 -0
  70. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/proxy-and-ssh-tunnel-tab.js.map +1 -0
  71. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/socks.d.ts +11 -0
  72. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/socks.d.ts.map +1 -0
  73. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/socks.js +86 -0
  74. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/socks.js.map +1 -0
  75. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.d.ts +11 -0
  76. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.d.ts.map +1 -0
  77. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.js +100 -0
  78. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-identity.js.map +1 -0
  79. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.d.ts +11 -0
  80. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.d.ts.map +1 -0
  81. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.js +82 -0
  82. package/dist/components/advanced-options-tabs/ssh-tunnel-tab/ssh-tunnel-password.js.map +1 -0
  83. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.d.ts +9 -0
  84. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.d.ts.map +1 -0
  85. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.js +22 -0
  86. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-certificate-authority.js.map +1 -0
  87. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.d.ts +10 -0
  88. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.d.ts.map +1 -0
  89. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.js +27 -0
  90. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-client-certificate.js.map +1 -0
  91. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.d.ts +11 -0
  92. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.d.ts.map +1 -0
  93. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.js +129 -0
  94. package/dist/components/advanced-options-tabs/tls-ssl-tab/tls-ssl-tab.js.map +1 -0
  95. package/dist/components/confirm-edit-connection-string.d.ts +8 -0
  96. package/dist/components/confirm-edit-connection-string.d.ts.map +1 -0
  97. package/dist/components/confirm-edit-connection-string.js +13 -0
  98. package/dist/components/confirm-edit-connection-string.js.map +1 -0
  99. package/dist/components/connect-form-actions.d.ts +11 -0
  100. package/dist/components/connect-form-actions.d.ts.map +1 -0
  101. package/dist/components/connect-form-actions.js +30 -0
  102. package/dist/components/connect-form-actions.js.map +1 -0
  103. package/dist/components/connect-form.d.ts +10 -0
  104. package/dist/components/connect-form.d.ts.map +1 -0
  105. package/dist/components/connect-form.js +166 -0
  106. package/dist/components/connect-form.js.map +1 -0
  107. package/dist/components/connection-string-input.d.ts +11 -0
  108. package/dist/components/connection-string-input.d.ts.map +1 -0
  109. package/dist/components/connection-string-input.js +118 -0
  110. package/dist/components/connection-string-input.js.map +1 -0
  111. package/dist/components/favorite-color-picker.d.ts +6 -0
  112. package/dist/components/favorite-color-picker.d.ts.map +1 -0
  113. package/dist/components/favorite-color-picker.js +79 -0
  114. package/dist/components/favorite-color-picker.js.map +1 -0
  115. package/dist/components/form-field-container.d.ts +7 -0
  116. package/dist/components/form-field-container.d.ts.map +1 -0
  117. package/dist/components/form-field-container.js +15 -0
  118. package/dist/components/form-field-container.js.map +1 -0
  119. package/dist/components/save-connection-modal.d.ts +10 -0
  120. package/dist/components/save-connection-modal.d.ts.map +1 -0
  121. package/dist/components/save-connection-modal.js +55 -0
  122. package/dist/components/save-connection-modal.js.map +1 -0
  123. package/dist/components/validation-summary.d.ts +12 -0
  124. package/dist/components/validation-summary.d.ts.map +1 -0
  125. package/dist/components/validation-summary.js +56 -0
  126. package/dist/components/validation-summary.js.map +1 -0
  127. package/dist/constants/default-connection.d.ts +6 -0
  128. package/dist/constants/default-connection.d.ts.map +1 -0
  129. package/dist/constants/default-connection.js +9 -0
  130. package/dist/constants/default-connection.js.map +1 -0
  131. package/dist/hooks/use-connect-form.d.ts +67 -0
  132. package/dist/hooks/use-connect-form.d.ts.map +1 -0
  133. package/dist/hooks/use-connect-form.js +373 -0
  134. package/dist/hooks/use-connect-form.js.map +1 -0
  135. package/dist/hooks/use-connection-color.d.ts +8 -0
  136. package/dist/hooks/use-connection-color.d.ts.map +1 -0
  137. package/dist/hooks/use-connection-color.js +59 -0
  138. package/dist/hooks/use-connection-color.js.map +1 -0
  139. package/dist/index.d.ts +6 -0
  140. package/dist/index.d.ts.map +1 -0
  141. package/dist/index.js +14 -0
  142. package/dist/index.js.map +1 -0
  143. package/dist/utils/authentication-handler.d.ts +42 -0
  144. package/dist/utils/authentication-handler.d.ts.map +1 -0
  145. package/dist/utils/authentication-handler.js +96 -0
  146. package/dist/utils/authentication-handler.js.map +1 -0
  147. package/dist/utils/check-for-invalid-character-in-host.d.ts +2 -0
  148. package/dist/utils/check-for-invalid-character-in-host.d.ts.map +1 -0
  149. package/dist/utils/check-for-invalid-character-in-host.js +16 -0
  150. package/dist/utils/check-for-invalid-character-in-host.js.map +1 -0
  151. package/dist/utils/connection-ssh-handler.d.ts +15 -0
  152. package/dist/utils/connection-ssh-handler.d.ts.map +1 -0
  153. package/dist/utils/connection-ssh-handler.js +23 -0
  154. package/dist/utils/connection-ssh-handler.js.map +1 -0
  155. package/dist/utils/connection-string-helpers.d.ts +14 -0
  156. package/dist/utils/connection-string-helpers.d.ts.map +1 -0
  157. package/dist/utils/connection-string-helpers.js +65 -0
  158. package/dist/utils/connection-string-helpers.js.map +1 -0
  159. package/dist/utils/connection-string-schema.d.ts +3 -0
  160. package/dist/utils/connection-string-schema.d.ts.map +1 -0
  161. package/dist/utils/connection-string-schema.js +43 -0
  162. package/dist/utils/connection-string-schema.js.map +1 -0
  163. package/dist/utils/get-next-host.d.ts +2 -0
  164. package/dist/utils/get-next-host.d.ts.map +1 -0
  165. package/dist/utils/get-next-host.js +26 -0
  166. package/dist/utils/get-next-host.js.map +1 -0
  167. package/dist/utils/read-preferences.d.ts +8 -0
  168. package/dist/utils/read-preferences.d.ts.map +1 -0
  169. package/dist/utils/read-preferences.js +27 -0
  170. package/dist/utils/read-preferences.js.map +1 -0
  171. package/dist/utils/tls-handler.d.ts +29 -0
  172. package/dist/utils/tls-handler.d.ts.map +1 -0
  173. package/dist/utils/tls-handler.js +47 -0
  174. package/dist/utils/tls-handler.js.map +1 -0
  175. package/dist/utils/url-options.d.ts +10 -0
  176. package/dist/utils/url-options.d.ts.map +1 -0
  177. package/dist/utils/url-options.js +49 -0
  178. package/dist/utils/url-options.js.map +1 -0
  179. package/dist/utils/validation.d.ts +30 -0
  180. package/dist/utils/validation.d.ts.map +1 -0
  181. package/dist/utils/validation.js +284 -0
  182. package/dist/utils/validation.js.map +1 -0
  183. package/package.json +89 -0
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkForInvalidCharacterInHost = void 0;
4
+ const invalidHostCharacterRegex = /[@/]/;
5
+ const invalidSrvHostnameCharacterRegex = /[:@,/]/;
6
+ function checkForInvalidCharacterInHost(host, isSRV) {
7
+ const hostRegex = isSRV
8
+ ? invalidSrvHostnameCharacterRegex
9
+ : invalidHostCharacterRegex;
10
+ const invalidCharacterInHost = hostRegex.exec(host);
11
+ if (invalidCharacterInHost) {
12
+ throw new Error(`Invalid character in host: '${invalidCharacterInHost[0]}'`);
13
+ }
14
+ }
15
+ exports.checkForInvalidCharacterInHost = checkForInvalidCharacterInHost;
16
+ //# sourceMappingURL=check-for-invalid-character-in-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"check-for-invalid-character-in-host.js","sourceRoot":"","sources":["../../src/utils/check-for-invalid-character-in-host.ts"],"names":[],"mappings":";;;AAAA,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,gCAAgC,GAAG,QAAQ,CAAC;AAElD,SAAgB,8BAA8B,CAC5C,IAAY,EACZ,KAAc;IAEd,MAAM,SAAS,GAAG,KAAK;QACrB,CAAC,CAAC,gCAAgC;QAClC,CAAC,CAAC,yBAAyB,CAAC;IAE9B,MAAM,sBAAsB,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,IAAI,sBAAsB,EAAE;QAC1B,MAAM,IAAI,KAAK,CACb,+BAA+B,sBAAsB,CAAC,CAAC,CAAC,GAAG,CAC5D,CAAC;KACH;AACH,CAAC;AAdD,wEAcC"}
@@ -0,0 +1,15 @@
1
+ import type { ConnectionOptions } from 'mongodb-data-service';
2
+ export declare type SSHConnectionOptions = NonNullable<ConnectionOptions['sshTunnel']>;
3
+ export declare type TunnelType = 'none' | 'ssh-password' | 'ssh-identity' | 'socks';
4
+ export interface UpdateSshOptions {
5
+ type: 'update-ssh-options';
6
+ key: keyof SSHConnectionOptions;
7
+ value: string | number;
8
+ }
9
+ export declare function handleUpdateSshOptions({ action, connectionOptions, }: {
10
+ action: UpdateSshOptions;
11
+ connectionOptions: ConnectionOptions;
12
+ }): {
13
+ connectionOptions: ConnectionOptions;
14
+ };
15
+ //# sourceMappingURL=connection-ssh-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-ssh-handler.d.ts","sourceRoot":"","sources":["../../src/utils/connection-ssh-handler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAG9D,oBAAY,oBAAoB,GAAG,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;AAE/E,oBAAY,UAAU,GAAG,MAAM,GAAG,cAAc,GAAG,cAAc,GAAG,OAAO,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,GAAG,EAAE,MAAM,oBAAoB,CAAC;IAChC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACxB;AAED,wBAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,iBAAiB,GAClB,EAAE;IACD,MAAM,EAAE,gBAAgB,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,GAAG;IAAE,iBAAiB,EAAE,iBAAiB,CAAA;CAAE,CAe3C"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleUpdateSshOptions = void 0;
4
+ const lodash_1 = require("lodash");
5
+ const default_connection_1 = require("../constants/default-connection");
6
+ function handleUpdateSshOptions({ action, connectionOptions, }) {
7
+ const clonedConnectionOptions = (0, lodash_1.cloneDeep)(connectionOptions);
8
+ const { key, value } = action;
9
+ return {
10
+ connectionOptions: {
11
+ ...clonedConnectionOptions,
12
+ sshTunnel: {
13
+ host: '',
14
+ port: default_connection_1.defaultSshPort,
15
+ username: '',
16
+ ...clonedConnectionOptions.sshTunnel,
17
+ [key]: value,
18
+ },
19
+ },
20
+ };
21
+ }
22
+ exports.handleUpdateSshOptions = handleUpdateSshOptions;
23
+ //# sourceMappingURL=connection-ssh-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-ssh-handler.js","sourceRoot":"","sources":["../../src/utils/connection-ssh-handler.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AAEnC,wEAAiE;AAYjE,SAAgB,sBAAsB,CAAC,EACrC,MAAM,EACN,iBAAiB,GAIlB;IACC,MAAM,uBAAuB,GAAG,IAAA,kBAAS,EAAC,iBAAiB,CAAC,CAAC;IAC7D,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAC9B,OAAO;QACL,iBAAiB,EAAE;YACjB,GAAG,uBAAuB;YAC1B,SAAS,EAAE;gBACT,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,mCAAc;gBACpB,QAAQ,EAAE,EAAE;gBACZ,GAAG,uBAAuB,CAAC,SAAS;gBACpC,CAAC,GAAG,CAAC,EAAE,KAAK;aACb;SACF;KACF,CAAC;AACJ,CAAC;AArBD,wDAqBC"}
@@ -0,0 +1,14 @@
1
+ import ConnectionStringUrl, { CommaAndColonSeparatedRecord } from 'mongodb-connection-string-url';
2
+ export interface AuthMechanismProperties {
3
+ SERVICE_NAME?: string;
4
+ SERVICE_REALM?: string;
5
+ CANONICALIZE_HOST_NAME?: boolean;
6
+ AWS_SESSION_TOKEN?: string;
7
+ }
8
+ export declare function parseAuthMechanismProperties(connectionString: ConnectionStringUrl): CommaAndColonSeparatedRecord<AuthMechanismProperties>;
9
+ export declare function tryToParseConnectionString(connectionString: string): [ConnectionStringUrl | undefined, Error | undefined];
10
+ export declare function getConnectionStringUsername(connectionStringUrl: ConnectionStringUrl): string;
11
+ export declare function getConnectionStringPassword(connectionStringUrl: ConnectionStringUrl): string;
12
+ export declare function setConnectionStringUsername(connectionStringUrl: ConnectionStringUrl, username: string): ConnectionStringUrl;
13
+ export declare function setConnectionStringPassword(connectionStringUrl: ConnectionStringUrl, password: string): ConnectionStringUrl;
14
+ //# sourceMappingURL=connection-string-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-string-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/connection-string-helpers.ts"],"names":[],"mappings":"AACA,OAAO,mBAAmB,EAAE,EAC1B,4BAA4B,EAC7B,MAAM,+BAA+B,CAAC;AAEvC,MAAM,WAAW,uBAAuB;IACtC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,wBAAgB,4BAA4B,CAC1C,gBAAgB,EAAE,mBAAmB,GACpC,4BAA4B,CAAC,uBAAuB,CAAC,CAYvD;AAED,wBAAgB,0BAA0B,CACxC,gBAAgB,EAAE,MAAM,GACvB,CAAC,mBAAmB,GAAG,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC,CAOtD;AAED,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,CAER;AAED,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,GACvC,MAAM,CAER;AAED,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,MAAM,GACf,mBAAmB,CAIrB;AAED,wBAAgB,2BAA2B,CACzC,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,MAAM,GACf,mBAAmB,CAIrB"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.setConnectionStringPassword = exports.setConnectionStringUsername = exports.getConnectionStringPassword = exports.getConnectionStringUsername = exports.tryToParseConnectionString = exports.parseAuthMechanismProperties = void 0;
23
+ const mongodb_connection_string_url_1 = __importStar(require("mongodb-connection-string-url"));
24
+ function parseAuthMechanismProperties(connectionString) {
25
+ const searchParams = connectionString.typedSearchParams();
26
+ const authMechanismPropertiesString = searchParams.get('authMechanismProperties');
27
+ try {
28
+ return new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord(authMechanismPropertiesString);
29
+ }
30
+ catch (e) {
31
+ return new mongodb_connection_string_url_1.CommaAndColonSeparatedRecord();
32
+ }
33
+ }
34
+ exports.parseAuthMechanismProperties = parseAuthMechanismProperties;
35
+ function tryToParseConnectionString(connectionString) {
36
+ try {
37
+ const connectionStringUrl = new mongodb_connection_string_url_1.default(connectionString);
38
+ return [connectionStringUrl, undefined];
39
+ }
40
+ catch (err) {
41
+ return [undefined, err];
42
+ }
43
+ }
44
+ exports.tryToParseConnectionString = tryToParseConnectionString;
45
+ function getConnectionStringUsername(connectionStringUrl) {
46
+ return decodeURIComponent(connectionStringUrl.username);
47
+ }
48
+ exports.getConnectionStringUsername = getConnectionStringUsername;
49
+ function getConnectionStringPassword(connectionStringUrl) {
50
+ return decodeURIComponent(connectionStringUrl.password);
51
+ }
52
+ exports.getConnectionStringPassword = getConnectionStringPassword;
53
+ function setConnectionStringUsername(connectionStringUrl, username) {
54
+ const updated = connectionStringUrl.clone();
55
+ updated.username = encodeURIComponent(username);
56
+ return updated;
57
+ }
58
+ exports.setConnectionStringUsername = setConnectionStringUsername;
59
+ function setConnectionStringPassword(connectionStringUrl, password) {
60
+ const updated = connectionStringUrl.clone();
61
+ updated.password = encodeURIComponent(password);
62
+ return updated;
63
+ }
64
+ exports.setConnectionStringPassword = setConnectionStringPassword;
65
+ //# sourceMappingURL=connection-string-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-string-helpers.js","sourceRoot":"","sources":["../../src/utils/connection-string-helpers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,+FAEuC;AASvC,SAAgB,4BAA4B,CAC1C,gBAAqC;IAErC,MAAM,YAAY,GAAG,gBAAgB,CAAC,iBAAiB,EAAsB,CAAC;IAC9E,MAAM,6BAA6B,GAAG,YAAY,CAAC,GAAG,CACpD,yBAAyB,CAC1B,CAAC;IACF,IAAI;QACF,OAAO,IAAI,4DAA4B,CACrC,6BAA6B,CAC9B,CAAC;KACH;IAAC,OAAO,CAAC,EAAE;QACV,OAAO,IAAI,4DAA4B,EAA2B,CAAC;KACpE;AACH,CAAC;AAdD,oEAcC;AAED,SAAgB,0BAA0B,CACxC,gBAAwB;IAExB,IAAI;QACF,MAAM,mBAAmB,GAAG,IAAI,uCAAmB,CAAC,gBAAgB,CAAC,CAAC;QACtE,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,CAAC;KACzC;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,SAAS,EAAE,GAAY,CAAC,CAAC;KAClC;AACH,CAAC;AATD,gEASC;AAED,SAAgB,2BAA2B,CACzC,mBAAwC;IAExC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAJD,kEAIC;AAED,SAAgB,2BAA2B,CACzC,mBAAwC;IAExC,OAAO,kBAAkB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAJD,kEAIC;AAED,SAAgB,2BAA2B,CACzC,mBAAwC,EACxC,QAAgB;IAEhB,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5C,OAAO,CAAC,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AAPD,kEAOC;AAED,SAAgB,2BAA2B,CACzC,mBAAwC,EACxC,QAAgB;IAEhB,MAAM,OAAO,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5C,OAAO,CAAC,QAAQ,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAChD,OAAO,OAAO,CAAC;AACjB,CAAC;AAPD,kEAOC"}
@@ -0,0 +1,3 @@
1
+ import type ConnectionStringUrl from 'mongodb-connection-string-url';
2
+ export declare function tryUpdateConnectionStringSchema(connectionStringUrl: ConnectionStringUrl, setIsSrv: boolean): ConnectionStringUrl;
3
+ //# sourceMappingURL=connection-string-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-string-schema.d.ts","sourceRoot":"","sources":["../../src/utils/connection-string-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AA0DrE,wBAAgB,+BAA+B,CAC7C,mBAAmB,EAAE,mBAAmB,EACxC,QAAQ,EAAE,OAAO,GAChB,mBAAmB,CAMrB"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.tryUpdateConnectionStringSchema = void 0;
4
+ const default_connection_1 = require("../constants/default-connection");
5
+ function updateConnectionStringToStandard(connectionStringUrl) {
6
+ if (!connectionStringUrl.isSRV) {
7
+ return connectionStringUrl;
8
+ }
9
+ const newConnectionStringUrl = connectionStringUrl.clone();
10
+ newConnectionStringUrl.protocol = 'mongodb:';
11
+ newConnectionStringUrl.hosts = [
12
+ `${newConnectionStringUrl.hosts[0]}:${default_connection_1.defaultPort}`,
13
+ ];
14
+ return newConnectionStringUrl;
15
+ }
16
+ function updateConnectionStringToSRV(connectionStringUrl) {
17
+ if (connectionStringUrl.isSRV) {
18
+ return connectionStringUrl;
19
+ }
20
+ const newConnectionStringUrl = connectionStringUrl.clone();
21
+ const newHost = newConnectionStringUrl.hosts.length > 0
22
+ ? newConnectionStringUrl.hosts[0].substring(0, newConnectionStringUrl.hosts[0].indexOf(':') === -1
23
+ ? undefined
24
+ : newConnectionStringUrl.hosts[0].indexOf(':'))
25
+ : default_connection_1.defaultHostname;
26
+ newConnectionStringUrl.hosts = [newHost];
27
+ newConnectionStringUrl.protocol = 'mongodb+srv:';
28
+ const searchParams = newConnectionStringUrl.typedSearchParams();
29
+ if (searchParams.get('directConnection')) {
30
+ searchParams.delete('directConnection');
31
+ }
32
+ return newConnectionStringUrl;
33
+ }
34
+ function tryUpdateConnectionStringSchema(connectionStringUrl, setIsSrv) {
35
+ if (!setIsSrv) {
36
+ return updateConnectionStringToStandard(connectionStringUrl);
37
+ }
38
+ else {
39
+ return updateConnectionStringToSRV(connectionStringUrl);
40
+ }
41
+ }
42
+ exports.tryUpdateConnectionStringSchema = tryUpdateConnectionStringSchema;
43
+ //# sourceMappingURL=connection-string-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection-string-schema.js","sourceRoot":"","sources":["../../src/utils/connection-string-schema.ts"],"names":[],"mappings":";;;AAGA,wEAA+E;AAE/E,SAAS,gCAAgC,CACvC,mBAAwC;IAExC,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;QAE9B,OAAO,mBAAmB,CAAC;KAC5B;IAED,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC3D,sBAAsB,CAAC,QAAQ,GAAG,UAAU,CAAC;IAE7C,sBAAsB,CAAC,KAAK,GAAG;QAC7B,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,gCAAW,EAAE;KACpD,CAAC;IAEF,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAED,SAAS,2BAA2B,CAClC,mBAAwC;IAExC,IAAI,mBAAmB,CAAC,KAAK,EAAE;QAE7B,OAAO,mBAAmB,CAAC;KAC5B;IAED,MAAM,sBAAsB,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAG3D,MAAM,OAAO,GACX,sBAAsB,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;QACrC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CACvC,CAAC,EACD,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CACjD;QACH,CAAC,CAAC,oCAAe,CAAC;IACtB,sBAAsB,CAAC,KAAK,GAAG,CAAC,OAAO,CAAC,CAAC;IAEzC,sBAAsB,CAAC,QAAQ,GAAG,cAAc,CAAC;IACjD,MAAM,YAAY,GAChB,sBAAsB,CAAC,iBAAiB,EAAsB,CAAC;IAGjE,IAAI,YAAY,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE;QACxC,YAAY,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;KACzC;IAED,OAAO,sBAAsB,CAAC;AAChC,CAAC;AAGD,SAAgB,+BAA+B,CAC7C,mBAAwC,EACxC,QAAiB;IAEjB,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO,gCAAgC,CAAC,mBAAmB,CAAC,CAAC;KAC9D;SAAM;QACL,OAAO,2BAA2B,CAAC,mBAAmB,CAAC,CAAC;KACzD;AACH,CAAC;AATD,0EASC"}
@@ -0,0 +1,2 @@
1
+ export declare function getNextHost(hosts: string[], addAfterIndex: number): string;
2
+ //# sourceMappingURL=get-next-host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-next-host.d.ts","sourceRoot":"","sources":["../../src/utils/get-next-host.ts"],"names":[],"mappings":"AAgBA,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAe1E"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextHost = void 0;
4
+ const default_connection_1 = require("../constants/default-connection");
5
+ function hostHasPortNumber(host) {
6
+ return (host.includes(':') && !isNaN(Number(host.slice(host.indexOf(':') + 1))));
7
+ }
8
+ function getPortFromHostOrDefault(host) {
9
+ if (hostHasPortNumber(host)) {
10
+ return Number(host.slice(host.indexOf(':') + 1)) || 27017;
11
+ }
12
+ return default_connection_1.defaultPort;
13
+ }
14
+ function getNextHost(hosts, addAfterIndex) {
15
+ if (hosts.length < 1) {
16
+ return `${default_connection_1.defaultHostname}:${default_connection_1.defaultPort}`;
17
+ }
18
+ const hostToAddAfter = hosts[addAfterIndex];
19
+ const hostname = hostToAddAfter.includes(':')
20
+ ? hostToAddAfter.slice(0, hostToAddAfter.indexOf(':'))
21
+ : hostToAddAfter;
22
+ const port = getPortFromHostOrDefault(hostToAddAfter) + 1;
23
+ return `${hostname || default_connection_1.defaultHostname}:${port}`;
24
+ }
25
+ exports.getNextHost = getNextHost;
26
+ //# sourceMappingURL=get-next-host.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-next-host.js","sourceRoot":"","sources":["../../src/utils/get-next-host.ts"],"names":[],"mappings":";;;AAAA,wEAA+E;AAE/E,SAAS,iBAAiB,CAAC,IAAY;IACrC,OAAO,CACL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACxE,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;QAE3B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;KAC3D;IACD,OAAO,gCAAW,CAAC;AACrB,CAAC;AAED,SAAgB,WAAW,CAAC,KAAe,EAAE,aAAqB;IAChE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QAEpB,OAAO,GAAG,oCAAe,IAAI,gCAAW,EAAE,CAAC;KAC5C;IAED,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC,CAAC,cAAc,CAAC;IAEnB,MAAM,IAAI,GAAG,wBAAwB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;IAG1D,OAAO,GAAG,QAAQ,IAAI,oCAAe,IAAI,IAAI,EAAE,CAAC;AAClD,CAAC;AAfD,kCAeC"}
@@ -0,0 +1,8 @@
1
+ import type { ReadPreferenceMode } from 'mongodb';
2
+ interface ReadPreference {
3
+ title: string;
4
+ id: ReadPreferenceMode;
5
+ }
6
+ export declare const readPreferences: ReadPreference[];
7
+ export {};
8
+ //# sourceMappingURL=read-preferences.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-preferences.d.ts","sourceRoot":"","sources":["../../src/utils/read-preferences.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,UAAU,cAAc;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,kBAAkB,CAAC;CACxB;AAED,eAAO,MAAM,eAAe,EAAE,cAAc,EAqB3C,CAAC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readPreferences = void 0;
4
+ const mongodb_1 = require("mongodb");
5
+ exports.readPreferences = [
6
+ {
7
+ title: 'Primary',
8
+ id: mongodb_1.ReadPreference.PRIMARY,
9
+ },
10
+ {
11
+ title: 'Primary Preferred',
12
+ id: mongodb_1.ReadPreference.PRIMARY_PREFERRED,
13
+ },
14
+ {
15
+ title: 'Secondary',
16
+ id: mongodb_1.ReadPreference.SECONDARY,
17
+ },
18
+ {
19
+ title: 'Secondary Preferred',
20
+ id: mongodb_1.ReadPreference.SECONDARY_PREFERRED,
21
+ },
22
+ {
23
+ title: 'Nearest',
24
+ id: mongodb_1.ReadPreference.NEAREST,
25
+ },
26
+ ];
27
+ //# sourceMappingURL=read-preferences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-preferences.js","sourceRoot":"","sources":["../../src/utils/read-preferences.ts"],"names":[],"mappings":";;;AACA,qCAAgE;AAOnD,QAAA,eAAe,GAAqB;IAC/C;QACE,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,wBAAmB,CAAC,OAAO;KAChC;IACD;QACE,KAAK,EAAE,mBAAmB;QAC1B,EAAE,EAAE,wBAAmB,CAAC,iBAAiB;KAC1C;IACD;QACE,KAAK,EAAE,WAAW;QAClB,EAAE,EAAE,wBAAmB,CAAC,SAAS;KAClC;IACD;QACE,KAAK,EAAE,qBAAqB;QAC5B,EAAE,EAAE,wBAAmB,CAAC,mBAAmB;KAC5C;IACD;QACE,KAAK,EAAE,SAAS;QAChB,EAAE,EAAE,wBAAmB,CAAC,OAAO;KAChC;CACF,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type ConnectionStringUrl from 'mongodb-connection-string-url';
2
+ import type { ConnectionOptions } from 'mongodb-data-service';
3
+ import type { MongoClientOptions } from 'mongodb';
4
+ export declare type TLS_OPTIONS = 'DEFAULT' | 'ON' | 'OFF';
5
+ export declare type TLSOptionName = keyof Pick<MongoClientOptions, 'tlsCAFile' | 'tlsCertificateKeyFile' | 'tlsCertificateKeyFilePassword' | 'tlsInsecure' | 'tlsAllowInvalidHostnames' | 'tlsAllowInvalidCertificates'>;
6
+ export interface UpdateTlsAction {
7
+ type: 'update-tls';
8
+ tlsOption: TLS_OPTIONS;
9
+ }
10
+ export interface UpdateTlsOptionAction {
11
+ type: 'update-tls-option';
12
+ key: TLSOptionName;
13
+ value?: string | null;
14
+ }
15
+ export declare function handleUpdateTls({ action, connectionStringUrl, connectionOptions, }: {
16
+ action: UpdateTlsAction;
17
+ connectionStringUrl: ConnectionStringUrl;
18
+ connectionOptions: ConnectionOptions;
19
+ }): {
20
+ connectionOptions: ConnectionOptions;
21
+ };
22
+ export declare function handleUpdateTlsOption({ action, connectionStringUrl, connectionOptions, }: {
23
+ action: UpdateTlsOptionAction;
24
+ connectionStringUrl: ConnectionStringUrl;
25
+ connectionOptions: ConnectionOptions;
26
+ }): {
27
+ connectionOptions: ConnectionOptions;
28
+ };
29
+ //# sourceMappingURL=tls-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tls-handler.d.ts","sourceRoot":"","sources":["../../src/utils/tls-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,oBAAY,WAAW,GAAG,SAAS,GAAG,IAAI,GAAG,KAAK,CAAC;AACnD,oBAAY,aAAa,GAAG,MAAM,IAAI,CACpC,kBAAkB,EAChB,WAAW,GACX,uBAAuB,GACvB,+BAA+B,GAC/B,aAAa,GACb,0BAA0B,GAC1B,6BAA6B,CAChC,CAAC;AACF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,mBAAmB,CAAC;IAC1B,GAAG,EAAE,aAAa,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,mBAAmB,EACnB,iBAAiB,GAClB,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,GAAG;IACF,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAsBA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,mBAAmB,EACnB,iBAAiB,GAClB,EAAE;IACD,MAAM,EAAE,qBAAqB,CAAC;IAC9B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,GAAG;IACF,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAsBA"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleUpdateTlsOption = exports.handleUpdateTls = void 0;
4
+ const lodash_1 = require("lodash");
5
+ function handleUpdateTls({ action, connectionStringUrl, connectionOptions, }) {
6
+ const updatedConnectionString = connectionStringUrl.clone();
7
+ const updatedSearchParams = updatedConnectionString.typedSearchParams();
8
+ if (action.tlsOption === 'ON') {
9
+ updatedSearchParams.delete('ssl');
10
+ updatedSearchParams.set('tls', 'true');
11
+ }
12
+ else if (action.tlsOption === 'OFF') {
13
+ updatedSearchParams.delete('ssl');
14
+ updatedSearchParams.set('tls', 'false');
15
+ }
16
+ else if (action.tlsOption === 'DEFAULT') {
17
+ updatedSearchParams.delete('ssl');
18
+ updatedSearchParams.delete('tls');
19
+ }
20
+ return {
21
+ connectionOptions: {
22
+ ...(0, lodash_1.cloneDeep)(connectionOptions),
23
+ connectionString: updatedConnectionString.toString(),
24
+ },
25
+ };
26
+ }
27
+ exports.handleUpdateTls = handleUpdateTls;
28
+ function handleUpdateTlsOption({ action, connectionStringUrl, connectionOptions, }) {
29
+ const updatedConnectionString = connectionStringUrl.clone();
30
+ const updatedSearchParams = updatedConnectionString.typedSearchParams();
31
+ if (!action.value) {
32
+ updatedSearchParams.delete(action.key);
33
+ }
34
+ else {
35
+ updatedSearchParams.delete('ssl');
36
+ updatedSearchParams.set('tls', 'true');
37
+ updatedSearchParams.set(action.key, action.value);
38
+ }
39
+ return {
40
+ connectionOptions: {
41
+ ...(0, lodash_1.cloneDeep)(connectionOptions),
42
+ connectionString: updatedConnectionString.toString(),
43
+ },
44
+ };
45
+ }
46
+ exports.handleUpdateTlsOption = handleUpdateTlsOption;
47
+ //# sourceMappingURL=tls-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tls-handler.js","sourceRoot":"","sources":["../../src/utils/tls-handler.ts"],"names":[],"mappings":";;;AAGA,mCAAmC;AAuBnC,SAAgB,eAAe,CAAC,EAC9B,MAAM,EACN,mBAAmB,EACnB,iBAAiB,GAKlB;IAGC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5D,MAAM,mBAAmB,GACvB,uBAAuB,CAAC,iBAAiB,EAAsB,CAAC;IAElE,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,EAAE;QAC7B,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KACxC;SAAM,IAAI,MAAM,CAAC,SAAS,KAAK,KAAK,EAAE;QACrC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;KACzC;SAAM,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;QACzC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACnC;IAED,OAAO;QACL,iBAAiB,EAAE;YACjB,GAAG,IAAA,kBAAS,EAAC,iBAAiB,CAAC;YAC/B,gBAAgB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;SACrD;KACF,CAAC;AACJ,CAAC;AAhCD,0CAgCC;AAED,SAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,mBAAmB,EACnB,iBAAiB,GAKlB;IAGC,MAAM,uBAAuB,GAAG,mBAAmB,CAAC,KAAK,EAAE,CAAC;IAC5D,MAAM,mBAAmB,GACvB,uBAAuB,CAAC,iBAAiB,EAAsB,CAAC;IAElE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;QACjB,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACxC;SAAM;QAGL,mBAAmB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,mBAAmB,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAEvC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KACnD;IAED,OAAO;QACL,iBAAiB,EAAE;YACjB,GAAG,IAAA,kBAAS,EAAC,iBAAiB,CAAC;YAC/B,gBAAgB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;SACrD;KACF,CAAC;AACJ,CAAC;AAhCD,sDAgCC"}
@@ -0,0 +1,10 @@
1
+ import type { MongoClientOptions } from 'mongodb';
2
+ export interface UrlOption {
3
+ name: keyof MongoClientOptions;
4
+ value: string;
5
+ }
6
+ export declare const editableUrlOptions: {
7
+ title: string;
8
+ values: string[];
9
+ }[];
10
+ //# sourceMappingURL=url-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-options.d.ts","sourceRoot":"","sources":["../../src/utils/url-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,kBAAkB,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,kBAAkB;;;GA4C9B,CAAC"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.editableUrlOptions = void 0;
4
+ exports.editableUrlOptions = [
5
+ {
6
+ title: 'Connection Timeout Options',
7
+ values: ['connectTimeoutMS', 'socketTimeoutMS'],
8
+ },
9
+ {
10
+ title: 'Compression Options',
11
+ values: ['compressors', 'zlibCompressionLevel'],
12
+ },
13
+ {
14
+ title: 'Connection Pool Options',
15
+ values: [
16
+ 'maxPoolSize',
17
+ 'minPoolSize',
18
+ 'maxIdleTimeMS',
19
+ 'waitQueueMultiple',
20
+ 'waitQueueTimeoutMS',
21
+ ],
22
+ },
23
+ {
24
+ title: 'Write Concern Options',
25
+ values: ['w', 'wtimeoutMS', 'journal'],
26
+ },
27
+ {
28
+ title: 'Read Concern Options',
29
+ values: ['readConcernLevel'],
30
+ },
31
+ {
32
+ title: 'Read Preferences Options',
33
+ values: ['maxStalenessSeconds', 'readPreferenceTags'],
34
+ },
35
+ {
36
+ title: 'Server Options',
37
+ values: [
38
+ 'localThresholdMS',
39
+ 'serverSelectionTimeoutMS',
40
+ 'serverSelectionTryOnce',
41
+ 'heartbeatFrequencyMS',
42
+ ],
43
+ },
44
+ {
45
+ title: 'Miscellaneous Configuration',
46
+ values: ['appName', 'retryReads', 'retryWrites', 'uuidRepresentation'],
47
+ },
48
+ ];
49
+ //# sourceMappingURL=url-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url-options.js","sourceRoot":"","sources":["../../src/utils/url-options.ts"],"names":[],"mappings":";;;AAOa,QAAA,kBAAkB,GAAG;IAChC;QACE,KAAK,EAAE,4BAA4B;QACnC,MAAM,EAAE,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;KAChD;IACD;QACE,KAAK,EAAE,qBAAqB;QAC5B,MAAM,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;KAChD;IACD;QACE,KAAK,EAAE,yBAAyB;QAChC,MAAM,EAAE;YACN,aAAa;YACb,aAAa;YACb,eAAe;YACf,mBAAmB;YACnB,oBAAoB;SACrB;KACF;IACD;QACE,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,CAAC,GAAG,EAAE,YAAY,EAAE,SAAS,CAAC;KACvC;IACD;QACE,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,CAAC,kBAAkB,CAAC;KAC7B;IACD;QACE,KAAK,EAAE,0BAA0B;QACjC,MAAM,EAAE,CAAC,qBAAqB,EAAE,oBAAoB,CAAC;KACtD;IACD;QACE,KAAK,EAAE,gBAAgB;QACvB,MAAM,EAAE;YACN,kBAAkB;YAClB,0BAA0B;YAC1B,wBAAwB;YACxB,sBAAsB;SACvB;KACF;IACD;QACE,KAAK,EAAE,6BAA6B;QACpC,MAAM,EAAE,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,oBAAoB,CAAC;KACvE;CACF,CAAC"}
@@ -0,0 +1,30 @@
1
+ import type { ConnectionOptions } from 'mongodb-data-service';
2
+ import ConnectionString from 'mongodb-connection-string-url';
3
+ export declare type FieldName = 'connectionString' | 'hostname' | 'hosts' | 'isSrv' | 'kerberosPrincipal' | 'password' | 'schema' | 'proxyHostname' | 'sshHostname' | 'sshIdentityKeyFile' | 'sshPassword' | 'sshUsername' | 'tls' | 'tlsCertificateKeyFile' | 'username';
4
+ export declare type TabId = 'general' | 'authentication' | 'tls' | 'proxy' | 'advanced';
5
+ declare type ConnectionFormErrorWithField = {
6
+ fieldName: FieldName;
7
+ fieldTab: TabId;
8
+ fieldIndex?: number;
9
+ message: string;
10
+ };
11
+ declare type ConnectionFormErrorWithoutField = {
12
+ fieldName?: never;
13
+ fieldTab?: never;
14
+ fieldIndex?: never;
15
+ message: string;
16
+ };
17
+ export declare type ConnectionFormError = ConnectionFormErrorWithField | ConnectionFormErrorWithoutField;
18
+ export interface ConnectionFormWarning {
19
+ message: string;
20
+ }
21
+ export declare function errorsByFieldTab(errors: ConnectionFormError[], tabId: TabId): ConnectionFormError[];
22
+ export declare function errorMessageByFieldName(errors: ConnectionFormError[], fieldName: FieldName): string | undefined;
23
+ export declare function fieldNameHasError(errors: ConnectionFormError[], fieldName: FieldName): boolean;
24
+ export declare function errorMessageByFieldNameAndIndex(errors: ConnectionFormError[], fieldName: FieldName, fieldIndex: number): string | undefined;
25
+ export declare function validateConnectionOptionsErrors(connectionOptions: ConnectionOptions): ConnectionFormError[];
26
+ export declare function getConnectionString(connectionOptions: ConnectionOptions): ConnectionString;
27
+ export declare function isSecure(connectionString: ConnectionString): boolean;
28
+ export declare function validateConnectionOptionsWarnings(connectionOptions: ConnectionOptions): ConnectionFormWarning[];
29
+ export {};
30
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,gBAAgB,MAAM,+BAA+B,CAAC;AAE7D,oBAAY,SAAS,GACjB,kBAAkB,GAClB,UAAU,GACV,OAAO,GACP,OAAO,GACP,mBAAmB,GACnB,UAAU,GACV,QAAQ,GACR,eAAe,GACf,aAAa,GACb,oBAAoB,GACpB,aAAa,GACb,aAAa,GACb,KAAK,GACL,uBAAuB,GACvB,UAAU,CAAC;AAEf,oBAAY,KAAK,GAAG,SAAS,GAAG,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,UAAU,CAAC;AAEhF,aAAK,4BAA4B,GAAG;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,aAAK,+BAA+B,GAAG;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AACF,oBAAY,mBAAmB,GAC3B,4BAA4B,GAC5B,+BAA+B,CAAC;AACpC,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,KAAK,EAAE,KAAK,GACX,mBAAmB,EAAE,CAEvB;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,mBAAmB,EAAE,EAC7B,SAAS,EAAE,SAAS,GACnB,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,mBAAmB,EAAE,EAC7B,SAAS,EAAE,SAAS,GACnB,OAAO,CAET;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,mBAAmB,EAAE,EAC7B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,GAAG,SAAS,CAIpB;AAED,wBAAgB,+BAA+B,CAC7C,iBAAiB,EAAE,iBAAiB,GACnC,mBAAmB,EAAE,CASvB;AA4JD,wBAAgB,mBAAmB,CACjC,iBAAiB,EAAE,iBAAiB,GACnC,gBAAgB,CAElB;AAED,wBAAgB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAQpE;AAED,wBAAgB,iCAAiC,CAC/C,iBAAiB,EAAE,iBAAiB,GACnC,qBAAqB,EAAE,CAYzB"}