@webda/postgres 4.0.0-beta.6 → 4.0.0-beta.8

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/webda.module.json CHANGED
@@ -94,6 +94,7 @@
94
94
  }
95
95
  ]
96
96
  },
97
+ "stream": {},
97
98
  "types": {
98
99
  "$ref": "#/definitions/CustomTypesConfig"
99
100
  },
@@ -106,6 +107,9 @@
106
107
  "ConnectionOptions": {
107
108
  "additionalProperties": false,
108
109
  "properties": {
110
+ "ALPNCallback": {
111
+ "description": "If set, this will be called when a client opens a connection using the ALPN extension.\nOne argument will be passed to the callback: an object containing `servername` and `protocols` fields,\nrespectively containing the server name from the SNI extension (if any) and an array of\nALPN protocol name strings. The callback must return either one of the strings listed in `protocols`,\nwhich will be returned to the client as the selected ALPN protocol, or `undefined`,\nto reject the connection with a fatal alert. If a string is returned that does not match one of\nthe client's ALPN protocols, an error will be thrown.\nThis option cannot be used with the `ALPNProtocols` option, and setting both options will throw an error."
112
+ },
109
113
  "ALPNProtocols": {
110
114
  "anyOf": [
111
115
  {
@@ -118,70 +122,12 @@
118
122
  "$ref": "#/definitions/DataView%3CArrayBufferLike%3E"
119
123
  },
120
124
  {
121
- "description": "A typed array of 64-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated, an exception is raised.",
122
- "items": {
123
- "type": "integer"
124
- },
125
- "type": "array"
126
- },
127
- {
128
- "description": "A typed array of 64-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated, an exception is raised.",
129
125
  "items": {
130
126
  "type": "integer"
131
127
  },
132
128
  "type": "array"
133
129
  },
134
130
  {
135
- "description": "A typed array of 16-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.",
136
- "items": {
137
- "type": "number"
138
- },
139
- "type": "array"
140
- },
141
- {
142
- "description": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.",
143
- "items": {
144
- "type": "number"
145
- },
146
- "type": "array"
147
- },
148
- {
149
- "description": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.",
150
- "items": {
151
- "type": "number"
152
- },
153
- "type": "array"
154
- },
155
- {
156
- "description": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
157
- "items": {
158
- "type": "number"
159
- },
160
- "type": "array"
161
- },
162
- {
163
- "description": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
164
- "items": {
165
- "type": "number"
166
- },
167
- "type": "array"
168
- },
169
- {
170
- "description": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.",
171
- "items": {
172
- "type": "number"
173
- },
174
- "type": "array"
175
- },
176
- {
177
- "description": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
178
- "items": {
179
- "type": "number"
180
- },
181
- "type": "array"
182
- },
183
- {
184
- "description": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
185
131
  "items": {
186
132
  "type": "number"
187
133
  },
@@ -192,17 +138,13 @@
192
138
  "contentMediaType": "application/octet-stream",
193
139
  "description": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
194
140
  "type": "string"
195
- },
196
- {
197
- "description": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.",
198
- "items": {
199
- "type": "number"
200
- },
201
- "type": "array"
202
141
  }
203
142
  ],
204
143
  "description": "An array of strings, or a single `Buffer`, `TypedArray`, or `DataView` containing the supported\nALPN protocols. Buffers should have the format `[len][name][len][name]...`\ne.g. `'\\x08http/1.1\\x08http/1.0'`, where the `len` byte is the length of the\nnext protocol name. Passing an array is usually much simpler, e.g.\n`['http/1.1', 'http/1.0']`. Protocols earlier in the list have higher\npreference than those later."
205
144
  },
145
+ "SNICallback": {
146
+ "description": "SNICallback(servername, cb) <Function> A function that will be\ncalled if the client supports SNI TLS extension. Two arguments\nwill be passed when called: servername and cb. SNICallback should\ninvoke cb(null, ctx), where ctx is a SecureContext instance.\n(tls.createSecureContext(...) can be used to get a proper\nSecureContext.) If SNICallback wasn't provided the default callback\nwith high-level API will be used (see below)."
147
+ },
206
148
  "allowPartialTrustChain": {
207
149
  "default": false,
208
150
  "description": "Treat intermediate (non-self-signed)\ncertificates in the trust CA certificate list as trusted.",
@@ -265,6 +207,7 @@
265
207
  ],
266
208
  "description": "Cert chains in PEM format. One cert chain should be provided per\nprivate key. Each cert chain should consist of the PEM formatted\ncertificate for a provided private key, followed by the PEM\nformatted intermediate certificates (if any), in order, and not\nincluding the root CA (the root CA must be pre-known to the peer,\nsee ca). When providing multiple cert chains, they do not have to\nbe in the same order as their private keys in key. If the\nintermediate certificates are not provided, the peer will not be\nable to validate the certificate, and the handshake will fail."
267
209
  },
210
+ "checkServerIdentity": {},
268
211
  "ciphers": {
269
212
  "description": "Cipher suite specification, replacing the default. For more\ninformation, see modifying the default cipher suite. Permitted\nciphers can be obtained via tls.getCiphers(). Cipher names must be\nuppercased in order for OpenSSL to accept them.",
270
213
  "type": "string"
@@ -363,6 +306,7 @@
363
306
  ],
364
307
  "description": "Private keys in PEM format. PEM allows the option of private keys\nbeing encrypted. Encrypted keys will be decrypted with\noptions.passphrase. Multiple keys using different algorithms can be\nprovided either as an array of unencrypted key strings or buffers,\nor an array of objects in the form {pem: <string|buffer>[,\npassphrase: <string>]}. The object form can only occur in an array.\nobject.passphrase is optional. Encrypted keys will be decrypted with\nobject.passphrase if provided, or options.passphrase if it is not."
365
308
  },
