prostgles-server 4.2.595 → 4.2.596

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,4 +1,4 @@
1
1
  export declare const VALIDATE_SCHEMA_FUNCNAME = "prostgles.validate_jsonb_schema";
2
- export declare const JSONB_DATA_TYPES: readonly [...("string" | "number" | "boolean" | "integer" | "time" | "timestamp" | "Date" | "any" | "unknown" | "Uint8Array" | "Blob" | "FileLike" | "string[]" | "number[]" | "boolean[]" | "integer[]" | "time[]" | "timestamp[]" | "Date[]" | "any[]" | "unknown[]" | "Uint8Array[]" | "Blob[]" | "FileLike[]")[], "Lookup", "Lookup[]"];
2
+ export declare const JSONB_DATA_TYPES: readonly [...("string" | "number" | "boolean" | "integer" | "time" | "timestamp" | "Date" | "any" | "unknown" | "Uint8Array" | "Blob" | "FileLike" | "string[]" | "number[]" | "boolean[]" | "integer[]" | "time[]" | "timestamp[]" | "Date[]" | "any[]" | "unknown[]" | "Uint8Array[]" | "Blob[]" | "FileLike[]")[], "RowLookup", "RowLookup[]", "ValueLookup", "ValueLookup[]", "TableLookup", "TableLookup[]", "ColumnLookup", "ColumnLookup[]"];
3
3
  export declare const CREATE_VALIDATE_SCHEMA_FUNCTION_SQL: string;
4
4
  //# sourceMappingURL=validateJSONBSchemaSQL.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateJSONBSchemaSQL.d.ts","sourceRoot":"","sources":["../../lib/JSONBSchemaValidation/validateJSONBSchemaSQL.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,wBAAwB,oCAAoC,CAAC;AAC1E,eAAO,MAAM,gBAAgB,6UAAiD,CAAC;AAE/E,eAAO,MAAM,mCAAmC,QAob/C,CAAC"}
