prostgles-server 3.0.138 → 3.0.140

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.
@@ -1,3 +1,4 @@
1
1
  export declare const VALIDATE_SCHEMA_FUNCNAME: "validate_jsonb_schema";
2
+ export declare const JSONB_DATA_TYPES: readonly ["boolean", "number", "integer", "string", "Date", "time", "timestamp", "any", ...("string[]" | "number[]" | "boolean[]" | "integer[]" | "time[]" | "timestamp[]" | "Date[]" | "any[]")[], "Lookup", "Lookup[]"];
2
3
  export declare const validate_jsonb_schema_sql: string;
3
4
  //# sourceMappingURL=validate_jsonb_schema_sql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate_jsonb_schema_sql.d.ts","sourceRoot":"","sources":["../../lib/JSONBValidation/validate_jsonb_schema_sql.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wBAAwB,yBAAmC,CAAC;AACzE,eAAO,MAAM,yBAAyB,QA4drC,CAAC"}
1
+ {"version":3,"file":"validate_jsonb_schema_sql.d.ts","sourceRoot":"","sources":["../../lib/JSONBValidation/validate_jsonb_schema_sql.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,wBAAwB,yBAAmC,CAAC;AACzE,eAAO,MAAM,gBAAgB,2NAGnB,CAAC;AAEX,eAAO,MAAM,yBAAyB,QA2drC,CAAC"}
@@ -1,9 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validate_jsonb_schema_sql = exports.VALIDATE_SCHEMA_FUNCNAME = void 0;
3
+ exports.validate_jsonb_schema_sql = exports.JSONB_DATA_TYPES = exports.VALIDATE_SCHEMA_FUNCNAME = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
4
5
  const PubSubManager_1 = require("../PubSubManager/PubSubManager");
5
- const raiseException = (err) => `RAISE EXCEPTION ${err} USING HINT = path, COLUMN = colname, TABLE = tablename, CONSTRAINT = 'validate_jsonb_schema: ' || jsonb_schema;`;
6
+ const raiseException = (err) => `
7
+ IF (context->'silent')::BOOLEAN = TRUE THEN
8
+ RETURN FALSE;
9
+ ELSE
10
+ RAISE EXCEPTION ${err} USING HINT = path, COLUMN = colname, TABLE = tablename, CONSTRAINT = 'validate_jsonb_schema: ' || jsonb_pretty(jsonb_schema::JSONB);
11
+ END IF;
12
+ `;
6
13
  exports.VALIDATE_SCHEMA_FUNCNAME = "validate_jsonb_schema";
14
+ exports.JSONB_DATA_TYPES = [
15
+ ...prostgles_types_1.DATA_TYPES,
16
+ "Lookup", "Lookup[]"
17
+ ];
7
18
  exports.validate_jsonb_schema_sql = `
8
19
 
9
20
  /*
@@ -16,7 +27,7 @@ DROP FUNCTION IF EXISTS ${exports.VALIDATE_SCHEMA_FUNCNAME}(jsonb_schema text, d
16
27
  CREATE OR REPLACE FUNCTION ${exports.VALIDATE_SCHEMA_FUNCNAME}(
17
28
  jsonb_schema TEXT,
18
29
  data JSONB,
19
- context JSONB DEFAULT '{}'::JSONB, /* { table: string; column: string; } */
30
+ context JSONB DEFAULT '{}'::JSONB, /* { table: string; column: string; silent: boolean } */
20
31
  checked_path TEXT[] DEFAULT ARRAY[]::TEXT[]
21
32
  ) RETURNS boolean AS
22
33
  $f$
@@ -26,7 +37,7 @@ DECLARE
26
37
  obj_key_val RECORD;
27
38
  schema JSONB;
28
39
  path text;
29
- allowed_types text[] = '{any,boolean,number,integer,string,Date,time,timestamp,Lookup,boolean[],number[],integer[],string[],any[],Date[],time[],timestamp[],Lookup[]}';
40
+ allowed_types text[] = '{${exports.JSONB_DATA_TYPES.join(",")}}';
30
41
  typeStr TEXT = NULL;
31
42
  optional boolean;
32
43
  nullable boolean;
@@ -76,7 +87,6 @@ BEGIN
76
87
  'Data: ' || data::TEXT,
77
88
  'JSONBSchema: ' || schema::TEXT
78
89
  );
79
- colname = COALESCE(checked_path[1], '');
80
90
 
81
91
  IF length(jsonb_schema) = 0 THEN
82
92
  ${raiseException(`'Empty schema. %', path`)}
@@ -1 +1 @@
1
- {"version":3,"file":"validate_jsonb_schema_sql.js","sourceRoot":"","sources":["../../lib/JSONBValidation/validate_jsonb_schema_sql.ts"],"names":[],"mappings":";;;AAAA,kEAA+D;AAG/D,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,mBAAmB,GAAG,kHAAkH,CAAA;AAEnK,QAAA,wBAAwB,GAAG,uBAAgC,CAAC;AAC5D,QAAA,yBAAyB,GAAG;;;IAGrC,6BAAa,CAAC,kCAAkC;;;0BAG1B,gCAAwB;4BACtB,gCAAwB;;6BAEvB,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkE/C,cAAc,CAAC,yBAAyB,CAAC;;;;;;;;;;;;;MAazC,cAAc,CAAC,2GAA2G,CAAC;;;;;;;QAOzH,cAAc,CAAC,4BAA4B,CAAC;;;;;;;;;;;QAW5C,cAAc,CAAC,8EAA8E,CAAC;;;;QAI9F,cAAc,CAAC,8DAA8D,CAAC;;;;;;;;;;;aAWzE,gCAAwB;;;;;;;;;;aAUxB,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;UAwB3B,cAAc,CAAC,yEAAyE,CAAC;;;;;;;;;YASvF,cAAc,CAAC,mDAAmD,CAAC;;;;;;;mBAO5D,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;YAyB/B,cAAc,CAAC,wFAAwF,CAAC;;;;;;;;cAQtG,cAAc,CAAC,iHAAiH,CAAC;;;;;;;;cAQjI,cAAc,CAAC,oIAAoI,CAAC;;;YAGtJ,cAAc,CAAC,oEAAoE,CAAC;;;;;;;;;;UAUtF,cAAc,CAAC,oCAAoC,CAAC;;;;;;;;;;UAUpD,cAAc,CAAC,kFAAkF,CAAC;;;;;;;;;;;cAW9F,cAAc,CAAC,oFAAoF,CAAC;;;oBAG9F,gCAAwB;;;;;;;;;;;;;;QAcpC,cAAc,CAAC,sEAAsE,CAAC;;;;;;;;;QAStF,cAAc,CAAC,iGAAiG,CAAC;;;;;;;;;;;aAW5G,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuC/B,cAAc,CAAC,6DAA6D,CAAC;;;;;;;;QAQ3E,cAAc,CAAC,4BAA4B,CAAC;;;;;;;eAOrC,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;QAuB/B,cAAc,CAAC,kIAAkI,CAAC;;;;QAIlJ,cAAc,CAAC,6BAA6B,CAAC;;;;;;;6EAOwB,gCAAwB;;;;;;;oEAOjC,gCAAwB;;;;;;;;;MAStF,cAAc,CAAC,yCAAyC,CAAC;;;;;;;sBAOzC,gCAAwB,QAAQ,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;SAY7F,gCAAwB;;;;;;SAMxB,gCAAwB;;;;;SAKxB,gCAAwB;;;;SAIxB,gCAAwB;;;;;SAKxB,gCAAwB;;;;;;;;;;;;;;;;SAgBxB,gCAAwB;;;;;SAKxB,gCAAwB;;;;;SAKxB,gCAAwB;;;;;SAKxB,gCAAwB;;SAExB,gCAAwB;;SAExB,gCAAwB;;;SAGxB,gCAAwB;SACxB,gCAAwB;SACxB,gCAAwB;SACxB,gCAAwB;SACxB,gCAAwB;SACxB,gCAAwB;;SAExB,gCAAwB;SACxB,gCAAwB;;;SAGxB,gCAAwB;CAChC,CAAC"}
1
+ {"version":3,"file":"validate_jsonb_schema_sql.js","sourceRoot":"","sources":["../../lib/JSONBValidation/validate_jsonb_schema_sql.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAC7C,kEAA+D;AAG/D,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC;;;;oBAIpB,GAAG;;CAEtB,CAAA;AAEY,QAAA,wBAAwB,GAAG,uBAAgC,CAAC;AAC5D,QAAA,gBAAgB,GAAG;IAC9B,GAAG,4BAAU;IACb,QAAQ,EAAC,UAAU;CACX,CAAC;AAEE,QAAA,yBAAyB,GAAG;;;IAGrC,6BAAa,CAAC,kCAAkC;;;0BAG1B,gCAAwB;4BACtB,gCAAwB;;6BAEvB,gCAAwB;;;;;;;;;;;;;6BAaxB,wBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAoDjD,cAAc,CAAC,yBAAyB,CAAC;;;;;;;;;;;;;MAazC,cAAc,CAAC,2GAA2G,CAAC;;;;;;;QAOzH,cAAc,CAAC,4BAA4B,CAAC;;;;;;;;;;;QAW5C,cAAc,CAAC,8EAA8E,CAAC;;;;QAI9F,cAAc,CAAC,8DAA8D,CAAC;;;;;;;;;;;aAWzE,gCAAwB;;;;;;;;;;aAUxB,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;UAwB3B,cAAc,CAAC,yEAAyE,CAAC;;;;;;;;;YASvF,cAAc,CAAC,mDAAmD,CAAC;;;;;;;mBAO5D,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;YAyB/B,cAAc,CAAC,wFAAwF,CAAC;;;;;;;;cAQtG,cAAc,CAAC,iHAAiH,CAAC;;;;;;;;cAQjI,cAAc,CAAC,oIAAoI,CAAC;;;YAGtJ,cAAc,CAAC,oEAAoE,CAAC;;;;;;;;;;UAUtF,cAAc,CAAC,oCAAoC,CAAC;;;;;;;;;;UAUpD,cAAc,CAAC,kFAAkF,CAAC;;;;;;;;;;;cAW9F,cAAc,CAAC,oFAAoF,CAAC;;;oBAG9F,gCAAwB;;;;;;;;;;;;;;QAcpC,cAAc,CAAC,sEAAsE,CAAC;;;;;;;;;QAStF,cAAc,CAAC,iGAAiG,CAAC;;;;;;;;;;;aAW5G,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuC/B,cAAc,CAAC,6DAA6D,CAAC;;;;;;;;QAQ3E,cAAc,CAAC,4BAA4B,CAAC;;;;;;;eAOrC,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;QAuB/B,cAAc,CAAC,kIAAkI,CAAC;;;;QAIlJ,cAAc,CAAC,6BAA6B,CAAC;;;;;;;6EAOwB,gCAAwB;;;;;;;oEAOjC,gCAAwB;;;;;;;;;MAStF,cAAc,CAAC,yCAAyC,CAAC;;;;;;;sBAOzC,gCAAwB,QAAQ,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;SAY7F,gCAAwB;;;;;;SAMxB,gCAAwB;;;;;SAKxB,gCAAwB;;;;SAIxB,gCAAwB;;;;;SAKxB,gCAAwB;;;;;;;;;;;;;;;;SAgBxB,gCAAwB;;;;;SAKxB,gCAAwB;;;;;SAKxB,gCAAwB;;;;;SAKxB,gCAAwB;;SAExB,gCAAwB;;SAExB,gCAAwB;;;SAGxB,gCAAwB;SACxB,gCAAwB;SACxB,gCAAwB;SACxB,gCAAwB;SACxB,gCAAwB;SACxB,gCAAwB;;SAExB,gCAAwB;SACxB,gCAAwB;;;SAGxB,gCAAwB;CAChC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export declare const VALIDATE_SCHEMA_FUNCNAME: "validate_jsonb_schema";
2
+ export declare const JSONB_DATA_TYPES: readonly ["boolean", "number", "integer", "string", "Date", "time", "timestamp", "any", ...("string[]" | "number[]" | "boolean[]" | "integer[]" | "time[]" | "timestamp[]" | "Date[]" | "any[]")[], "Lookup", "Lookup[]"];
2
3
  export declare const validate_jsonb_schema_sql: string;
3
4
  //# sourceMappingURL=validate_jsonb_schema_sql.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate_jsonb_schema_sql.d.ts","sourceRoot":"","sources":["validate_jsonb_schema_sql.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wBAAwB,yBAAmC,CAAC;AACzE,eAAO,MAAM,yBAAyB,QA4drC,CAAC"}
1
+ {"version":3,"file":"validate_jsonb_schema_sql.d.ts","sourceRoot":"","sources":["validate_jsonb_schema_sql.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,wBAAwB,yBAAmC,CAAC;AACzE,eAAO,MAAM,gBAAgB,2NAGnB,CAAC;AAEX,eAAO,MAAM,yBAAyB,QA2drC,CAAC"}
@@ -1,9 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validate_jsonb_schema_sql = exports.VALIDATE_SCHEMA_FUNCNAME = void 0;
3
+ exports.validate_jsonb_schema_sql = exports.JSONB_DATA_TYPES = exports.VALIDATE_SCHEMA_FUNCNAME = void 0;
4
+ const prostgles_types_1 = require("prostgles-types");
4
5
  const PubSubManager_1 = require("../PubSubManager/PubSubManager");
5
- const raiseException = (err) => `RAISE EXCEPTION ${err} USING HINT = path, COLUMN = colname, TABLE = tablename, CONSTRAINT = 'validate_jsonb_schema: ' || jsonb_schema;`;
6
+ const raiseException = (err) => `
7
+ IF (context->'silent')::BOOLEAN = TRUE THEN
8
+ RETURN FALSE;
9
+ ELSE
10
+ RAISE EXCEPTION ${err} USING HINT = path, COLUMN = colname, TABLE = tablename, CONSTRAINT = 'validate_jsonb_schema: ' || jsonb_pretty(jsonb_schema::JSONB);
11
+ END IF;
12
+ `;
6
13
  exports.VALIDATE_SCHEMA_FUNCNAME = "validate_jsonb_schema";
14
+ exports.JSONB_DATA_TYPES = [
15
+ ...prostgles_types_1.DATA_TYPES,
16
+ "Lookup", "Lookup[]"
17
+ ];
7
18
  exports.validate_jsonb_schema_sql = `
8
19
 
9
20
  /*
@@ -16,7 +27,7 @@ DROP FUNCTION IF EXISTS ${exports.VALIDATE_SCHEMA_FUNCNAME}(jsonb_schema text, d
16
27
  CREATE OR REPLACE FUNCTION ${exports.VALIDATE_SCHEMA_FUNCNAME}(
17
28
  jsonb_schema TEXT,
18
29
  data JSONB,
19
- context JSONB DEFAULT '{}'::JSONB, /* { table: string; column: string; } */
30
+ context JSONB DEFAULT '{}'::JSONB, /* { table: string; column: string; silent: boolean } */
20
31
  checked_path TEXT[] DEFAULT ARRAY[]::TEXT[]
21
32
  ) RETURNS boolean AS