309
+ "lookup": {},
366
310
  "maxVersion": {
367
311
  "description": "Optionally set the maximum TLS version to allow. One\nof `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the\n`secureProtocol` option, use one or the other.\n**Default:** `'TLSv1.3'`, unless changed using CLI options. Using\n`--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to\n`'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used.",
368
312
  "enum": [
@@ -437,6 +381,10 @@
437
381
  "description": "Identifier of a private key managed by an OpenSSL engine. Should be\nused together with privateKeyEngine. Should not be set together with\nkey, because both options define a private key in different ways.",
438
382
  "type": "string"
439
383
  },
384
+ "pskCallback": {
385
+ "description": "When negotiating TLS-PSK (pre-shared keys), this function is called\nwith optional identity `hint` provided by the server or `null`\nin case of TLS 1.3 where `hint` was removed.\nIt will be necessary to provide a custom `tls.checkServerIdentity()`\nfor the connection as the default one will try to check hostname/IP\nof the server against the certificate but that's not applicable for PSK\nbecause there won't be a certificate present.\nMore information can be found in the RFC 4279.",
386
+ "returns": "Return `null` to stop the negotiation process. `psk` must be\ncompatible with the selected cipher's digest.\n`identity` must use UTF-8 encoding."
387
+ },
440
388
  "rejectUnauthorized": {
441
389
  "default": true,
442
390
  "description": "If true the server will reject any connection which is not\nauthorized with the list of supplied CAs. This option only has an\neffect if requestCert is true.",
@@ -525,10 +473,17 @@
525
473
  "type": "boolean"
526
474
  },
527
475
  "readableFlowing": {
528
- "default": false,
529
476
  "description": "This property reflects the current state of a `Readable` stream as described\nin the [Three states](https://nodejs.org/docs/latest-v25.x/api/stream.html#three-states) section.",
477
+ "enum": [
478
+ null,
479
+ false,
480
+ true
481
+ ],
530
482
  "since": "v9.4.0",
531
- "type": "boolean"
483
+ "type": [
484
+ "null",
485
+ "boolean"
486
+ ]
532
487
  },
533
488
  "writable": {
534
489
  "default": false,
@@ -537,6 +492,9 @@
537
492
  "type": "boolean"
538
493
  }
539
494
  },
495
+ "required": [
496
+ "readableFlowing"
497
+ ],
540
498
  "since": "v0.9.4",
