prostgles-server 2.0.178 → 2.0.181
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/AuthHandler.d.ts +4 -4
- package/dist/AuthHandler.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.d.ts +6 -6
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DBSchemaBuilder.js +38 -15
- package/dist/DBSchemaBuilder.js.map +1 -1
- package/dist/DboBuilder.d.ts +20 -21
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +7 -2
- package/dist/DboBuilder.js.map +1 -1
- package/dist/Prostgles.d.ts +8 -10
- package/dist/Prostgles.d.ts.map +1 -1
- package/dist/Prostgles.js.map +1 -1
- package/dist/PubSubManager.js +1 -1
- package/dist/PubSubManager.js.map +1 -1
- package/dist/PublishParser.d.ts +37 -37
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser.js.map +1 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/lib/AuthHandler.d.ts +148 -0
- package/lib/AuthHandler.d.ts.map +1 -0
- package/lib/AuthHandler.js +411 -0
- package/lib/AuthHandler.ts +3 -3
- package/lib/DBEventsManager.d.ts +38 -0
- package/lib/DBEventsManager.d.ts.map +1 -0
- package/lib/DBEventsManager.js +136 -0
- package/lib/DBSchemaBuilder.d.ts +11 -0
- package/lib/DBSchemaBuilder.d.ts.map +1 -0
- package/lib/DBSchemaBuilder.js +108 -0
- package/lib/DBSchemaBuilder.ts +75 -33
- package/lib/DboBuilder.d.ts +428 -0
- package/lib/DboBuilder.d.ts.map +1 -0
- package/lib/DboBuilder.js +3083 -0
- package/lib/DboBuilder.ts +33 -27
- package/lib/FileManager.d.ts +168 -0
- package/lib/FileManager.d.ts.map +1 -0
- package/lib/FileManager.js +474 -0
- package/lib/Filtering.d.ts +15 -0
- package/lib/Filtering.d.ts.map +1 -0
- package/lib/Filtering.js +299 -0
- package/lib/PostgresNotifListenManager.d.ts +27 -0
- package/lib/PostgresNotifListenManager.d.ts.map +1 -0
- package/lib/PostgresNotifListenManager.js +122 -0
- package/lib/Prostgles.d.ts +193 -0
- package/lib/Prostgles.d.ts.map +1 -0
- package/lib/Prostgles.js +579 -0
- package/lib/Prostgles.ts +6 -6
- package/lib/PubSubManager.d.ts +157 -0
- package/lib/PubSubManager.d.ts.map +1 -0
- package/lib/PubSubManager.js +1400 -0
- package/lib/PubSubManager.ts +1 -1
- package/lib/PublishParser.d.ts +262 -0
- package/lib/PublishParser.d.ts.map +1 -0
- package/lib/PublishParser.js +390 -0
- package/lib/PublishParser.ts +39 -38
- package/lib/QueryBuilder.d.ts +124 -0
- package/lib/QueryBuilder.d.ts.map +1 -0
- package/lib/QueryBuilder.js +1349 -0
- package/lib/SyncReplication.d.ts +34 -0
- package/lib/SyncReplication.d.ts.map +1 -0
- package/lib/SyncReplication.js +411 -0
- package/lib/TableConfig.d.ts +175 -0
- package/lib/TableConfig.d.ts.map +1 -0
- package/lib/TableConfig.js +231 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +45 -0
- package/lib/index.ts +3 -4
- package/lib/shortestPath.d.ts +10 -0
- package/lib/shortestPath.d.ts.map +1 -0
- package/lib/shortestPath.js +111 -0
- package/lib/utils.d.ts +2 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js +5 -0
- package/package.json +3 -3
- package/tests/client/PID.txt +1 -1
- package/tests/client/index.d.ts +1 -1
- package/tests/client/index.d.ts.map +1 -1
- package/tests/client/package-lock.json +15 -15
- package/tests/client/package.json +1 -1
- package/tests/client_only_queries.d.ts +4 -0
- package/tests/client_only_queries.d.ts.map +1 -0
- package/tests/isomorphic_queries.d.ts +6 -0
- package/tests/isomorphic_queries.d.ts.map +1 -0
- package/tests/server/DBoGenerated.d.ts +227 -323
- package/tests/server/dboTypeCheck.d.ts +2 -0
- package/tests/server/dboTypeCheck.d.ts.map +1 -0
- package/tests/server/dboTypeCheck.js +16 -0
- package/tests/server/dboTypeCheck.ts +20 -0
- package/tests/server/index.d.ts +2 -0
- package/tests/server/index.d.ts.map +1 -0
- package/tests/server/index.js +11 -11
- package/tests/server/index.ts +23 -16
- package/tests/server/package-lock.json +5 -5
- package/tests/server/publishTypeCheck.d.ts +2 -0
- package/tests/server/publishTypeCheck.d.ts.map +1 -0
- package/tests/server/publishTypeCheck.js +120 -0
- package/tests/server/publishTypeCheck.ts +129 -0
- package/tests/server/tsconfig.json +4 -5
- package/tests/server_only_queries.d.ts +2 -0
- package/tests/server_only_queries.d.ts.map +1 -0
package/lib/PublishParser.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { getKeys, RULE_METHODS, AnyObject, get, TableSchemaForClient, DBSchemaTable, MethodKey, TableInfo, FullFilter
|
|
1
|
+
import { getKeys, RULE_METHODS, AnyObject, get, TableSchemaForClient, DBSchemaTable, MethodKey, TableInfo, FullFilter } from "prostgles-types";
|
|
2
2
|
import { ClientInfo } from "./AuthHandler";
|
|
3
3
|
import { CommonTableRules, Filter, isPlainObject, LocalParams, PRGLIOSocket, TableHandler, ViewHandler } from "./DboBuilder";
|
|
4
4
|
import { Prostgles, DBHandlerServer, DB, TABLE_METHODS } from "./Prostgles";
|
|
5
5
|
import type { DBOFullyTyped, PublishFullyTyped } from "./DBSchemaBuilder";
|
|
6
6
|
export type Method = (...args: any) => ( any | Promise<any> );
|
|
7
|
-
export type PublishMethods<S
|
|
7
|
+
export type PublishMethods<S = void> = (params: PublishParams<S>) => { [key:string]: Method } | Promise<{ [key:string]: Method }>;
|
|
8
8
|
|
|
9
9
|
export type Awaitable<T> = T | Promise<T>;
|
|
10
10
|
|
|
@@ -129,12 +129,13 @@ export type UpdateRequestData<R extends AnyObject = AnyObject> = UpdateRequestDa
|
|
|
129
129
|
export type ValidateRow<R extends AnyObject = AnyObject> = (row: R) => R | Promise<R>;
|
|
130
130
|
export type ValidateUpdateRow<R extends AnyObject = AnyObject> = (args: { update: Partial<R>, filter: FullFilter<R> }) => R | Promise<R>;
|
|
131
131
|
|
|
132
|
-
|
|
132
|
+
|
|
133
|
+
export type SelectRule<Cols extends AnyObject = AnyObject> = {
|
|
133
134
|
|
|
134
135
|
/**
|
|
135
136
|
* Fields allowed to be selected. Tip: Use false to exclude field
|
|
136
137
|
*/
|
|
137
|
-
fields: FieldFilter<
|
|
138
|
+
fields: FieldFilter<Cols>;
|
|
138
139
|
|
|
139
140
|
/**
|
|
140
141
|
* The maximum number of rows a user can get in a select query. null by default. Unless a null or higher limit is specified 100 rows will be returned by the default
|
|
@@ -144,12 +145,12 @@ export type SelectRule<S extends DBTableSchema | undefined = undefined> = {
|
|
|
144
145
|
/**
|
|
145
146
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
146
147
|
*/
|
|
147
|
-
forcedFilter?: FullFilter<
|
|
148
|
+
forcedFilter?: FullFilter<Cols>;
|
|
148
149
|
|
|
149
150
|
/**
|
|
150
151
|
* Fields user can filter by
|
|
151
152
|
* */
|
|
152
|
-
filterFields?: FieldFilter<
|
|
153
|
+
filterFields?: FieldFilter<Cols>;
|
|
153
154
|
|
|
154
155
|
/**
|
|
155
156
|
* Validation logic to check/update data for each request
|
|
@@ -157,39 +158,39 @@ export type SelectRule<S extends DBTableSchema | undefined = undefined> = {
|
|
|
157
158
|
validate?(args: SelectRequestData): SelectRequestData | Promise<SelectRequestData>;
|
|
158
159
|
|
|
159
160
|
}
|
|
160
|
-
export type InsertRule<
|
|
161
|
+
export type InsertRule<Cols extends AnyObject = AnyObject> = {
|
|
161
162
|
|
|
162
163
|
/**
|
|
163
164
|
* Fields allowed to be inserted. Tip: Use false to exclude field
|
|
164
165
|
*/
|
|
165
|
-
fields: SelectRule<
|
|
166
|
+
fields: SelectRule<Cols>["fields"]
|
|
166
167
|
|
|
167
168
|
/**
|
|
168
169
|
* Data to include/overwrite on each insert
|
|
169
170
|
*/
|
|
170
|
-
forcedData?: Partial<
|
|
171
|
+
forcedData?: Partial<Cols>;
|
|
171
172
|
|
|
172
173
|
/**
|
|
173
174
|
* Fields user can view after inserting
|
|
174
175
|
*/
|
|
175
|
-
returningFields?: SelectRule<
|
|
176
|
+
returningFields?: SelectRule<Cols>["fields"]
|
|
176
177
|
|
|
177
178
|
/**
|
|
178
179
|
* Validation logic to check/update data for each request. Happens before publish rule checks (for fields, forcedData/forcedFilter)
|
|
179
180
|
*/
|
|
180
|
-
preValidate?: ValidateRow<
|
|
181
|
+
preValidate?: ValidateRow<Cols>;
|
|
181
182
|
|
|
182
183
|
/**
|
|
183
184
|
* Validation logic to check/update data for each request. Happens after publish rule checks (for fields, forcedData/forcedFilter)
|
|
184
185
|
*/
|
|
185
|
-
validate?: InsertRule<
|
|
186
|
+
validate?: InsertRule<Cols>["preValidate"]
|
|
186
187
|
}
|
|
187
|
-
export type UpdateRule<
|
|
188
|
+
export type UpdateRule<Cols extends AnyObject = AnyObject> = {
|
|
188
189
|
|
|
189
190
|
/**
|
|
190
191
|
* Fields allowed to be updated. Tip: Use false/0 to exclude field
|
|
191
192
|
*/
|
|
192
|
-
fields: SelectRule<
|
|
193
|
+
fields: SelectRule<Cols>["fields"]
|
|
193
194
|
|
|
194
195
|
/**
|
|
195
196
|
* Row level FGAC
|
|
@@ -199,71 +200,71 @@ export type UpdateRule<S extends DBTableSchema | undefined = undefined> = {
|
|
|
199
200
|
* Specify in decreasing order of specificity otherwise a more general filter will match first
|
|
200
201
|
*/
|
|
201
202
|
dynamicFields?: {
|
|
202
|
-
filter: SelectRule<
|
|
203
|
-
fields: SelectRule<
|
|
203
|
+
filter: SelectRule<Cols>["forcedFilter"]
|
|
204
|
+
fields: SelectRule<Cols>["fields"]
|
|
204
205
|
}[];
|
|
205
206
|
|
|
206
207
|
/**
|
|
207
208
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
208
209
|
* This filter cannot be updated
|
|
209
210
|
*/
|
|
210
|
-
forcedFilter?: SelectRule<
|
|
211
|
+
forcedFilter?: SelectRule<Cols>["forcedFilter"]
|
|
211
212
|
|
|
212
213
|
/**
|
|
213
214
|
* Data to include/overwrite on each updatDBe
|
|
214
215
|
*/
|
|
215
|
-
forcedData?: InsertRule<
|
|
216
|
+
forcedData?: InsertRule<Cols>["forcedData"]
|
|
216
217
|
|
|
217
218
|
/**
|
|
218
219
|
* Fields user can use to find the updates
|
|
219
220
|
*/
|
|
220
|
-
filterFields?: SelectRule<
|
|
221
|
+
filterFields?: SelectRule<Cols>["fields"]
|
|
221
222
|
|
|
222
223
|
/**
|
|
223
224
|
* Fields user can view after updating
|
|
224
225
|
*/
|
|
225
|
-
returningFields?: SelectRule<
|
|
226
|
+
returningFields?: SelectRule<Cols>["fields"]
|
|
226
227
|
|
|
227
228
|
/**
|
|
228
229
|
* Validation logic to check/update data for each request
|
|
229
230
|
*/
|
|
230
|
-
validate?: ValidateUpdateRow<
|
|
231
|
+
validate?: ValidateUpdateRow<Cols>;
|
|
231
232
|
|
|
232
233
|
};
|
|
233
234
|
|
|
234
|
-
export type DeleteRule<
|
|
235
|
+
export type DeleteRule<Cols extends AnyObject = AnyObject> = {
|
|
235
236
|
|
|
236
237
|
/**
|
|
237
238
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
238
239
|
*/
|
|
239
|
-
forcedFilter?:
|
|
240
|
+
forcedFilter?: SelectRule<Cols>["forcedFilter"]
|
|
240
241
|
|
|
241
242
|
/**
|
|
242
243
|
* Fields user can filter by
|
|
243
244
|
*/
|
|
244
|
-
filterFields
|
|
245
|
+
filterFields: FieldFilter<Cols>;
|
|
245
246
|
|
|
246
247
|
/**
|
|
247
248
|
* Fields user can view after deleting
|
|
248
249
|
*/
|
|
249
|
-
returningFields?:
|
|
250
|
+
returningFields?: SelectRule<Cols>["filterFields"]
|
|
250
251
|
|
|
251
252
|
/**
|
|
252
253
|
* Validation logic to check/update data for each request
|
|
253
254
|
*/
|
|
254
|
-
validate?(...args: any[]):
|
|
255
|
+
validate?(...args: any[]): Awaitable<void>;// UpdateRequestData<Cols>;
|
|
255
256
|
}
|
|
256
|
-
export type SyncRule<
|
|
257
|
+
export type SyncRule<Cols extends AnyObject = AnyObject> = {
|
|
257
258
|
|
|
258
259
|
/**
|
|
259
260
|
* Primary keys used in updating data
|
|
260
261
|
*/
|
|
261
|
-
id_fields:
|
|
262
|
+
id_fields: (keyof Cols)[];
|
|
262
263
|
|
|
263
264
|
/**
|
|
264
265
|
* Numerical incrementing fieldname (last updated timestamp) used to sync items
|
|
265
266
|
*/
|
|
266
|
-
synced_field:
|
|
267
|
+
synced_field: keyof Cols;
|
|
267
268
|
|
|
268
269
|
/**
|
|
269
270
|
* EXPERIMENTAL. Disabled by default. If true then server will attempt to delete any records missing from client.
|
|
@@ -284,25 +285,25 @@ export type SubscribeRule = {
|
|
|
284
285
|
throttle?: number;
|
|
285
286
|
}
|
|
286
287
|
|
|
287
|
-
export type ViewRule<S
|
|
288
|
+
export type ViewRule<S = AnyObject> = CommonTableRules & {
|
|
288
289
|
/**
|
|
289
290
|
* What can be read from the table
|
|
290
291
|
*/
|
|
291
292
|
select?: SelectRule<S>;
|
|
292
293
|
};
|
|
293
|
-
export type TableRule<S
|
|
294
|
+
export type TableRule<S = AnyObject> = ViewRule<S> & {
|
|
294
295
|
insert?: InsertRule<S>;
|
|
295
296
|
update?: UpdateRule<S>;
|
|
296
297
|
delete?: DeleteRule<S>;
|
|
297
298
|
sync?: SyncRule<S>;
|
|
298
299
|
subscribe?: SubscribeRule;
|
|
299
300
|
};
|
|
300
|
-
export type PublishViewRule<S extends
|
|
301
|
+
export type PublishViewRule<S extends AnyObject = AnyObject> = {
|
|
301
302
|
select?: SelectRule<S> | PublishAllOrNothing
|
|
302
303
|
getColumns?: PublishAllOrNothing;
|
|
303
304
|
getInfo?: PublishAllOrNothing;
|
|
304
305
|
};
|
|
305
|
-
export type PublishTableRule<S extends
|
|
306
|
+
export type PublishTableRule<S extends AnyObject = AnyObject> = PublishViewRule<S> & {
|
|
306
307
|
insert?: InsertRule<S> | PublishAllOrNothing
|
|
307
308
|
update?: UpdateRule<S> | PublishAllOrNothing
|
|
308
309
|
delete?: DeleteRule<S> | PublishAllOrNothing
|
|
@@ -327,7 +328,7 @@ export type ParsedPublishTable = {
|
|
|
327
328
|
// export type Publish = {
|
|
328
329
|
// tablesOrViews: {[key:string]: TableRule | ViewRule | "*" }
|
|
329
330
|
// }
|
|
330
|
-
export type PublishParams<S
|
|
331
|
+
export type PublishParams<S = void> = {
|
|
331
332
|
sid?: string;
|
|
332
333
|
dbo: DBOFullyTyped<S>;
|
|
333
334
|
db?: DB;
|
|
@@ -336,14 +337,14 @@ export type PublishParams<S extends DBSchema | undefined = undefined> = {
|
|
|
336
337
|
}
|
|
337
338
|
export type RequestParams = { dbo?: DBHandlerServer, socket?: any };
|
|
338
339
|
export type PublishAllOrNothing = true | "*" | false | null;
|
|
339
|
-
|
|
340
|
-
|
|
340
|
+
type PublishObject = {
|
|
341
|
+
[table_name: string]: (PublishTableRule | PublishViewRule | PublishAllOrNothing )
|
|
341
342
|
};
|
|
342
343
|
export type ParsedPublishTables = {
|
|
343
344
|
[table_name: string]: ParsedPublishTable
|
|
344
345
|
};
|
|
345
|
-
export type PublishedResult<Schema
|
|
346
|
-
export type Publish<Schema
|
|
346
|
+
export type PublishedResult<Schema = void> = PublishAllOrNothing | PublishFullyTyped<Schema> ;
|
|
347
|
+
export type Publish<Schema = void> = PublishedResult<Schema> | ((params: PublishParams<Schema>) => Awaitable<PublishedResult<Schema>>);
|
|
347
348
|
|
|
348
349
|
export class PublishParser {
|
|
349
350
|
publish: any;
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
import { Filter, LocalParams, TableHandler } from "./DboBuilder";
|
|
2
|
+
import { TableRule } from "./PublishParser";
|
|
3
|
+
import { SelectParams, ColumnInfo, PG_COLUMN_UDT_DATA_TYPE, Select } from "prostgles-types";
|
|
4
|
+
export declare type SelectItem = {
|
|
5
|
+
type: "column" | "function" | "aggregation" | "joinedColumn" | "computed";
|
|
6
|
+
getFields: (args?: any[]) => string[] | "*";
|
|
7
|
+
getQuery: (tableAlias?: string) => string;
|
|
8
|
+
columnPGDataType?: string;
|
|
9
|
+
column_udt_type?: PG_COLUMN_UDT_DATA_TYPE;
|
|
10
|
+
alias: string;
|
|
11
|
+
selected: boolean;
|
|
12
|
+
};
|
|
13
|
+
export declare type NewQuery = {
|
|
14
|
+
allFields: string[];
|
|
15
|
+
/**
|
|
16
|
+
* Contains user selection and all the allowed columns. Allowed columns not selected are marked with selected: false
|
|
17
|
+
*/
|
|
18
|
+
select: SelectItem[];
|
|
19
|
+
table: string;
|
|
20
|
+
where: string;
|
|
21
|
+
orderBy: string[];
|
|
22
|
+
having: string;
|
|
23
|
+
limit: number;
|
|
24
|
+
offset: number;
|
|
25
|
+
isLeftJoin: boolean;
|
|
26
|
+
joins?: NewQuery[];
|
|
27
|
+
tableAlias?: string;
|
|
28
|
+
$path?: string[];
|
|
29
|
+
};
|
|
30
|
+
export declare const asNameAlias: (field: string, tableAlias?: string) => string;
|
|
31
|
+
export declare const parseFunctionObject: (funcData: any) => {
|
|
32
|
+
funcName: string;
|
|
33
|
+
args: any[];
|
|
34
|
+
};
|
|
35
|
+
export declare const parseFunction: (funcData: {
|
|
36
|
+
func: string | FunctionSpec;
|
|
37
|
+
args: any[];
|
|
38
|
+
functions: FunctionSpec[];
|
|
39
|
+
allowedFields: string[];
|
|
40
|
+
}) => FunctionSpec;
|
|
41
|
+
declare type GetQueryArgs = {
|
|
42
|
+
allColumns: ColumnInfo[];
|
|
43
|
+
allowedFields: string[];
|
|
44
|
+
args: any[];
|
|
45
|
+
tableAlias?: string;
|
|
46
|
+
ctidField?: string;
|
|
47
|
+
};
|
|
48
|
+
export declare type FieldSpec = {
|
|
49
|
+
name: string;
|
|
50
|
+
type: "column" | "computed";
|
|
51
|
+
/**
|
|
52
|
+
* allowedFields passed for multicol functions (e.g.: $rowhash)
|
|
53
|
+
*/
|
|
54
|
+
getQuery: (params: Omit<GetQueryArgs, "args">) => string;
|
|
55
|
+
};
|
|
56
|
+
export declare type FunctionSpec = {
|
|
57
|
+
name: string;
|
|
58
|
+
description?: string;
|
|
59
|
+
/**
|
|
60
|
+
* If true then it can be used in filters and is expected to return boolean
|
|
61
|
+
*/
|
|
62
|
+
canBeUsedForFilter?: boolean;
|
|
63
|
+
/**
|
|
64
|
+
* If true then the first argument is expected to be a column name
|
|
65
|
+
*/
|
|
66
|
+
singleColArg: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* If true then this func can be used within where clause
|
|
69
|
+
*/
|
|
70
|
+
/**
|
|
71
|
+
* Number of arguments expected
|
|
72
|
+
*/
|
|
73
|
+
numArgs: number;
|
|
74
|
+
/**
|
|
75
|
+
* If provided then the number of column names provided to the function (from getFields()) must not be less than this
|
|
76
|
+
* By default every function is checked against numArgs
|
|
77
|
+
*/
|
|
78
|
+
minCols?: number;
|
|
79
|
+
type: "function" | "aggregation" | "computed";
|
|
80
|
+
/**
|
|
81
|
+
* getFields: string[] -> used to validate user supplied field names. It will be fired before querying to validate against allowed columns
|
|
82
|
+
* if not field names are used from arguments then return an empty array
|
|
83
|
+
*/
|
|
84
|
+
getFields: (args: any[]) => "*" | string[];
|
|
85
|
+
/**
|
|
86
|
+
* allowedFields passed for multicol functions (e.g.: $rowhash)
|
|
87
|
+
*/
|
|
88
|
+
getQuery: (params: GetQueryArgs) => string;
|
|
89
|
+
returnType?: PG_COLUMN_UDT_DATA_TYPE;
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Each function expects a column at the very least
|
|
93
|
+
*/
|
|
94
|
+
export declare const FUNCTIONS: FunctionSpec[];
|
|
95
|
+
export declare const COMPUTED_FIELDS: FieldSpec[];
|
|
96
|
+
export declare class SelectItemBuilder {
|
|
97
|
+
select: SelectItem[];
|
|
98
|
+
private allFields;
|
|
99
|
+
private allowedFields;
|
|
100
|
+
private computedFields;
|
|
101
|
+
private functions;
|
|
102
|
+
private allowedFieldsIncludingComputed;
|
|
103
|
+
private isView;
|
|
104
|
+
private columns;
|
|
105
|
+
constructor(params: {
|
|
106
|
+
allowedFields: string[];
|
|
107
|
+
computedFields: FieldSpec[];
|
|
108
|
+
functions: FunctionSpec[];
|
|
109
|
+
allFields: string[];
|
|
110
|
+
isView: boolean;
|
|
111
|
+
columns: ColumnInfo[];
|
|
112
|
+
});
|
|
113
|
+
private checkField;
|
|
114
|
+
private addItem;
|
|
115
|
+
private addFunction;
|
|
116
|
+
addColumn: (fieldName: string, selected: boolean) => void;
|
|
117
|
+
parseUserSelect: (userSelect: Select, joinParse?: (key: string, val: any, throwErr: (msg: string) => any) => any) => Promise<any[]>;
|
|
118
|
+
}
|
|
119
|
+
export declare function getNewQuery(_this: TableHandler, filter: Filter, selectParams: (SelectParams & {
|
|
120
|
+
alias?: string;
|
|
121
|
+
}), param3_unused: any, tableRules: TableRule | undefined, localParams: LocalParams | undefined, columns: ColumnInfo[]): Promise<NewQuery>;
|
|
122
|
+
export declare function makeQuery(_this: TableHandler, q: NewQuery, depth?: number, joinFields?: string[], selectParams?: SelectParams): string;
|
|
123
|
+
export {};
|
|
124
|
+
//# sourceMappingURL=QueryBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilder.d.ts","sourceRoot":"","sources":["QueryBuilder.ts"],"names":[],"mappings":"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"}
|