prostgles-server 4.2.450 → 4.2.451

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.
@@ -31,5 +31,4 @@ export declare class PublishParser {
31
31
  }>;
32
32
  }
33
33
  export * from "./publishTypesAndUtils";
34
- export declare const fromEntries: <K extends string | number | symbol, V>(entries: readonly (readonly [K, V])[]) => Record<K, V>;
35
34
  //# sourceMappingURL=PublishParser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/PublishParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAIvE,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,aAAa;IACxB,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;IAY1B,gBAAgB,CACpB,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,CAAC;IAmBnB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,SAAS;IAgB/F;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAe/B,2BAA2B,CAC/B,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,eAAe,EAClD,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,CAAC;IAWrB,kBAAkB,CACtB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,CAAC,EAC1E,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,CAAC;IAkC3B,mBAAmB,CACjB,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,eAAe,EACvC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,eAAe,GAAG,SAAS;IA2C9B,aAAa,CACjB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IAgFvC,6BAA6B,0LAA4C;IAGzE,oBAAoB;;;;;;OAAmC;CACxD;AAED,cAAc,wBAAwB,CAAC;AAoBvC,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EAC/D,SAAS,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KACpC,MAAM,CAAC,CAAC,EAAE,CAAC,CAEb,CAAC"}
1
+ {"version":3,"file":"PublishParser.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/PublishParser.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAIvE,OAAO,KAAK,EACV,QAAQ,EACR,eAAe,EACf,eAAe,EACf,aAAa,EACd,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,wBAAwB,CAAC;AAEhC,qBAAa,aAAa;IACxB,OAAO,EAAE,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,GAAG,CAAC;IACpB,GAAG,EAAE,eAAe,CAAC;IACrB,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,SAAS,CAAC;gBAET,SAAS,EAAE,SAAS;IAY1B,gBAAgB,CACpB,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,CAAC;IAmBnB,mBAAmB,CAAC,SAAS,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,GAAG,SAAS;IAgB/F;;OAEG;IACG,kBAAkB,CACtB,SAAS,EAAE,iBAAiB,EAC5B,UAAU,EAAE,iBAAiB,GAAG,SAAS,GACxC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;IAe/B,2BAA2B,CAC/B,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,eAAe,EAClD,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,CAAC;IAWrB,kBAAkB,CACtB,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,CAAC,EAC1E,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,CAAC;IAkC3B,mBAAmB,CACjB,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,eAAe,EACvC,SAAS,EAAE,eAAe,EAC1B,KAAK,EAAE,eAAe,GAAG,SAAS;IA2C9B,aAAa,CACjB,IAAI,EAAE,QAAQ,EACd,UAAU,EAAE,iBAAiB,GAAG,SAAS,EACzC,KAAK,EAAE,eAAe,GAAG,SAAS,GACjC,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC;IA+BvC,6BAA6B,0LAA4C;IAGzE,oBAAoB;;;;;;OAAmC;CACxD;AAED,cAAc,wBAAwB,CAAC"}
@@ -14,10 +14,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.fromEntries = exports.PublishParser = void 0;
17
+ exports.PublishParser = void 0;
18
18
  const prostgles_types_1 = require("prostgles-types");
19
19
  const AuthHandler_1 = require("../Auth/AuthHandler");
20
20
  const getClientHandlers_1 = require("../WebsocketAPI/getClientHandlers");
21
+ const applyScopeToTableRules_1 = require("./applyScopeToTableRules");
21
22
  const getFileTableRules_1 = require("./getFileTableRules");
22
23
  const getSchemaFromPublish_1 = require("./getSchemaFromPublish");
23
24
  const getTableRulesWithoutFileTable_1 = require("./getTableRulesWithoutFileTable");
@@ -162,71 +163,17 @@ class PublishParser {
162
163
  }
163
164
  }