541
499
  "type": "object"
542
500
  },
@@ -641,7 +599,11 @@
641
599
  },
642
600
  "postgresqlServer": {
643
601
  "$ref": "#/definitions/ClientConfig",
644
- "description": "Connection settings forwarded to `pg.Client`. By default `pg` reads\nstandard PG* environment variables."
602
+ "description": "Connection settings forwarded to `pg.Client`. By default `pg` reads\nstandard PG* environment variables.\n\nCan be encrypted with `webda config encrypt`",
603
+ "x-webda-secret": [
604
+ "password",
605
+ "connectionString"
606
+ ]
645
607
  },
646
608
  "reconnectDelay": {
647
609
  "default": 500,
@@ -756,6 +718,7 @@
756
718
  }
757
719
  ]
758
720
  },
721
+ "stream": {},
759
722
  "types": {
760
723
  "$ref": "#/definitions/CustomTypesConfig"
761
724
  },
@@ -768,6 +731,9 @@
768
731
  "ConnectionOptions": {
769
732
  "additionalProperties": false,
770
733
  "properties": {
734
+ "ALPNCallback": {
735
+ "description": "If set, this will be called when a client opens a connection using the ALPN extension.\nOne argument will be passed to the callback: an object containing `servername` and `protocols` fields,\nrespectively containing the server name from the SNI extension (if any) and an array of\nALPN protocol name strings. The callback must return either one of the strings listed in `protocols`,\nwhich will be returned to the client as the selected ALPN protocol, or `undefined`,\nto reject the connection with a fatal alert. If a string is returned that does not match one of\nthe client's ALPN protocols, an error will be thrown.\nThis option cannot be used with the `ALPNProtocols` option, and setting both options will throw an error."
736
+ },
771
737
  "ALPNProtocols": {
772
738
  "anyOf": [
773
739
  {
@@ -780,70 +746,12 @@
780
746
  "$ref": "#/definitions/DataView%3CArrayBufferLike%3E"
781
747
  },
782
748
  {
783
- "description": "A typed array of 64-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated, an exception is raised.",
784
749
  "items": {
785
750
  "type": "integer"
786
751
  },
787
752
  "type": "array"
788
753
  },
789
754
  {
790
- "description": "A typed array of 64-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated, an exception is raised.",
791
- "items": {
792
- "type": "integer"
793
- },
794
- "type": "array"
795
- },
796
- {
797
- "description": "A typed array of 16-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.",
798
- "items": {
799
- "type": "number"
800
- },
801
- "type": "array"
802
- },
803
- {
804
- "description": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.",
805
- "items": {
806
- "type": "number"
807
- },
808
- "type": "array"
809
- },
810
- {
811
- "description": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.",
812
- "items": {
813
- "type": "number"
814
- },
815
- "type": "array"
816
- },
817
- {
818
- "description": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
819
- "items": {
820
- "type": "number"
821
- },
822
- "type": "array"
823
- },
824
- {
825
- "description": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
826
- "items": {
827
- "type": "number"
828
- },
829
- "type": "array"
830
- },
831
- {
832
- "description": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.",
833
- "items": {
834
- "type": "number"
835
- },
836
- "type": "array"
837
- },
838
- {
839
- "description": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
840
- "items": {
841
- "type": "number"
842
- },
843
- "type": "array"
844
- },
845
- {
846
- "description": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
847
755
  "items": {
848
756
  "type": "number"
849
757
  },
@@ -854,17 +762,13 @@
854
762
  "contentMediaType": "application/octet-stream",
855
763
  "description": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
856
764
  "type": "string"
857
- },
858
- {
859
- "description": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.",
860
- "items": {
861
- "type": "number"
862
- },
863
- "type": "array"
864
765
  }
865
766
  ],
866
767
  "description": "An array of strings, or a single `Buffer`, `TypedArray`, or `DataView` containing the supported\nALPN protocols. Buffers should have the format `[len][name][len][name]...`\ne.g. `'\\x08http/1.1\\x08http/1.0'`, where the `len` byte is the length of the\nnext protocol name. Passing an array is usually much simpler, e.g.\n`['http/1.1', 'http/1.0']`. Protocols earlier in the list have higher\npreference than those later."
867
768
  },
769
+ "SNICallback": {
770
+ "description": "SNICallback(servername, cb) <Function> A function that will be\ncalled if the client supports SNI TLS extension. Two arguments\nwill be passed when called: servername and cb. SNICallback should\ninvoke cb(null, ctx), where ctx is a SecureContext instance.\n(tls.createSecureContext(...) can be used to get a proper\nSecureContext.) If SNICallback wasn't provided the default callback\nwith high-level API will be used (see below)."
771
+ },
868
772
  "allowPartialTrustChain": {
869
773
  "default": false,
870
774
  "description": "Treat intermediate (non-self-signed)\ncertificates in the trust CA certificate list as trusted.",
@@ -927,6 +831,7 @@
927
831
  ],
928
832
  "description": "Cert chains in PEM format. One cert chain should be provided per\nprivate key. Each cert chain should consist of the PEM formatted\ncertificate for a provided private key, followed by the PEM\nformatted intermediate certificates (if any), in order, and not\nincluding the root CA (the root CA must be pre-known to the peer,\nsee ca). When providing multiple cert chains, they do not have to\nbe in the same order as their private keys in key. If the\nintermediate certificates are not provided, the peer will not be\nable to validate the certificate, and the handshake will fail."
929
833
  },
834
+ "checkServerIdentity": {},
930
835
  "ciphers": {
931
836
  "description": "Cipher suite specification, replacing the default. For more\ninformation, see modifying the default cipher suite. Permitted\nciphers can be obtained via tls.getCiphers(). Cipher names must be\nuppercased in order for OpenSSL to accept them.",
932
837
  "type": "string"
@@ -1025,6 +930,7 @@
1025
930
  ],
1026
931
  "description": "Private keys in PEM format. PEM allows the option of private keys\nbeing encrypted. Encrypted keys will be decrypted with\noptions.passphrase. Multiple keys using different algorithms can be\nprovided either as an array of unencrypted key strings or buffers,\nor an array of objects in the form {pem: <string|buffer>[,\npassphrase: <string>]}. The object form can only occur in an array.\nobject.passphrase is optional. Encrypted keys will be decrypted with\nobject.passphrase if provided, or options.passphrase if it is not."
1027
932
  },
