prostgles-server 4.2.105 → 4.2.107
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/DBSchemaBuilder.d.ts +3 -3
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/initProstgles.d.ts +1 -1
- package/dist/initProstgles.d.ts.map +1 -1
- package/dist/initProstgles.js +5 -0
- package/dist/initProstgles.js.map +1 -1
- package/dist/typeTests/dboTypeCheck.d.ts +2 -0
- package/dist/typeTests/dboTypeCheck.d.ts.map +1 -0
- package/dist/typeTests/dboTypeCheck.js +54 -0
- package/dist/typeTests/dboTypeCheck.js.map +1 -0
- package/lib/DBSchemaBuilder.ts +4 -4
- package/lib/index.ts +3 -0
- package/lib/initProstgles.ts +6 -1
- package/lib/typeTests/DBoGenerated.d.ts +320 -0
- package/lib/typeTests/dboTypeCheck.ts +81 -0
- package/package.json +1 -1
- package/tests/server/index.ts +0 -11
- package/tests/server/package-lock.json +1 -1
- package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts +0 -11
- package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts.map +0 -1
- package/dist/DboBuilder/QueryBuilder/prepareHaving.js +0 -18
- package/dist/DboBuilder/QueryBuilder/prepareHaving.js.map +0 -1
- package/dist/DboBuilder/ViewHandler/ColSet.d.ts +0 -16
- package/dist/DboBuilder/ViewHandler/ColSet.d.ts.map +0 -1
- package/dist/DboBuilder/ViewHandler/ColSet.js +0 -105
- package/dist/DboBuilder/ViewHandler/ColSet.js.map +0 -1
- package/dist/DboBuilder/find.d.ts +0 -18
- package/dist/DboBuilder/find.d.ts.map +0 -1
- package/dist/DboBuilder/find.js +0 -121
- package/dist/DboBuilder/find.js.map +0 -1
- package/dist/DboBuilder/insertDataParse.d.ts +0 -27
- package/dist/DboBuilder/insertDataParse.d.ts.map +0 -1
- package/dist/DboBuilder/insertDataParse.js +0 -275
- package/dist/DboBuilder/insertDataParse.js.map +0 -1
- package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts +0 -29
- package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts.map +0 -1
- package/dist/DboBuilder/parseMediaOrNestedInsert.js +0 -271
- package/dist/DboBuilder/parseMediaOrNestedInsert.js.map +0 -1
- package/dist/DboBuilder/subscribe.d.ts +0 -20
- package/dist/DboBuilder/subscribe.d.ts.map +0 -1
- package/dist/DboBuilder/subscribe.js +0 -96
- package/dist/DboBuilder/subscribe.js.map +0 -1
- package/dist/DboBuilder.d.ts +0 -324
- package/dist/DboBuilder.d.ts.map +0 -1
- package/dist/DboBuilder.js +0 -345
- package/dist/DboBuilder.js.map +0 -1
- package/dist/PubSubManager/getInitQuery.d.ts +0 -13
- package/dist/PubSubManager/getInitQuery.d.ts.map +0 -1
- package/dist/PubSubManager/getInitQuery.js +0 -616
- package/dist/PubSubManager/getInitQuery.js.map +0 -1
- package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts +0 -2
- package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts.map +0 -1
- package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js +0 -53
- package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js.map +0 -1
- package/dist/SchemaWatch.d.ts +0 -30
- package/dist/SchemaWatch.d.ts.map +0 -1
- package/dist/SchemaWatch.js +0 -127
- package/dist/SchemaWatch.js.map +0 -1
- package/dist/my.d copy.ts +0 -1020
- package/dist/my.d.ts +0 -1655
- package/tests/server/dboTypeCheck.ts +0 -34
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { AnyObject, SubscribeParams, SubscriptionChannels } from "prostgles-types";
|
|
2
|
-
import { TableRule } from "../../PublishParser/PublishParser";
|
|
3
|
-
import { Filter, LocalParams } from "../DboBuilder";
|
|
4
|
-
import { ViewHandler } from "./ViewHandler";
|
|
5
|
-
type OnData = (items: AnyObject[]) => any;
|
|
6
|
-
export type LocalFuncs = {
|
|
7
|
-
onData: OnData;
|
|
8
|
-
onError?: (error: any) => void;
|
|
9
|
-
} | OnData;
|
|
10
|
-
export declare const getOnDataFunc: (localFuncs: LocalFuncs | undefined) => Function | undefined;
|
|
11
|
-
export declare const matchesLocalFuncs: (localFuncs1: LocalFuncs | undefined, localFuncs2: LocalFuncs | undefined) => boolean | undefined;
|
|
12
|
-
export declare const parseLocalFuncs: (localFuncs1: LocalFuncs | undefined) => Extract<LocalFuncs, {
|
|
13
|
-
onData: OnData;
|
|
14
|
-
}> | undefined;
|
|
15
|
-
declare function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFuncs: LocalFuncs): Promise<{
|
|
16
|
-
unsubscribe: () => any;
|
|
17
|
-
}>;
|
|
18
|
-
declare function subscribe(this: ViewHandler, filter: Filter, params: SubscribeParams, localFuncs: undefined, table_rules: TableRule | undefined, localParams: LocalParams): Promise<SubscriptionChannels>;
|
|
19
|
-
export { subscribe };
|
|
20
|
-
//# sourceMappingURL=subscribe.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.d.ts","sourceRoot":"","sources":["../../lib/DboBuilder/subscribe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACnF,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAc,MAAM,cAAc,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,KAAK,MAAM,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,GAAG,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC,GAAG,MAAM,CAAC;AAEX,eAAO,MAAM,aAAa,eAAgB,UAAU,GAAG,SAAS,KAAG,QAAQ,GAAG,SAE7E,CAAA;AACD,eAAO,MAAM,iBAAiB,gBAAiB,UAAU,GAAG,SAAS,eAAe,UAAU,GAAG,SAAS,wBAEzG,CAAA;AACD,eAAO,MAAM,eAAe,gBAAiB,UAAU,GAAG,SAAS,KAAG,QAAQ,UAAU,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,SAI/G,CAAA;AAED,iBAAe,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC,CAAA;AACjJ,iBAAe,SAAS,CAAC,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,SAAS,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAA;AAuFxM,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.subscribe = exports.parseLocalFuncs = exports.matchesLocalFuncs = exports.getOnDataFunc = void 0;
|
|
4
|
-
const DboBuilder_1 = require("./DboBuilder");
|
|
5
|
-
const getSubscribeRelatedTables_1 = require("./getSubscribeRelatedTables");
|
|
6
|
-
const getOnDataFunc = (localFuncs) => {
|
|
7
|
-
return typeof localFuncs === "function" ? localFuncs : localFuncs?.onData;
|
|
8
|
-
};
|
|
9
|
-
exports.getOnDataFunc = getOnDataFunc;
|
|
10
|
-
const matchesLocalFuncs = (localFuncs1, localFuncs2) => {
|
|
11
|
-
return localFuncs1 && localFuncs2 && (0, exports.getOnDataFunc)(localFuncs1) === (0, exports.getOnDataFunc)(localFuncs2);
|
|
12
|
-
};
|
|
13
|
-
exports.matchesLocalFuncs = matchesLocalFuncs;
|
|
14
|
-
const parseLocalFuncs = (localFuncs1) => {
|
|
15
|
-
return !localFuncs1 ? undefined : typeof localFuncs1 === "function" ? {
|
|
16
|
-
onData: localFuncs1
|
|
17
|
-
} : localFuncs1;
|
|
18
|
-
};
|
|
19
|
-
exports.parseLocalFuncs = parseLocalFuncs;
|
|
20
|
-
async function subscribe(filter, params, localFuncs, table_rules, localParams) {
|
|
21
|
-
try {
|
|
22
|
-
await this._log({ command: "subscribe", localParams, data: { filter, params } });
|
|
23
|
-
if (this.tx) {
|
|
24
|
-
throw "subscribe not allowed within transactions";
|
|
25
|
-
}
|
|
26
|
-
if (!localParams && !localFuncs) {
|
|
27
|
-
throw " missing data. provide -> localFunc | localParams { socket } ";
|
|
28
|
-
}
|
|
29
|
-
if (localParams?.socket && localFuncs) {
|
|
30
|
-
console.error({ localParams, localFuncs });
|
|
31
|
-
throw " Cannot have localFunc AND socket ";
|
|
32
|
-
}
|
|
33
|
-
const { throttle = 0, throttleOpts, ...selectParams } = params;
|
|
34
|
-
/** Ensure request is valid */
|
|
35
|
-
await this.find(filter, { ...selectParams, limit: 0 }, undefined, table_rules, localParams);
|
|
36
|
-
/** app_triggers condition field has an index which limits it's value.
|
|
37
|
-
* TODO: use condition md5 hash
|
|
38
|
-
* */
|
|
39
|
-
const filterSize = JSON.stringify(filter || {}).length;
|
|
40
|
-
if (filterSize * 4 > 2704) {
|
|
41
|
-
throw "filter too big. Might exceed the btree version 4 maximum 2704. Use a primary key or a $rowhash filter instead";
|
|
42
|
-
}
|
|
43
|
-
if (!this.dboBuilder.prostgles.isSuperUser) {
|
|
44
|
-
throw "Subscribe not possible. Must be superuser to add triggers 1856";
|
|
45
|
-
}
|
|
46
|
-
const newQuery = await this.find(filter, { ...selectParams, limit: 0 }, undefined, table_rules, { ...localParams, returnNewQuery: true });
|
|
47
|
-
const viewOptions = await getSubscribeRelatedTables_1.getSubscribeRelatedTables.bind(this)({
|
|
48
|
-
filter, selectParams,
|
|
49
|
-
table_rules, localParams,
|
|
50
|
-
newQuery
|
|
51
|
-
});
|
|
52
|
-
const commonSubOpts = {
|
|
53
|
-
table_info: this.tableOrViewInfo,
|
|
54
|
-
viewOptions,
|
|
55
|
-
table_rules,
|
|
56
|
-
condition: newQuery.whereOpts.condition,
|
|
57
|
-
table_name: this.name,
|
|
58
|
-
filter: { ...filter },
|
|
59
|
-
params: { ...selectParams },
|
|
60
|
-
throttle,
|
|
61
|
-
throttleOpts,
|
|
62
|
-
last_throttled: 0,
|
|
63
|
-
};
|
|
64
|
-
const pubSubManager = await this.dboBuilder.getPubSubManager();
|
|
65
|
-
if (!localFuncs) {
|
|
66
|
-
const { socket } = localParams ?? {};
|
|
67
|
-
return pubSubManager.addSub({
|
|
68
|
-
...commonSubOpts,
|
|
69
|
-
socket,
|
|
70
|
-
localFuncs: undefined,
|
|
71
|
-
socket_id: socket?.id,
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
const { channelName } = await pubSubManager.addSub({
|
|
76
|
-
...commonSubOpts,
|
|
77
|
-
socket: undefined,
|
|
78
|
-
localFuncs,
|
|
79
|
-
socket_id: undefined,
|
|
80
|
-
});
|
|
81
|
-
const unsubscribe = async () => {
|
|
82
|
-
const pubSubManager = await this.dboBuilder.getPubSubManager();
|
|
83
|
-
pubSubManager.removeLocalSub(channelName, localFuncs);
|
|
84
|
-
};
|
|
85
|
-
const res = Object.freeze({ unsubscribe });
|
|
86
|
-
return res;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
catch (e) {
|
|
90
|
-
if (localParams && localParams.testRule)
|
|
91
|
-
throw e;
|
|
92
|
-
throw (0, DboBuilder_1.parseError)(e, `dbo.${this.name}.subscribe()`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.subscribe = subscribe;
|
|
96
|
-
//# sourceMappingURL=subscribe.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subscribe.js","sourceRoot":"","sources":["../../lib/DboBuilder/subscribe.ts"],"names":[],"mappings":"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"}
|
package/dist/DboBuilder.d.ts
DELETED
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
import { QueryStreamer } from "./DboBuilder/QueryStreamer";
|
|
2
|
-
import * as pgPromise from 'pg-promise';
|
|
3
|
-
import { AnyObject, ColumnInfo, DbJoinMaker, EXISTS_KEY, PG_COLUMN_UDT_DATA_TYPE, ProstglesError, RawJoinPath, SQLHandler, SQLOptions, TableInfo as TInfo, TS_PG_Types } from "prostgles-types";
|
|
4
|
-
import pg = require('pg-promise/typescript/pg-subset');
|
|
5
|
-
export type SortItem = {
|
|
6
|
-
asc: boolean;
|
|
7
|
-
nulls?: "first" | "last";
|
|
8
|
-
nullEmpty?: boolean;
|
|
9
|
-
key: string;
|
|
10
|
-
nested?: {
|
|
11
|
-
table: string;
|
|
12
|
-
selectItemAlias: string;
|
|
13
|
-
isNumeric: boolean;
|
|
14
|
-
wrapperQuerySortItem: string;
|
|
15
|
-
joinAlias: string;
|
|
16
|
-
};
|
|
17
|
-
} & ({
|
|
18
|
-
type: "query";
|
|
19
|
-
fieldQuery: string;
|
|
20
|
-
} | {
|
|
21
|
-
type: "position";
|
|
22
|
-
fieldPosition: number;
|
|
23
|
-
});
|
|
24
|
-
export type Media = {
|
|
25
|
-
id?: string;
|
|
26
|
-
title?: string;
|
|
27
|
-
extension?: string;
|
|
28
|
-
content_type?: string;
|
|
29
|
-
content_length?: number;
|
|
30
|
-
url?: string;
|
|
31
|
-
added?: Date;
|
|
32
|
-
signed_url?: string;
|
|
33
|
-
signed_url_expires?: number;
|
|
34
|
-
name?: string;
|
|
35
|
-
original_name?: string;
|
|
36
|
-
etag?: string;
|
|
37
|
-
deleted?: string | null;
|
|
38
|
-
deleted_from_storage?: string | null;
|
|
39
|
-
};
|
|
40
|
-
export type ParsedMedia = Required<Pick<Media, "extension" | "content_type">>;
|
|
41
|
-
export type TxCB<TH = DbTxTableHandlers> = {
|
|
42
|
-
(t: TH & Pick<DBHandlerServer, "sql">, _t: pgPromise.ITask<{}>): (any | void);
|
|
43
|
-
};
|
|
44
|
-
export type TX<TH = TableHandlers> = {
|
|
45
|
-
(t: TxCB<TH>): Promise<(any | void)>;
|
|
46
|
-
};
|
|
47
|
-
export type TableHandlers = {
|
|
48
|
-
[key: string]: Partial<TableHandler> | TableHandler;
|
|
49
|
-
};
|
|
50
|
-
export type DbTxTableHandlers = {
|
|
51
|
-
[key: string]: Omit<Partial<TableHandler>, "dbTx"> | Omit<TableHandler, "dbTx">;
|
|
52
|
-
};
|
|
53
|
-
export type DBHandlerServer<TH = TableHandlers> = TH & Partial<DbJoinMaker> & {
|
|
54
|
-
sql?: SQLHandler;
|
|
55
|
-
} & {
|
|
56
|
-
tx?: TX<TH>;
|
|
57
|
-
};
|
|
58
|
-
import { FieldSpec } from "./DboBuilder/QueryBuilder/Functions";
|
|
59
|
-
import { JoinPaths, ViewHandler } from "./DboBuilder/ViewHandler/ViewHandler";
|
|
60
|
-
import { DB, Join, Prostgles } from "./Prostgles";
|
|
61
|
-
import { BasicCallback, PubSubManager } from "./PubSubManager/PubSubManager";
|
|
62
|
-
import { PublishAllOrNothing, PublishParser } from "./PublishParser/PublishParser";
|
|
63
|
-
type PGP = pgPromise.IMain<{}, pg.IClient>;
|
|
64
|
-
export declare const pgp: PGP;
|
|
65
|
-
export type TableInfo = TInfo & {
|
|
66
|
-
schema: string;
|
|
67
|
-
name: string;
|
|
68
|
-
oid: number;
|
|
69
|
-
comment: string;
|
|
70
|
-
columns: ColumnInfo[];
|
|
71
|
-
};
|
|
72
|
-
export type ViewInfo = TableInfo & {
|
|
73
|
-
parent_tables: string[];
|
|
74
|
-
};
|
|
75
|
-
export type TableOrViewInfo = TableInfo & ViewInfo & {
|
|
76
|
-
is_view: boolean;
|
|
77
|
-
};
|
|
78
|
-
export type PRGLIOSocket = {
|
|
79
|
-
readonly id: string;
|
|
80
|
-
readonly handshake: {
|
|
81
|
-
query?: Record<string, string | string[] | undefined>;
|
|
82
|
-
/**
|
|
83
|
-
* IP Address
|
|
84
|
-
*/
|
|
85
|
-
address: string;
|
|
86
|
-
headers?: AnyObject & {
|
|
87
|
-
cookie?: string;
|
|
88
|
-
};
|
|
89
|
-
auth?: Record<string, any>;
|
|
90
|
-
};
|
|
91
|
-
readonly on: (channel: string, params: any, cb?: (err: any, res?: any) => void) => any;
|
|
92
|
-
readonly emit: (channel: string, message?: any, cb?: BasicCallback) => any;
|
|
93
|
-
readonly once: (channel: string, cb: (_data: any, cb: BasicCallback) => void) => void;
|
|
94
|
-
readonly removeAllListeners: (channel: string) => void;
|
|
95
|
-
readonly disconnect: () => void;
|
|
96
|
-
readonly request: {
|
|
97
|
-
url?: string;
|
|
98
|
-
connection: {
|
|
99
|
-
remoteAddress?: string;
|
|
100
|
-
};
|
|
101
|
-
};
|
|
102
|
-
/** Used for session caching */
|
|
103
|
-
__prglCache?: {
|
|
104
|
-
session: BasicSession;
|
|
105
|
-
user: UserLike;
|
|
106
|
-
clientUser: AnyObject;
|
|
107
|
-
};
|
|
108
|
-
_user?: AnyObject;
|
|
109
|
-
/** Used for publish error caching */
|
|
110
|
-
prostgles?: AnyObject;
|
|
111
|
-
};
|
|
112
|
-
export type LocalParams = {
|
|
113
|
-
httpReq?: ExpressReq;
|
|
114
|
-
socket?: PRGLIOSocket;
|
|
115
|
-
func?: () => any;
|
|
116
|
-
isRemoteRequest?: {
|
|
117
|
-
user?: UserLike | undefined;
|
|
118
|
-
};
|
|
119
|
-
testRule?: boolean;
|
|
120
|
-
tableAlias?: string;
|
|
121
|
-
tx?: {
|
|
122
|
-
dbTX: TableHandlers;
|
|
123
|
-
t: pgPromise.ITask<{}>;
|
|
124
|
-
};
|
|
125
|
-
returnQuery?: boolean | "noRLS" | "where-condition";
|
|
126
|
-
returnNewQuery?: boolean;
|
|
127
|
-
/** Used for count/size queries */
|
|
128
|
-
bypassLimit?: boolean;
|
|
129
|
-
nestedInsert?: {
|
|
130
|
-
depth: number;
|
|
131
|
-
previousData: AnyObject;
|
|
132
|
-
previousTable: string;
|
|
133
|
-
referencingColumn?: string;
|
|
134
|
-
};
|
|
135
|
-
};
|
|
136
|
-
export declare function escapeTSNames(str: string, capitalize?: boolean): string;
|
|
137
|
-
export type Aggregation = {
|
|
138
|
-
field: string;
|
|
139
|
-
query: string;
|
|
140
|
-
alias: string;
|
|
141
|
-
getQuery: (alias: string) => string;
|
|
142
|
-
};
|
|
143
|
-
export type Filter = AnyObject | {
|
|
144
|
-
$and: Filter[];
|
|
145
|
-
} | {
|
|
146
|
-
$or: Filter[];
|
|
147
|
-
};
|
|
148
|
-
export type JoinInfo = {
|
|
149
|
-
/**
|
|
150
|
-
* If true then all joins involve unique columns and the result is a 1 to 1 join
|
|
151
|
-
*/
|
|
152
|
-
expectOne?: boolean;
|
|
153
|
-
paths: {
|
|
154
|
-
/**
|
|
155
|
-
* The table that JOIN ON columns refer to.
|
|
156
|
-
* columns in index = 1 refer to this table. index = 0 columns refer to previous JoinInfo.table
|
|
157
|
-
*/
|
|
158
|
-
table: string;
|
|
159
|
-
/**
|
|
160
|
-
* Source and target JOIN ON column groups for each existing constraint
|
|
161
|
-
* Each inner array group will be combined with AND and outer arrays with OR to allow multiple references to the same table
|
|
162
|
-
* e.g.: [[source_table_column: string, table_column: string]]
|
|
163
|
-
*/
|
|
164
|
-
on: [string, string][][];
|
|
165
|
-
/**
|
|
166
|
-
* Source table name
|
|
167
|
-
*/
|
|
168
|
-
source: string;
|
|
169
|
-
/**
|
|
170
|
-
* Target table name
|
|
171
|
-
*/
|
|
172
|
-
target: string;
|
|
173
|
-
}[];
|
|
174
|
-
};
|
|
175
|
-
import { Graph } from "./shortestPath";
|
|
176
|
-
export type CommonTableRules = {
|
|
177
|
-
/**
|
|
178
|
-
* True by default. Allows clients to get column information on any columns that are allowed in (select, insert, update) field rules.
|
|
179
|
-
*/
|
|
180
|
-
getColumns?: PublishAllOrNothing;
|
|
181
|
-
/**
|
|
182
|
-
* True by default. Allows clients to get table information (oid, comment, label, has_media).
|
|
183
|
-
*/
|
|
184
|
-
getInfo?: PublishAllOrNothing;
|
|
185
|
-
};
|
|
186
|
-
export type ValidatedTableRules = CommonTableRules & {
|
|
187
|
-
allColumns: FieldSpec[];
|
|
188
|
-
select: {
|
|
189
|
-
fields: string[];
|
|
190
|
-
orderByFields: string[];
|
|
191
|
-
filterFields: string[];
|
|
192
|
-
forcedFilter: any;
|
|
193
|
-
maxLimit: number | null;
|
|
194
|
-
};
|
|
195
|
-
update: {
|
|
196
|
-
fields: string[];
|
|
197
|
-
returningFields: string[];
|
|
198
|
-
filterFields: string[];
|
|
199
|
-
forcedFilter: any;
|
|
200
|
-
forcedData: any;
|
|
201
|
-
};
|
|
202
|
-
insert: {
|
|
203
|
-
fields: string[];
|
|
204
|
-
returningFields: string[];
|
|
205
|
-
forcedData: any;
|
|
206
|
-
};
|
|
207
|
-
delete: {
|
|
208
|
-
filterFields: string[];
|
|
209
|
-
forcedFilter: any;
|
|
210
|
-
returningFields: string[];
|
|
211
|
-
};
|
|
212
|
-
};
|
|
213
|
-
export declare function makeErrorFromPGError(err: any, localParams?: LocalParams, view?: ViewHandler, allowedKeys?: string[]): Promise<never>;
|
|
214
|
-
/**
|
|
215
|
-
* Ensure the error is a serializable Object
|
|
216
|
-
*/
|
|
217
|
-
export declare function parseError(e: any, caller: string): ProstglesError;
|
|
218
|
-
export type ExistsFilterConfig = {
|
|
219
|
-
existType: EXISTS_KEY;
|
|
220
|
-
/**
|
|
221
|
-
* Target table filter. target table is the last table from tables
|
|
222
|
-
*/
|
|
223
|
-
targetTableFilter: Filter;
|
|
224
|
-
} & ({
|
|
225
|
-
isJoined: true;
|
|
226
|
-
/**
|
|
227
|
-
* list of join tables in their order
|
|
228
|
-
* If table path starts with "**" then get shortest join to first table
|
|
229
|
-
* e.g.: "**.users" means finding the shortest join from root table to users table
|
|
230
|
-
*/
|
|
231
|
-
path: RawJoinPath;
|
|
232
|
-
parsedPath: ParsedJoinPath[];
|
|
233
|
-
} | {
|
|
234
|
-
isJoined: false;
|
|
235
|
-
targetTable: string;
|
|
236
|
-
});
|
|
237
|
-
type OidInfo = {
|
|
238
|
-
/**
|
|
239
|
-
* Oid
|
|
240
|
-
*/
|
|
241
|
-
relid: number;
|
|
242
|
-
relname: string;
|
|
243
|
-
schemaname: string;
|
|
244
|
-
};
|
|
245
|
-
type TableOidInfo = OidInfo & {
|
|
246
|
-
pkey_columns: string[] | null;
|
|
247
|
-
};
|
|
248
|
-
type TableOidColumnInfo = OidInfo & {
|
|
249
|
-
column_name: string;
|
|
250
|
-
udt_name: string;
|
|
251
|
-
ordinal_position: number;
|
|
252
|
-
};
|
|
253
|
-
import { BasicSession, ExpressReq, UserLike } from "./AuthHandler";
|
|
254
|
-
import { TableHandler } from "./DboBuilder/TableHandler/TableHandler";
|
|
255
|
-
import { ParsedJoinPath } from "./DboBuilder/ViewHandler/parseJoinPath";
|
|
256
|
-
import { TableSchema } from "./DboBuilder/DboBuilderTypes";
|
|
257
|
-
export declare class DboBuilder {
|
|
258
|
-
tablesOrViews?: TableSchema[];
|
|
259
|
-
/**
|
|
260
|
-
* Used in obtaining column names for error messages
|
|
261
|
-
*/
|
|
262
|
-
constraints?: PGConstraint[];
|
|
263
|
-
db: DB;
|
|
264
|
-
dbo: DBHandlerServer;
|
|
265
|
-
_pubSubManager?: PubSubManager;
|
|
266
|
-
/**
|
|
267
|
-
* Used for db.sql field type details
|
|
268
|
-
*/
|
|
269
|
-
DATA_TYPES: {
|
|
270
|
-
oid: string;
|
|
271
|
-
typname: PG_COLUMN_UDT_DATA_TYPE;
|
|
272
|
-
}[] | undefined;
|
|
273
|
-
USER_TABLES: TableOidInfo[] | undefined;
|
|
274
|
-
USER_TABLE_COLUMNS: TableOidColumnInfo[] | undefined;
|
|
275
|
-
queryStreamer: QueryStreamer;
|
|
276
|
-
getPubSubManager: () => Promise<PubSubManager>;
|
|
277
|
-
tsTypesDefinition?: string;
|
|
278
|
-
joinGraph?: Graph;
|
|
279
|
-
private shortestJoinPaths;
|
|
280
|
-
prostgles: Prostgles;
|
|
281
|
-
publishParser?: PublishParser;
|
|
282
|
-
onSchemaChange?: (event: {
|
|
283
|
-
command: string;
|
|
284
|
-
query: string;
|
|
285
|
-
}) => void;
|
|
286
|
-
private constructor();
|
|
287
|
-
private init;
|
|
288
|
-
static create: (prostgles: Prostgles) => Promise<DboBuilder>;
|
|
289
|
-
destroy(): void;
|
|
290
|
-
_joins?: Join[];
|
|
291
|
-
get joins(): Join[];
|
|
292
|
-
set joins(j: Join[]);
|
|
293
|
-
getAllJoinPaths(): JoinPaths;
|
|
294
|
-
prepareShortestJoinPaths: () => Promise<void>;
|
|
295
|
-
runSQL: (query: string, params: any, options: SQLOptions | undefined, localParams?: LocalParams) => Promise<any>;
|
|
296
|
-
build(): Promise<DBHandlerServer>;
|
|
297
|
-
getShortestJoinPath: (viewHandler: ViewHandler, target: string) => JoinPaths[number] | undefined;
|
|
298
|
-
getTX: (cb: TxCB) => Promise<any>;
|
|
299
|
-
}
|
|
300
|
-
type PGConstraint = {
|
|
301
|
-
/**
|
|
302
|
-
* Constraint type
|
|
303
|
-
*/
|
|
304
|
-
contype: "u" | "p" | "c";
|
|
305
|
-
/**
|
|
306
|
-
* Column ordinal positions
|
|
307
|
-
*/
|
|
308
|
-
conkey: number[];
|
|
309
|
-
/**
|
|
310
|
-
* Constraint name
|
|
311
|
-
*/
|
|
312
|
-
conname: string;
|
|
313
|
-
/**
|
|
314
|
-
* Table name
|
|
315
|
-
*/
|
|
316
|
-
relname: string;
|
|
317
|
-
};
|
|
318
|
-
export declare function isPlainObject(o: any): o is Record<string, any>;
|
|
319
|
-
export declare function postgresToTsType(udt_data_type: PG_COLUMN_UDT_DATA_TYPE): keyof typeof TS_PG_Types;
|
|
320
|
-
export declare const prepareOrderByQuery: (items: SortItem[], tableAlias?: string) => string[];
|
|
321
|
-
export declare const canEXECUTE: (db: DB) => Promise<boolean>;
|
|
322
|
-
export declare const withUserRLS: (localParams: LocalParams | undefined, query: string) => string;
|
|
323
|
-
export {};
|
|
324
|
-
//# sourceMappingURL=DboBuilder.d.ts.map
|
package/dist/DboBuilder.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DboBuilder.d.ts","sourceRoot":"","sources":["../lib/DboBuilder.ts"],"names":[],"mappings":"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"}
|