prostgles-server 4.0.56 → 4.0.57

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 +1 @@
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,QAwdrC,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,QAkerC,CAAC"}
@@ -428,6 +428,16 @@ SELECT ${exports.VALIDATE_SCHEMA_FUNCNAME}(
428
428
  '{"a": 1, "b": 2 }'::JSONB
429
429
  );
430
430
 
431
+ SELECT ${exports.VALIDATE_SCHEMA_FUNCNAME}(
432
+ '{ "record": { "keysEnum": ["a", "b"] , "values": { "enum": [1, 2] } } }',
433
+ '{"a": 1 }'::JSONB
434
+ );
435
+
436
+ SELECT ${exports.VALIDATE_SCHEMA_FUNCNAME}(
437
+ '{ "record": { "keysEnum": ["a", "b"] , "values": { "enum": [1, 2] } } }',
438
+ '{ }'::JSONB
439
+ );
440
+
431
441
  SELECT ${exports.VALIDATE_SCHEMA_FUNCNAME}(
432
442
  '{ "record": { "keysEnum": ["a", "b"] } }',
433
443
  '{"a": 1, "b": 2 }'::JSONB
@@ -1 +1 @@
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;;;6BAGvB,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;;;;;;;;QAQ9E,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;;;6BAGvB,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;;;;;;;;QAQ9E,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;;;;;SAKxB,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 +1 @@
1
- {"version":3,"file":"getInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGzD,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,eAAO,MAAM,YAAY,SAAwB,aAAa,KAAG,QAAQ,MAAM,CA0hB9E,CAAA"}
1
+ {"version":3,"file":"getInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGzD,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,eAAO,MAAM,YAAY,SAAwB,aAAa,KAAG,QAAQ,MAAM,CA8hB9E,CAAA"}
@@ -126,19 +126,23 @@ BEGIN
126
126
  COMMENT ON FUNCTION prostgles.debug IS 'Used for internal debugging';
127
127
 
128
128
 
129
- CREATE OR REPLACE FUNCTION prostgles.user()
130
- RETURNS JSONB AS $$
129
+ CREATE OR REPLACE FUNCTION prostgles.user(key text default null)
130
+ RETURNS TEXT AS $$
131
131
  DECLARE user_text text;
132
+ DECLARE user_jsonb JSONB = '{}'::JSONB;
132
133
  BEGIN
133
134
  user_text := current_setting('prostgles.user', true);
134
135
  IF length(user_text) > 0 THEN
135
- RETURN user_text::JSONB;
136
+ user_jsonb := user_text::JSONB;
136
137
  END IF;
137
-
138
- RETURN '{}'::JSONB;
138
+
139
+ IF length(key) > 0 THEN
140
+ RETURN jsonb_extract_path(user_jsonb, key);
141
+ END IF;
142
+ RETURN user_jsonb;
139
143
  END;
140
144
  $$ LANGUAGE plpgsql;
141
- COMMENT ON FUNCTION prostgles."user" IS 'Used row level security';
145
+ COMMENT ON FUNCTION prostgles."user" IS 'Used for row level security';
142
146
 
143
147
  CREATE TABLE IF NOT EXISTS prostgles.apps (
144
148
  id TEXT PRIMARY KEY DEFAULT prostgles.random_string(),
@@ -1 +1 @@
1
- {"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":";;;AACA,mDAAyD;AACzD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAErC,QAAA,YAAY,GAAG;IAC1B,uBAAuB,EAAE,mCAAmC;IAC5D,eAAe,EAAE,sCAAsC;IACvD,iBAAiB,EAAE,6BAA6B;IAChD,oBAAoB,EAAE,oCAAoC;CAClD,CAAC;AAEJ,MAAM,YAAY,GAAG,KAAK;IAE/B,MAAM,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAmB,EAAE;QAC9D,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,WAAW,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,8BAA8B,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElI,OAAO;;;;;;;IAOP,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA8BpB,IAAA,uBAAO,EAAC,UAAU,CAAC;2BACxB,IAAA,uBAAO,EAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4B1B,IAAA,uBAAO,EAAC,OAAO,CAAC,KAAK,IAAA,uBAAO,EAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAkGpB,oBAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAyGjC,IAAA,uBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;;kCAEjC,IAAA,uBAAO,EAAC,6BAAa,CAAC,SAAS,CAAC;;kCAEhC,IAAA,uBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;;;;;;;kCAO7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC,CAAC,qHAAqH,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;kBAuBvL,uDAAuD;;;;;;;;;;8BAU3C,oBAAY,CAAC,eAAe;;;;qCAIrB,oBAAY,CAAC,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEAkFF,oBAAY,CAAC,eAAe;;;;;;;;;;uEAU5B,oBAAY,CAAC,eAAe;;;;;;;;;;uEAU5B,oBAAY,CAAC,eAAe;;;;;;;;;;;;;yCAazD,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA8B5D,oBAAY,CAAC,uBAAuB;;;;;;+CAMnB,oBAAY,CAAC,uBAAuB;;;;;;+CAMpC,oBAAY,CAAC,uBAAuB;;;qCAG9C,oBAAY,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA8BzC,IAAA,uBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;;4BAEjC,IAAA,uBAAO,EAAC,6BAAa,CAAC,SAAS,CAAC;4BAChC,IAAA,uBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;;;;;;;;;8BAS7B,oBAAY,CAAC,iBAAiB;;;;;;;;;CAS3D,CAAA;IAAA,CAAC,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IAEvB,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AA1hBY,QAAA,YAAY,gBA0hBxB"}
1
+ {"version":3,"file":"getInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getInitQuery.ts"],"names":[],"mappings":";;;AACA,mDAAyD;AACzD,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAErC,QAAA,YAAY,GAAG;IAC1B,uBAAuB,EAAE,mCAAmC;IAC5D,eAAe,EAAE,sCAAsC;IACvD,iBAAiB,EAAE,6BAA6B;IAChD,oBAAoB,EAAE,oCAAoC;CAClD,CAAC;AAEJ,MAAM,YAAY,GAAG,KAAK;IAE/B,MAAM,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,KAAK,EAAmB,EAAE;QAC9D,MAAM,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,WAAW,CAAA,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,8BAA8B,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElI,OAAO;;;;;;;IAOP,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA8BpB,IAAA,uBAAO,EAAC,UAAU,CAAC;2BACxB,IAAA,uBAAO,EAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA4B1B,IAAA,uBAAO,EAAC,OAAO,CAAC,KAAK,IAAA,uBAAO,EAAC,UAAU,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAsGpB,oBAAY,CAAC,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCAyGjC,IAAA,uBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;;kCAEjC,IAAA,uBAAO,EAAC,6BAAa,CAAC,SAAS,CAAC;;kCAEhC,IAAA,uBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;;;;;;;kCAO7B,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC,CAAC,qHAAqH,CAAC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;kBAuBvL,uDAAuD;;;;;;;;;;8BAU3C,oBAAY,CAAC,eAAe;;;;qCAIrB,oBAAY,CAAC,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uEAkFF,oBAAY,CAAC,eAAe;;;;;;;;;;uEAU5B,oBAAY,CAAC,eAAe;;;;;;;;;;uEAU5B,oBAAY,CAAC,eAAe;;;;;;;;;;;;;yCAazD,6BAAa,CAAC,kCAAkC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA8B5D,oBAAY,CAAC,uBAAuB;;;;;;+CAMnB,oBAAY,CAAC,uBAAuB;;;;;;+CAMpC,oBAAY,CAAC,uBAAuB;;;qCAG9C,oBAAY,CAAC,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BA8BzC,IAAA,uBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;;4BAEjC,IAAA,uBAAO,EAAC,6BAAa,CAAC,SAAS,CAAC;4BAChC,IAAA,uBAAO,EAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;;;;;;;;;8BAS7B,oBAAY,CAAC,iBAAiB;;;;;;;;;CAS3D,CAAA;IAAA,CAAC,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IAEvB,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AA9hBY,QAAA,YAAY,gBA8hBxB"}
@@ -1 +1 @@
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,QAwdrC,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,QAkerC,CAAC"}
@@ -428,6 +428,16 @@ SELECT ${exports.VALIDATE_SCHEMA_FUNCNAME}(
428
428
  '{"a": 1, "b": 2 }'::JSONB
429
429
  );
430
430
 
431
+ SELECT ${exports.VALIDATE_SCHEMA_FUNCNAME}(
432
+ '{ "record": { "keysEnum": ["a", "b"] , "values": { "enum": [1, 2] } } }',
433
+ '{"a": 1 }'::JSONB
434
+ );
435
+
436
+ SELECT ${exports.VALIDATE_SCHEMA_FUNCNAME}(
437
+ '{ "record": { "keysEnum": ["a", "b"] , "values": { "enum": [1, 2] } } }',
438
+ '{ }'::JSONB
439
+ );
440
+
431
441
  SELECT ${exports.VALIDATE_SCHEMA_FUNCNAME}(
432
442
  '{ "record": { "keysEnum": ["a", "b"] } }',
433
443
  '{"a": 1, "b": 2 }'::JSONB
@@ -429,6 +429,16 @@ SELECT ${VALIDATE_SCHEMA_FUNCNAME}(
429
429
  '{"a": 1, "b": 2 }'::JSONB
430
430
  );
431
431
 
432
+ SELECT ${VALIDATE_SCHEMA_FUNCNAME}(
433
+ '{ "record": { "keysEnum": ["a", "b"] , "values": { "enum": [1, 2] } } }',
434
+ '{"a": 1 }'::JSONB
435
+ );
436
+
437
+ SELECT ${VALIDATE_SCHEMA_FUNCNAME}(
438
+ '{ "record": { "keysEnum": ["a", "b"] , "values": { "enum": [1, 2] } } }',
439
+ '{ }'::JSONB
440
+ );
441
+
432
442
  SELECT ${VALIDATE_SCHEMA_FUNCNAME}(
433
443
  '{ "record": { "keysEnum": ["a", "b"] } }',
434
444
  '{"a": 1, "b": 2 }'::JSONB
@@ -1 +1 @@
1
- {"version":3,"file":"getInitQuery.d.ts","sourceRoot":"","sources":["getInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGzD,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,eAAO,MAAM,YAAY,SAAwB,aAAa,KAAG,QAAQ,MAAM,CA0hB9E,CAAA"}
1
+ {"version":3,"file":"getInitQuery.d.ts","sourceRoot":"","sources":["getInitQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAW,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGzD,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAEX,eAAO,MAAM,YAAY,SAAwB,aAAa,KAAG,QAAQ,MAAM,CA8hB9E,CAAA"}
@@ -126,19 +126,23 @@ BEGIN
126
126
  COMMENT ON FUNCTION prostgles.debug IS 'Used for internal debugging';
127
127
 
128
128
 
129
- CREATE OR REPLACE FUNCTION prostgles.user()
130
- RETURNS JSONB AS $$
129
+ CREATE OR REPLACE FUNCTION prostgles.user(key text default null)
130
+ RETURNS TEXT AS $$
131
131
  DECLARE user_text text;
132
+ DECLARE user_jsonb JSONB = '{}'::JSONB;
132
133
  BEGIN
133
134
  user_text := current_setting('prostgles.user', true);
134
135
  IF length(user_text) > 0 THEN
135
- RETURN user_text::JSONB;
136
+ user_jsonb := user_text::JSONB;
136
137
  END IF;
137
-
138
- RETURN '{}'::JSONB;
138
+
139
+ IF length(key) > 0 THEN
140
+ RETURN jsonb_extract_path(user_jsonb, key);
141
+ END IF;
142
+ RETURN user_jsonb;
139
143
  END;
140
144
  $$ LANGUAGE plpgsql;
141
- COMMENT ON FUNCTION prostgles."user" IS 'Used row level security';
145
+ COMMENT ON FUNCTION prostgles."user" IS 'Used for row level security';
142
146
 
143
147
  CREATE TABLE IF NOT EXISTS prostgles.apps (
144
148
  id TEXT PRIMARY KEY DEFAULT prostgles.random_string(),
@@ -128,19 +128,23 @@ BEGIN
128
128
  COMMENT ON FUNCTION prostgles.debug IS 'Used for internal debugging';
129
129
 
130
130
 
131
- CREATE OR REPLACE FUNCTION prostgles.user()
132
- RETURNS JSONB AS $$
131
+ CREATE OR REPLACE FUNCTION prostgles.user(key text default null)
132
+ RETURNS TEXT AS $$
133
133
  DECLARE user_text text;
134
+ DECLARE user_jsonb JSONB = '{}'::JSONB;
134
135
  BEGIN
135
136
  user_text := current_setting('prostgles.user', true);
136
137
  IF length(user_text) > 0 THEN
137
- RETURN user_text::JSONB;
138
+ user_jsonb := user_text::JSONB;
138
139
  END IF;
139
-
140
- RETURN '{}'::JSONB;
140
+
141
+ IF length(key) > 0 THEN
142
+ RETURN jsonb_extract_path(user_jsonb, key);
143
+ END IF;
144
+ RETURN user_jsonb;
141
145
  END;
142
146
  $$ LANGUAGE plpgsql;
143
- COMMENT ON FUNCTION prostgles."user" IS 'Used row level security';
147
+ COMMENT ON FUNCTION prostgles."user" IS 'Used for row level security';
144
148
 
145
149
  CREATE TABLE IF NOT EXISTS prostgles.apps (
146
150
  id TEXT PRIMARY KEY DEFAULT prostgles.random_string(),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.0.56",
3
+ "version": "4.0.57",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +1 @@
1
- 26717
1
+ 73132
@@ -40,6 +40,7 @@ try {
40
40
  });
41
41
  socket.on("start-test", (data) => {
42
42
  log("start-test", data);
43
+ // @ts-ignore
43
44
  (0, prostgles_client_1.default)({
44
45
  socket,
45
46
  onReconnect: (socket) => {
@@ -44,7 +44,9 @@ try {
44
44
  log("connect_failed", err)
45
45
  })
46
46
  socket.on("start-test", (data) => {
47
- log("start-test", data)
47
+ log("start-test", data);
48
+
49
+ // @ts-ignore
48
50
  prostgles({
49
51
  socket, // or simply io()
50
52
  onReconnect: (socket) => {
@@ -11,7 +11,7 @@
11
11
  "dependencies": {
12
12
  "@types/node": "^14.14.16",
13
13
  "prostgles-client": "^4.0.15",
14
- "socket.io-client": "^4.6.1"
14
+ "socket.io-client": "^4.7.1"
15
15
  },
16
16
  "devDependencies": {
17
17
  "typescript": "^5.0.3"
@@ -44,21 +44,21 @@
44
44
  }
45
45
  },
46
46
  "node_modules/engine.io-client": {
47
- "version": "6.4.0",
48
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz",
49
- "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==",
47
+ "version": "6.5.1",
48
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.1.tgz",
49
+ "integrity": "sha512-hE5wKXH8Ru4L19MbM1GgYV/2Qo54JSMh1rlJbfpa40bEWkCKNo3ol2eOtGmowcr+ysgbI7+SGL+by42Q3pt/Ng==",
50
50
  "dependencies": {
51
51
  "@socket.io/component-emitter": "~3.1.0",
52
52
  "debug": "~4.3.1",
53
- "engine.io-parser": "~5.0.3",
53
+ "engine.io-parser": "~5.1.0",
54
54
  "ws": "~8.11.0",
55
55
  "xmlhttprequest-ssl": "~2.0.0"
56
56
  }
57
57
  },
58
58
  "node_modules/engine.io-parser": {
59
- "version": "5.0.6",
60
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
61
- "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==",
59
+ "version": "5.1.0",
60
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.1.0.tgz",
61
+ "integrity": "sha512-enySgNiK5tyZFynt3z7iqBR+Bto9EVVVvDFuTT0ioHCGbzirZVGDGiQjZzEp8hWl6hd5FSVytJGuScX1C1C35w==",
62
62
  "engines": {
63
63
  "node": ">=10.0.0"
64
64
  }
@@ -90,23 +90,23 @@
90
90
  }
91
91
  },
92
92
  "node_modules/socket.io-client": {
93
- "version": "4.6.1",
94
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz",
95
- "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==",
93
+ "version": "4.7.1",
94
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.1.tgz",
95
+ "integrity": "sha512-Qk3Xj8ekbnzKu3faejo4wk2MzXA029XppiXtTF/PkbTg+fcwaTw1PlDrTrrrU4mKoYC4dvlApOnSeyLCKwek2w==",
96
96
  "dependencies": {
97
97
  "@socket.io/component-emitter": "~3.1.0",
98
98
  "debug": "~4.3.2",
99
- "engine.io-client": "~6.4.0",
100
- "socket.io-parser": "~4.2.1"
99
+ "engine.io-client": "~6.5.1",
100
+ "socket.io-parser": "~4.2.4"
101
101
  },
102
102
  "engines": {
103
103
  "node": ">=10.0.0"
104
104
  }
105
105
  },
106
106
  "node_modules/socket.io-parser": {
107
- "version": "4.2.1",
108
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
109
- "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
107
+ "version": "4.2.4",
108
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
109
+ "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
110
110
  "dependencies": {
111
111
  "@socket.io/component-emitter": "~3.1.0",
112
112
  "debug": "~4.3.1"
@@ -177,21 +177,21 @@
177
177
  }
178
178
  },
179
179
  "engine.io-client": {
180
- "version": "6.4.0",
181
- "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz",
182
- "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==",
180
+ "version": "6.5.1",
181
+ "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.1.tgz",
182
+ "integrity": "sha512-hE5wKXH8Ru4L19MbM1GgYV/2Qo54JSMh1rlJbfpa40bEWkCKNo3ol2eOtGmowcr+ysgbI7+SGL+by42Q3pt/Ng==",
183
183
  "requires": {
184
184
  "@socket.io/component-emitter": "~3.1.0",
185
185
  "debug": "~4.3.1",
186
- "engine.io-parser": "~5.0.3",
186
+ "engine.io-parser": "~5.1.0",
187
187
  "ws": "~8.11.0",
188
188
  "xmlhttprequest-ssl": "~2.0.0"
189
189
  }
190
190
  },
191
191
  "engine.io-parser": {
192
- "version": "5.0.6",
193
- "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz",
194
- "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw=="
192
+ "version": "5.1.0",
193
+ "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.1.0.tgz",
194
+ "integrity": "sha512-enySgNiK5tyZFynt3z7iqBR+Bto9EVVVvDFuTT0ioHCGbzirZVGDGiQjZzEp8hWl6hd5FSVytJGuScX1C1C35w=="
195
195
  },
196
196
  "json-schema": {
197
197
  "version": "0.4.0",
@@ -220,20 +220,20 @@
220
220
  }
221
221
  },
222
222
  "socket.io-client": {
223
- "version": "4.6.1",
224
- "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz",
225
- "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==",
223
+ "version": "4.7.1",
224
+ "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.1.tgz",
225
+ "integrity": "sha512-Qk3Xj8ekbnzKu3faejo4wk2MzXA029XppiXtTF/PkbTg+fcwaTw1PlDrTrrrU4mKoYC4dvlApOnSeyLCKwek2w==",
226
226
  "requires": {
227
227
  "@socket.io/component-emitter": "~3.1.0",
228
228
  "debug": "~4.3.2",
229
- "engine.io-client": "~6.4.0",
230
- "socket.io-parser": "~4.2.1"
229
+ "engine.io-client": "~6.5.1",
230
+ "socket.io-parser": "~4.2.4"
231
231
  }
232
232
  },
233
233
  "socket.io-parser": {
234
- "version": "4.2.1",
235
- "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
236
- "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
234
+ "version": "4.2.4",
235
+ "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
236
+ "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
237
237
  "requires": {
238
238
  "@socket.io/component-emitter": "~3.1.0",
239
239
  "debug": "~4.3.1"
@@ -14,7 +14,7 @@
14
14
  "dependencies": {
15
15
  "@types/node": "^14.14.16",
16
16
  "prostgles-client": "^4.0.15",
17
- "socket.io-client": "^4.6.1"
17
+ "socket.io-client": "^4.7.1"
18
18
  },
19
19
  "devDependencies": {
20
20
  "typescript": "^5.0.3"
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.0.55",
24
+ "version": "4.0.56",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "@aws-sdk/client-s3": "^3.363.0",