933
+ "lookup": {},
1028
934
  "maxVersion": {
1029
935
  "description": "Optionally set the maximum TLS version to allow. One\nof `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the\n`secureProtocol` option, use one or the other.\n**Default:** `'TLSv1.3'`, unless changed using CLI options. Using\n`--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to\n`'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used.",
1030
936
  "enum": [
@@ -1099,6 +1005,10 @@
1099
1005
  "description": "Identifier of a private key managed by an OpenSSL engine. Should be\nused together with privateKeyEngine. Should not be set together with\nkey, because both options define a private key in different ways.",
1100
1006
  "type": "string"
1101
1007
  },
1008
+ "pskCallback": {
1009
+ "description": "When negotiating TLS-PSK (pre-shared keys), this function is called\nwith optional identity `hint` provided by the server or `null`\nin case of TLS 1.3 where `hint` was removed.\nIt will be necessary to provide a custom `tls.checkServerIdentity()`\nfor the connection as the default one will try to check hostname/IP\nof the server against the certificate but that's not applicable for PSK\nbecause there won't be a certificate present.\nMore information can be found in the RFC 4279.",
1010
+ "returns": "Return `null` to stop the negotiation process. `psk` must be\ncompatible with the selected cipher's digest.\n`identity` must use UTF-8 encoding."
1011
+ },
1102
1012
  "rejectUnauthorized": {
1103
1013
  "default": true,
1104
1014
  "description": "If true the server will reject any connection which is not\nauthorized with the list of supplied CAs. This option only has an\neffect if requestCert is true.",
@@ -1187,10 +1097,17 @@
1187
1097
  "type": "boolean"
1188
1098
  },
1189
1099
  "readableFlowing": {
1190
- "default": false,
1191
1100
  "description": "This property reflects the current state of a `Readable` stream as described\nin the [Three states](https://nodejs.org/docs/latest-v25.x/api/stream.html#three-states) section.",
1101
+ "enum": [
1102
+ null,
1103
+ false,
1104
+ true
1105
+ ],
1192
1106
  "since": "v9.4.0",
1193
- "type": "boolean"
1107
+ "type": [
1108
+ "null",
1109
+ "boolean"
1110
+ ]
1194
1111
  },
1195
1112
  "writable": {
1196
1113
  "default": false,
@@ -1199,6 +1116,9 @@
1199
1116
  "type": "boolean"
1200
1117
  }
1201
1118
  },