22
33
  $f$
@@ -26,7 +37,7 @@ DECLARE
26
37
  obj_key_val RECORD;
27
38
  schema JSONB;
28
39
  path text;
29
- allowed_types text[] = '{any,boolean,number,integer,string,Date,time,timestamp,Lookup,boolean[],number[],integer[],string[],any[],Date[],time[],timestamp[],Lookup[]}';
40
+ allowed_types text[] = '{${exports.JSONB_DATA_TYPES.join(",")}}';
30
41
  typeStr TEXT = NULL;
31
42
  optional boolean;
32
43
  nullable boolean;
@@ -76,7 +87,6 @@ BEGIN
76
87
  'Data: ' || data::TEXT,
77
88
  'JSONBSchema: ' || schema::TEXT
78
89
  );
79
- colname = COALESCE(checked_path[1], '');
80
90
 
81
91
  IF length(jsonb_schema) = 0 THEN
82
92
  ${raiseException(`'Empty schema. %', path`)}
@@ -1,9 +1,21 @@
1
+ import { DATA_TYPES } from "prostgles-types";
1
2
  import { PubSubManager } from "../PubSubManager/PubSubManager";
2
3
 
3
4
 
4
- const raiseException = (err: string) => `RAISE EXCEPTION ${err} USING HINT = path, COLUMN = colname, TABLE = tablename, CONSTRAINT = 'validate_jsonb_schema: ' || jsonb_schema;`
5
+ const raiseException = (err: string) => `
6
+ IF (context->'silent')::BOOLEAN = TRUE THEN
7
+ RETURN FALSE;
8
+ ELSE
9
+ RAISE EXCEPTION ${err} USING HINT = path, COLUMN = colname, TABLE = tablename, CONSTRAINT = 'validate_jsonb_schema: ' || jsonb_pretty(jsonb_schema::JSONB);
10
+ END IF;
11
+ `
5
12
 
