prostgles-server 3.0.117 → 3.0.119
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.js +2 -2
- package/dist/JSONBValidation/validation.d.ts.map +1 -1
- package/dist/JSONBValidation/validation.js +13 -1
- package/dist/JSONBValidation/validation.js.map +1 -1
- package/lib/JSONBValidation/validate_jsonb_schema_sql.js +2 -2
- package/lib/JSONBValidation/validate_jsonb_schema_sql.ts +2 -2
- package/lib/JSONBValidation/validation.d.ts.map +1 -1
- package/lib/JSONBValidation/validation.js +13 -1
- package/lib/JSONBValidation/validation.ts +15 -1
- package/package.json +1 -1
- package/tests/client/PID.txt +1 -1
- package/tests/isomorphic_queries.js +1 -1
- package/tests/server/package-lock.json +1 -1
|
@@ -19,7 +19,7 @@ DECLARE
|
|
|
19
19
|
obj_key_val RECORD;
|
|
20
20
|
schema JSONB;
|
|
21
21
|
path text;
|
|
22
|
-
allowed_types text[] = '{any,boolean,number,integer,string,boolean[],number[],integer[],string[],any[]}';
|
|
22
|
+
allowed_types text[] = '{any,boolean,number,integer,string,Date,time,timestamp,Lookup,boolean[],number[],integer[],string[],any[],Date[],time[],timestamp[],Lookup[]}';
|
|
23
23
|
typeStr TEXT = NULL;
|
|
24
24
|
optional boolean;
|
|
25
25
|
nullable boolean;
|
|
@@ -130,7 +130,7 @@ BEGIN
|
|
|
130
130
|
IF jsonb_typeof(schema->'type') = 'string' THEN
|
|
131
131
|
typeStr = schema->>'type';
|
|
132
132
|
IF NOT ARRAY[typeStr] <@ allowed_types THEN
|
|
133
|
-
RAISE EXCEPTION 'Bad schema type
|
|
133
|
+
RAISE EXCEPTION 'Bad schema type "%", allowed types: %. %',typeStr, allowed_types, path USING HINT = path, COLUMN = colname;
|
|
134
134
|
END IF;
|
|
135
135
|
|
|
136
136
|
/** Primitive array */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../lib/JSONBValidation/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAYjF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAqBxF;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,QAG5I;AAGD,KAAK,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAGtC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,oBAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../lib/JSONBValidation/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAYjF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAqBxF;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,QAG5I;AAGD,KAAK,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAGtC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,oBAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAyFnI"}
|
|
@@ -94,7 +94,19 @@ function getJSONBSchemaTSTypes(schema, colOpts, outerLeading = "", tables) {
|
|
|
94
94
|
else if (fieldType?.lookup) {
|
|
95
95
|
const l = fieldType.lookup;
|
|
96
96
|
if (l.type === "data-def") {
|
|
97
|
-
return `${fieldType.nullable ? `null |` : ""} {
|
|
97
|
+
return `${fieldType.nullable ? `null |` : ""} ${getFieldType({
|
|
98
|
+
type: {
|
|
99
|
+
table: "string",
|
|
100
|
+
column: "string",
|
|
101
|
+
filter: { record: {}, optional: true },
|
|
102
|
+
isArray: { type: "boolean", optional: true },
|
|
103
|
+
searchColumns: { type: "string[]", optional: true },
|
|
104
|
+
isFullRow: { optional: true, type: {
|
|
105
|
+
displayColumns: { type: "string[]", optional: true }
|
|
106
|
+
} },
|
|
107
|
+
showInRowCard: { optional: true, record: {} }
|
|
108
|
+
}
|
|
109
|
+
})}`;
|
|
98
110
|
}
|
|
99
111
|
const isSChema = l.type === "schema";
|
|
100
112
|
let type = isSChema ? (l.object === "table" ? "string" : `{ "table": string; "column": string; }`) : "";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../lib/JSONBValidation/validation.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../lib/JSONBValidation/validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ DECLARE
|
|
|
19
19
|
obj_key_val RECORD;
|
|
20
20
|
schema JSONB;
|
|
21
21
|
path text;
|
|
22
|
-
allowed_types text[] = '{any,boolean,number,integer,string,boolean[],number[],integer[],string[],any[]}';
|
|
22
|
+
allowed_types text[] = '{any,boolean,number,integer,string,Date,time,timestamp,Lookup,boolean[],number[],integer[],string[],any[],Date[],time[],timestamp[],Lookup[]}';
|
|
23
23
|
typeStr TEXT = NULL;
|
|
24
24
|
optional boolean;
|
|
25
25
|
nullable boolean;
|
|
@@ -130,7 +130,7 @@ BEGIN
|
|
|
130
130
|
IF jsonb_typeof(schema->'type') = 'string' THEN
|
|
131
131
|
typeStr = schema->>'type';
|
|
132
132
|
IF NOT ARRAY[typeStr] <@ allowed_types THEN
|
|
133
|
-
RAISE EXCEPTION 'Bad schema type
|
|
133
|
+
RAISE EXCEPTION 'Bad schema type "%", allowed types: %. %',typeStr, allowed_types, path USING HINT = path, COLUMN = colname;
|
|
134
134
|
END IF;
|
|
135
135
|
|
|
136
136
|
/** Primitive array */
|
|
@@ -18,7 +18,7 @@ DECLARE
|
|
|
18
18
|
obj_key_val RECORD;
|
|
19
19
|
schema JSONB;
|
|
20
20
|
path text;
|
|
21
|
-
allowed_types text[] = '{any,boolean,number,integer,string,boolean[],number[],integer[],string[],any[]}';
|
|
21
|
+
allowed_types text[] = '{any,boolean,number,integer,string,Date,time,timestamp,Lookup,boolean[],number[],integer[],string[],any[],Date[],time[],timestamp[],Lookup[]}';
|
|
22
22
|
typeStr TEXT = NULL;
|
|
23
23
|
optional boolean;
|
|
24
24
|
nullable boolean;
|
|
@@ -129,7 +129,7 @@ BEGIN
|
|
|
129
129
|
IF jsonb_typeof(schema->'type') = 'string' THEN
|
|
130
130
|
typeStr = schema->>'type';
|
|
131
131
|
IF NOT ARRAY[typeStr] <@ allowed_types THEN
|
|
132
|
-
RAISE EXCEPTION 'Bad schema type
|
|
132
|
+
RAISE EXCEPTION 'Bad schema type "%", allowed types: %. %',typeStr, allowed_types, path USING HINT = path, COLUMN = colname;
|
|
133
133
|
END IF;
|
|
134
134
|
|
|
135
135
|
/** Primitive array */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAYjF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAqBxF;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,QAG5I;AAGD,KAAK,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAGtC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,QAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAYjF,wBAAgB,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,YAAY,EAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAqBxF;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,QAAQ,UAAQ,QAG5I;AAGD,KAAK,OAAO,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAGtC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,QAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAyFnI"}
|
|
@@ -94,7 +94,19 @@ function getJSONBSchemaTSTypes(schema, colOpts, outerLeading = "", tables) {
|
|
|
94
94
|
else if (fieldType?.lookup) {
|
|
95
95
|
const l = fieldType.lookup;
|
|
96
96
|
if (l.type === "data-def") {
|
|
97
|
-
return `${fieldType.nullable ? `null |` : ""} {
|
|
97
|
+
return `${fieldType.nullable ? `null |` : ""} ${getFieldType({
|
|
98
|
+
type: {
|
|
99
|
+
table: "string",
|
|
100
|
+
column: "string",
|
|
101
|
+
filter: { record: {}, optional: true },
|
|
102
|
+
isArray: { type: "boolean", optional: true },
|
|
103
|
+
searchColumns: { type: "string[]", optional: true },
|
|
104
|
+
isFullRow: { optional: true, type: {
|
|
105
|
+
displayColumns: { type: "string[]", optional: true }
|
|
106
|
+
} },
|
|
107
|
+
showInRowCard: { optional: true, record: {} }
|
|
108
|
+
}
|
|
109
|
+
})}`;
|
|
98
110
|
}
|
|
99
111
|
const isSChema = l.type === "schema";
|
|
100
112
|
let type = isSChema ? (l.object === "table" ? "string" : `{ "table": string; "column": string; }`) : "";
|
|
@@ -98,7 +98,21 @@ export function getJSONBSchemaTSTypes(schema: JSONB.JSONBSchema, colOpts: ColOpt
|
|
|
98
98
|
|
|
99
99
|
const l = fieldType.lookup;
|
|
100
100
|
if(l.type === "data-def"){
|
|
101
|
-
return `${fieldType.nullable ? `null |` : ""} {
|
|
101
|
+
return `${fieldType.nullable ? `null |` : ""} ${
|
|
102
|
+
getFieldType({
|
|
103
|
+
type: {
|
|
104
|
+
table: "string",
|
|
105
|
+
column: "string",
|
|
106
|
+
filter: { record: {}, optional: true },
|
|
107
|
+
isArray: { type: "boolean", optional: true },
|
|
108
|
+
searchColumns: { type: "string[]", optional: true },
|
|
109
|
+
isFullRow: { optional: true, type: {
|
|
110
|
+
displayColumns:{ type: "string[]", optional: true }
|
|
111
|
+
}},
|
|
112
|
+
showInRowCard: { optional: true, record: {} }
|
|
113
|
+
}
|
|
114
|
+
})
|
|
115
|
+
}`;
|
|
102
116
|
}
|
|
103
117
|
|
|
104
118
|
const isSChema = l.type === "schema";
|
package/package.json
CHANGED
package/tests/client/PID.txt
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
217677
|