1119
+ "required": [
1120
+ "readableFlowing"
1121
+ ],
1202
1122
  "since": "v0.9.4",
1203
1123
  "type": "object"
1204
1124
  },
@@ -1286,7 +1206,15 @@
1286
1206
  "type": "string"
1287
1207
  },
1288
1208
  "idleTimeoutMillis": {
1289
- "type": "number"
1209
+ "anyOf": [
1210
+ {
1211
+ "const": null,
1212
+ "type": "null"
1213
+ },
1214
+ {
1215
+ "type": "number"
1216
+ }
1217
+ ]
1290
1218
  },
1291
1219
  "idle_in_transaction_session_timeout": {
1292
1220
  "type": "number"
@@ -1301,6 +1229,7 @@
1301
1229
  "lock_timeout": {
1302
1230
  "type": "number"
1303
1231
  },
1232
+ "log": {},
1304
1233
  "max": {
1305
1234
  "type": "number"
1306
1235
  },
@@ -1313,6 +1242,7 @@
1313
1242
  "min": {
1314
1243
  "type": "number"
1315
1244
  },
1245
+ "onConnect": {},
1316
1246
  "options": {
1317
1247
  "type": "string"
1318
1248
  },
@@ -1357,12 +1287,14 @@
1357
1287
  }
1358
1288
  ]
1359
1289
  },
1290
+ "stream": {},
1360
1291
  "types": {
1361
1292
  "$ref": "#/definitions/CustomTypesConfig"
1362
1293
  },
1363
1294
  "user": {
1364
1295
  "type": "string"
1365
- }
1296
+ },
1297
+ "verify": {}
1366
1298
  },
1367
1299
  "type": "object"
1368
1300
  },
@@ -1460,7 +1392,11 @@
1460
1392
  "$ref": "#/definitions/PoolConfig"
1461
1393
  }
1462
1394
  ],
1463
- "description": "Connection settings forwarded to the chosen pg client/pool. Defaults\nto PG* environment variables."
1395
+ "description": "Connection settings forwarded to the chosen pg client/pool. Defaults\nto PG* environment variables.\n\nCan be encrypted with `webda config encrypt`",
1396
+ "x-webda-secret": [
1397
+ "password",
1398
+ "connectionString"
1399
+ ]
1464
1400
  },
1465
1401
  "table": {
1466
1402
  "default": "webda_queue",
@@ -1601,6 +1537,7 @@
1601
1537
  }
1602
1538
  ]
1603
1539
  },
1540
+ "stream": {},
1604
1541
  "types": {
1605
1542
  "$ref": "#/definitions/CustomTypesConfig"
1606
1543
  },