6
13
  export const VALIDATE_SCHEMA_FUNCNAME = "validate_jsonb_schema" as const;
14
+ export const JSONB_DATA_TYPES = [
15
+ ...DATA_TYPES,
16
+ "Lookup","Lookup[]"
17
+ ] as const;
18
+
7
19
  export const validate_jsonb_schema_sql = `
8
20
 
9
21
  /*
@@ -16,7 +28,7 @@ DROP FUNCTION IF EXISTS ${VALIDATE_SCHEMA_FUNCNAME}(jsonb_schema text, data json
16
28
  CREATE OR REPLACE FUNCTION ${VALIDATE_SCHEMA_FUNCNAME}(
17
29
  jsonb_schema TEXT,
18
30
  data JSONB,
19
- context JSONB DEFAULT '{}'::JSONB, /* { table: string; column: string; } */
31
+ context JSONB DEFAULT '{}'::JSONB, /* { table: string; column: string; silent: boolean } */
20
32
  checked_path TEXT[] DEFAULT ARRAY[]::TEXT[]
21
33
  ) RETURNS boolean AS
22
34
  $f$
@@ -26,7 +38,7 @@ DECLARE
26
38
  obj_key_val RECORD;
27
39
  schema JSONB;
28
40
  path text;
29
- allowed_types text[] = '{any,boolean,number,integer,string,Date,time,timestamp,Lookup,boolean[],number[],integer[],string[],any[],Date[],time[],timestamp[],Lookup[]}';
41
+ allowed_types text[] = '{${JSONB_DATA_TYPES.join(",")}}';
30
42
  typeStr TEXT = NULL;
31
43
  optional boolean;
32
44
  nullable boolean;
@@ -76,7 +88,6 @@ BEGIN
76
88
  'Data: ' || data::TEXT,
77
89
  'JSONBSchema: ' || schema::TEXT
78
90
  );
79
- colname = COALESCE(checked_path[1], '');
80
91
 
81
92
  IF length(jsonb_schema) = 0 THEN
82
93
  ${raiseException(`'Empty schema. %', path`)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "3.0.138",
3
+ "version": "3.0.140",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 12208
1
+ 41704
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "3.0.137",
24
+ "version": "3.0.139",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.272.0",