prostgles-server 2.0.181 → 2.0.184
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 +1 -1
- package/dist/DBSchemaBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.d.ts +1 -1
- package/dist/DboBuilder.d.ts.map +1 -1
- package/dist/DboBuilder.js +2 -1
- package/dist/DboBuilder.js.map +1 -1
- package/dist/PublishParser.d.ts +15 -15
- package/dist/PublishParser.d.ts.map +1 -1
- package/dist/PublishParser.js.map +1 -1
- package/dist/TableConfig.d.ts +24 -5
- package/dist/TableConfig.d.ts.map +1 -1
- package/dist/TableConfig.js +44 -20
- package/dist/TableConfig.js.map +1 -1
- package/lib/DBSchemaBuilder.d.ts +1 -1
- package/lib/DBSchemaBuilder.d.ts.map +1 -1
- package/lib/DBSchemaBuilder.ts +2 -2
- package/lib/DboBuilder.d.ts +1 -1
- package/lib/DboBuilder.d.ts.map +1 -1
- package/lib/DboBuilder.js +2 -1
- package/lib/DboBuilder.ts +3 -2
- package/lib/PublishParser.d.ts +15 -15
- package/lib/PublishParser.d.ts.map +1 -1
- package/lib/PublishParser.ts +16 -16
- package/lib/TableConfig.d.ts +24 -5
- package/lib/TableConfig.d.ts.map +1 -1
- package/lib/TableConfig.js +44 -20
- package/lib/TableConfig.ts +359 -323
- package/package.json +2 -2
- package/tests/client/PID.txt +1 -1
- package/tests/client/package-lock.json +15 -15
- package/tests/client/package.json +1 -1
- package/tests/server/package-lock.json +3 -3
- package/tests/server/publishTypeCheck.d.ts.map +1 -1
- package/tests/server/publishTypeCheck.js +12 -2
- package/tests/server/publishTypeCheck.ts +12 -2
package/lib/PublishParser.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export declare type ValidateUpdateRow<R extends AnyObject = AnyObject> = (args:
|
|
|
53
53
|
update: Partial<R>;
|
|
54
54
|
filter: FullFilter<R>;
|
|
55
55
|
}) => R | Promise<R>;
|
|
56
|
-
export declare type SelectRule<Cols extends AnyObject = AnyObject> = {
|
|
56
|
+
export declare type SelectRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
57
57
|
/**
|
|
58
58
|
* Fields allowed to be selected. Tip: Use false to exclude field
|
|
59
59
|
*/
|
|
@@ -65,7 +65,7 @@ export declare type SelectRule<Cols extends AnyObject = AnyObject> = {
|
|
|
65
65
|
/**
|
|
66
66
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
67
67
|
*/
|
|
68
|
-
forcedFilter?: FullFilter<Cols>;
|
|
68
|
+
forcedFilter?: FullFilter<Cols, S>;
|
|
69
69
|
/**
|
|
70
70
|
* Fields user can filter by
|
|
71
71
|
* */
|
|
@@ -97,7 +97,7 @@ export declare type InsertRule<Cols extends AnyObject = AnyObject> = {
|
|
|
97
97
|
*/
|
|
98
98
|
validate?: InsertRule<Cols>["preValidate"];
|
|
99
99
|
};
|
|
100
|
-
export declare type UpdateRule<Cols extends AnyObject = AnyObject> = {
|
|
100
|
+
export declare type UpdateRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
101
101
|
/**
|
|
102
102
|
* Fields allowed to be updated. Tip: Use false/0 to exclude field
|
|
103
103
|
*/
|
|
@@ -110,14 +110,14 @@ export declare type UpdateRule<Cols extends AnyObject = AnyObject> = {
|
|
|
110
110
|
* Specify in decreasing order of specificity otherwise a more general filter will match first
|
|
111
111
|
*/
|
|
112
112
|
dynamicFields?: {
|
|
113
|
-
filter: SelectRule<Cols>["forcedFilter"];
|
|
113
|
+
filter: SelectRule<Cols, S>["forcedFilter"];
|
|
114
114
|
fields: SelectRule<Cols>["fields"];
|
|
115
115
|
}[];
|
|
116
116
|
/**
|
|
117
117
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
118
118
|
* This filter cannot be updated
|
|
119
119
|
*/
|
|
120
|
-
forcedFilter?: SelectRule<Cols>["forcedFilter"];
|
|
120
|
+
forcedFilter?: SelectRule<Cols, S>["forcedFilter"];
|
|
121
121
|
/**
|
|
122
122
|
* Data to include/overwrite on each updatDBe
|
|
123
123
|
*/
|
|
@@ -135,11 +135,11 @@ export declare type UpdateRule<Cols extends AnyObject = AnyObject> = {
|
|
|
135
135
|
*/
|
|
136
136
|
validate?: ValidateUpdateRow<Cols>;
|
|
137
137
|
};
|
|
138
|
-
export declare type DeleteRule<Cols extends AnyObject = AnyObject> = {
|
|
138
|
+
export declare type DeleteRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
139
139
|
/**
|
|
140
140
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
141
141
|
*/
|
|
142
|
-
forcedFilter?: SelectRule<Cols>["forcedFilter"];
|
|
142
|
+
forcedFilter?: SelectRule<Cols, S>["forcedFilter"];
|
|
143
143
|
/**
|
|
144
144
|
* Fields user can filter by
|
|
145
145
|
*/
|
|
@@ -191,16 +191,16 @@ export declare type TableRule<S = AnyObject> = ViewRule<S> & {
|
|
|
191
191
|
sync?: SyncRule<S>;
|
|
192
192
|
subscribe?: SubscribeRule;
|
|
193
193
|
};
|
|
194
|
-
export declare type PublishViewRule<
|
|
195
|
-
select?: SelectRule<S> | PublishAllOrNothing;
|
|
194
|
+
export declare type PublishViewRule<Col extends AnyObject = AnyObject, S = void> = {
|
|
195
|
+
select?: SelectRule<Col, S> | PublishAllOrNothing;
|
|
196
196
|
getColumns?: PublishAllOrNothing;
|
|
197
197
|
getInfo?: PublishAllOrNothing;
|
|
198
198
|
};
|
|
199
|
-
export declare type PublishTableRule<
|
|
200
|
-
insert?: InsertRule<
|
|
201
|
-
update?: UpdateRule<S> | PublishAllOrNothing;
|
|
202
|
-
delete?: DeleteRule<S> | PublishAllOrNothing;
|
|
203
|
-
sync?: SyncRule<
|
|
199
|
+
export declare type PublishTableRule<Col extends AnyObject = AnyObject, S = void> = PublishViewRule<Col, S> & {
|
|
200
|
+
insert?: InsertRule<Col> | PublishAllOrNothing;
|
|
201
|
+
update?: UpdateRule<Col, S> | PublishAllOrNothing;
|
|
202
|
+
delete?: DeleteRule<Col, S> | PublishAllOrNothing;
|
|
203
|
+
sync?: SyncRule<Col>;
|
|
204
204
|
subscribe?: SubscribeRule | PublishAllOrNothing;
|
|
205
205
|
};
|
|
206
206
|
export declare type ParsedPublishTable = {
|
|
@@ -242,7 +242,7 @@ export declare class PublishParser {
|
|
|
242
242
|
db: DB;
|
|
243
243
|
prostgles: Prostgles;
|
|
244
244
|
constructor(publish: any, publishMethods: any, publishRawSQL: any, dbo: DBHandlerServer, db: DB, prostgles: Prostgles);
|
|
245
|
-
getPublishParams(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishParams
|
|
245
|
+
getPublishParams(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishParams>;
|
|
246
246
|
getMethods(socket: any): Promise<{}>;
|
|
247
247
|
/**
|
|
248
248
|
* Parses the first level of publish. (If false then nothing if * then all tables and views)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["PublishParser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,SAAS,EAAO,oBAAoB,EAAE,aAAa,EAAwB,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC/I,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAyB,WAAW,EAAE,YAAY,EAA6B,MAAM,cAAc,CAAC;AAC7H,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,EAAE,EAAiB,MAAM,aAAa,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,oBAAY,MAAM,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAE,CAAC;AAC9D,oBAAY,cAAc,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK;IAAE,CAAC,GAAG,EAAC,MAAM,GAAG,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC;IAAE,CAAC,GAAG,EAAC,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC,CAAC;AAElI,oBAAY,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1C,aAAK,OAAO,GAAG;IACb,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,CAAA;AAED,aAAK,QAAQ,GAAG,OAAO,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAA;AACD,aAAK,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,WAAW,CAAC;CAC1B,CAAA;AA6ED,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG5D,oBAAY,iBAAiB,GAAG;IAC5B,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,WAAW,CAAC;CAC1B,CAAA;AACD,oBAAY,iBAAiB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;CACxB,CAAA;AACD,oBAAY,iBAAiB,GAAG;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,WAAW,CAAC;CAC1B,CAAA;AACD,oBAAY,oBAAoB,CAAC,CAAC,IAAI;IACpC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IACjB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC;CAC3B,CAAA;AACD,oBAAY,SAAS,CAAC,CAAC,IAAI;IACzB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;IACrB,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CAClB,CAAA;AACD,oBAAY,sBAAsB,CAAC,CAAC,IAAI;IACpC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;CACxB,CAAA;AACD,oBAAY,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,oBAAoB,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAErH,oBAAY,WAAW,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AACtF,oBAAY,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,CAAC,IAAI,EAAE;IAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,CAAA;CAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAGzI,oBAAY,UAAU,CAAC,IAAI,SAAS,SAAS,GAAG,SAAS,IAAI;
|
|
1
|
+
{"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["PublishParser.ts"],"names":[],"mappings":"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"}
|
package/lib/PublishParser.ts
CHANGED
|
@@ -130,7 +130,7 @@ export type ValidateRow<R extends AnyObject = AnyObject> = (row: R) => R | Promi
|
|
|
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
|
+
export type SelectRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
134
134
|
|
|
135
135
|
/**
|
|
136
136
|
* Fields allowed to be selected. Tip: Use false to exclude field
|
|
@@ -145,7 +145,7 @@ export type SelectRule<Cols extends AnyObject = AnyObject> = {
|
|
|
145
145
|
/**
|
|
146
146
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
147
147
|
*/
|
|
148
|
-
forcedFilter?: FullFilter<Cols>;
|
|
148
|
+
forcedFilter?: FullFilter<Cols, S>;
|
|
149
149
|
|
|
150
150
|
/**
|
|
151
151
|
* Fields user can filter by
|
|
@@ -185,7 +185,7 @@ export type InsertRule<Cols extends AnyObject = AnyObject> = {
|
|
|
185
185
|
*/
|
|
186
186
|
validate?: InsertRule<Cols>["preValidate"]
|
|
187
187
|
}
|
|
188
|
-
export type UpdateRule<Cols extends AnyObject = AnyObject> = {
|
|
188
|
+
export type UpdateRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
189
189
|
|
|
190
190
|
/**
|
|
191
191
|
* Fields allowed to be updated. Tip: Use false/0 to exclude field
|
|
@@ -200,7 +200,7 @@ export type UpdateRule<Cols extends AnyObject = AnyObject> = {
|
|
|
200
200
|
* Specify in decreasing order of specificity otherwise a more general filter will match first
|
|
201
201
|
*/
|
|
202
202
|
dynamicFields?: {
|
|
203
|
-
filter: SelectRule<Cols>["forcedFilter"]
|
|
203
|
+
filter: SelectRule<Cols, S>["forcedFilter"]
|
|
204
204
|
fields: SelectRule<Cols>["fields"]
|
|
205
205
|
}[];
|
|
206
206
|
|
|
@@ -208,7 +208,7 @@ export type UpdateRule<Cols extends AnyObject = AnyObject> = {
|
|
|
208
208
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
209
209
|
* This filter cannot be updated
|
|
210
210
|
*/
|
|
211
|
-
forcedFilter?: SelectRule<Cols>["forcedFilter"]
|
|
211
|
+
forcedFilter?: SelectRule<Cols, S>["forcedFilter"]
|
|
212
212
|
|
|
213
213
|
/**
|
|
214
214
|
* Data to include/overwrite on each updatDBe
|
|
@@ -232,12 +232,12 @@ export type UpdateRule<Cols extends AnyObject = AnyObject> = {
|
|
|
232
232
|
|
|
233
233
|
};
|
|
234
234
|
|
|
235
|
-
export type DeleteRule<Cols extends AnyObject = AnyObject> = {
|
|
235
|
+
export type DeleteRule<Cols extends AnyObject = AnyObject, S = void> = {
|
|
236
236
|
|
|
237
237
|
/**
|
|
238
238
|
* Filter added to every query (e.g. user_id) to restrict access
|
|
239
239
|
*/
|
|
240
|
-
forcedFilter?: SelectRule<Cols>["forcedFilter"]
|
|
240
|
+
forcedFilter?: SelectRule<Cols, S>["forcedFilter"]
|
|
241
241
|
|
|
242
242
|
/**
|
|
243
243
|
* Fields user can filter by
|
|
@@ -298,16 +298,16 @@ export type TableRule<S = AnyObject> = ViewRule<S> & {
|
|
|
298
298
|
sync?: SyncRule<S>;
|
|
299
299
|
subscribe?: SubscribeRule;
|
|
300
300
|
};
|
|
301
|
-
export type PublishViewRule<
|
|
302
|
-
select?: SelectRule<S> | PublishAllOrNothing
|
|
301
|
+
export type PublishViewRule<Col extends AnyObject = AnyObject, S = void> = {
|
|
302
|
+
select?: SelectRule<Col, S> | PublishAllOrNothing
|
|
303
303
|
getColumns?: PublishAllOrNothing;
|
|
304
304
|
getInfo?: PublishAllOrNothing;
|
|
305
305
|
};
|
|
306
|
-
export type PublishTableRule<
|
|
307
|
-
insert?: InsertRule<
|
|
308
|
-
update?: UpdateRule<S> | PublishAllOrNothing
|
|
309
|
-
delete?: DeleteRule<S> | PublishAllOrNothing
|
|
310
|
-
sync?: SyncRule<
|
|
306
|
+
export type PublishTableRule<Col extends AnyObject = AnyObject, S = void> = PublishViewRule<Col, S> & {
|
|
307
|
+
insert?: InsertRule<Col> | PublishAllOrNothing
|
|
308
|
+
update?: UpdateRule<Col, S> | PublishAllOrNothing
|
|
309
|
+
delete?: DeleteRule<Col, S> | PublishAllOrNothing
|
|
310
|
+
sync?: SyncRule<Col>;
|
|
311
311
|
subscribe?: SubscribeRule | PublishAllOrNothing;
|
|
312
312
|
};
|
|
313
313
|
|
|
@@ -365,7 +365,7 @@ export class PublishParser {
|
|
|
365
365
|
if(!this.dbo || !this.publish) throw "INTERNAL ERROR: dbo and/or publish missing";
|
|
366
366
|
}
|
|
367
367
|
|
|
368
|
-
async getPublishParams(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishParams
|
|
368
|
+
async getPublishParams(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishParams> {
|
|
369
369
|
if(!this.dbo) throw "dbo missing"
|
|
370
370
|
return {
|
|
371
371
|
...(clientInfo || await this.prostgles.authHandler?.getClientInfo(localParams)),
|
|
@@ -401,7 +401,7 @@ export class PublishParser {
|
|
|
401
401
|
* @param user
|
|
402
402
|
*/
|
|
403
403
|
async getPublish(localParams: LocalParams, clientInfo?: ClientInfo): Promise<PublishObject> {
|
|
404
|
-
const publishParams
|
|
404
|
+
const publishParams = await this.getPublishParams(localParams, clientInfo)
|
|
405
405
|
let _publish = await applyParamsIfFunc(this.publish, publishParams );
|
|
406
406
|
|
|
407
407
|
if(_publish === "*"){
|
package/lib/TableConfig.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { AnyObject, TableInfo } from "prostgles-types";
|
|
1
2
|
import { JoinInfo } from "./DboBuilder";
|
|
2
3
|
import { ALLOWED_EXTENSION, ALLOWED_CONTENT_TYPE } from "./FileManager";
|
|
3
4
|
import { DB, DBHandlerServer, Prostgles } from "./Prostgles";
|
|
@@ -6,7 +7,19 @@ declare type ColExtraInfo = {
|
|
|
6
7
|
max?: string | number;
|
|
7
8
|
hint?: string;
|
|
8
9
|
};
|
|
9
|
-
declare type
|
|
10
|
+
export declare type I18N_Config<LANG_IDS> = {
|
|
11
|
+
[lang_id in keyof LANG_IDS]: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const parseI18N: <LANG_IDS, Def extends string>(params: {
|
|
14
|
+
config?: string | I18N_Config<LANG_IDS>;
|
|
15
|
+
lang?: string | keyof LANG_IDS;
|
|
16
|
+
defaultLang: string | keyof LANG_IDS;
|
|
17
|
+
defaultValue: Def;
|
|
18
|
+
}) => string | Def;
|
|
19
|
+
declare type BaseTableDefinition<LANG_IDS = AnyObject> = {
|
|
20
|
+
info?: {
|
|
21
|
+
label?: string | I18N_Config<LANG_IDS>;
|
|
22
|
+
};
|
|
10
23
|
dropIfExistsCascade?: boolean;
|
|
11
24
|
dropIfExists?: boolean;
|
|
12
25
|
};
|
|
@@ -96,7 +109,7 @@ declare type ColumnConfig<LANG_IDS = {
|
|
|
96
109
|
en: 1;
|
|
97
110
|
}> = NamedJoinColumn | MediaColumn | (BaseColumn<LANG_IDS> & (SQLDefColumn | ReferencedColumn | TextColumn));
|
|
98
111
|
declare type TableDefinition<LANG_IDS> = {
|
|
99
|
-
columns
|
|
112
|
+
columns?: {
|
|
100
113
|
[column_name: string]: ColumnConfig<LANG_IDS>;
|
|
101
114
|
};
|
|
102
115
|
constraints?: {
|
|
@@ -144,18 +157,24 @@ declare type TableDefinition<LANG_IDS> = {
|
|
|
144
157
|
export declare type TableConfig<LANG_IDS = {
|
|
145
158
|
en: 1;
|
|
146
159
|
}> = {
|
|
147
|
-
[table_name: string]: BaseTableDefinition & (TableDefinition<LANG_IDS> | LookupTableDefinition<LANG_IDS>);
|
|
160
|
+
[table_name: string]: BaseTableDefinition<LANG_IDS> & (TableDefinition<LANG_IDS> | LookupTableDefinition<LANG_IDS>);
|
|
148
161
|
};
|
|
149
162
|
/**
|
|
150
163
|
* Will be run between initSQL and fileTable
|
|
151
164
|
*/
|
|
152
|
-
export default class TableConfigurator {
|
|
153
|
-
|
|
165
|
+
export default class TableConfigurator<LANG_IDS = {
|
|
166
|
+
en: 1;
|
|
167
|
+
}> {
|
|
168
|
+
config?: TableConfig<LANG_IDS>;
|
|
154
169
|
get dbo(): DBHandlerServer;
|
|
155
170
|
get db(): DB;
|
|
156
171
|
prostgles: Prostgles;
|
|
157
172
|
constructor(prostgles: Prostgles);
|
|
158
173
|
getColumnConfig: (tableName: string, colName: string) => ColumnConfig | undefined;
|
|
174
|
+
getTableInfo: (params: {
|
|
175
|
+
tableName: string;
|
|
176
|
+
lang?: string;
|
|
177
|
+
}) => TableInfo["info"] | undefined;
|
|
159
178
|
getColInfo: (params: {
|
|
160
179
|
col: string;
|
|
161
180
|
table: string;
|
package/lib/TableConfig.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TableConfig.d.ts","sourceRoot":"","sources":["TableConfig.ts"],"names":[],"mappings":"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"}
|
package/lib/TableConfig.js
CHANGED
|
@@ -1,7 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseI18N = void 0;
|
|
3
4
|
const prostgles_types_1 = require("prostgles-types");
|
|
5
|
+
const DboBuilder_1 = require("./DboBuilder");
|
|
4
6
|
const PubSubManager_1 = require("./PubSubManager");
|
|
7
|
+
const parseI18N = (params) => {
|
|
8
|
+
const { config, lang, defaultLang, defaultValue } = params;
|
|
9
|
+
if (config) {
|
|
10
|
+
if ((0, DboBuilder_1.isPlainObject)(config)) {
|
|
11
|
+
//@ts-ignore
|
|
12
|
+
return config[lang] ?? config[defaultLang];
|
|
13
|
+
}
|
|
14
|
+
else if (typeof config === "string") {
|
|
15
|
+
return config;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return defaultValue;
|
|
19
|
+
};
|
|
20
|
+
exports.parseI18N = parseI18N;
|
|
5
21
|
/**
|
|
6
22
|
* Will be run between initSQL and fileTable
|
|
7
23
|
*/
|
|
@@ -10,10 +26,16 @@ class TableConfigurator {
|
|
|
10
26
|
this.getColumnConfig = (tableName, colName) => {
|
|
11
27
|
const tconf = this.config?.[tableName];
|
|
12
28
|
if (tconf && "columns" in tconf) {
|
|
13
|
-
return tconf.columns[colName];
|
|
29
|
+
return tconf.columns?.[colName];
|
|
14
30
|
}
|
|
15
31
|
return undefined;
|
|
16
32
|
};
|
|
33
|
+
this.getTableInfo = (params) => {
|
|
34
|
+
const tconf = this.config?.[params.tableName];
|
|
35
|
+
return {
|
|
36
|
+
label: (0, exports.parseI18N)({ config: tconf?.info?.label, lang: params.lang, defaultLang: "en", defaultValue: params.tableName })
|
|
37
|
+
};
|
|
38
|
+
};
|
|
17
39
|
this.getColInfo = (params) => {
|
|
18
40
|
const colConf = this.getColumnConfig(params.table, params.col);
|
|
19
41
|
let result = undefined;
|
|
@@ -61,7 +83,7 @@ class TableConfigurator {
|
|
|
61
83
|
this.config[sourceTable] &&
|
|
62
84
|
"columns" in this.config[sourceTable]) {
|
|
63
85
|
const td = this.config[sourceTable];
|
|
64
|
-
if ("columns" in td && td.columns[targetTable]) {
|
|
86
|
+
if ("columns" in td && td.columns?.[targetTable]) {
|
|
65
87
|
const cd = td.columns[targetTable];
|
|
66
88
|
if ("joinDef" in cd) {
|
|
67
89
|
const { joinDef } = cd;
|
|
@@ -167,29 +189,31 @@ class TableConfigurator {
|
|
|
167
189
|
}
|
|
168
190
|
};
|
|
169
191
|
const colDefs = [];
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
else if (!colDefs.length && !this.dbo[tableName].columns?.find(c => colName === c.name)) {
|
|
176
|
-
if ("references" in colConf && colConf.references) {
|
|
177
|
-
const { tableName: lookupTable, } = colConf.references;
|
|
178
|
-
queries.push(`
|
|
179
|
-
ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)}
|
|
180
|
-
ADD COLUMN ${getColDef(colName, colConf)};
|
|
181
|
-
`);
|
|
182
|
-
console.log(`TableConfigurator: ${tableName}(${colName})` + " referenced lookup table " + lookupTable);
|
|
192
|
+
if (tableConf.columns) {
|
|
193
|
+
(0, prostgles_types_1.getKeys)(tableConf?.columns).filter(c => !("joinDef" in tableConf.columns[c])).map(colName => {
|
|
194
|
+
const colConf = tableConf.columns[colName];
|
|
195
|
+
if (!this.dbo[tableName]) {
|
|
196
|
+
colDefs.push(getColDef(colName, colConf));
|
|
183
197
|
}
|
|
184
|
-
else if (
|
|
185
|
-
|
|
198
|
+
else if (!colDefs.length && !this.dbo[tableName].columns?.find(c => colName === c.name)) {
|
|
199
|
+
if ("references" in colConf && colConf.references) {
|
|
200
|
+
const { tableName: lookupTable, } = colConf.references;
|
|
201
|
+
queries.push(`
|
|
202
|
+
ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)}
|
|
203
|
+
ADD COLUMN ${getColDef(colName, colConf)};
|
|
204
|
+
`);
|
|
205
|
+
console.log(`TableConfigurator: ${tableName}(${colName})` + " referenced lookup table " + lookupTable);
|
|
206
|
+
}
|
|
207
|
+
else if ("sqlDefinition" in colConf && colConf.sqlDefinition) {
|
|
208
|
+
queries.push(`
|
|
186
209
|
ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)}
|
|
187
210
|
ADD COLUMN ${getColDef(colName, colConf)};
|
|
188
211
|
`);
|
|
189
|
-
|
|
212
|
+
console.log(`TableConfigurator: created/added column ${tableName}(${colName}) ` + colConf.sqlDefinition);
|
|
213
|
+
}
|
|
190
214
|
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
215
|
+
});
|
|
216
|
+
}
|
|
193
217
|
if (colDefs.length) {
|
|
194
218
|
queries.push(`CREATE TABLE ${(0, prostgles_types_1.asName)(tableName)} (
|
|
195
219
|
${colDefs.join(", \n")}
|