@@ -1613,6 +1550,9 @@
1613
1550
  "ConnectionOptions": {
1614
1551
  "additionalProperties": false,
1615
1552
  "properties": {
1553
+ "ALPNCallback": {
1554
+ "description": "If set, this will be called when a client opens a connection using the ALPN extension.\nOne argument will be passed to the callback: an object containing `servername` and `protocols` fields,\nrespectively containing the server name from the SNI extension (if any) and an array of\nALPN protocol name strings. The callback must return either one of the strings listed in `protocols`,\nwhich will be returned to the client as the selected ALPN protocol, or `undefined`,\nto reject the connection with a fatal alert. If a string is returned that does not match one of\nthe client's ALPN protocols, an error will be thrown.\nThis option cannot be used with the `ALPNProtocols` option, and setting both options will throw an error."
1555
+ },
1616
1556
  "ALPNProtocols": {
1617
1557
  "anyOf": [
1618
1558
  {
@@ -1625,70 +1565,12 @@
1625
1565
  "$ref": "#/definitions/DataView%3CArrayBufferLike%3E"
1626
1566
  },
1627
1567
  {
1628
- "description": "A typed array of 64-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated, an exception is raised.",
1629
- "items": {
1630
- "type": "integer"
1631
- },
1632
- "type": "array"
1633
- },
1634
- {
1635
- "description": "A typed array of 64-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated, an exception is raised.",
1636
1568
  "items": {
1637
1569
  "type": "integer"
1638
1570
  },
1639
1571
  "type": "array"
1640
1572
  },
1641
1573
  {
1642
- "description": "A typed array of 16-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.",
1643
- "items": {
1644
- "type": "number"
1645
- },
1646
- "type": "array"
1647
- },
1648
- {
1649
- "description": "A typed array of 32-bit float values. The contents are initialized to 0. If the requested number\nof bytes could not be allocated an exception is raised.",
1650
- "items": {
1651
- "type": "number"
1652
- },
1653
- "type": "array"
1654
- },
1655
- {
1656
- "description": "A typed array of 64-bit float values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.",
1657
- "items": {
1658
- "type": "number"
1659
- },
1660
- "type": "array"
1661
- },
1662
- {
1663
- "description": "A typed array of 16-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
1664
- "items": {
1665
- "type": "number"
1666
- },
1667
- "type": "array"
1668
- },
1669
- {
1670
- "description": "A typed array of 32-bit signed integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
1671
- "items": {
1672
- "type": "number"
1673
- },
1674
- "type": "array"
1675
- },
1676
- {
1677
- "description": "A typed array of 8-bit integer values. The contents are initialized to 0. If the requested\nnumber of bytes could not be allocated an exception is raised.",
1678
- "items": {
1679
- "type": "number"
1680
- },
1681
- "type": "array"
1682
- },
1683
- {
1684
- "description": "A typed array of 16-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
1685
- "items": {
1686
- "type": "number"
1687
- },
1688
- "type": "array"
1689
- },
1690
- {
1691
- "description": "A typed array of 32-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
1692
1574
  "items": {
1693
1575
  "type": "number"
1694
1576
  },
@@ -1699,17 +1581,13 @@
1699
1581
  "contentMediaType": "application/octet-stream",
1700
1582
  "description": "A typed array of 8-bit unsigned integer values. The contents are initialized to 0. If the\nrequested number of bytes could not be allocated an exception is raised.",
1701
1583
  "type": "string"
1702
- },
1703
- {
1704
- "description": "A typed array of 8-bit unsigned integer (clamped) values. The contents are initialized to 0.\nIf the requested number of bytes could not be allocated an exception is raised.",
1705
- "items": {
1706
- "type": "number"
1707
- },
1708
- "type": "array"
1709
1584
  }
1710
1585
  ],
1711
1586
  "description": "An array of strings, or a single `Buffer`, `TypedArray`, or `DataView` containing the supported\nALPN protocols. Buffers should have the format `[len][name][len][name]...`\ne.g. `'\\x08http/1.1\\x08http/1.0'`, where the `len` byte is the length of the\nnext protocol name. Passing an array is usually much simpler, e.g.\n`['http/1.1', 'http/1.0']`. Protocols earlier in the list have higher\npreference than those later."
1712
1587
  },
1588
+ "SNICallback": {
1589
+ "description": "SNICallback(servername, cb) <Function> A function that will be\ncalled if the client supports SNI TLS extension. Two arguments\nwill be passed when called: servername and cb. SNICallback should\ninvoke cb(null, ctx), where ctx is a SecureContext instance.\n(tls.createSecureContext(...) can be used to get a proper\nSecureContext.) If SNICallback wasn't provided the default callback\nwith high-level API will be used (see below)."
1590
+ },
1713
1591
  "allowPartialTrustChain": {
1714
1592
  "default": false,
1715
1593
  "description": "Treat intermediate (non-self-signed)\ncertificates in the trust CA certificate list as trusted.",
@@ -1772,6 +1650,7 @@
1772
1650
  ],
1773
1651
  "description": "Cert chains in PEM format. One cert chain should be provided per\nprivate key. Each cert chain should consist of the PEM formatted\ncertificate for a provided private key, followed by the PEM\nformatted intermediate certificates (if any), in order, and not\nincluding the root CA (the root CA must be pre-known to the peer,\nsee ca). When providing multiple cert chains, they do not have to\nbe in the same order as their private keys in key. If the\nintermediate certificates are not provided, the peer will not be\nable to validate the certificate, and the handshake will fail."
1774
1652
  },
1653
+ "checkServerIdentity": {},
1775
1654
  "ciphers": {
1776
1655
  "description": "Cipher suite specification, replacing the default. For more\ninformation, see modifying the default cipher suite. Permitted\nciphers can be obtained via tls.getCiphers(). Cipher names must be\nuppercased in order for OpenSSL to accept them.",
1777
1656
  "type": "string"
@@ -1870,6 +1749,7 @@
1870
1749
  ],
1871
1750
  "description": "Private keys in PEM format. PEM allows the option of private keys\nbeing encrypted. Encrypted keys will be decrypted with\noptions.passphrase. Multiple keys using different algorithms can be\nprovided either as an array of unencrypted key strings or buffers,\nor an array of objects in the form {pem: <string|buffer>[,\npassphrase: <string>]}. The object form can only occur in an array.\nobject.passphrase is optional. Encrypted keys will be decrypted with\nobject.passphrase if provided, or options.passphrase if it is not."
1872
1751
  },
