prostgles-server 4.0.57 → 4.0.59
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/getColumns.d.ts.map +1 -1
- package/dist/DboBuilder/getColumns.js +1 -13
- package/dist/DboBuilder/getColumns.js.map +1 -1
- package/dist/DboBuilder/runSQL.js +2 -2
- package/dist/DboBuilder/runSQL.js.map +1 -1
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts +1 -1
- package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
- package/dist/PubSubManager/PubSubManager.js +14 -1
- package/dist/PubSubManager/PubSubManager.js.map +1 -1
- package/lib/DboBuilder/getColumns.ts +1 -18
- package/lib/DboBuilder/runSQL.ts +2 -2
- package/lib/Prostgles.ts +3 -3
- package/lib/PubSubManager/PubSubManager.ts +14 -1
- package/package.json +2 -2
- package/tests/client/PID.txt +1 -1
- package/tests/client/package.json +2 -2
- package/tests/client/tsconfig.json +2 -1
- package/tests/isomorphic_queries.ts +11 -9
- package/tests/server/DBoGenerated.d.ts +1 -1
- package/tests/server/dboTypeCheck.ts +3 -3
- package/tests/server/index.ts +7 -6
- package/tests/server/package-lock.json +1 -1
- package/tests/server/package.json +3 -3
- package/tests/server/publishTypeCheck.ts +1 -1
- package/tests/server/tsconfig.json +3 -2
- package/tests/test.sh +2 -0
- package/dist/FileManager.d.ts +0 -143
- package/dist/FileManager.d.ts.map +0 -1
- package/dist/FileManager.js +0 -646
- package/dist/FileManager.js.map +0 -1
- package/dist/TableConfig.d.ts +0 -267
- package/dist/TableConfig.d.ts.map +0 -1
- package/dist/TableConfig.js +0 -463
- package/dist/TableConfig.js.map +0 -1
- package/dist/validation.d.ts +0 -126
- package/dist/validation.d.ts.map +0 -1
- package/dist/validation.js +0 -405
- package/dist/validation.js.map +0 -1
- package/lib/AuthHandler.d.ts +0 -187
- package/lib/AuthHandler.d.ts.map +0 -1
- package/lib/AuthHandler.js +0 -478
- package/lib/DBEventsManager.d.ts +0 -38
- package/lib/DBEventsManager.d.ts.map +0 -1
- package/lib/DBEventsManager.js +0 -140
- package/lib/DBSchemaBuilder.d.ts +0 -13
- package/lib/DBSchemaBuilder.d.ts.map +0 -1
- package/lib/DBSchemaBuilder.js +0 -145
- package/lib/DboBuilder/QueryBuilder/Functions.d.ts +0 -64
- package/lib/DboBuilder/QueryBuilder/Functions.d.ts.map +0 -1
- package/lib/DboBuilder/QueryBuilder/Functions.js +0 -984
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts +0 -73
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +0 -1
- package/lib/DboBuilder/QueryBuilder/QueryBuilder.js +0 -335
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts +0 -8
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +0 -1
- package/lib/DboBuilder/QueryBuilder/makeSelectQuery.js +0 -227
- package/lib/DboBuilder/TableHandler.d.ts +0 -37
- package/lib/DboBuilder/TableHandler.d.ts.map +0 -1
- package/lib/DboBuilder/TableHandler.js +0 -213
- package/lib/DboBuilder/ViewHandler.d.ts +0 -119
- package/lib/DboBuilder/ViewHandler.d.ts.map +0 -1
- package/lib/DboBuilder/ViewHandler.js +0 -1023
- package/lib/DboBuilder/delete.d.ts +0 -6
- package/lib/DboBuilder/delete.d.ts.map +0 -1
- package/lib/DboBuilder/delete.js +0 -128
- package/lib/DboBuilder/find.d.ts +0 -8
- package/lib/DboBuilder/find.d.ts.map +0 -1
- package/lib/DboBuilder/find.js +0 -91
- package/lib/DboBuilder/getColumns.d.ts +0 -12
- package/lib/DboBuilder/getColumns.d.ts.map +0 -1
- package/lib/DboBuilder/getColumns.js +0 -92
- package/lib/DboBuilder/getCondition.d.ts +0 -22
- package/lib/DboBuilder/getCondition.d.ts.map +0 -1
- package/lib/DboBuilder/getCondition.js +0 -236
- package/lib/DboBuilder/getSubscribeRelatedTables.d.ts +0 -20
- package/lib/DboBuilder/getSubscribeRelatedTables.d.ts.map +0 -1
- package/lib/DboBuilder/getSubscribeRelatedTables.js +0 -152
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.d.ts +0 -3
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +0 -1
- package/lib/DboBuilder/getTablesForSchemaPostgresSQL.js +0 -207
- package/lib/DboBuilder/insert.d.ts +0 -6
- package/lib/DboBuilder/insert.d.ts.map +0 -1
- package/lib/DboBuilder/insert.js +0 -180
- package/lib/DboBuilder/insertDataParse.d.ts +0 -12
- package/lib/DboBuilder/insertDataParse.d.ts.map +0 -1
- package/lib/DboBuilder/insertDataParse.js +0 -253
- package/lib/DboBuilder/parseUpdateRules.d.ts +0 -18
- package/lib/DboBuilder/parseUpdateRules.d.ts.map +0 -1
- package/lib/DboBuilder/parseUpdateRules.js +0 -123
- package/lib/DboBuilder/runSQL.d.ts +0 -7
- package/lib/DboBuilder/runSQL.d.ts.map +0 -1
- package/lib/DboBuilder/runSQL.js +0 -135
- package/lib/DboBuilder/subscribe.d.ts +0 -20
- package/lib/DboBuilder/subscribe.d.ts.map +0 -1
- package/lib/DboBuilder/subscribe.js +0 -90
- package/lib/DboBuilder/update.d.ts +0 -6
- package/lib/DboBuilder/update.d.ts.map +0 -1
- package/lib/DboBuilder/update.js +0 -151
- package/lib/DboBuilder/uploadFile.d.ts +0 -7
- package/lib/DboBuilder/uploadFile.d.ts.map +0 -1
- package/lib/DboBuilder/uploadFile.js +0 -53
- package/lib/DboBuilder.d.ts +0 -306
- package/lib/DboBuilder.d.ts.map +0 -1
- package/lib/DboBuilder.js +0 -745
- package/lib/Event_Trigger_Tags.d.ts +0 -4
- package/lib/Event_Trigger_Tags.d.ts.map +0 -1
- package/lib/Event_Trigger_Tags.js +0 -116
- package/lib/FileManager/FileManager.d.ts +0 -135
- package/lib/FileManager/FileManager.d.ts.map +0 -1
- package/lib/FileManager/FileManager.js +0 -303
- package/lib/FileManager/initFileManager.d.ts +0 -4
- package/lib/FileManager/initFileManager.d.ts.map +0 -1
- package/lib/FileManager/initFileManager.js +0 -231
- package/lib/FileManager/parseFile.d.ts +0 -15
- package/lib/FileManager/parseFile.d.ts.map +0 -1
- package/lib/FileManager/parseFile.js +0 -58
- package/lib/FileManager/upload.d.ts +0 -6
- package/lib/FileManager/upload.d.ts.map +0 -1
- package/lib/FileManager/upload.js +0 -98
- package/lib/FileManager/uploadStream.d.ts +0 -5
- package/lib/FileManager/uploadStream.d.ts.map +0 -1
- package/lib/FileManager/uploadStream.js +0 -92
- package/lib/Filtering.d.ts +0 -15
- package/lib/Filtering.d.ts.map +0 -1
- package/lib/Filtering.js +0 -336
- package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts +0 -4
- package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +0 -1
- package/lib/JSONBValidation/validate_jsonb_schema_sql.js +0 -500
- package/lib/JSONBValidation/validation.d.ts +0 -9
- package/lib/JSONBValidation/validation.d.ts.map +0 -1
- package/lib/JSONBValidation/validation.js +0 -131
- package/lib/PostgresNotifListenManager.d.ts +0 -28
- package/lib/PostgresNotifListenManager.d.ts.map +0 -1
- package/lib/PostgresNotifListenManager.js +0 -134
- package/lib/Prostgles.d.ts +0 -289
- package/lib/Prostgles.d.ts.map +0 -1
- package/lib/Prostgles.js +0 -685
- package/lib/PubSubManager/PubSubManager.d.ts +0 -175
- package/lib/PubSubManager/PubSubManager.d.ts.map +0 -1
- package/lib/PubSubManager/PubSubManager.js +0 -452
- package/lib/PubSubManager/addSub.d.ts +0 -8
- package/lib/PubSubManager/addSub.d.ts.map +0 -1
- package/lib/PubSubManager/addSub.js +0 -166
- package/lib/PubSubManager/addSync.d.ts +0 -8
- package/lib/PubSubManager/addSync.d.ts.map +0 -1
- package/lib/PubSubManager/addSync.js +0 -109
- package/lib/PubSubManager/getInitQuery.d.ts +0 -9
- package/lib/PubSubManager/getInitQuery.d.ts.map +0 -1
- package/lib/PubSubManager/getInitQuery.js +0 -552
- package/lib/PubSubManager/initPubSubManager.d.ts +0 -3
- package/lib/PubSubManager/initPubSubManager.d.ts.map +0 -1
- package/lib/PubSubManager/initPubSubManager.js +0 -116
- package/lib/PubSubManager/notifListener.d.ts +0 -5
- package/lib/PubSubManager/notifListener.d.ts.map +0 -1
- package/lib/PubSubManager/notifListener.js +0 -100
- package/lib/PubSubManager/pushSubData.d.ts +0 -3
- package/lib/PubSubManager/pushSubData.d.ts.map +0 -1
- package/lib/PubSubManager/pushSubData.js +0 -51
- package/lib/PublishParser.d.ts +0 -284
- package/lib/PublishParser.d.ts.map +0 -1
- package/lib/PublishParser.js +0 -421
- package/lib/SchemaWatch.d.ts +0 -13
- package/lib/SchemaWatch.d.ts.map +0 -1
- package/lib/SchemaWatch.js +0 -35
- package/lib/SyncReplication.d.ts +0 -34
- package/lib/SyncReplication.d.ts.map +0 -1
- package/lib/SyncReplication.js +0 -412
- package/lib/TableConfig/TableConfig.d.ts +0 -284
- package/lib/TableConfig/TableConfig.d.ts.map +0 -1
- package/lib/TableConfig/TableConfig.js +0 -437
- package/lib/TableConfig/getColumnDefinitionQuery.d.ts +0 -27
- package/lib/TableConfig/getColumnDefinitionQuery.d.ts.map +0 -1
- package/lib/TableConfig/getColumnDefinitionQuery.js +0 -87
- package/lib/TableConfig/getConstraintDefinitionQueries.d.ts +0 -34
- package/lib/TableConfig/getConstraintDefinitionQueries.d.ts.map +0 -1
- package/lib/TableConfig/getConstraintDefinitionQueries.js +0 -65
- package/lib/TableConfig/getFutureTableSchema.d.ts +0 -15
- package/lib/TableConfig/getFutureTableSchema.d.ts.map +0 -1
- package/lib/TableConfig/getFutureTableSchema.js +0 -43
- package/lib/TableConfig/getTableColumnQueries.d.ts +0 -16
- package/lib/TableConfig/getTableColumnQueries.d.ts.map +0 -1
- package/lib/TableConfig/getTableColumnQueries.js +0 -107
- package/lib/index.d.ts +0 -5
- package/lib/index.d.ts.map +0 -1
- package/lib/index.js +0 -7
- package/lib/shortestPath.d.ts +0 -10
- package/lib/shortestPath.d.ts.map +0 -1
- package/lib/shortestPath.js +0 -111
- package/lib/utils.d.ts +0 -3
- package/lib/utils.d.ts.map +0 -1
- package/lib/utils.js +0 -12
- package/tests/client/index.d.ts +0 -2
- package/tests/client/index.d.ts.map +0 -1
- package/tests/client/index.js +0 -80
- package/tests/client/index.js.map +0 -1
- package/tests/client_only_queries.d.ts +0 -4
- package/tests/client_only_queries.d.ts.map +0 -1
- package/tests/client_only_queries.js +0 -282
- package/tests/config_test/DBoGenerated.d.ts +0 -388
- package/tests/config_test/index.js +0 -174
- package/tests/config_test/index.js.map +0 -1
- package/tests/isomorphic_queries.d.ts +0 -9
- package/tests/isomorphic_queries.d.ts.map +0 -1
- package/tests/isomorphic_queries.js +0 -773
- package/tests/manual_test/DBoGenerated.d.ts +0 -398
- package/tests/manual_test/index.d.ts +0 -2
- package/tests/manual_test/index.d.ts.map +0 -1
- package/tests/manual_test/index.js +0 -65
- package/tests/server/dboTypeCheck.d.ts +0 -2
- package/tests/server/dboTypeCheck.d.ts.map +0 -1
- package/tests/server/dboTypeCheck.js +0 -27
- package/tests/server/index.d.ts +0 -2
- package/tests/server/index.d.ts.map +0 -1
- package/tests/server/index.js +0 -507
- package/tests/server/publishTypeCheck.d.ts +0 -2
- package/tests/server/publishTypeCheck.d.ts.map +0 -1
- package/tests/server/publishTypeCheck.js +0 -130
- package/tests/server_only_queries.d.ts +0 -2
- package/tests/server_only_queries.d.ts.map +0 -1
- package/tests/server_only_queries.js +0 -19
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/*---------------------------------------------------------------------------------------------
|
|
3
|
-
* Copyright (c) Stefan L. All rights reserved.
|
|
4
|
-
* Licensed under the MIT License. See LICENSE in the project root for license information.
|
|
5
|
-
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.PostgresNotifListenManager = void 0;
|
|
8
|
-
class PostgresNotifListenManager {
|
|
9
|
-
connection;
|
|
10
|
-
db_pg;
|
|
11
|
-
notifListener;
|
|
12
|
-
db_channel_name;
|
|
13
|
-
isListening;
|
|
14
|
-
client;
|
|
15
|
-
static create = (db_pg, notifListener, db_channel_name) => {
|
|
16
|
-
const res = new PostgresNotifListenManager(db_pg, notifListener, db_channel_name, true);
|
|
17
|
-
return res.init();
|
|
18
|
-
};
|
|
19
|
-
constructor(db_pg, notifListener, db_channel_name, noInit = false) {
|
|
20
|
-
if (!db_pg || !notifListener || !db_channel_name)
|
|
21
|
-
throw "PostgresNotifListenManager: db_pg OR notifListener OR db_channel_name MISSING";
|
|
22
|
-
this.db_pg = db_pg;
|
|
23
|
-
this.notifListener = notifListener;
|
|
24
|
-
this.db_channel_name = db_channel_name;
|
|
25
|
-
if (!noInit)
|
|
26
|
-
this.init();
|
|
27
|
-
}
|
|
28
|
-
async init() {
|
|
29
|
-
this.connection = undefined;
|
|
30
|
-
this.isListening = await this.startListening();
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
isReady() {
|
|
34
|
-
return this.isListening;
|
|
35
|
-
}
|
|
36
|
-
startListening() {
|
|
37
|
-
if (!this.db_pg || !this.notifListener)
|
|
38
|
-
throw "PostgresNotifListenManager: db_pg OR notifListener missing";
|
|
39
|
-
return this.reconnect() // = same as reconnect(0, 1)
|
|
40
|
-
.then(obj => {
|
|
41
|
-
return obj;
|
|
42
|
-
/* TODO: expose this within onReady */
|
|
43
|
-
// console.log('psqlWS - Successful Initial Connection');
|
|
44
|
-
// obj.done(); - releases the connection
|
|
45
|
-
/* HOW TO SEND NOTIF
|
|
46
|
-
Used for testing in conjunction with
|
|
47
|
-
SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname='db-name';
|
|
48
|
-
|
|
49
|
-
function sendNotifications() {
|
|
50
|
-
if (this.connection) {
|
|
51
|
-
this.connection.none('NOTIFY $1~, $2', [this.db_channel_name, 'my payload string'])
|
|
52
|
-
.catch(error => {
|
|
53
|
-
console.log('psqlWS - Failed to Notify:', error); // unlikely to ever happen
|
|
54
|
-
})
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
*/
|
|
58
|
-
})
|
|
59
|
-
.catch(error => {
|
|
60
|
-
console.log('PostgresNotifListenManager: Failed Initial Connection:', error);
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
destroyed = false;
|
|
64
|
-
destroy = () => {
|
|
65
|
-
if (this.connection) {
|
|
66
|
-
this.destroyed = true;
|
|
67
|
-
this.connection.done();
|
|
68
|
-
this.connection = undefined;
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
stopListening = () => {
|
|
72
|
-
if (this.db_channel_name) {
|
|
73
|
-
if (this.connection)
|
|
74
|
-
this.connection.none('UNLISTEN $1~', this.db_channel_name);
|
|
75
|
-
if (this.client)
|
|
76
|
-
this.client.query('UNLISTEN $1~', this.db_channel_name);
|
|
77
|
-
}
|
|
78
|
-
};
|
|
79
|
-
reconnect(delay = 0, maxAttempts = 0) {
|
|
80
|
-
if (!this.db_pg || !this.notifListener)
|
|
81
|
-
throw "db_pg OR notifListener missing";
|
|
82
|
-
delay = delay > 0 ? parseInt(delay + "") : 0;
|
|
83
|
-
maxAttempts = maxAttempts > 0 ? parseInt(maxAttempts + "") : 1;
|
|
84
|
-
const setListeners = (client, notifListener, db_channel_name) => {
|
|
85
|
-
client.on('notification', notifListener);
|
|
86
|
-
this.client = client;
|
|
87
|
-
if (!this.connection)
|
|
88
|
-
throw "Connection missing";
|
|
89
|
-
return this.connection.none(`/* prostgles-server internal query used for subscriptions and schema hot reload */ \nLISTEN $1~`, db_channel_name)
|
|
90
|
-
.catch(error => {
|
|
91
|
-
console.log("PostgresNotifListenManager: unexpected error: ", error); // unlikely to ever happen
|
|
92
|
-
});
|
|
93
|
-
}, removeListeners = (client) => {
|
|
94
|
-
client.removeListener('notification', this.notifListener);
|
|
95
|
-
}, onConnectionLost = (err, e) => {
|
|
96
|
-
console.log('PostgresNotifListenManager: Connectivity Problem:', err);
|
|
97
|
-
this.connection = undefined; // prevent use of the broken connection
|
|
98
|
-
removeListeners(e.client);
|
|
99
|
-
if (this.destroyed)
|
|
100
|
-
return;
|
|
101
|
-
this.reconnect(5000, 10) // retry 10 times, with 5-second intervals
|
|
102
|
-
.then(() => {
|
|
103
|
-
console.log('PostgresNotifListenManager: Successfully Reconnected');
|
|
104
|
-
})
|
|
105
|
-
.catch(() => {
|
|
106
|
-
// failed after 10 attempts
|
|
107
|
-
console.log('PostgresNotifListenManager: Connection Lost Permanently. No more retryies');
|
|
108
|
-
// process.exit(); // exiting the process
|
|
109
|
-
});
|
|
110
|
-
};
|
|
111
|
-
return new Promise((resolve, reject) => {
|
|
112
|
-
setTimeout(() => {
|
|
113
|
-
this.db_pg.connect({ direct: true, onLost: onConnectionLost })
|
|
114
|
-
.then(obj => {
|
|
115
|
-
this.connection = obj; // global connection is now available
|
|
116
|
-
resolve(obj);
|
|
117
|
-
return setListeners(obj.client, this.notifListener, this.db_channel_name);
|
|
118
|
-
})
|
|
119
|
-
.catch(error => {
|
|
120
|
-
console.log('PostgresNotifListenManager: Error Connecting:', error);
|
|
121
|
-
if (--maxAttempts) {
|
|
122
|
-
this.reconnect(delay, maxAttempts)
|
|
123
|
-
.then(resolve)
|
|
124
|
-
.catch(reject);
|
|
125
|
-
}
|
|
126
|
-
else {
|
|
127
|
-
reject(error);
|
|
128
|
-
}
|
|
129
|
-
});
|
|
130
|
-
}, delay);
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
exports.PostgresNotifListenManager = PostgresNotifListenManager;
|
package/lib/Prostgles.d.ts
DELETED
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import * as pgPromise from 'pg-promise';
|
|
3
|
-
import pg = require('pg-promise/typescript/pg-subset');
|
|
4
|
-
import { FileManager, ImageOptions, LocalConfig, S3Config } from "./FileManager/FileManager";
|
|
5
|
-
import { SchemaWatch } from "./SchemaWatch";
|
|
6
|
-
import { EventTriggerTagFilter } from "./Event_Trigger_Tags";
|
|
7
|
-
import AuthHandler, { Auth, SessionUser, AuthRequestParams } from "./AuthHandler";
|
|
8
|
-
import TableConfigurator, { TableConfig } from "./TableConfig/TableConfig";
|
|
9
|
-
import { DboBuilder, DBHandlerServer, PRGLIOSocket } from "./DboBuilder";
|
|
10
|
-
export { DBHandlerServer };
|
|
11
|
-
export type PGP = pgPromise.IMain<{}, pg.IClient>;
|
|
12
|
-
import { AnyObject, FileColumnConfig } from "prostgles-types";
|
|
13
|
-
import { Publish, PublishMethods, PublishParams, PublishParser } from "./PublishParser";
|
|
14
|
-
import { DBEventsManager } from "./DBEventsManager";
|
|
15
|
-
export type DB = pgPromise.IDatabase<{}, pg.IClient>;
|
|
16
|
-
type DbConnection = string | pg.IConnectionParameters<pg.IClient>;
|
|
17
|
-
type DbConnectionOpts = pg.IDefaults;
|
|
18
|
-
export declare const TABLE_METHODS: readonly ["update", "find", "findOne", "insert", "delete", "upsert"];
|
|
19
|
-
export declare const JOIN_TYPES: readonly ["one-many", "many-one", "one-one", "many-many"];
|
|
20
|
-
export type Join = {
|
|
21
|
-
tables: [string, string];
|
|
22
|
-
on: {
|
|
23
|
-
[key: string]: string;
|
|
24
|
-
}[];
|
|
25
|
-
type: typeof JOIN_TYPES[number];
|
|
26
|
-
};
|
|
27
|
-
export type Joins = Join[] | "inferred";
|
|
28
|
-
type Keywords = {
|
|
29
|
-
$and: string;
|
|
30
|
-
$or: string;
|
|
31
|
-
$not: string;
|
|
32
|
-
};
|
|
33
|
-
export type DeepPartial<T> = {
|
|
34
|
-
[P in keyof T]?: DeepPartial<T[P]>;
|
|
35
|
-
};
|
|
36
|
-
export type ExpressApp = {
|
|
37
|
-
get: (routePath: string, cb: (req: {
|
|
38
|
-
params: {
|
|
39
|
-
name: string;
|
|
40
|
-
};
|
|
41
|
-
cookies: {
|
|
42
|
-
sid: string;
|
|
43
|
-
};
|
|
44
|
-
}, res: {
|
|
45
|
-
redirect: (redirectUrl: string) => any;
|
|
46
|
-
contentType: (type: string) => void;
|
|
47
|
-
sendFile: (fileName: string, opts?: {
|
|
48
|
-
root: string;
|
|
49
|
-
}) => any;
|
|
50
|
-
status: (code: number) => {
|
|
51
|
-
json: (response: AnyObject) => any;
|
|
52
|
-
};
|
|
53
|
-
}) => any) => any;
|
|
54
|
-
_router?: {
|
|
55
|
-
stack?: {
|
|
56
|
-
handle: Function;
|
|
57
|
-
path: undefined;
|
|
58
|
-
keys?: any[];
|
|
59
|
-
route?: {
|
|
60
|
-
path?: string;
|
|
61
|
-
};
|
|
62
|
-
}[];
|
|
63
|
-
};
|
|
64
|
-
};
|
|
65
|
-
/**
|
|
66
|
-
* Allows uploading and downloading files.
|
|
67
|
-
* Currently supports only S3.
|
|
68
|
-
*
|
|
69
|
-
* @description
|
|
70
|
-
* Will create a media table that contains file metadata and urls
|
|
71
|
-
* Inserting a file into this table through prostgles will upload it to S3 and insert the relevant metadata into the media table
|
|
72
|
-
* Requesting a file from HTTP GET {fileUrlPath}/{fileId} will:
|
|
73
|
-
* 1. check auth (if provided)
|
|
74
|
-
* 2. check the permissions in publish (if provided)
|
|
75
|
-
* 3. redirect the request to the signed url (if allowed)
|
|
76
|
-
*
|
|
77
|
-
* Specifying referencedTables will:
|
|
78
|
-
* 1. create a column in that table called media
|
|
79
|
-
* 2. create a lookup table lookup_media_{referencedTable} that joins referencedTable to the media table
|
|
80
|
-
*/
|
|
81
|
-
export type FileTableConfig = {
|
|
82
|
-
tableName?: string;
|
|
83
|
-
/**
|
|
84
|
-
* GET path used in serving media. defaults to /${tableName}
|
|
85
|
-
*/
|
|
86
|
-
fileServeRoute?: string;
|
|
87
|
-
awsS3Config?: S3Config;
|
|
88
|
-
localConfig?: LocalConfig;
|
|
89
|
-
/**
|
|
90
|
-
* If defined the the files will not be deleted immediately
|
|
91
|
-
* Instead, the "deleted" field will be updated to the current timestamp and after the day interval provided in "deleteAfterNDays" the files will be deleted
|
|
92
|
-
* "checkIntervalMinutes" is the frequency in hours at which the files ready for deletion are deleted
|
|
93
|
-
*/
|
|
94
|
-
delayedDelete?: {
|
|
95
|
-
/**
|
|
96
|
-
* Minimum amount of time measured in days for which the files will not be deleted after requesting delete
|
|
97
|
-
*/
|
|
98
|
-
deleteAfterNDays: number;
|
|
99
|
-
/**
|
|
100
|
-
* How freuquently the files will be checked for deletion delay
|
|
101
|
-
*/
|
|
102
|
-
checkIntervalHours?: number;
|
|
103
|
-
};
|
|
104
|
-
expressApp: ExpressApp;
|
|
105
|
-
referencedTables?: {
|
|
106
|
-
[tableName: string]: "one" | "many"
|
|
107
|
-
/**
|
|
108
|
-
* If defined then will try to create (if necessary) a column in the files table which will reference this table's primary key (must have one)
|
|
109
|
-
* */
|
|
110
|
-
/**
|
|
111
|
-
* If defined then will try to create (if necessary) this column which will reference files_table(id)
|
|
112
|
-
* Prostgles UI will use these hints (obtained through tableHandler.getInfo())
|
|
113
|
-
* */
|
|
114
|
-
| {
|
|
115
|
-
type: "column";
|
|
116
|
-
referenceColumns: Record<string, FileColumnConfig>;
|
|
117
|
-
};
|
|
118
|
-
};
|
|
119
|
-
imageOptions?: ImageOptions;
|
|
120
|
-
};
|
|
121
|
-
export type ProstglesInitOptions<S = void, SUser extends SessionUser = SessionUser> = {
|
|
122
|
-
dbConnection: DbConnection;
|
|
123
|
-
dbOptions?: DbConnectionOpts;
|
|
124
|
-
tsGeneratedTypesDir?: string;
|
|
125
|
-
io?: any;
|
|
126
|
-
publish?: Publish<S, SUser>;
|
|
127
|
-
publishMethods?: PublishMethods<S, SUser>;
|
|
128
|
-
publishRawSQL?(params: PublishParams<S, SUser>): ((boolean | "*") | Promise<(boolean | "*")>);
|
|
129
|
-
joins?: Joins;
|
|
130
|
-
schema?: string;
|
|
131
|
-
sqlFilePath?: string;
|
|
132
|
-
onReady: OnReadyCallback<S>;
|
|
133
|
-
transactions?: string | boolean;
|
|
134
|
-
wsChannelNamePrefix?: string;
|
|
135
|
-
/**
|
|
136
|
-
* Use for connection verification. Will disconnect socket on any errors
|
|
137
|
-
*/
|
|
138
|
-
onSocketConnect?: (args: AuthRequestParams<S, SUser> & {
|
|
139
|
-
socket: PRGLIOSocket;
|
|
140
|
-
}) => void | Promise<void>;
|
|
141
|
-
onSocketDisconnect?: (args: AuthRequestParams<S, SUser> & {
|
|
142
|
-
socket: PRGLIOSocket;
|
|
143
|
-
}) => void | Promise<void>;
|
|
144
|
-
auth?: Auth<S, SUser>;
|
|
145
|
-
DEBUG_MODE?: boolean;
|
|
146
|
-
watchSchemaType?:
|
|
147
|
-
/**
|
|
148
|
-
* Will set database event trigger for schema changes. Requires superuser
|
|
149
|
-
* Default
|
|
150
|
-
*/
|
|
151
|
-
"DDL_trigger"
|
|
152
|
-
/**
|
|
153
|
-
* Will check client queries for schema changes
|
|
154
|
-
* fallback if DDL not possible
|
|
155
|
-
*/
|
|
156
|
-
| "prostgles_queries"
|
|
157
|
-
/**
|
|
158
|
-
* Schema checked for changes every 'checkIntervalMillis" milliseconds
|
|
159
|
-
*/
|
|
160
|
-
| {
|
|
161
|
-
checkIntervalMillis: number;
|
|
162
|
-
};
|
|
163
|
-
/**
|
|
164
|
-
* If truthy then DBoGenerated.d.ts will be updated and "onReady" will be called with new schema on both client and server
|
|
165
|
-
*/
|
|
166
|
-
watchSchema?:
|
|
167
|
-
/**
|
|
168
|
-
* Will listen only to few events (create table/view)
|
|
169
|
-
*/
|
|
170
|
-
boolean
|
|
171
|
-
/**
|
|
172
|
-
* Will listen to specified events (or all if "*" is specified)
|
|
173
|
-
*/
|
|
174
|
-
| EventTriggerTagFilter
|
|
175
|
-
/**
|
|
176
|
-
* Will only rewrite the DBoGenerated.d.ts found in tsGeneratedTypesDir
|
|
177
|
-
* This is meant to be used in development when server restarts on file change
|
|
178
|
-
*/
|
|
179
|
-
| "hotReloadMode"
|
|
180
|
-
/**
|
|
181
|
-
* Function called when schema changes. Nothing else triggered
|
|
182
|
-
*/
|
|
183
|
-
| ((event: {
|
|
184
|
-
command: string;
|
|
185
|
-
query: string;
|
|
186
|
-
}) => void);
|
|
187
|
-
keywords?: Keywords;
|
|
188
|
-
onNotice?: (notice: AnyObject, message?: string) => void;
|
|
189
|
-
fileTable?: FileTableConfig;
|
|
190
|
-
/**
|
|
191
|
-
* Creates tables and provides UI labels, autocomplete and hints for a given json structure
|
|
192
|
-
*/
|
|
193
|
-
tableConfig?: TableConfig;
|
|
194
|
-
tableConfigMigrations?: {
|
|
195
|
-
/**
|
|
196
|
-
* If false then prostgles won't start on any tableConfig error
|
|
197
|
-
* true by default
|
|
198
|
-
*/
|
|
199
|
-
silentFail?: boolean;
|
|
200
|
-
version: number;
|
|
201
|
-
/** Table that will contain the schema version number and the tableConfig
|
|
202
|
-
* Defaults to schema_version
|
|
203
|
-
*/
|
|
204
|
-
versionTableName?: string;
|
|
205
|
-
/**
|
|
206
|
-
* Script run before tableConfig is loaded IF an older schema_version is present
|
|
207
|
-
*/
|
|
208
|
-
onMigrate: (args: {
|
|
209
|
-
db: DB;
|
|
210
|
-
oldVersion: number | undefined;
|
|
211
|
-
getConstraints: (table: string, column?: string, types?: ColConstraint["type"][]) => Promise<ColConstraint[]>;
|
|
212
|
-
}) => void;
|
|
213
|
-
};
|
|
214
|
-
};
|
|
215
|
-
export type OnReady = {
|
|
216
|
-
dbo: DBHandlerServer;
|
|
217
|
-
db: DB;
|
|
218
|
-
};
|
|
219
|
-
type OnReadyCallback<S = void> = (dbo: DBOFullyTyped<S>, db: DB) => any;
|
|
220
|
-
export type InitResult = {
|
|
221
|
-
db: DBOFullyTyped;
|
|
222
|
-
_db: DB;
|
|
223
|
-
pgp: PGP;
|
|
224
|
-
io?: any;
|
|
225
|
-
destroy: () => Promise<boolean>;
|
|
226
|
-
/**
|
|
227
|
-
* Generated database public schema TS types for all tables and views
|
|
228
|
-
*/
|
|
229
|
-
getTSSchema: () => string;
|
|
230
|
-
update: (newOpts: Pick<ProstglesInitOptions, "fileTable">) => Promise<void>;
|
|
231
|
-
restart: () => Promise<InitResult>;
|
|
232
|
-
};
|
|
233
|
-
import { DBOFullyTyped } from "./DBSchemaBuilder";
|
|
234
|
-
import { ColConstraint } from "./TableConfig/getConstraintDefinitionQueries";
|
|
235
|
-
export declare class Prostgles {
|
|
236
|
-
opts: ProstglesInitOptions;
|
|
237
|
-
db?: DB;
|
|
238
|
-
pgp?: PGP;
|
|
239
|
-
dbo?: DBHandlerServer;
|
|
240
|
-
_dboBuilder?: DboBuilder;
|
|
241
|
-
get dboBuilder(): DboBuilder;
|
|
242
|
-
set dboBuilder(d: DboBuilder);
|
|
243
|
-
publishParser?: PublishParser;
|
|
244
|
-
authHandler?: AuthHandler;
|
|
245
|
-
schemaWatch?: SchemaWatch;
|
|
246
|
-
keywords: {
|
|
247
|
-
$filter: string;
|
|
248
|
-
$and: string;
|
|
249
|
-
$or: string;
|
|
250
|
-
$not: string;
|
|
251
|
-
};
|
|
252
|
-
private loaded;
|
|
253
|
-
dbEventsManager?: DBEventsManager;
|
|
254
|
-
fileManager?: FileManager;
|
|
255
|
-
tableConfigurator?: TableConfigurator;
|
|
256
|
-
isMedia(tableName: string): boolean;
|
|
257
|
-
constructor(params: ProstglesInitOptions);
|
|
258
|
-
destroyed: boolean;
|
|
259
|
-
onSchemaChange(event: {
|
|
260
|
-
command: string;
|
|
261
|
-
query: string;
|
|
262
|
-
}): Promise<void>;
|
|
263
|
-
checkDb(): void;
|
|
264
|
-
getTSFileName(): {
|
|
265
|
-
fileName: string;
|
|
266
|
-
fullPath: string;
|
|
267
|
-
};
|
|
268
|
-
private getFileText;
|
|
269
|
-
getTSFileContent: () => string;
|
|
270
|
-
/**
|
|
271
|
-
* Will write the Schema Typescript definitions to file (tsGeneratedTypesDir)
|
|
272
|
-
*/
|
|
273
|
-
writeDBSchema(force?: boolean): void;
|
|
274
|
-
/**
|
|
275
|
-
* Will re-create the dbo object
|
|
276
|
-
*/
|
|
277
|
-
refreshDBO: () => Promise<DBHandlerServer>;
|
|
278
|
-
private initWatchSchema;
|
|
279
|
-
initFileTable: () => Promise<void>;
|
|
280
|
-
isSuperUser: boolean;
|
|
281
|
-
schema_checkIntervalMillis?: NodeJS.Timeout;
|
|
282
|
-
init(onReady: OnReadyCallback, reason: string): Promise<InitResult>;
|
|
283
|
-
runSQLFile(filePath: string): Promise<any[][]>;
|
|
284
|
-
connectedSockets: any[];
|
|
285
|
-
setSocketEvents(): Promise<void>;
|
|
286
|
-
pushSocketSchema: (socket: any) => Promise<void>;
|
|
287
|
-
}
|
|
288
|
-
export declare function isSuperUser(db: DB): Promise<boolean>;
|
|
289
|
-
//# sourceMappingURL=Prostgles.d.ts.map
|
package/lib/Prostgles.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Prostgles.d.ts","sourceRoot":"","sources":["Prostgles.ts"],"names":[],"mappings":"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"}
|