164
165
  async getTableRules(args, clientInfo, scope) {
166
+ const { tableName } = args;
167
+ const tableHandler = this.dbo[tableName];
168
+ if (!tableHandler) {
169
+ throw "INTERNAL ERROR: table handler not found for " + args.tableName;
170
+ }
165
171
  const fileTablePublishRules = await this.getTableRulesWithoutFileTable(args, clientInfo);
166
- const applyScopeToTableRules = (tableRules) => {
167
- if (!tableRules)
168
- return;
169
- if (!scope || scope.sql === "commited")
170
- return tableRules;
171
- if (scope.sql === "rolledback") {
172
- return (0, prostgles_types_1.pickKeys)(tableRules, ["select"]);
173
- }
174
- const tableScope = scope.tables?.[args.tableName];
175
- if (!tableScope)
176
- return;
177
- const tableHandler = this.dbo[args.tableName];
178
- if (!tableHandler) {
179
- throw "INTERNAL ERROR: table handler not found for " + args.tableName;
180
- }
181
- const validatedTableRules = tableHandler.getValidatedRules?.(tableRules);
182
- if (!validatedTableRules) {
183
- throw "INTERNAL ERROR: getValidatedRules is missing for " + args.tableName;
184
- }
185
- /** Make sure the scope does not allow things outside the validatedTableRules */
186
- const result = (0, exports.fromEntries)((0, prostgles_types_1.getObjectEntries)(tableScope)
187
- .map(([ruleName, ruleScope]) => {
188
- if (!ruleScope)
189
- return undefined;
190
- const rule = tableRules[ruleName];
191
- const validatedRule = validatedTableRules[ruleName];
192
- if (!validatedRule || !rule) {
193
- throw `Invalid scope: ${args.tableName}.${ruleName}. The publish does not allow this command.`;
194
- }
195
- if (ruleScope === true) {
196
- return [ruleName, validatedRule];
197
- }
198
- const scopeFields = tableHandler.parseFieldFilter(ruleScope.fields);
199
- const scopeForcedFilter = "forcedFilter" in ruleScope ? ruleScope.forcedFilter : undefined;
200
- const ruleFields = "fields" in validatedRule ? validatedRule.fields : undefined;
201
- for (const field of scopeFields) {
202
- if (!ruleFields?.includes(field)) {
203
- throw `Invalid scope: ${args.tableName}.${ruleName}. The field "${field}" is not allowed to be selected according to the publish rules.`;
204
- }
205
- }
206
- if (!scopeFields.length) {
207
- throw `Invalid scope: ${args.tableName}.${ruleName}. At least one field must be selected.`;
208
- }
209
- const ruleForcedFilter = "forcedFilter" in validatedRule ? validatedRule.forcedFilter : undefined;
210
- const combinedForcedFilter = scopeForcedFilter && ruleForcedFilter ?
211
- { $and: [scopeForcedFilter, ruleForcedFilter] }
212
- : scopeForcedFilter || ruleForcedFilter;
213
- return [
214
- ruleName,
215
- {
216
- ...rule,
217
- fields: (0, exports.fromEntries)(scopeFields.map((field) => [field, 1])),
218
- ...(scopeForcedFilter ? { forcedFilter: combinedForcedFilter } : {}),
219
- },
220
- ];
221
- })
222
- .filter(prostgles_types_1.isDefined));
223
- return result;
224
- };
225
172
  if (this.dbo[args.tableName]?.is_media) {
226
173
  const { rules: fileTableRules } = await getFileTableRules_1.getFileTableRules.bind(this)(args.tableName, fileTablePublishRules, args.clientReq, clientInfo, scope);
227
- return applyScopeToTableRules((0, publishTypesAndUtils_1.parsePublishTableRule)(fileTableRules));
174
+ return (0, applyScopeToTableRules_1.applyScopeToTableRules)(tableName, tableHandler, (0, publishTypesAndUtils_1.parsePublishTableRule)(fileTableRules), scope);
228
175
  }
229
- return applyScopeToTableRules((0, publishTypesAndUtils_1.parsePublishTableRule)(fileTablePublishRules));
176
+ return (0, applyScopeToTableRules_1.applyScopeToTableRules)(tableName, tableHandler, (0, publishTypesAndUtils_1.parsePublishTableRule)(fileTablePublishRules), scope);
230
177
  }
231
178
  getTableRulesWithoutFileTable = getTableRulesWithoutFileTable_1.getTableRulesWithoutFileTable.bind(this);
232
179
  /* Prepares schema for client. Only allowed views and commands will be present */