1752
+ "lookup": {},
1873
1753
  "maxVersion": {
1874
1754
  "description": "Optionally set the maximum TLS version to allow. One\nof `'TLSv1.3'`, `'TLSv1.2'`, `'TLSv1.1'`, or `'TLSv1'`. Cannot be specified along with the\n`secureProtocol` option, use one or the other.\n**Default:** `'TLSv1.3'`, unless changed using CLI options. Using\n`--tls-max-v1.2` sets the default to `'TLSv1.2'`. Using `--tls-max-v1.3` sets the default to\n`'TLSv1.3'`. If multiple of the options are provided, the highest maximum is used.",
1875
1755
  "enum": [
@@ -1944,6 +1824,10 @@
1944
1824
  "description": "Identifier of a private key managed by an OpenSSL engine. Should be\nused together with privateKeyEngine. Should not be set together with\nkey, because both options define a private key in different ways.",
1945
1825
  "type": "string"
1946
1826
  },
1827
+ "pskCallback": {
1828
+ "description": "When negotiating TLS-PSK (pre-shared keys), this function is called\nwith optional identity `hint` provided by the server or `null`\nin case of TLS 1.3 where `hint` was removed.\nIt will be necessary to provide a custom `tls.checkServerIdentity()`\nfor the connection as the default one will try to check hostname/IP\nof the server against the certificate but that's not applicable for PSK\nbecause there won't be a certificate present.\nMore information can be found in the RFC 4279.",
1829
+ "returns": "Return `null` to stop the negotiation process. `psk` must be\ncompatible with the selected cipher's digest.\n`identity` must use UTF-8 encoding."
1830
+ },
1947
1831
  "rejectUnauthorized": {
1948
1832
  "default": true,
1949
1833
  "description": "If true the server will reject any connection which is not\nauthorized with the list of supplied CAs. This option only has an\neffect if requestCert is true.",
@@ -2032,10 +1916,17 @@
2032
1916
  "type": "boolean"
2033
1917
  },
2034
1918
  "readableFlowing": {
2035
- "default": false,
2036
1919
  "description": "This property reflects the current state of a `Readable` stream as described\nin the [Three states](https://nodejs.org/docs/latest-v25.x/api/stream.html#three-states) section.",
1920
+ "enum": [
1921
+ null,
1922
+ false,
1923
+ true
1924
+ ],
2037
1925
  "since": "v9.4.0",
2038
- "type": "boolean"
1926
+ "type": [
1927
+ "null",
1928
+ "boolean"
1929
+ ]
2039
1930
  },
2040
1931
  "writable": {
2041
1932
  "default": false,
@@ -2044,6 +1935,9 @@
2044
1935
  "type": "boolean"
2045
1936
  }
2046
1937
  },
