prostgles-server 2.0.185 → 2.0.188
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DboBuilder/insert.d.ts +5 -0
- package/dist/DboBuilder/insert.d.ts.map +1 -0
- package/dist/DboBuilder/insert.js +129 -0
- package/dist/DboBuilder/insert.js.map +1 -0
- package/dist/DboBuilder/insertDataParse.d.ts +11 -0
- package/dist/DboBuilder/insertDataParse.d.ts.map +1 -0
- package/dist/DboBuilder/insertDataParse.js +283 -0
- package/dist/DboBuilder/insertDataParse.js.map +1 -0
- package/dist/DboBuilder.d.ts +10 -5
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +121 -374
- package/dist/DboBuilder.js.map +1 -1
- package/dist/FileManager.d.ts.map +1 -1
- package/dist/FileManager.js +17 -12
- package/dist/FileManager.js.map +1 -1
- package/dist/Prostgles.d.ts +16 -14
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js +7 -7
- package/dist/Prostgles.js.map +1 -1
- package/dist/PubSubManager.d.ts +1 -0
- package/dist/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager.js +2 -1
- package/dist/PubSubManager.js.map +1 -1
- package/dist/QueryBuilder.d.ts +7 -3
- package/dist/QueryBuilder.d.ts.map +1 -1
- package/dist/QueryBuilder.js +7 -2
- package/dist/QueryBuilder.js.map +1 -1
- package/dist/TableConfig.d.ts +1 -4
- package/dist/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig.js +16 -1
- package/dist/TableConfig.js.map +1 -1
- package/lib/DboBuilder/insert.d.ts +5 -0
- package/lib/DboBuilder/insert.d.ts.map +1 -0
- package/lib/DboBuilder/insert.js +128 -0
- package/lib/DboBuilder/insert.ts +138 -0
- package/lib/DboBuilder/insertDataParse.d.ts +11 -0
- package/lib/DboBuilder/insertDataParse.d.ts.map +1 -0
- package/lib/DboBuilder/insertDataParse.js +282 -0
- package/lib/DboBuilder/insertDataParse.ts +355 -0
- package/lib/DboBuilder.d.ts +10 -5
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +121 -374
- package/lib/DboBuilder.ts +138 -453
- package/lib/FileManager.d.ts.map +1 -1
- package/lib/FileManager.js +17 -12
- package/lib/FileManager.ts +18 -13
- package/lib/Prostgles.d.ts +16 -14
- package/lib/Prostgles.d.ts.map +1 -1
- package/lib/Prostgles.js +7 -7
- package/lib/Prostgles.ts +664 -650
- package/lib/PubSubManager.d.ts +1 -0
- package/lib/PubSubManager.d.ts.map +1 -1
- package/lib/PubSubManager.js +2 -1
- package/lib/PubSubManager.ts +3 -1
- package/lib/QueryBuilder.d.ts.map +1 -1
- package/lib/QueryBuilder.js +7 -2
- package/lib/QueryBuilder.ts +12 -7
- package/lib/SchemaWatchManager.ts +72 -0
- package/lib/TableConfig.d.ts +1 -4
- package/lib/TableConfig.d.ts.map +1 -1
- package/lib/TableConfig.js +16 -1
- package/lib/TableConfig.ts +21 -8
- package/package.json +3 -3
- package/tests/client/PID.txt +1 -1
- package/tests/client/package-lock.json +15 -15
- package/tests/client/package.json +1 -1
- package/tests/client/tsconfig.json +1 -1
- package/tests/client_only_queries.d.ts +1 -1
- package/tests/client_only_queries.d.ts.map +1 -1
- package/tests/client_only_queries.ts +1 -1
- package/tests/isomorphic_queries.d.ts +1 -1
- package/tests/isomorphic_queries.d.ts.map +1 -1
- package/tests/isomorphic_queries.js +49 -1
- package/tests/isomorphic_queries.ts +66 -4
- package/tests/manual_test/DBoGenerated.d.ts +398 -0
- package/tests/manual_test/index.d.ts +2 -0
- package/tests/manual_test/index.d.ts.map +1 -0
- package/tests/{config_test2 → manual_test}/index.html +14 -23
- package/tests/{config_test2 → manual_test}/index.js +21 -15
- package/tests/{config_test2 → manual_test}/index.ts +22 -17
- package/tests/{config_test2 → manual_test}/init.sql +36 -5
- package/tests/manual_test/package-lock.json +2483 -0
- package/tests/{config_test2 → manual_test}/package.json +6 -7
- package/tests/manual_test/tsconfig.json +21 -0
- package/tests/server/DBoGenerated.d.ts +70 -0
- package/tests/server/index.js +29 -2
- package/tests/server/index.ts +30 -4
- package/tests/server/init.sql +25 -0
- package/tests/server/package-lock.json +5 -5
- package/tests/config_test2/DBoGenerated.d.ts +0 -135
- package/tests/config_test2/tsconfig.json +0 -21
package/lib/FileManager.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["FileManager.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAO7B,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7D,eAAO,MAAM,eAAe,SAAgB,MAAM,aAAW,QAAQ,MAAM,CAE1E,CAAA;AAED,oBAAY,YAAY,GAAG;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC;IACV;;OAEG;IACD;QAAE,MAAM,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE,GAC7C;QAAE,OAAO,EACL;YAAE,KAAK,EAAE,MAAM,CAAA;SAAE,GACjB;YAAE,MAAM,EAAE,MAAM,CAAA;SAAE,CAAA;KACrB,CAAA;CACN,CAAA;AAED,oBAAY,QAAQ,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CAEzB,CAAA;AAED,oBAAY,WAAW,GAAG;IACxB;;;OAGG;IACH,eAAe,EAAE,MAAM,CAAC;CACzB,CAAA;AAED,oBAAY,UAAU,GAAG;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AACF,oBAAY,YAAY,GAAG;IACzB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,WAAW;IAE9B,QAAQ,CAAC,EAAE,EAAE,CAAC;IAEd,MAAM,EAAE,QAAQ,GAAG,WAAW,CAAC;IAC/B,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,IAAI,GAAG,IAAI,eAAe,CAGzB;IACD,IAAI,EAAE,IAAI,EAAE,CAGX;IAED,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,SAAS,CAAC,CAAS;gBAEf,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,EAAE,YAAY;IAahE,OAAO,CACX,IAAI,EAAE,MAAM,GAAG,MAAM,EACrB,QAAQ,EAAE,MAAM,EAChB,iBAAiB,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAC5C,qBAAqB,CAAC,EAAE,KAAK,CAAC,iBAAiB,CAAC,EAChD,YAAY,UAAO,GAClB,OAAO,CAAC;QACT,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,EAAE,MAAM,GAAG,iBAAiB,CAAC;QAChC,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;YAkFY,MAAM;IAiEpB,aAAa,WAAkB;QAC7B,IAAI,EAAE,UAAU,CAAC;QACjB,iBAAiB,CAAC,EAAE,MAAM,iBAAiB,CAAC,CAAC;QAC7C,qBAAqB,CAAC,EAAE,MAAM,iBAAiB,CAAC,CAAC;QACjD,YAAY,CAAC,EAAE,YAAY,CAAC;KAC7B,KAAG,QAAQ,YAAY,CAAC,CA6CxB;YAEa,UAAU;IASxB,OAAO,CAAC,kBAAkB,CAAuE;IAEjG,IAAI,QAAe,SAAS,
|
|
1
|
+
{"version":3,"file":"FileManager.d.ts","sourceRoot":"","sources":["FileManager.ts"],"names":[],"mappings":"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"}
|
package/lib/FileManager.js
CHANGED
|
@@ -89,7 +89,7 @@ class FileManager {
|
|
|
89
89
|
throw "fileTable missing";
|
|
90
90
|
const { tableName = "media", referencedTables = {} } = fileTable;
|
|
91
91
|
this.tableName = tableName;
|
|
92
|
-
const maxBfSizeMB = prg.opts.io?.engine?.opts?.maxHttpBufferSize / 1e6;
|
|
92
|
+
const maxBfSizeMB = (prg.opts.io?.engine?.opts?.maxHttpBufferSize || 1e6) / 1e6;
|
|
93
93
|
console.log(`Prostgles: Initiated file manager. Max allowed file size: ${maxBfSizeMB}MB (maxHttpBufferSize = 1e6). To increase this set maxHttpBufferSize in socket.io server init options`);
|
|
94
94
|
// throw "Why are constraints dissapearing?"
|
|
95
95
|
/**
|
|
@@ -99,18 +99,20 @@ class FileManager {
|
|
|
99
99
|
console.log(`Creating fileTable ${(0, prostgles_types_1.asName)(tableName)} ...`);
|
|
100
100
|
await this.db.any(`CREATE EXTENSION IF NOT EXISTS pgcrypto `);
|
|
101
101
|
await this.db.any(`CREATE TABLE IF NOT EXISTS ${(0, prostgles_types_1.asName)(tableName)} (
|
|
102
|
-
id
|
|
103
|
-
name
|
|
104
|
-
extension
|
|
105
|
-
content_type
|
|
106
|
-
url
|
|
107
|
-
original_name
|
|
102
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
103
|
+
name TEXT NOT NULL,
|
|
104
|
+
extension TEXT NOT NULL,
|
|
105
|
+
content_type TEXT NOT NULL,
|
|
106
|
+
url TEXT NOT NULL,
|
|
107
|
+
original_name TEXT NOT NULL,
|
|
108
108
|
|
|
109
|
-
description
|
|
110
|
-
s3_url
|
|
111
|
-
signed_url
|
|
112
|
-
signed_url_expires
|
|
113
|
-
etag
|
|
109
|
+
description TEXT,
|
|
110
|
+
s3_url TEXT,
|
|
111
|
+
signed_url TEXT,
|
|
112
|
+
signed_url_expires BIGINT,
|
|
113
|
+
etag TEXT,
|
|
114
|
+
deleted BIGINT,
|
|
115
|
+
deleted_from_storage BIGINT,
|
|
114
116
|
UNIQUE(name)
|
|
115
117
|
)`);
|
|
116
118
|
console.log(`Created fileTable ${(0, prostgles_types_1.asName)(tableName)}`);
|
|
@@ -177,6 +179,9 @@ class FileManager {
|
|
|
177
179
|
* 4. Serve media through express
|
|
178
180
|
*/
|
|
179
181
|
const { fileServeRoute = `/${tableName}`, expressApp: app } = fileTable;
|
|
182
|
+
if (fileServeRoute.endsWith("/")) {
|
|
183
|
+
throw `fileServeRoute must not end with a '/'`;
|
|
184
|
+
}
|
|
180
185
|
this.fileRoute = fileServeRoute;
|
|
181
186
|
if (app) {
|
|
182
187
|
app.get(this.fileRoute + "/:name", async (req, res) => {
|
package/lib/FileManager.ts
CHANGED
|
@@ -327,7 +327,7 @@ export default class FileManager {
|
|
|
327
327
|
const { tableName = "media", referencedTables = {} } = fileTable;
|
|
328
328
|
this.tableName = tableName;
|
|
329
329
|
|
|
330
|
-
const maxBfSizeMB = prg.opts.io?.engine?.opts?.maxHttpBufferSize/1e6;
|
|
330
|
+
const maxBfSizeMB = (prg.opts.io?.engine?.opts?.maxHttpBufferSize || 1e6)/1e6;
|
|
331
331
|
console.log(`Prostgles: Initiated file manager. Max allowed file size: ${maxBfSizeMB}MB (maxHttpBufferSize = 1e6). To increase this set maxHttpBufferSize in socket.io server init options`);
|
|
332
332
|
|
|
333
333
|
// throw "Why are constraints dissapearing?"
|
|
@@ -338,18 +338,20 @@ export default class FileManager {
|
|
|
338
338
|
console.log(`Creating fileTable ${asName(tableName)} ...`);
|
|
339
339
|
await this.db.any(`CREATE EXTENSION IF NOT EXISTS pgcrypto `);
|
|
340
340
|
await this.db.any(`CREATE TABLE IF NOT EXISTS ${asName(tableName)} (
|
|
341
|
-
id
|
|
342
|
-
name
|
|
343
|
-
extension
|
|
344
|
-
content_type
|
|
345
|
-
url
|
|
346
|
-
original_name
|
|
347
|
-
|
|
348
|
-
description
|
|
349
|
-
s3_url
|
|
350
|
-
signed_url
|
|
351
|
-
signed_url_expires
|
|
352
|
-
etag
|
|
341
|
+
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
342
|
+
name TEXT NOT NULL,
|
|
343
|
+
extension TEXT NOT NULL,
|
|
344
|
+
content_type TEXT NOT NULL,
|
|
345
|
+
url TEXT NOT NULL,
|
|
346
|
+
original_name TEXT NOT NULL,
|
|
347
|
+
|
|
348
|
+
description TEXT,
|
|
349
|
+
s3_url TEXT,
|
|
350
|
+
signed_url TEXT,
|
|
351
|
+
signed_url_expires BIGINT,
|
|
352
|
+
etag TEXT,
|
|
353
|
+
deleted BIGINT,
|
|
354
|
+
deleted_from_storage BIGINT,
|
|
353
355
|
UNIQUE(name)
|
|
354
356
|
)`);
|
|
355
357
|
console.log(`Created fileTable ${asName(tableName)}`);
|
|
@@ -429,6 +431,9 @@ export default class FileManager {
|
|
|
429
431
|
expressApp: app
|
|
430
432
|
} = fileTable;
|
|
431
433
|
|
|
434
|
+
if(fileServeRoute.endsWith("/")){
|
|
435
|
+
throw `fileServeRoute must not end with a '/'`
|
|
436
|
+
}
|
|
432
437
|
this.fileRoute = fileServeRoute;
|
|
433
438
|
|
|
434
439
|
if(app){
|
package/lib/Prostgles.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
1
2
|
import * as pgPromise from 'pg-promise';
|
|
2
3
|
import pg = require('pg-promise/typescript/pg-subset');
|
|
3
4
|
import FileManager, { ImageOptions, LocalConfig, S3Config } from "./FileManager";
|
|
@@ -18,7 +19,7 @@ export declare type Join = {
|
|
|
18
19
|
tables: [string, string];
|
|
19
20
|
on: {
|
|
20
21
|
[key: string]: string;
|
|
21
|
-
};
|
|
22
|
+
}[];
|
|
22
23
|
type: typeof JOIN_TYPES[number];
|
|
23
24
|
};
|
|
24
25
|
export declare type Joins = Join[] | "inferred";
|
|
@@ -99,21 +100,28 @@ export declare type ProstglesInitOptions<S = void> = {
|
|
|
99
100
|
DEBUG_MODE?: boolean;
|
|
100
101
|
watchSchemaType?:
|
|
101
102
|
/**
|
|
102
|
-
* Will
|
|
103
|
+
* Will set database event trigger for schema changes. Requires superuser
|
|
103
104
|
* Default
|
|
104
105
|
*/
|
|
105
|
-
"
|
|
106
|
+
"DDL_trigger"
|
|
106
107
|
/**
|
|
107
|
-
* Will
|
|
108
|
+
* Will check client queries for schema changes
|
|
109
|
+
* fallback if DDL not possible
|
|
108
110
|
*/
|
|
109
|
-
| "
|
|
111
|
+
| "prostgles_queries"
|
|
112
|
+
/**
|
|
113
|
+
* Schema checked for changes every 'checkIntervalMillis" milliseconds
|
|
114
|
+
*/
|
|
115
|
+
| {
|
|
116
|
+
checkIntervalMillis: number;
|
|
117
|
+
};
|
|
110
118
|
watchSchema?:
|
|
111
119
|
/**
|
|
112
120
|
* If true then DBoGenerated.d.ts will be updated and "onReady" will be called with new schema on both client and server
|
|
113
121
|
*/
|
|
114
122
|
boolean
|
|
115
123
|
/**
|
|
116
|
-
*
|
|
124
|
+
* Will only rewrite the DBoGenerated.d.ts found in tsGeneratedTypesDir
|
|
117
125
|
* This is meant to be used in development when server restarts on file change
|
|
118
126
|
*/
|
|
119
127
|
| "hotReloadMode"
|
|
@@ -123,13 +131,7 @@ export declare type ProstglesInitOptions<S = void> = {
|
|
|
123
131
|
| ((event: {
|
|
124
132
|
command: string;
|
|
125
133
|
query: string;
|
|
126
|
-
}) => void)
|
|
127
|
-
/**
|
|
128
|
-
* Schema checked for changes every 'checkIntervalMillis" milliseconds
|
|
129
|
-
*/
|
|
130
|
-
| {
|
|
131
|
-
checkIntervalMillis: number;
|
|
132
|
-
};
|
|
134
|
+
}) => void);
|
|
133
135
|
keywords?: Keywords;
|
|
134
136
|
onNotice?: (notice: AnyObject, message?: string) => void;
|
|
135
137
|
fileTable?: FileTableConfig;
|
|
@@ -176,7 +178,7 @@ export declare class Prostgles {
|
|
|
176
178
|
writeDBSchema(force?: boolean): void;
|
|
177
179
|
refreshDBO: () => Promise<DBHandlerServer>;
|
|
178
180
|
isSuperUser: boolean;
|
|
179
|
-
schema_checkIntervalMillis
|
|
181
|
+
schema_checkIntervalMillis?: NodeJS.Timeout;
|
|
180
182
|
init(onReady: (dbo: DBOFullyTyped, db: DB) => any): Promise<{
|
|
181
183
|
db: DBOFullyTyped;
|
|
182
184
|
_db: DB;
|
package/lib/Prostgles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,SAAS,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,GAAG,QAAQ,iCAAiC,CAAC,CAAC;AACvD,OAAO,WAAW,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIjF,OAAO,WAAW,EAAE,EAAc,IAAI,EAAE,MAAM,eAAe,CAAC;AAG9D,OAAO,iBAAiB,EAAE,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,eAAe,EAA2C,YAAY,EAAE,MAAM,cAAc,CAAC;AAElH,OAAO,EAAE,eAAe,EAAE,CAAA;AAC1B,oBAAY,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AAElD,OAAO,EAA8C,SAAS,EAAkD,MAAM,iBAAiB,CAAC;AACxI,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,oBAAY,EAAE,GAAG,SAAS,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;AACrD,aAAK,YAAY,GAAG,MAAM,GAAG,EAAE,CAAC,qBAAqB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;AAClE,aAAK,gBAAgB,GAAG,EAAE,CAAC,SAAS,CAAC;AACrC,eAAO,MAAM,aAAa,sEAAuE,CAAC;AAgDlG,eAAO,MAAM,UAAU,2DAA4D,CAAC;AACpF,oBAAY,IAAI,GAAG;
|
|
1
|
+
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"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"}
|
package/lib/Prostgles.js
CHANGED
|
@@ -110,7 +110,7 @@ class Prostgles {
|
|
|
110
110
|
onReady: () => { },
|
|
111
111
|
schema: "public",
|
|
112
112
|
watchSchema: false,
|
|
113
|
-
watchSchemaType: "
|
|
113
|
+
watchSchemaType: "DDL_trigger",
|
|
114
114
|
};
|
|
115
115
|
this.keywords = DEFAULT_KEYWORDS;
|
|
116
116
|
this.loaded = false;
|
|
@@ -238,7 +238,7 @@ class Prostgles {
|
|
|
238
238
|
return this.opts?.fileTable?.tableName === tableName;
|
|
239
239
|
}
|
|
240
240
|
async onSchemaChange(event) {
|
|
241
|
-
const { watchSchema, onReady, tsGeneratedTypesDir } = this.opts;
|
|
241
|
+
const { watchSchema, watchSchemaType, onReady, tsGeneratedTypesDir } = this.opts;
|
|
242
242
|
if (watchSchema && this.loaded) {
|
|
243
243
|
console.log("Schema changed");
|
|
244
244
|
const { query } = event;
|
|
@@ -258,7 +258,7 @@ class Prostgles {
|
|
|
258
258
|
this.writeDBSchema(true);
|
|
259
259
|
}
|
|
260
260
|
}
|
|
261
|
-
else if (watchSchema === true || "checkIntervalMillis" in
|
|
261
|
+
else if (watchSchema === true || (0, DboBuilder_1.isPlainObject)(watchSchemaType) && "checkIntervalMillis" in watchSchemaType) {
|
|
262
262
|
/* Full re-init. Sockets must reconnect */
|
|
263
263
|
console.log("watchSchema: Full re-initialisation");
|
|
264
264
|
this.init(onReady);
|
|
@@ -308,9 +308,9 @@ class Prostgles {
|
|
|
308
308
|
throw "tsGeneratedTypesDir option is needed for watchSchema: hotReloadMode to work ";
|
|
309
309
|
}
|
|
310
310
|
else if (this.opts.watchSchema &&
|
|
311
|
-
typeof this.opts.
|
|
312
|
-
"checkIntervalMillis" in this.opts.
|
|
313
|
-
typeof this.opts.
|
|
311
|
+
typeof this.opts.watchSchemaType === "object" &&
|
|
312
|
+
"checkIntervalMillis" in this.opts.watchSchemaType &&
|
|
313
|
+
typeof this.opts.watchSchemaType.checkIntervalMillis === "number") {
|
|
314
314
|
if (this.schema_checkIntervalMillis) {
|
|
315
315
|
clearInterval(this.schema_checkIntervalMillis);
|
|
316
316
|
this.schema_checkIntervalMillis = setInterval(async () => {
|
|
@@ -319,7 +319,7 @@ class Prostgles {
|
|
|
319
319
|
this.refreshDBO();
|
|
320
320
|
this.init(onReady);
|
|
321
321
|
}
|
|
322
|
-
}, this.opts.
|
|
322
|
+
}, this.opts.watchSchemaType.checkIntervalMillis);
|
|
323
323
|
}
|
|
324
324
|
}
|
|
325
325
|
/* 1. Connect to db */
|