1
+ {"version":3,"file":"validateJSONBSchemaSQL.d.ts","sourceRoot":"","sources":["../../lib/JSONBSchemaValidation/validateJSONBSchemaSQL.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,wBAAwB,oCAAoC,CAAC;AAW1E,eAAO,MAAM,gBAAgB,qbAAkD,CAAC;AAEhF,eAAO,MAAM,mCAAmC,QAsc/C,CAAC"}
@@ -11,7 +11,17 @@ ELSE
11
11
  END IF;
12
12
  `;
13
13
  exports.VALIDATE_SCHEMA_FUNCNAME = "prostgles.validate_jsonb_schema";
14
- exports.JSONB_DATA_TYPES = [...prostgles_types_1.DATA_TYPES, "Lookup", "Lookup[]"];
14
+ const JSONB_LOOKUP_TYPES = [
15
+ "RowLookup",
16
+ "RowLookup[]",
17
+ "ValueLookup",
18
+ "ValueLookup[]",
19
+ "TableLookup",
20
+ "TableLookup[]",
21
+ "ColumnLookup",
22
+ "ColumnLookup[]",
23
+ ];
24
+ exports.JSONB_DATA_TYPES = [...prostgles_types_1.DATA_TYPES, ...JSONB_LOOKUP_TYPES];
15
25
  exports.CREATE_VALIDATE_SCHEMA_FUNCTION_SQL = `
16
26
  /*
17
27
  * ${PubSubManagerUtils_1.EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID}
@@ -195,6 +205,24 @@ BEGIN
195
205
  /** Primitive */
196
206
  ELSE
197
207
 
208
+ IF typeStr = 'TableLookup' THEN
209
+ typeStr = 'string';
210
+ ELSIF typeStr = 'ValueLookup' THEN
211
+ typeStr = 'any';
212
+ ELSIF typeStr = 'RowLookup' THEN
213
+ IF jsonb_typeof(data) != 'object' THEN
214
+ ${raiseException(`'Data type not matching. Expected: object, Actual: %, %', jsonb_typeof(data), path`)}
215
+ END IF;
216
+ RETURN TRUE;
217
+ ELSIF typeStr = 'ColumnLookup' THEN
218
+ RETURN ${exports.VALIDATE_SCHEMA_FUNCNAME}(
219
+ '{ "type": { "table": "string", "column": "string" } }',
220
+ data,
221
+ context,
222
+ checked_path
223
+ );
224
+ END IF;
225
+
198
226
  IF (
199
227
  typeStr = 'number' AND jsonb_typeof(data) != typeStr OR
200
228
  (typeStr = 'integer' AND (jsonb_typeof(data) != 'number' OR ceil(data::NUMERIC) != floor(data::NUMERIC))) OR
@@ -1 +1 @@
1
- {"version":3,"file":"validateJSONBSchemaSQL.js","sourceRoot":"","sources":["../../lib/JSONBSchemaValidation/validateJSONBSchemaSQL.ts"],"names":[],"mappings":";;;AAAA,qDAA6C;AAC7C,4EAAyF;AAEzF,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC;;;;oBAIpB,GAAG;;CAEtB,CAAC;AAEW,QAAA,wBAAwB,GAAG,iCAAiC,CAAC;AAC7D,QAAA,gBAAgB,GAAG,CAAC,GAAG,4BAAU,EAAE,QAAQ,EAAE,UAAU,CAAU,CAAC;AAElE,QAAA,mCAAmC,GAAG;;IAE/C,uDAAkC;;6BAET,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,2HAA2H,CAAC;;;;;;;;;;;cAWvI,cAAc,CAAC,oFAAoF,CAAC;;;oBAG9F,gCAAwB;;;;;;;;;;;;;;QAcpC,cAAc,CAAC,sEAAsE,CAAC;;;;;;;;;QAStF,cAAc,CAAC,iGAAiG,CAAC;;;;;;;;;;;aAW5G,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuC/B,cAAc,CAAC,gEAAgE,CAAC;;;;;;QAM9E,cAAc,CAAC,uGAAuG,CAAC;;;;QAIvH,cAAc,CAAC,uCAAuC,CAAC;;;;QAIvD,cAAc,CAAC;;;aAGV,CAAC;;;;;;;;;;;;eAYC,gCAAwB;;;;;;;;;;;;;;;;;;QAkB/B,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,uDAAkC;;;;;;;;;CASvF,CAAC"}
1
+ {"version":3,"file":"validateJSONBSchemaSQL.js","sourceRoot":"","sources":["../../lib/JSONBSchemaValidation/validateJSONBSchemaSQL.ts"],"names":[],"mappings":";;;AAAA,qDAAyD;AACzD,4EAAyF;AAEzF,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC;;;;oBAIpB,GAAG;;CAEtB,CAAC;AAEW,QAAA,wBAAwB,GAAG,iCAAiC,CAAC;AAC1E,MAAM,kBAAkB,GAAG;IACzB,WAAW;IACX,aAAa;IACb,aAAa;IACb,eAAe;IACf,aAAa;IACb,eAAe;IACf,cAAc;IACd,gBAAgB;CACyB,CAAC;AAC/B,QAAA,gBAAgB,GAAG,CAAC,GAAG,4BAAU,EAAE,GAAG,kBAAkB,CAAU,CAAC;AAEnE,QAAA,mCAAmC,GAAG;;IAE/C,uDAAkC;;6BAET,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;;;;;;;;;;;;;;;;;;;;;;;;cAwB7B,cAAc,CAAC,oFAAoF,CAAC;;;;mBAI/F,gCAAwB;;;;;;;;;;;;;;;YAe/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,2HAA2H,CAAC;;;;;;;;;;;cAWvI,cAAc,CAAC,oFAAoF,CAAC;;;oBAG9F,gCAAwB;;;;;;;;;;;;;;QAcpC,cAAc,CAAC,sEAAsE,CAAC;;;;;;;;;QAStF,cAAc,CAAC,iGAAiG,CAAC;;;;;;;;;;;aAW5G,gCAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuC/B,cAAc,CAAC,gEAAgE,CAAC;;;;;;QAM9E,cAAc,CAAC,uGAAuG,CAAC;;;;QAIvH,cAAc,CAAC,uCAAuC,CAAC;;;;QAIvD,cAAc,CAAC;;;aAGV,CAAC;;;;;;;;;;;;eAYC,gCAAwB;;;;;;;;;;;;;;;;;;QAkB/B,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,uDAAkC;;;;;;;;;CASvF,CAAC"}
@@ -1,4 +1,4 @@
1
- import { DATA_TYPES } from "prostgles-types";
1
+ import { DATA_TYPES, type JSONB } from "prostgles-types";
2
2
  import { EXCLUDE_QUERY_FROM_SCHEMA_WATCH_ID } from "../PubSubManager/PubSubManagerUtils";
3
3
 
4
4
  const raiseException = (err: string) => `
@@ -10,7 +10,17 @@ END IF;
10
10
  `;
11
11
 
12
12
  export const VALIDATE_SCHEMA_FUNCNAME = "prostgles.validate_jsonb_schema";
13
- export const JSONB_DATA_TYPES = [...DATA_TYPES, "Lookup", "Lookup[]"] as const;
13
+ const JSONB_LOOKUP_TYPES = [
14
+ "RowLookup",
15
+ "RowLookup[]",
16
+ "ValueLookup",
17
+ "ValueLookup[]",
18
+ "TableLookup",
19
+ "TableLookup[]",
20
+ "ColumnLookup",
21
+ "ColumnLookup[]",
22
+ ] as const satisfies JSONB.Lookup["type"][];
23
+ export const JSONB_DATA_TYPES = [...DATA_TYPES, ...JSONB_LOOKUP_TYPES] as const;
14
24
 
15
25
  export const CREATE_VALIDATE_SCHEMA_FUNCTION_SQL = `
16
26
  /*
@@ -195,6 +205,24 @@ BEGIN
195
205
  /** Primitive */
196
206
  ELSE
197
207
 
208
+ IF typeStr = 'TableLookup' THEN
209
+ typeStr = 'string';
210
+ ELSIF typeStr = 'ValueLookup' THEN
211
+ typeStr = 'any';
212
+ ELSIF typeStr = 'RowLookup' THEN
213
+ IF jsonb_typeof(data) != 'object' THEN
214
+ ${raiseException(`'Data type not matching. Expected: object, Actual: %, %', jsonb_typeof(data), path`)}
215
+ END IF;
216
+ RETURN TRUE;
217
+ ELSIF typeStr = 'ColumnLookup' THEN
218
+ RETURN ${VALIDATE_SCHEMA_FUNCNAME}(
219
+ '{ "type": { "table": "string", "column": "string" } }',
220
+ data,
221
+ context,
222
+ checked_path
223
+ );
224
+ END IF;
225
+
198
226
  IF (
199
227
  typeStr = 'number' AND jsonb_typeof(data) != typeStr OR
200
228
  (typeStr = 'integer' AND (jsonb_typeof(data) != 'number' OR ceil(data::NUMERIC) != floor(data::NUMERIC))) OR
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.595",
3
+ "version": "4.2.596",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",