1938
+ "required": [
1939
+ "readableFlowing"
1940
+ ],
2047
1941
  "since": "v0.9.4",
2048
1942
  "type": "object"
2049
1943
  },
@@ -2131,7 +2025,15 @@
2131
2025
  "type": "string"
2132
2026
  },
2133
2027
  "idleTimeoutMillis": {
2134
- "type": "number"
2028
+ "anyOf": [
2029
+ {
2030
+ "const": null,
2031
+ "type": "null"
2032
+ },
2033
+ {
2034
+ "type": "number"
2035
+ }
2036
+ ]
2135
2037
  },
2136
2038
  "idle_in_transaction_session_timeout": {
2137
2039
  "type": "number"
@@ -2146,6 +2048,7 @@
2146
2048
  "lock_timeout": {
2147
2049
  "type": "number"
2148
2050
  },
2051
+ "log": {},
2149
2052
  "max": {
2150
2053
  "type": "number"
2151
2054
  },
@@ -2158,6 +2061,7 @@
2158
2061
  "min": {
2159
2062
  "type": "number"
2160
2063
  },
2064
+ "onConnect": {},
2161
2065
  "options": {
2162
2066
  "type": "string"
2163
2067
  },
@@ -2202,12 +2106,14 @@
2202
2106
  }
2203
2107
  ]
2204
2108
  },
2109
+ "stream": {},
2205
2110
  "types": {
2206
2111
  "$ref": "#/definitions/CustomTypesConfig"
2207
2112
  },
2208
2113
  "user": {
2209
2114
  "type": "string"
2210
- }
2115
+ },
2116
+ "verify": {}
2211
2117
  },
2212
2118
  "type": "object"
2213
2119
  },
@@ -2268,7 +2174,7 @@
2268
2174
  "additionalProperties": false,
2269
2175
  "type": "object"
2270
2176
  },
2271
- "modelAliases": {
2177
+ "modelAliases#2": {
2272
2178
  "additionalProperties": {
2273
2179
  "type": "string"
2274
2180
  },
@@ -2279,7 +2185,7 @@
2279
2185
  "additionalProperties": false,
2280
2186
  "type": "object"
2281
2187
  },
2282
- "tables": {
2188
+ "tables#2": {
2283
2189
  "additionalProperties": {
2284
2190
  "type": "string"
2285
2191
  },
@@ -2323,7 +2229,7 @@
2323
2229
  "type": "number"
2324
2230
  },
2325
2231
  "modelAliases": {
2326
- "$ref": "#/definitions/modelAliases",
2232
+ "$ref": "#/definitions/modelAliases%232",
2327
2233
  "description": "Model Aliases to allow easier rename of Model"
2328
2234
  },
2329
2235
  "models": {
@@ -2350,7 +2256,11 @@
2350
2256
  "$ref": "#/definitions/PoolConfig"
2351
2257
  }
2352
2258
  ],
2353
- "description": "By default use environment variables"
2259
+ "description": "By default use environment variables\n\nCan be encrypted with `webda config encrypt`",
2260
+ "x-webda-secret": [
2261
+ "password",
2262
+ "connectionString"
2263
+ ]
2354
2264
  },
2355
2265
  "slowQueryThreshold": {
2356
2266
  "default": 30000,
@@ -2366,7 +2276,7 @@
2366
2276
  "type": "string"
2367
2277
  },
2368
2278
  "tables": {
2369
- "$ref": "#/definitions/tables",
2279
+ "$ref": "#/definitions/tables%232",
2370
2280
  "description": "Per-model table name overrides.\nMaps a model identifier (e.g. \"Webda/User\") to a custom table name.\nWhen not specified, defaults are: primary model → `table`, others → identifier lowercased with \"/\" → \"_\"."
2371
2281
  },
2372
2282
  "type": {