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.
- package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts +1 -0
- package/dist/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -1
- package/dist/JSONBValidation/validate_jsonb_schema_sql.js +15 -5
- package/dist/JSONBValidation/validate_jsonb_schema_sql.js.map +1 -1
- package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts +1 -0
- package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +1 -1
- package/lib/JSONBValidation/validate_jsonb_schema_sql.js +15 -5
- package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +15 -4
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/server/package-lock.json +1 -1
|
@@ -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":"
|
|
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) => `
|
|
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[] = '{
|
|
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,
|
|
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":"
|
|
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) => `
|
|
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[] = '{
|
|
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) => `
|
|
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[] = '{
|
|
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
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
41704
|