@@ -244,8 +191,4 @@ function applyParamsIfFunc(maybeFunc, ...params) {
244
191
  //@ts-ignore
245
192
  return maybeFunc;
246
193
  }
247
- const fromEntries = (entries) => {
248
- return Object.fromEntries(entries);
249
- };
250
- exports.fromEntries = fromEntries;
251
194
  //# sourceMappingURL=PublishParser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublishParser.js","sourceRoot":"","sources":["../../lib/PublishParser/PublishParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublishParser.js","sourceRoot":"","sources":["../../lib/PublishParser/PublishParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { type ParsedTableRule, type PermissionScope } from "./PublishParser";
2
+ import type { TableHandler } from "../DboBuilder/TableHandler/TableHandler";
3
+ export declare const applyScopeToTableRules: (tableName: string, tableHandler: Partial<TableHandler>, tableRules: ParsedTableRule | undefined, scope: PermissionScope | undefined) => ParsedTableRule | undefined;
4
+ export declare const fromEntries: <K extends string | number | symbol, V>(entries: readonly (readonly [K, V])[]) => Record<K, V>;
5
+ //# sourceMappingURL=applyScopeToTableRules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyScopeToTableRules.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/applyScopeToTableRules.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AAC5E,eAAO,MAAM,sBAAsB,GACjC,WAAW,MAAM,EACjB,cAAc,OAAO,CAAC,YAAY,CAAC,EACnC,YAAY,eAAe,GAAG,SAAS,EACvC,OAAO,eAAe,GAAG,SAAS,KACjC,eAAe,GAAG,SA0DpB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,EAC/D,SAAS,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KACpC,MAAM,CAAC,CAAC,EAAE,CAAC,CAEb,CAAC"}
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fromEntries = exports.applyScopeToTableRules = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
5
+ const applyScopeToTableRules = (tableName, tableHandler, tableRules, scope) => {
6
+ if (!tableRules)
7
+ return;
8
+ if (!scope || scope.sql === "commited")
9
+ return tableRules;
10
+ if (scope.sql === "rolledback") {
11
+ return (0, prostgles_types_1.pickKeys)(tableRules, ["select"]);
12
+ }
13
+ const tableScope = scope.tables?.[tableName];
14
+ if (!tableScope)
15
+ return;
16
+ const validatedTableRules = tableHandler.getValidatedRules?.(tableRules);
17
+ if (!validatedTableRules) {
18
+ throw "INTERNAL ERROR: getValidatedRules is missing for " + tableName;
19
+ }
20
+ /** Make sure the scope does not allow things outside the validatedTableRules */
21
+ const result = (0, exports.fromEntries)((0, prostgles_types_1.getObjectEntries)(tableScope)
22
+ .map(([ruleName, ruleScope]) => {
23
+ if (!ruleScope)
24
+ return undefined;
25
+ const rule = tableRules[ruleName];
26
+ const validatedRule = validatedTableRules[ruleName];
27
+ if (!validatedRule || !rule) {
28
+ throw `Invalid scope: ${tableName}.${ruleName}. The publish does not allow this command.`;
29
+ }
30
+ if (ruleScope === true) {
31
+ return [ruleName, validatedRule];
32
+ }
33
+ const scopeFields = tableHandler.parseFieldFilter(ruleScope.fields);
34
+ const scopeForcedFilter = "forcedFilter" in ruleScope ? ruleScope.forcedFilter : undefined;
35
+ const ruleFields = "fields" in validatedRule ? validatedRule.fields : undefined;
36
+ for (const field of scopeFields) {
37
+ if (!ruleFields?.includes(field)) {
38
+ throw `Invalid scope: ${tableName}.${ruleName}. The field "${field}" is not allowed to be selected according to the publish rules.`;
39
+ }
40
+ }
41
+ if (!scopeFields.length) {
42
+ throw `Invalid scope: ${tableName}.${ruleName}. At least one field must be selected.`;
43
+ }
44
+ const ruleForcedFilter = "forcedFilter" in validatedRule ? validatedRule.forcedFilter : undefined;
45
+ const combinedForcedFilter = scopeForcedFilter && ruleForcedFilter ?
46
+ { $and: [scopeForcedFilter, ruleForcedFilter] }
47
+ : scopeForcedFilter || ruleForcedFilter;
48
+ return [
49
+ ruleName,
50
+ {
51
+ ...rule,
52
+ fields: (0, exports.fromEntries)(scopeFields.map((field) => [field, 1])),
53
+ ...(scopeForcedFilter ? { forcedFilter: combinedForcedFilter } : {}),
54
+ },
55
+ ];
56
+ })
57
+ .filter(prostgles_types_1.isDefined));
58
+ return result;
59
+ };
60
+ exports.applyScopeToTableRules = applyScopeToTableRules;
61
+ const fromEntries = (entries) => {
62
+ return Object.fromEntries(entries);
63
+ };
64
+ exports.fromEntries = fromEntries;
65
+ //# sourceMappingURL=applyScopeToTableRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyScopeToTableRules.js","sourceRoot":"","sources":["../../lib/PublishParser/applyScopeToTableRules.ts"],"names":[],"mappings":"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"}
@@ -383,15 +383,15 @@ export type PermissionScope = {
383
383
  /** TODO: this should match publish types */
384
384
  tables?: Record<string, Partial<{
385
385
  select: true | {
386
- fields: FieldFilter;
387
- forcedFilter: AnyObject;
386
+ fields?: FieldFilter;
387
+ forcedFilter?: AnyObject;
388
388
  };
389
389
  insert: true | {
390
- fields: FieldFilter;
390
+ fields?: FieldFilter;
391
391
  };
392
392
  update: true | {
393
- fields: FieldFilter;
394
- forcedFilter: AnyObject;
393
+ fields?: FieldFilter;
394
+ forcedFilter?: AnyObject;
395
395
  };
396
396
  delete: true;
397
397
  }>>;
@@ -1 +1 @@
1
- {"version":3,"file":"publishTypesAndUtils.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/publishTypesAndUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publishTypesAndUtils.d.ts","sourceRoot":"","sources":["../../lib/PublishParser/publishTypesAndUtils.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
- import { getObjectEntries, includes, isDefined, pickKeys } from "prostgles-types";
1
+ import { includes } from "prostgles-types";
2
2
  import { getClientRequestIPsInfo } from "../Auth/AuthHandler";
3
3
  import type { AuthClientRequest, AuthResultWithSID } from "../Auth/AuthTypes";
4
4
  import type { DBOFullyTyped } from "../DBSchemaBuilder/DBSchemaBuilder";
5
5
  import type { DB, DBHandlerServer, Prostgles } from "../Prostgles";
6
6
  import type { ProstglesInitOptions } from "../ProstglesTypes";
7
7
  import { getClientHandlers } from "../WebsocketAPI/getClientHandlers";
8
+ import { applyScopeToTableRules } from "./applyScopeToTableRules";
8
9
  import type { ServerFunctionDefinition } from "./defineServerFunction";
9
10
  import { getFileTableRules } from "./getFileTableRules";
10
11
  import { getSchemaFromPublish } from "./getSchemaFromPublish";
@@ -203,71 +204,12 @@ export class PublishParser {
203
204
  clientInfo: AuthResultWithSID | undefined,
204
205
  scope: PermissionScope | undefined,
205
206
  ): Promise<ParsedTableRule | undefined> {
207
+ const { tableName } = args;
208
+ const tableHandler = this.dbo[tableName];
209
+ if (!tableHandler) {
210
+ throw "INTERNAL ERROR: table handler not found for " + args.tableName;
211
+ }
206
212
  const fileTablePublishRules = await this.getTableRulesWithoutFileTable(args, clientInfo);
207
- const applyScopeToTableRules = (tableRules: ParsedTableRule | undefined) => {
208
- if (!tableRules) return;
209
- if (!scope || scope.sql === "commited") return tableRules;
210
- if (scope.sql === "rolledback") {
211
- return pickKeys(tableRules, ["select"]);
212
- }
213
- const tableScope = scope.tables?.[args.tableName];
214
- if (!tableScope) return;
215
-
216
- const tableHandler = this.dbo[args.tableName];
217
- if (!tableHandler) {
218
- throw "INTERNAL ERROR: table handler not found for " + args.tableName;
219
- }
220
- const validatedTableRules = tableHandler.getValidatedRules?.(tableRules);
221
- if (!validatedTableRules) {
222
- throw "INTERNAL ERROR: getValidatedRules is missing for " + args.tableName;
223
- }
224
-
225
- /** Make sure the scope does not allow things outside the validatedTableRules */
226
- const result = fromEntries(
227
- getObjectEntries(tableScope)
228
- .map(([ruleName, ruleScope]) => {
229
- if (!ruleScope) return undefined;
230
- const rule = tableRules[ruleName];
231
- const validatedRule = validatedTableRules[ruleName];
232
- if (!validatedRule || !rule) {
233
- throw `Invalid scope: ${args.tableName}.${ruleName}. The publish does not allow this command.`;
234
- }
235
- if (ruleScope === true) {
236
- return [ruleName, validatedRule] as const;
237
- }
238
- const scopeFields = tableHandler.parseFieldFilter!(ruleScope.fields);
239
- const scopeForcedFilter =
240
- "forcedFilter" in ruleScope ? ruleScope.forcedFilter : undefined;
241
-
242
- const ruleFields = "fields" in validatedRule ? validatedRule.fields : undefined;
243
- for (const field of scopeFields) {
244
- if (!ruleFields?.includes(field)) {
245
- throw `Invalid scope: ${args.tableName}.${ruleName}. The field "${field}" is not allowed to be selected according to the publish rules.`;
246
- }
247
- }
248
- if (!scopeFields.length) {
249
- throw `Invalid scope: ${args.tableName}.${ruleName}. At least one field must be selected.`;
250
- }
251
- const ruleForcedFilter =
252
- "forcedFilter" in validatedRule ? validatedRule.forcedFilter : undefined;
253
- const combinedForcedFilter =
254
- scopeForcedFilter && ruleForcedFilter ?
255
- { $and: [scopeForcedFilter, ruleForcedFilter] }
256
- : scopeForcedFilter || ruleForcedFilter;
257
-
258
- return [
259
- ruleName,
260
- {
261
- ...rule,
262
- fields: fromEntries(scopeFields.map((field) => [field, 1] as const)),
263
- ...(scopeForcedFilter ? { forcedFilter: combinedForcedFilter } : {}),
264
- } as any,
265
- ] as const;
266
- })
267
- .filter(isDefined),
268
- ) as ParsedTableRule;
269
- return result;
270
- };
271
213
  if (this.dbo[args.tableName]?.is_media) {
272
214
  const { rules: fileTableRules } = await getFileTableRules.bind(this)(
273
215
  args.tableName,
@@ -276,10 +218,20 @@ export class PublishParser {
276
218
  clientInfo,
277
219
  scope,
278
220
  );
279
- return applyScopeToTableRules(parsePublishTableRule(fileTableRules));
221
+ return applyScopeToTableRules(
222
+ tableName,
223
+ tableHandler,
224
+ parsePublishTableRule(fileTableRules),
225
+ scope,
226
+ );
280
227
  }
281
228
 
282
- return applyScopeToTableRules(parsePublishTableRule(fileTablePublishRules));
229
+ return applyScopeToTableRules(
230
+ tableName,
231
+ tableHandler,
232
+ parsePublishTableRule(fileTablePublishRules),
233
+ scope,
234
+ );
283
235
  }
284
236
 
285
237
  getTableRulesWithoutFileTable = getTableRulesWithoutFileTable.bind(this);
@@ -307,9 +259,3 @@ function applyParamsIfFunc<T>(
307
259
  //@ts-ignore
308
260
  return maybeFunc;
309
261
  }
310
-
311
- export const fromEntries = <K extends string | number | symbol, V>(
312
- entries: readonly (readonly [K, V])[],
313
- ): Record<K, V> => {
314
- return Object.fromEntries(entries) as Record<K, V>;
315
- };
@@ -0,0 +1,73 @@
1
+ import { getObjectEntries, isDefined, pickKeys } from "prostgles-types";
2
+ import { type ParsedTableRule, type PermissionScope } from "./PublishParser";
3
+ import type { TableHandler } from "../DboBuilder/TableHandler/TableHandler";
4
+ export const applyScopeToTableRules = (
5
+ tableName: string,
6
+ tableHandler: Partial<TableHandler>,
7
+ tableRules: ParsedTableRule | undefined,
8
+ scope: PermissionScope | undefined,
9
+ ): ParsedTableRule | undefined => {
10
+ if (!tableRules) return;
11
+ if (!scope || scope.sql === "commited") return tableRules;
12
+ if (scope.sql === "rolledback") {
13
+ return pickKeys(tableRules, ["select"]);
14
+ }
15
+ const tableScope = scope.tables?.[tableName];
16
+ if (!tableScope) return;
17
+
18
+ const validatedTableRules = tableHandler.getValidatedRules?.(tableRules);
19
+ if (!validatedTableRules) {
20
+ throw "INTERNAL ERROR: getValidatedRules is missing for " + tableName;
21
+ }
22
+
23
+ /** Make sure the scope does not allow things outside the validatedTableRules */
24
+ const result = fromEntries(
25
+ getObjectEntries(tableScope)
26
+ .map(([ruleName, ruleScope]) => {
27
+ if (!ruleScope) return undefined;
28
+ const rule = tableRules[ruleName];
29
+ const validatedRule = validatedTableRules[ruleName];
30
+ if (!validatedRule || !rule) {
31
+ throw `Invalid scope: ${tableName}.${ruleName}. The publish does not allow this command.`;
32
+ }
33
+ if (ruleScope === true) {
34
+ return [ruleName, validatedRule] as const;
35
+ }
36
+ const scopeFields = tableHandler.parseFieldFilter!(ruleScope.fields);
37
+ const scopeForcedFilter = "forcedFilter" in ruleScope ? ruleScope.forcedFilter : undefined;
38
+
39
+ const ruleFields = "fields" in validatedRule ? validatedRule.fields : undefined;
40
+ for (const field of scopeFields) {
41
+ if (!ruleFields?.includes(field)) {
42
+ throw `Invalid scope: ${tableName}.${ruleName}. The field "${field}" is not allowed to be selected according to the publish rules.`;
43
+ }
44
+ }
45
+ if (!scopeFields.length) {
46
+ throw `Invalid scope: ${tableName}.${ruleName}. At least one field must be selected.`;
47
+ }
48
+ const ruleForcedFilter =
49
+ "forcedFilter" in validatedRule ? validatedRule.forcedFilter : undefined;
50
+ const combinedForcedFilter =
51
+ scopeForcedFilter && ruleForcedFilter ?
52
+ { $and: [scopeForcedFilter, ruleForcedFilter] }
53
+ : scopeForcedFilter || ruleForcedFilter;
54
+
55
+ return [
56
+ ruleName,
57
+ {
58
+ ...rule,
59
+ fields: fromEntries(scopeFields.map((field) => [field, 1] as const)),
60
+ ...(scopeForcedFilter ? { forcedFilter: combinedForcedFilter } : {}),
61
+ } as any,
62
+ ] as const;
63
+ })
64
+ .filter(isDefined),
65
+ ) as ParsedTableRule;
66
+ return result;
67
+ };
68
+
69
+ export const fromEntries = <K extends string | number | symbol, V>(
70
+ entries: readonly (readonly [K, V])[],
71
+ ): Record<K, V> => {
72
+ return Object.fromEntries(entries) as Record<K, V>;
73
+ };
@@ -512,19 +512,19 @@ export type PermissionScope = {
512
512
  select:
513
513
  | true
514
514
  | {
515
- fields: FieldFilter;
516
- forcedFilter: AnyObject;
515
+ fields?: FieldFilter;
516
+ forcedFilter?: AnyObject;
517
517
  };
518
518
  insert:
519
519
  | true
520
520
  | {
521
- fields: FieldFilter;
521
+ fields?: FieldFilter;
522
522
  };
523
523
  update:
524
524
  | true
525
525
  | {
526
- fields: FieldFilter;
527
- forcedFilter: AnyObject;
526
+ fields?: FieldFilter;
527
+ forcedFilter?: AnyObject;
528
528
  };
529
529
  delete: true;
530
530
  }>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.450",
3
+ "version": "4.2.451",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",