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,37 +0,0 @@
|
|
|
1
|
-
import pgPromise from "pg-promise";
|
|
2
|
-
import { AnyObject, DeleteParams, FieldFilter, InsertParams, Select, UpdateParams } from "prostgles-types";
|
|
3
|
-
import { DboBuilder, Filter, LocalParams, TableHandlers, TableSchema } from "../DboBuilder";
|
|
4
|
-
import { DB } from "../Prostgles";
|
|
5
|
-
import { TableRule } from "../PublishParser";
|
|
6
|
-
import { insertDataParse } from "./insertDataParse";
|
|
7
|
-
import { SelectItem } from "./QueryBuilder/QueryBuilder";
|
|
8
|
-
import { JoinPaths, ViewHandler } from "./ViewHandler";
|
|
9
|
-
type ValidatedParams = {
|
|
10
|
-
row: AnyObject;
|
|
11
|
-
forcedData?: AnyObject;
|
|
12
|
-
allowedFields?: FieldFilter;
|
|
13
|
-
tableRules?: TableRule;
|
|
14
|
-
fixIssues: boolean;
|
|
15
|
-
};
|
|
16
|
-
export declare class TableHandler extends ViewHandler {
|
|
17
|
-
constructor(db: DB, tableOrViewInfo: TableSchema, dboBuilder: DboBuilder, t?: pgPromise.ITask<{}>, dbTX?: TableHandlers, joinPaths?: JoinPaths);
|
|
18
|
-
updateBatch(data: [Filter, AnyObject][], params?: UpdateParams, tableRules?: TableRule, localParams?: LocalParams): Promise<any>;
|
|
19
|
-
parseUpdateRules: any;
|
|
20
|
-
update: any;
|
|
21
|
-
validateNewData({ row, forcedData, allowedFields, tableRules, fixIssues }: ValidatedParams): {
|
|
22
|
-
data: any;
|
|
23
|
-
allowedCols: string[];
|
|
24
|
-
};
|
|
25
|
-
insertDataParse: typeof insertDataParse;
|
|
26
|
-
insert(rowOrRows: (AnyObject | AnyObject[]), param2?: InsertParams, param3_unused?: undefined, tableRules?: TableRule, _localParams?: LocalParams): Promise<any | any[] | boolean>;
|
|
27
|
-
prepareReturning: (returning: Select | undefined, allowedFields: string[]) => Promise<SelectItem[]>;
|
|
28
|
-
makeReturnQuery(items?: SelectItem[]): string;
|
|
29
|
-
delete(filter?: Filter, params?: DeleteParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any>;
|
|
30
|
-
remove(filter: Filter, params?: UpdateParams, param3_unused?: undefined, tableRules?: TableRule, localParams?: LocalParams): Promise<any>;
|
|
31
|
-
upsert(filter: Filter, newData: AnyObject, params?: UpdateParams, table_rules?: TableRule, localParams?: LocalParams): Promise<any>;
|
|
32
|
-
sync(filter: Filter, params: {
|
|
33
|
-
select?: FieldFilter;
|
|
34
|
-
}, param3_unused: undefined, table_rules: TableRule, localParams: LocalParams): Promise<any>;
|
|
35
|
-
}
|
|
36
|
-
export {};
|
|
37
|
-
//# sourceMappingURL=TableHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TableHandler.d.ts","sourceRoot":"","sources":["TableHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,213 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TableHandler = void 0;
|
|
4
|
-
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
-
const DboBuilder_1 = require("../DboBuilder");
|
|
6
|
-
const delete_1 = require("./delete");
|
|
7
|
-
const insert_1 = require("./insert");
|
|
8
|
-
const insertDataParse_1 = require("./insertDataParse");
|
|
9
|
-
const QueryBuilder_1 = require("./QueryBuilder/QueryBuilder");
|
|
10
|
-
const update_1 = require("./update");
|
|
11
|
-
const ViewHandler_1 = require("./ViewHandler");
|
|
12
|
-
const parseUpdateRules_1 = require("./parseUpdateRules");
|
|
13
|
-
const Functions_1 = require("./QueryBuilder/Functions");
|
|
14
|
-
class TableHandler extends ViewHandler_1.ViewHandler {
|
|
15
|
-
constructor(db, tableOrViewInfo, dboBuilder, t, dbTX, joinPaths) {
|
|
16
|
-
super(db, tableOrViewInfo, dboBuilder, t, dbTX, joinPaths);
|
|
17
|
-
this.remove = this.delete;
|
|
18
|
-
this.is_view = false;
|
|
19
|
-
this.is_media = dboBuilder.prostgles.isMedia(this.name);
|
|
20
|
-
}
|
|
21
|
-
async updateBatch(data, params, tableRules, localParams) {
|
|
22
|
-
try {
|
|
23
|
-
const updateQueries = await Promise.all(data.map(async ([filter, data]) => (await this.update(filter, data, { ...(params || {}), returning: undefined }, tableRules, { ...(localParams || {}), returnQuery: "noRLS" }))));
|
|
24
|
-
const queries = [
|
|
25
|
-
(0, DboBuilder_1.withUserRLS)(localParams, ""),
|
|
26
|
-
...updateQueries
|
|
27
|
-
];
|
|
28
|
-
if (this.t) {
|
|
29
|
-
const _queries = queries.map(q => this.t.none(q));
|
|
30
|
-
return this.t.batch(_queries);
|
|
31
|
-
}
|
|
32
|
-
return this.db.tx(t => {
|
|
33
|
-
const _queries = queries.map(q => t.none(q));
|
|
34
|
-
return t.batch(_queries);
|
|
35
|
-
}).catch(err => (0, DboBuilder_1.makeErrorFromPGError)(err, localParams, this, []));
|
|
36
|
-
}
|
|
37
|
-
catch (e) {
|
|
38
|
-
if (localParams && localParams.testRule)
|
|
39
|
-
throw e;
|
|
40
|
-
throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.update()`);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
parseUpdateRules = parseUpdateRules_1.parseUpdateRules.bind(this);
|
|
44
|
-
update = update_1.update.bind(this);
|
|
45
|
-
validateNewData({ row, forcedData, allowedFields, tableRules, fixIssues = false }) {
|
|
46
|
-
const synced_field = (tableRules ?? {})?.sync?.synced_field;
|
|
47
|
-
/* Update synced_field if sync is on and missing */
|
|
48
|
-
if (synced_field && !row[synced_field]) {
|
|
49
|
-
row[synced_field] = Date.now();
|
|
50
|
-
}
|
|
51
|
-
const data = this.prepareFieldValues(row, forcedData, allowedFields, fixIssues);
|
|
52
|
-
const dataKeys = (0, prostgles_types_1.getKeys)(data);
|
|
53
|
-
dataKeys.map(col => {
|
|
54
|
-
this.dboBuilder.prostgles?.tableConfigurator?.checkColVal({ table: this.name, col, value: data[col] });
|
|
55
|
-
const colConfig = this.dboBuilder.prostgles?.tableConfigurator?.getColumnConfig(this.name, col);
|
|
56
|
-
if (colConfig && (0, prostgles_types_1.isObject)(colConfig) && "isText" in colConfig && data[col]) {
|
|
57
|
-
if (colConfig.lowerCased) {
|
|
58
|
-
data[col] = data[col].toString().toLowerCase();
|
|
59
|
-
}
|
|
60
|
-
if (colConfig.trimmed) {
|
|
61
|
-
data[col] = data[col].toString().trim();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
return { data, allowedCols: this.columns.filter(c => dataKeys.includes(c.name)).map(c => c.name) };
|
|
66
|
-
}
|
|
67
|
-
insertDataParse = insertDataParse_1.insertDataParse;
|
|
68
|
-
async insert(rowOrRows, param2, param3_unused, tableRules, _localParams) {
|
|
69
|
-
return insert_1.insert.bind(this)(rowOrRows, param2, param3_unused, tableRules, _localParams);
|
|
70
|
-
}
|
|
71
|
-
prepareReturning = async (returning, allowedFields) => {
|
|
72
|
-
const result = [];
|
|
73
|
-
if (returning) {
|
|
74
|
-
const sBuilder = new QueryBuilder_1.SelectItemBuilder({
|
|
75
|
-
allFields: this.column_names.slice(0),
|
|
76
|
-
allowedFields,
|
|
77
|
-
allowedOrderByFields: allowedFields,
|
|
78
|
-
computedFields: Functions_1.COMPUTED_FIELDS,
|
|
79
|
-
functions: Functions_1.FUNCTIONS.filter(f => f.type === "function" && f.singleColArg),
|
|
80
|
-
isView: this.is_view,
|
|
81
|
-
columns: this.columns,
|
|
82
|
-
});
|
|
83
|
-
await sBuilder.parseUserSelect(returning);
|
|
84
|
-
return sBuilder.select;
|
|
85
|
-
}
|
|
86
|
-
return result;
|
|
87
|
-
};
|
|
88
|
-
makeReturnQuery(items) {
|
|
89
|
-
if (items?.length)
|
|
90
|
-
return " RETURNING " + items.map(s => s.getQuery() + " AS " + (0, prostgles_types_1.asName)(s.alias)).join(", ");
|
|
91
|
-
return "";
|
|
92
|
-
}
|
|
93
|
-
async delete(filter, params, param3_unused, table_rules, localParams) {
|
|
94
|
-
return delete_1._delete.bind(this)(filter, params, param3_unused, table_rules, localParams);
|
|
95
|
-
}
|
|
96
|
-
remove(filter, params, param3_unused, tableRules, localParams) {
|
|
97
|
-
return this.delete(filter, params, param3_unused, tableRules, localParams);
|
|
98
|
-
}
|
|
99
|
-
async upsert(filter, newData, params, table_rules, localParams) {
|
|
100
|
-
try {
|
|
101
|
-
const _upsert = async function (tblH) {
|
|
102
|
-
return tblH.find(filter, { select: "", limit: 1 }, undefined, table_rules, localParams)
|
|
103
|
-
.then(exists => {
|
|
104
|
-
if (exists && exists.length) {
|
|
105
|
-
return tblH.update(filter, newData, params, table_rules, localParams);
|
|
106
|
-
}
|
|
107
|
-
else {
|
|
108
|
-
return tblH.insert({ ...newData, ...filter }, params, undefined, table_rules, localParams);
|
|
109
|
-
}
|
|
110
|
-
});
|
|
111
|
-
};
|
|
112
|
-
/* Do it within a transaction to ensure consisency */
|
|
113
|
-
if (!this.t) {
|
|
114
|
-
return this.dboBuilder.getTX(dbTX => _upsert(dbTX[this.name]));
|
|
115
|
-
}
|
|
116
|
-
else {
|
|
117
|
-
return _upsert(this);
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
catch (e) {
|
|
121
|
-
if (localParams && localParams.testRule)
|
|
122
|
-
throw e;
|
|
123
|
-
throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.upsert()`);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
/* External request. Cannot sync from server */
|
|
127
|
-
async sync(filter, params, param3_unused, table_rules, localParams) {
|
|
128
|
-
if (!localParams)
|
|
129
|
-
throw "Sync not allowed within the same server code";
|
|
130
|
-
const { socket } = localParams;
|
|
131
|
-
if (!socket)
|
|
132
|
-
throw "INTERNAL ERROR: socket missing";
|
|
133
|
-
if (!table_rules || !table_rules.sync || !table_rules.select)
|
|
134
|
-
throw "INTERNAL ERROR: sync or select rules missing";
|
|
135
|
-
if (this.t)
|
|
136
|
-
throw "Sync not allowed within transactions";
|
|
137
|
-
const ALLOWED_PARAMS = ["select"];
|
|
138
|
-
const invalidParams = Object.keys(params || {}).filter(k => !ALLOWED_PARAMS.includes(k));
|
|
139
|
-
if (invalidParams.length)
|
|
140
|
-
throw "Invalid or dissallowed params found: " + invalidParams.join(", ");
|
|
141
|
-
try {
|
|
142
|
-
const { synced_field, allow_delete } = table_rules.sync;
|
|
143
|
-
if (!table_rules.sync.id_fields.length || !synced_field) {
|
|
144
|
-
const err = "INTERNAL ERROR: id_fields OR synced_field missing from publish";
|
|
145
|
-
console.error(err);
|
|
146
|
-
throw err;
|
|
147
|
-
}
|
|
148
|
-
const id_fields = this.parseFieldFilter(table_rules.sync.id_fields, false);
|
|
149
|
-
const syncFields = [...id_fields, synced_field];
|
|
150
|
-
const allowedSelect = this.parseFieldFilter(table_rules?.select.fields ?? false);
|
|
151
|
-
if (syncFields.find(f => !allowedSelect.includes(f))) {
|
|
152
|
-
throw `INTERNAL ERROR: sync field missing from publish.${this.name}.select.fields`;
|
|
153
|
-
}
|
|
154
|
-
const select = this.getAllowedSelectFields(params?.select ?? "*", allowedSelect, false);
|
|
155
|
-
if (!select.length)
|
|
156
|
-
throw "Empty select not allowed";
|
|
157
|
-
/* Add sync fields if missing */
|
|
158
|
-
syncFields.map(sf => {
|
|
159
|
-
if (!select.includes(sf))
|
|
160
|
-
select.push(sf);
|
|
161
|
-
});
|
|
162
|
-
/* Step 1: parse command and params */
|
|
163
|
-
return this.find(filter, { select, limit: 0 }, undefined, table_rules, localParams)
|
|
164
|
-
.then(async (_isValid) => {
|
|
165
|
-
const { filterFields, forcedFilter } = table_rules?.select || {};
|
|
166
|
-
const condition = (await this.prepareWhere({ filter, forcedFilter, filterFields, addKeywords: false, localParams, tableRule: table_rules })).where;
|
|
167
|
-
// let final_filter = getFindFilter(filter, table_rules);
|
|
168
|
-
const pubSubManager = await this.dboBuilder.getPubSubManager();
|
|
169
|
-
return pubSubManager.addSync({
|
|
170
|
-
table_info: this.tableOrViewInfo,
|
|
171
|
-
condition,
|
|
172
|
-
id_fields, synced_field,
|
|
173
|
-
allow_delete,
|
|
174
|
-
socket,
|
|
175
|
-
table_rules,
|
|
176
|
-
filter: { ...filter },
|
|
177
|
-
params: { select }
|
|
178
|
-
}).then(channelName => ({ channelName, id_fields, synced_field }));
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
catch (e) {
|
|
182
|
-
if (localParams && localParams.testRule)
|
|
183
|
-
throw e;
|
|
184
|
-
throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.sync()`);
|
|
185
|
-
}
|
|
186
|
-
/*
|
|
187
|
-
REPLICATION
|
|
188
|
-
|
|
189
|
-
1 Sync proccess (NO DELETES ALLOWED):
|
|
190
|
-
|
|
191
|
-
Client sends:
|
|
192
|
-
"sync-request"
|
|
193
|
-
{ min_id, max_id, count, max_synced }
|
|
194
|
-
|
|
195
|
-
Server sends:
|
|
196
|
-
"sync-pull"
|
|
197
|
-
{ from_synced }
|
|
198
|
-
|
|
199
|
-
Client sends:
|
|
200
|
-
"sync-push"
|
|
201
|
-
{ data } -> WHERE synced >= from_synced
|
|
202
|
-
|
|
203
|
-
Server upserts:
|
|
204
|
-
WHERE not exists synced = synced AND id = id
|
|
205
|
-
UNTIL
|
|
206
|
-
|
|
207
|
-
Server sends
|
|
208
|
-
"sync-push"
|
|
209
|
-
{ data } -> WHERE synced >= from_synced
|
|
210
|
-
*/
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
exports.TableHandler = TableHandler;
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
import * as pgPromise from 'pg-promise';
|
|
2
|
-
import { ColumnInfo, FieldFilter, SelectParams, OrderBy, TableInfo as TInfo, AnyObject, SubscribeParams } from "prostgles-types";
|
|
3
|
-
import { DB, DBHandlerServer, Join } from "../Prostgles";
|
|
4
|
-
import { DboBuilder, ExistsFilterConfig, Filter, JoinInfo, LocalParams, SortItem, TableHandlers, TableSchema, ValidatedTableRules } from "../DboBuilder";
|
|
5
|
-
import { Graph } from "../shortestPath";
|
|
6
|
-
import { TableRule, UpdateRule, ValidateRow } from "../PublishParser";
|
|
7
|
-
import { SelectItem, SelectItemValidated } from "./QueryBuilder/QueryBuilder";
|
|
8
|
-
import { LocalFuncs } from "./subscribe";
|
|
9
|
-
export type JoinPaths = {
|
|
10
|
-
t1: string;
|
|
11
|
-
t2: string;
|
|
12
|
-
path: string[];
|
|
13
|
-
}[];
|
|
14
|
-
type PrepareWhereParams = {
|
|
15
|
-
filter?: Filter;
|
|
16
|
-
select?: SelectItem[];
|
|
17
|
-
forcedFilter?: AnyObject;
|
|
18
|
-
filterFields?: FieldFilter;
|
|
19
|
-
addKeywords?: boolean;
|
|
20
|
-
tableAlias?: string;
|
|
21
|
-
localParams: LocalParams | undefined;
|
|
22
|
-
tableRule: TableRule | undefined;
|
|
23
|
-
};
|
|
24
|
-
declare class ColSet {
|
|
25
|
-
opts: {
|
|
26
|
-
columns: ColumnInfo[];
|
|
27
|
-
tableName: string;
|
|
28
|
-
colNames: string[];
|
|
29
|
-
};
|
|
30
|
-
constructor(columns: ColumnInfo[], tableName: string);
|
|
31
|
-
private getRow;
|
|
32
|
-
getInsertQuery(data: any[], allowedCols: string[], dbTx: DBHandlerServer, validate: ValidateRow | undefined): Promise<string>;
|
|
33
|
-
getUpdateQuery(data: any[], allowedCols: string[], dbTx: DBHandlerServer, validate: ValidateRow | undefined): Promise<string>;
|
|
34
|
-
}
|
|
35
|
-
export declare class ViewHandler {
|
|
36
|
-
db: DB;
|
|
37
|
-
name: string;
|
|
38
|
-
escapedName: string;
|
|
39
|
-
columns: TableSchema["columns"];
|
|
40
|
-
columnsForTypes: ColumnInfo[];
|
|
41
|
-
column_names: string[];
|
|
42
|
-
tableOrViewInfo: TableSchema;
|
|
43
|
-
colSet: ColSet;
|
|
44
|
-
tsColumnDefs: string[];
|
|
45
|
-
joins: Join[];
|
|
46
|
-
joinGraph?: Graph;
|
|
47
|
-
joinPaths?: JoinPaths;
|
|
48
|
-
dboBuilder: DboBuilder;
|
|
49
|
-
t?: pgPromise.ITask<{}>;
|
|
50
|
-
dbTX?: TableHandlers;
|
|
51
|
-
is_view: boolean;
|
|
52
|
-
filterDef: string;
|
|
53
|
-
is_media: boolean;
|
|
54
|
-
constructor(db: DB, tableOrViewInfo: TableSchema, dboBuilder: DboBuilder, t?: pgPromise.ITask<{}>, dbTX?: TableHandlers, joinPaths?: JoinPaths);
|
|
55
|
-
getRowHashSelect(allowedFields: FieldFilter, alias?: string, tableAlias?: string): string;
|
|
56
|
-
validateViewRules(args: {
|
|
57
|
-
fields?: FieldFilter;
|
|
58
|
-
filterFields?: FieldFilter;
|
|
59
|
-
returningFields?: FieldFilter;
|
|
60
|
-
forcedFilter?: AnyObject;
|
|
61
|
-
dynamicFields?: UpdateRule["dynamicFields"];
|
|
62
|
-
rule: "update" | "select" | "insert" | "delete";
|
|
63
|
-
}): Promise<boolean>;
|
|
64
|
-
getShortestJoin(table1: string, table2: string, startAlias: number, isInner?: boolean): {
|
|
65
|
-
query: string;
|
|
66
|
-
toOne: boolean;
|
|
67
|
-
};
|
|
68
|
-
getJoins(source: string, target: string, path?: string[], checkTableConfig?: boolean): JoinInfo;
|
|
69
|
-
checkFilter(filter: any): void;
|
|
70
|
-
getInfo(lang?: string, param2?: any, param3?: any, tableRules?: TableRule, localParams?: LocalParams): Promise<TInfo>;
|
|
71
|
-
getColumns: any;
|
|
72
|
-
getValidatedRules(tableRules?: TableRule, localParams?: LocalParams): ValidatedTableRules;
|
|
73
|
-
find: any;
|
|
74
|
-
findOne(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<any>;
|
|
75
|
-
subscribe(filter: Filter, params: SubscribeParams, localFuncs: LocalFuncs): Promise<{
|
|
76
|
-
unsubscribe: () => any;
|
|
77
|
-
}>;
|
|
78
|
-
subscribe(filter: Filter, params: SubscribeParams, localFuncs: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<string>;
|
|
79
|
-
subscribeOne(filter: Filter, params: SubscribeParams, localFunc: (item: AnyObject) => any): Promise<{
|
|
80
|
-
unsubscribe: () => any;
|
|
81
|
-
}>;
|
|
82
|
-
subscribeOne(filter: Filter, params: SubscribeParams, localFunc: undefined, table_rules: TableRule, localParams: LocalParams): Promise<string>;
|
|
83
|
-
count(filter?: Filter, param2_unused?: undefined, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<number>;
|
|
84
|
-
size(filter?: Filter, selectParams?: SelectParams, param3_unused?: undefined, table_rules?: TableRule, localParams?: LocalParams): Promise<string>;
|
|
85
|
-
getAllowedSelectFields(selectParams: FieldFilter, allowed_cols: FieldFilter, allow_empty?: boolean): string[];
|
|
86
|
-
/**
|
|
87
|
-
* Parses group or simple filter
|
|
88
|
-
*/
|
|
89
|
-
prepareWhere(params: PrepareWhereParams): Promise<{
|
|
90
|
-
where: string;
|
|
91
|
-
filter: AnyObject;
|
|
92
|
-
exists: ExistsFilterConfig[];
|
|
93
|
-
}>;
|
|
94
|
-
prepareExistCondition(eConfig: ExistsFilterConfig, localParams: LocalParams | undefined): Promise<string>;
|
|
95
|
-
getCondition: any;
|
|
96
|
-
prepareSortItems(orderBy: OrderBy | undefined, allowed_cols: string[], tableAlias: string | undefined, select: SelectItemValidated[]): SortItem[];
|
|
97
|
-
prepareLimitQuery(limit: number, p: ValidatedTableRules): number;
|
|
98
|
-
prepareOffsetQuery(offset?: number): number;
|
|
99
|
-
intersectColumns(allowedFields: FieldFilter, dissallowedFields: FieldFilter, fixIssues?: boolean): string[];
|
|
100
|
-
/**
|
|
101
|
-
* Prepare and validate field object:
|
|
102
|
-
* @example ({ item_id: 1 }, { user_id: 32 }) => { item_id: 1, user_id: 32 }
|
|
103
|
-
* OR
|
|
104
|
-
* ({ a: 1 }, { b: 32 }, ["c", "d"]) => throw "a field is not allowed"
|
|
105
|
-
* @param {Object} obj - initial data
|
|
106
|
-
* @param {Object} forcedData - set/override property
|
|
107
|
-
* @param {string[]} allowed_cols - allowed columns (excluding forcedData) from table rules
|
|
108
|
-
*/
|
|
109
|
-
prepareFieldValues(obj: Record<string, any>, forcedData: object, allowed_cols: FieldFilter | undefined, fixIssues?: boolean): AnyObject;
|
|
110
|
-
parseFieldFilter(fieldParams?: FieldFilter, allow_empty?: boolean, allowed_cols?: string[]): string[];
|
|
111
|
-
/**
|
|
112
|
-
* Filter string array
|
|
113
|
-
* @param {FieldFilter} fieldParams - { col1: 0, col2: 0 } | { col1: true, col2: true } | "*" | ["key1", "key2"] | []
|
|
114
|
-
* @param {boolean} allow_empty - allow empty select. defaults to true
|
|
115
|
-
*/
|
|
116
|
-
static _parseFieldFilter<AllowedKeys extends string[]>(fieldParams: FieldFilter<Record<AllowedKeys[number], any>>, allow_empty: boolean, all_cols: AllowedKeys): AllowedKeys | [""];
|
|
117
|
-
}
|
|
118
|
-
export {};
|
|
119
|
-
//# sourceMappingURL=ViewHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ViewHandler.d.ts","sourceRoot":"","sources":["ViewHandler.ts"],"names":[],"mappings":"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"}
|