prostgles-server 4.2.104 → 4.2.106

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.
Files changed (63) hide show
  1. package/dist/DBSchemaBuilder.d.ts +3 -3
  2. package/dist/DBSchemaBuilder.d.ts.map +1 -1
  3. package/dist/PubSubManager/getPubSubManagerInitQuery.d.ts.map +1 -1
  4. package/dist/PubSubManager/getPubSubManagerInitQuery.js +2 -0
  5. package/dist/PubSubManager/getPubSubManagerInitQuery.js.map +1 -1
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/typeTests/dboTypeCheck.d.ts +2 -0
  10. package/dist/typeTests/dboTypeCheck.d.ts.map +1 -0
  11. package/dist/typeTests/dboTypeCheck.js +54 -0
  12. package/dist/typeTests/dboTypeCheck.js.map +1 -0
  13. package/lib/DBSchemaBuilder.ts +4 -4
  14. package/lib/PubSubManager/getPubSubManagerInitQuery.ts +2 -0
  15. package/lib/index.ts +3 -0
  16. package/lib/typeTests/DBoGenerated.d.ts +320 -0
  17. package/lib/typeTests/dboTypeCheck.ts +81 -0
  18. package/package.json +1 -1
  19. package/tests/server/index.ts +0 -11
  20. package/tests/server/package-lock.json +1 -1
  21. package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts +0 -11
  22. package/dist/DboBuilder/QueryBuilder/prepareHaving.d.ts.map +0 -1
  23. package/dist/DboBuilder/QueryBuilder/prepareHaving.js +0 -18
  24. package/dist/DboBuilder/QueryBuilder/prepareHaving.js.map +0 -1
  25. package/dist/DboBuilder/ViewHandler/ColSet.d.ts +0 -16
  26. package/dist/DboBuilder/ViewHandler/ColSet.d.ts.map +0 -1
  27. package/dist/DboBuilder/ViewHandler/ColSet.js +0 -105
  28. package/dist/DboBuilder/ViewHandler/ColSet.js.map +0 -1
  29. package/dist/DboBuilder/find.d.ts +0 -18
  30. package/dist/DboBuilder/find.d.ts.map +0 -1
  31. package/dist/DboBuilder/find.js +0 -121
  32. package/dist/DboBuilder/find.js.map +0 -1
  33. package/dist/DboBuilder/insertDataParse.d.ts +0 -27
  34. package/dist/DboBuilder/insertDataParse.d.ts.map +0 -1
  35. package/dist/DboBuilder/insertDataParse.js +0 -275
  36. package/dist/DboBuilder/insertDataParse.js.map +0 -1
  37. package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts +0 -29
  38. package/dist/DboBuilder/parseMediaOrNestedInsert.d.ts.map +0 -1
  39. package/dist/DboBuilder/parseMediaOrNestedInsert.js +0 -271
  40. package/dist/DboBuilder/parseMediaOrNestedInsert.js.map +0 -1
  41. package/dist/DboBuilder/subscribe.d.ts +0 -20
  42. package/dist/DboBuilder/subscribe.d.ts.map +0 -1
  43. package/dist/DboBuilder/subscribe.js +0 -96
  44. package/dist/DboBuilder/subscribe.js.map +0 -1
  45. package/dist/DboBuilder.d.ts +0 -324
  46. package/dist/DboBuilder.d.ts.map +0 -1
  47. package/dist/DboBuilder.js +0 -345
  48. package/dist/DboBuilder.js.map +0 -1
  49. package/dist/PubSubManager/getInitQuery.d.ts +0 -13
  50. package/dist/PubSubManager/getInitQuery.d.ts.map +0 -1
  51. package/dist/PubSubManager/getInitQuery.js +0 -616
  52. package/dist/PubSubManager/getInitQuery.js.map +0 -1
  53. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts +0 -2
  54. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.d.ts.map +0 -1
  55. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js +0 -53
  56. package/dist/SchemaWatch/SCHEMA_WATCH_QUERIES.js.map +0 -1
  57. package/dist/SchemaWatch.d.ts +0 -30
  58. package/dist/SchemaWatch.d.ts.map +0 -1
  59. package/dist/SchemaWatch.js +0 -127
  60. package/dist/SchemaWatch.js.map +0 -1
  61. package/dist/my.d copy.ts +0 -1020
  62. package/dist/my.d.ts +0 -1655
  63. package/tests/server/dboTypeCheck.ts +0 -34
@@ -3,14 +3,14 @@ import { DboBuilder } from "./DboBuilder/DboBuilder";
3
3
  import { PublishAllOrNothing, PublishTableRule, PublishViewRule } from "./PublishParser/PublishParser";
4
4
  import { TX } from "./DboBuilder/DboBuilderTypes";
5
5
  export declare const getDBSchema: (dboBuilder: DboBuilder) => string;
6
- type ServerViewHandler<T extends AnyObject = AnyObject> = ViewHandler<T> & {
6
+ type ServerViewHandler<T extends AnyObject = AnyObject, Schema extends DBSchema | void = void> = ViewHandler<T, Schema> & {
7
7
  is_view: boolean;
8
8
  };
9
- type ServerTableHandler<T extends AnyObject = AnyObject> = TableHandler<T> & {
9
+ type ServerTableHandler<T extends AnyObject = AnyObject, Schema extends DBSchema | void = void> = TableHandler<T, Schema> & {
10
10
  is_view: boolean;
11
11
  };
12
12
  export type DBTableHandlersFromSchema<Schema = void> = Schema extends DBSchema ? {
13
- [tov_name in keyof Schema]: Schema[tov_name]["is_view"] extends true ? ServerViewHandler<Schema[tov_name]["columns"]> : ServerTableHandler<Schema[tov_name]["columns"]>;
13
+ [tov_name in keyof Schema]: Schema[tov_name]["is_view"] extends true ? ServerViewHandler<Schema[tov_name]["columns"], Schema> : ServerTableHandler<Schema[tov_name]["columns"], Schema>;
14
14
  } : Record<string, Partial<ServerTableHandler>>;
15
15
  export type DBHandlerServerExtra<TH = Record<string, Partial<ServerTableHandler>>, WithTransactions = true> = {
16
16
  sql: SQLHandler;
@@ -1 +1 @@
1
- {"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAmB,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG3H,OAAO,EAAE,UAAU,EAAmC,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,+BAA+B,CAAC;AAExH,OAAO,EAAsC,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAGtF,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAwDpD,CAAA;AAED,KAAK,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;CAAE,CAAA;AAChG,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;CAAE,CAAA;AAElG,MAAM,MAAM,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KAC7E,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,GAC9C,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC;CAClD,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAEhD,MAAM,MAAM,oBAAoB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI,IAAI;IAC5G,GAAG,EAAE,UAAU,CAAC;CACjB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CACzB,gBAAgB,SAAS,IAAI,GAAE;IAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,GAC7C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB,CAAC;AAKF,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,yBAAyB,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAA;AAEtI,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
1
+ {"version":3,"file":"DBSchemaBuilder.d.ts","sourceRoot":"","sources":["../lib/DBSchemaBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAmB,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG3H,OAAO,EAAE,UAAU,EAAmC,MAAM,yBAAyB,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAiB,gBAAgB,EAAE,eAAe,EAAI,MAAM,+BAA+B,CAAC;AAExH,OAAO,EAAsC,EAAE,EAAE,MAAM,8BAA8B,CAAC;AAGtF,eAAO,MAAM,WAAW,eAAgB,UAAU,KAAG,MAwDpD,CAAA;AAED,KAAK,iBAAiB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;CAAE,CAAA;AAC/I,KAAK,kBAAkB,CAAC,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,MAAM,SAAS,QAAQ,GAAG,IAAI,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;CAAE,CAAA;AAEjJ,MAAM,MAAM,yBAAyB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE;KAC7E,QAAQ,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GAClE,iBAAiB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACtD,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC1D,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAEhD,MAAM,MAAM,oBAAoB,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,gBAAgB,GAAG,IAAI,IAAI;IAC5G,GAAG,EAAE,UAAU,CAAC;CACjB,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CACzB,gBAAgB,SAAS,IAAI,GAAE;IAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAA;CAAE,GAC7C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CACtB,CAAC;AAKF,MAAM,MAAM,aAAa,CAAC,MAAM,GAAG,IAAI,IAAI,yBAAyB,CAAC,MAAM,CAAC,GAAG,oBAAoB,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC,CAAA;AAEtI,MAAM,MAAM,iBAAiB,CAAC,MAAM,GAAG,IAAI,IAAI,MAAM,SAAS,QAAQ,GAAE,CACpE,mBAAmB,GACnB;KACC,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,CAAC,GAC9B,mBAAmB,GACnB,CACA,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,SAAS,IAAI,GACtC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,GACpD,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CACxD;CACJ,CACF,GAAG,CACA,mBAAmB,GACnB,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,gBAAgB,GAAG,mBAAmB,CAAC,CAC3E,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpF,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAmmBX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,SAAwB,aAAa,KAAG,QAAQ,MAAM,GAAG,SAAS,CAoBvG,CAAA"}
1
+ {"version":3,"file":"getPubSubManagerInitQuery.d.ts","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsC,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAIpF,eAAO,MAAM,YAAY;;;;;;CAMf,CAAC;AAmmBX;;;GAGG;AACH,eAAO,MAAM,yBAAyB,SAAwB,aAAa,KAAG,QAAQ,MAAM,GAAG,SAAS,CAsBvG,CAAA"}
@@ -630,6 +630,7 @@ const getPubSubManagerInitQuery = async function () {
630
630
  const query = DboBuilderTypes_1.pgp.as.format(initQuery, { schema_md5, version });
631
631
  const existingSchema = await this.db.any(PROSTGLES_SCHEMA_EXISTS_QUERY);
632
632
  if (!existingSchema.length) {
633
+ console.log("getPubSubManagerInitQuery: No prostgles.versions table found. Creating...");
633
634
  return query;
634
635
  }
635
636
  const { existingSchemaVersions } = await (0, prostgles_types_1.tryCatch)(async () => {
@@ -639,6 +640,7 @@ const getPubSubManagerInitQuery = async function () {
639
640
  };
640
641
  });
641
642
  if (!existingSchemaVersions?.length) {
643
+ console.log("getPubSubManagerInitQuery: Outdated prostgles schema. Re-creating...");
642
644
  return query;
643
645
  }
644
646
  return undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPubSubManagerInitQuery.js","sourceRoot":"","sources":["../../lib/PubSubManager/getPubSubManagerInitQuery.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAExD,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,iDAI3G;AACD,SAAS,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAKxD,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,iDAI3G;AACD,SAAS,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
  const Prostgles_1 = require("./Prostgles");
3
+ const dboTypeCheck_1 = require("./typeTests/dboTypeCheck");
4
+ (0, dboTypeCheck_1.testDboTypes)();
3
5
  function prostgles(params) {
4
6
  const prgl = new Prostgles_1.Prostgles(params);
5
7
  return prgl.init(params.onReady, { type: "init" });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";AACA,2CAAwC;AAGxC,SAAS,SAAS,CAAoD,MAAsC;IAExG,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAa,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9D,CAAC;AACD,iBAAS,SAAS,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":";AACA,2CAAwC;AAGxC,2DAAwD;AACxD,IAAA,2BAAY,GAAE,CAAC;AAEf,SAAS,SAAS,CAAoD,MAAsC;IAExG,MAAM,IAAI,GAAG,IAAI,qBAAS,CAAC,MAAa,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAc,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9D,CAAC;AACD,iBAAS,SAAS,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const testDboTypes: () => void;
2
+ //# sourceMappingURL=dboTypeCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dboTypeCheck.d.ts","sourceRoot":"","sources":["../../lib/typeTests/dboTypeCheck.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,YAAY,YA2DxB,CAAA"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.testDboTypes = void 0;
4
+ const testDboTypes = () => {
5
+ (async () => {
6
+ const dbo = {};
7
+ dbo.someTable?.find;
8
+ const dbo1 = {};
9
+ dbo1.w?.find;
10
+ const db = {};
11
+ db.items2.find;
12
+ const r = await db.items2.find({}, {
13
+ select: { id: 1 },
14
+ orderBy: {
15
+ id: 1,
16
+ }
17
+ });
18
+ r[0]?.id;
19
+ //@ts-expect-error
20
+ r[0]?.bad_col;
21
+ const tr2 = {};
22
+ tr2.find({}, {
23
+ select: { id: 1 },
24
+ orderBy: { tr1_id: 1 }
25
+ });
26
+ tr2.find({}, {
27
+ //@ts-expect-error
28
+ select: { bad_col: 1 }
29
+ });
30
+ tr2.find({}, {
31
+ //@ts-expect-error
32
+ orderBy: { bad_col: 1 }
33
+ });
34
+ (await db.items2.find({}, { select: { items_id: 1 }, returnType: "values" }));
35
+ const publish = {
36
+ items: {
37
+ insert: {
38
+ fields: {
39
+ name: 1,
40
+ //@ts-expect-error
41
+ bad_col: 1
42
+ },
43
+ validate: async (row) => ({
44
+ ...row,
45
+ h: [""]
46
+ })
47
+ }
48
+ }
49
+ };
50
+ publish;
51
+ });
52
+ };
53
+ exports.testDboTypes = testDboTypes;
54
+ //# sourceMappingURL=dboTypeCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dboTypeCheck.js","sourceRoot":"","sources":["../../lib/typeTests/dboTypeCheck.ts"],"names":[],"mappings":";;;AAqBO,MAAM,YAAY,GAAI,GAAG,EAAE;IAChC,CAAC,KAAK,IAAI,EAAE;QACV,MAAM,GAAG,GAAG,EAAmB,CAAC;QAChC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC;QAEpB,MAAM,IAAI,GAAG,EAAqB,CAAC;QACnC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC;QAEb,MAAM,EAAE,GAAG,EAAsC,CAAC;QAClD,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;QAEf,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAG,EAAE;YAClC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;YACjB,OAAO,EAAE;gBACP,EAAE,EAAE,CAAC;aACN;SACF,CAAC,CAAC;QAEH,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAET,kBAAkB;QAClB,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC;QAEd,MAAM,GAAG,GAAG,EAAyD,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACX,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;YACjB,OAAO,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE;SACvB,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACX,kBAAkB;YAClB,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SACvB,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YACX,kBAAkB;YAClB,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE;SACxB,CAAC,CAAC;QAEH,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAA6B,CAAC;QAG1G,MAAM,OAAO,GAA+B;YAC1C,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,MAAM,EAAE;wBACN,IAAI,EAAE,CAAC;wBACP,kBAAkB;wBAClB,OAAO,EAAE,CAAC;qBACX;oBACD,QAAQ,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;wBACxB,GAAG,GAAG;wBACN,CAAC,EAAE,CAAC,EAAE,CAAC;qBACR,CAAC;iBACH;aACF;SACF,CAAC;QACF,OAAO,CAAC;IACV,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AA3DY,QAAA,YAAY,gBA2DxB"}
@@ -65,13 +65,13 @@ export type DBSchemaGenerated = {
65
65
  `;
66
66
  }
67
67
 
68
- type ServerViewHandler<T extends AnyObject = AnyObject> = ViewHandler<T> & { is_view: boolean; }
69
- type ServerTableHandler<T extends AnyObject = AnyObject> = TableHandler<T> & { is_view: boolean; }
68
+ type ServerViewHandler<T extends AnyObject = AnyObject, Schema extends DBSchema | void = void> = ViewHandler<T, Schema> & { is_view: boolean; }
69
+ type ServerTableHandler<T extends AnyObject = AnyObject, Schema extends DBSchema | void = void> = TableHandler<T, Schema> & { is_view: boolean; }
70
70
 
71
71
  export type DBTableHandlersFromSchema<Schema = void> = Schema extends DBSchema? {
72
72
  [tov_name in keyof Schema]: Schema[tov_name]["is_view"] extends true?
73
- ServerViewHandler<Schema[tov_name]["columns"]> :
74
- ServerTableHandler<Schema[tov_name]["columns"]>
73
+ ServerViewHandler<Schema[tov_name]["columns"], Schema> :
74
+ ServerTableHandler<Schema[tov_name]["columns"], Schema>
75
75
  } : Record<string, Partial<ServerTableHandler>>;
76
76
 
77
77
  export type DBHandlerServerExtra<TH = Record<string, Partial<ServerTableHandler>>, WithTransactions = true> = {
@@ -633,6 +633,7 @@ export const getPubSubManagerInitQuery = async function(this: PubSubManager): Pr
633
633
  const query = pgp.as.format(initQuery, { schema_md5, version });
634
634
  const existingSchema = await this.db.any(PROSTGLES_SCHEMA_EXISTS_QUERY);
635
635
  if(!existingSchema.length){
636
+ console.log("getPubSubManagerInitQuery: No prostgles.versions table found. Creating...");
636
637
  return query;
637
638
  }
638
639
  const { existingSchemaVersions } = await tryCatch(async () => {
@@ -642,6 +643,7 @@ export const getPubSubManagerInitQuery = async function(this: PubSubManager): Pr
642
643
  }
643
644
  });
644
645
  if(!existingSchemaVersions?.length){
646
+ console.log("getPubSubManagerInitQuery: Outdated prostgles schema. Re-creating...");
645
647
  return query;
646
648
  }
647
649
 
package/lib/index.ts CHANGED
@@ -2,6 +2,9 @@ import { SessionUser } from "./AuthHandler";
2
2
  import { Prostgles } from "./Prostgles";
3
3
  import { ProstglesInitOptions } from "./ProstglesTypes";
4
4
 
5
+ import { testDboTypes } from "./typeTests/dboTypeCheck";
6
+ testDboTypes();
7
+
5
8
  function prostgles<S = void, SUser extends SessionUser = SessionUser>(params: ProstglesInitOptions<S, SUser>){
6
9
 
7
10
  const prgl = new Prostgles(params as any);
@@ -0,0 +1,320 @@
1
+ export type DBSchemaGenerated = {
2
+ items: {
3
+ is_view: false;
4
+ select: true;
5
+ insert: true;
6
+ update: true;
7
+ delete: true;
8
+ columns: {
9
+ h?: null | string[];
10
+ id?: number;
11
+ name?: null | string;
12
+ };
13
+ };
14
+ items2: {
15
+ is_view: false;
16
+ select: true;
17
+ insert: true;
18
+ update: true;
19
+ delete: true;
20
+ columns: {
21
+ hh?: null | string[];
22
+ id?: number;
23
+ items_id?: null | number;
24
+ name?: null | string;
25
+ };
26
+ };
27
+ items3: {
28
+ is_view: false;
29
+ select: true;
30
+ insert: true;
31
+ update: true;
32
+ delete: true;
33
+ columns: {
34
+ h?: null | string[];
35
+ id?: number;
36
+ name?: null | string;
37
+ };
38
+ };
39
+ items4: {
40
+ is_view: false;
41
+ select: true;
42
+ insert: true;
43
+ update: true;
44
+ delete: true;
45
+ columns: {
46
+ added?: null | string;
47
+ id?: number;
48
+ name: string;
49
+ public?: null | string;
50
+ };
51
+ };
52
+ items4_pub: {
53
+ is_view: false;
54
+ select: true;
55
+ insert: true;
56
+ update: true;
57
+ delete: true;
58
+ columns: {
59
+ added?: null | string;
60
+ id?: number;
61
+ name: string;
62
+ public?: null | string;
63
+ };
64
+ };
65
+ items4a: {
66
+ is_view: false;
67
+ select: true;
68
+ insert: true;
69
+ update: true;
70
+ delete: true;
71
+ columns: {
72
+ id?: number;
73
+ items_id?: null | number;
74
+ items2_id?: null | number;
75
+ name?: null | string;
76
+ };
77
+ };
78
+ "prostgles_test.basic": {
79
+ is_view: false;
80
+ select: true;
81
+ insert: true;
82
+ update: true;
83
+ delete: true;
84
+ columns: {
85
+ id?: number;
86
+ txt?: null | string;
87
+ };
88
+ };
89
+ "prostgles_test.basic1": {
90
+ is_view: false;
91
+ select: true;
92
+ insert: true;
93
+ update: true;
94
+ delete: true;
95
+ columns: {
96
+ id?: number;
97
+ id_basic?: null | number;
98
+ txt?: null | string;
99
+ };
100
+ };
101
+ "prostgles_test.mv_basic1": {
102
+ is_view: true;
103
+ select: true;
104
+ insert: false;
105
+ update: false;
106
+ delete: false;
107
+ columns: {
108
+ id: number;
109
+ id_basic: number;
110
+ txt: string;
111
+ };
112
+ };
113
+ rec: {
114
+ is_view: false;
115
+ select: true;
116
+ insert: true;
117
+ update: true;
118
+ delete: true;
119
+ columns: {
120
+ id?: number;
121
+ parent_id?: null | number;
122
+ recf?: null | number;
123
+ };
124
+ };
125
+ rec_ref: {
126
+ is_view: false;
127
+ select: true;
128
+ insert: true;
129
+ update: true;
130
+ delete: true;
131
+ columns: {
132
+ id?: number;
133
+ };
134
+ };
135
+ self_join: {
136
+ is_view: false;
137
+ select: true;
138
+ insert: true;
139
+ update: true;
140
+ delete: true;
141
+ columns: {
142
+ id?: number;
143
+ my_id?: null | number;
144
+ my_id1?: null | number;
145
+ name?: null | string;
146
+ };
147
+ };
148
+ shapes: {
149
+ is_view: false;
150
+ select: true;
151
+ insert: true;
152
+ update: true;
153
+ delete: true;
154
+ columns: {
155
+ geog?: null | string;
156
+ geom?: null | string;
157
+ id?: string;
158
+ };
159
+ };
160
+ spatial_ref_sys: {
161
+ is_view: false;
162
+ select: true;
163
+ insert: true;
164
+ update: true;
165
+ delete: true;
166
+ columns: {
167
+ auth_name?: null | string;
168
+ auth_srid?: null | number;
169
+ proj4text?: null | string;
170
+ srid: number;
171
+ srtext?: null | string;
172
+ };
173
+ };
174
+ symbols: {
175
+ is_view: false;
176
+ select: true;
177
+ insert: true;
178
+ update: true;
179
+ delete: true;
180
+ columns: {
181
+ id: string;
182
+ };
183
+ };
184
+ tjson: {
185
+ is_view: false;
186
+ select: true;
187
+ insert: true;
188
+ update: true;
189
+ delete: true;
190
+ columns: {
191
+ colOneOf: "a" | "b" | "c"
192
+ json: { a: boolean; arr: '1' | '2' | '3'; arr1: 1 | 2 | 3; arr2: number[]; arrStr?: null | string[]; o?: | null
193
+ | { o1: number; }
194
+ | { o2: boolean; }; };
195
+ jsonOneOf?:
196
+ | null
197
+ | { command: 'a'; }
198
+ | { command: 'b'; option: number[]; }
199
+ status?:
200
+ | null
201
+ | { ok: string; }
202
+ | { err: string; }
203
+ | { loading: { loaded: number; total: number; }; }
204
+ table_config?: null | { referencedTables?: ( { name: string; minFiles: number; } )[]; recType?: null | Record<'a' | 'b', { bools: boolean[]; }>; };
205
+ };
206
+ };
207
+ tr1: {
208
+ is_view: false;
209
+ select: true;
210
+ insert: true;
211
+ update: true;
212
+ delete: true;
213
+ columns: {
214
+ id?: number;
215
+ t1?: null | string;
216
+ };
217
+ };
218
+ tr2: {
219
+ is_view: false;
220
+ select: true;
221
+ insert: true;
222
+ update: true;
223
+ delete: true;
224
+ columns: {
225
+ id?: number;
226
+ t1?: null | string;
227
+ t2?: null | string;
228
+ tr1_id?: null | number;
229
+ };
230
+ };
231
+ tr3: {
232
+ is_view: false;
233
+ select: true;
234
+ insert: true;
235
+ update: true;
236
+ delete: true;
237
+ columns: {
238
+ id?: number;
239
+ t2?: null | string;
240
+ tr2_id?: null | number;
241
+ };
242
+ };
243
+ trades: {
244
+ is_view: false;
245
+ select: true;
246
+ insert: true;
247
+ update: true;
248
+ delete: true;
249
+ columns: {
250
+ id?: number;
251
+ price: string;
252
+ symbol: string;
253
+ };
254
+ };
255
+ users: {
256
+ is_view: false;
257
+ select: true;
258
+ insert: true;
259
+ update: true;
260
+ delete: true;
261
+ columns: {
262
+ email: string;
263
+ id?: number;
264
+ preferences: { showIntro?: boolean; theme?: 'light' | 'dark' | 'auto'; others: any[]; };
265
+ status: "active" | "disabled" | "pending"
266
+ };
267
+ };
268
+ users_public_info: {
269
+ is_view: false;
270
+ select: true;
271
+ insert: true;
272
+ update: true;
273
+ delete: true;
274
+ columns: {
275
+ avatar?: null | string;
276
+ id?: number;
277
+ name?: null | string;
278
+ sid?: null | string;
279
+ };
280
+ };
281
+ uuid_text: {
282
+ is_view: false;
283
+ select: true;
284
+ insert: true;
285
+ update: true;
286
+ delete: true;
287
+ columns: {
288
+ col1?: null | string;
289
+ col2?: null | string;
290
+ id?: null | string;
291
+ };
292
+ };
293
+ v_items: {
294
+ is_view: true;
295
+ select: true;
296
+ insert: true;
297
+ update: true;
298
+ delete: true;
299
+ columns: {
300
+ id?: null | number;
301
+ name?: null | string;
302
+ };
303
+ };
304
+ various: {
305
+ is_view: false;
306
+ select: true;
307
+ insert: true;
308
+ update: true;
309
+ delete: true;
310
+ columns: {
311
+ added?: null | string;
312
+ h?: null | string[];
313
+ id?: number;
314
+ jsn?: null | any;
315
+ name?: null | string;
316
+ tsv?: null | string;
317
+ };
318
+ };
319
+
320
+ }
@@ -0,0 +1,81 @@
1
+ import { ViewHandler } from "prostgles-types";
2
+ import type { DBOFullyTyped } from "../DBSchemaBuilder";
3
+ import type { DBHandlerServer } from "../DboBuilder/DboBuilder";
4
+ import { Publish } from "../PublishParser/PublishParser";
5
+ import { DBSchemaGenerated } from "./DBoGenerated";
6
+
7
+ type DBSchema2 = {
8
+ tr2: {
9
+ is_view: false;
10
+ select: true;
11
+ insert: true;
12
+ update: true;
13
+ delete: true;
14
+ columns: {
15
+ id?: number;
16
+ t1?: null | string;
17
+ t2?: null | string;
18
+ tr1_id?: null | number;
19
+ };
20
+ };
21
+ }
22
+ export const testDboTypes = () => {
23
+ (async () => {
24
+ const dbo = {} as DBOFullyTyped;
25
+ dbo.someTable?.find;
26
+
27
+ const dbo1 = {} as DBHandlerServer;
28
+ dbo1.w?.find;
29
+
30
+ const db = {} as DBOFullyTyped<DBSchemaGenerated>;
31
+ db.items2.find;
32
+
33
+ const r = await db.items2.find({ }, {
34
+ select: { id: 1 },
35
+ orderBy: {
36
+ id: 1,
37
+ }
38
+ });
39
+
40
+ r[0]?.id;
41
+
42
+ //@ts-expect-error
43
+ r[0]?.bad_col;
44
+
45
+ const tr2 = {} as ViewHandler<DBSchema2["tr2"]["columns"], DBSchema2>;
46
+ tr2.find({}, {
47
+ select: { id: 1 },
48
+ orderBy: { tr1_id: 1 }
49
+ });
50
+
51
+ tr2.find({}, {
52
+ //@ts-expect-error
53
+ select: { bad_col: 1 }
54
+ });
55
+
56
+ tr2.find({}, {
57
+ //@ts-expect-error
58
+ orderBy: { bad_col: 1 }
59
+ });
60
+
61
+ (await db.items2.find({}, { select: { items_id: 1 }, returnType: "values" })) satisfies (number | null)[];
62
+
63
+
64
+ const publish: Publish<DBSchemaGenerated> = {
65
+ items: {
66
+ insert: {
67
+ fields: {
68
+ name: 1,
69
+ //@ts-expect-error
70
+ bad_col: 1
71
+ },
72
+ validate: async (row) => ({
73
+ ...row,
74
+ h: [""]
75
+ })
76
+ }
77
+ }
78
+ };
79
+ publish;
80
+ })
81
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.104",
3
+ "version": "4.2.106",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -4,13 +4,10 @@ import express from 'express';
4
4
  import prostgles from "prostgles-server";
5
5
  const app = express();
6
6
  const http = require('http').createServer(app);
7
- const { exec } = require('child_process');
8
7
  import { testPublishTypes } from "./publishTypeCheck";
9
8
  import { testPublish } from "./testPublish";
10
- import { testDboTypes } from "./dboTypeCheck";
11
9
  import { testTableConfig } from "./testTableConfig";
12
10
 
13
- testDboTypes();
14
11
  testPublishTypes();
15
12
 
16
13
  const isClientTest = (process.env.TEST_TYPE === "client");
@@ -255,14 +252,6 @@ function dd(){
255
252
  "dist/client/index.js"
256
253
  ], { cwd: execPath, stdio: "inherit" });
257
254
 
258
- // const clientPath = `cd ${__dirname}/../../../clientz && npm test`;
259
- // const proc = exec(clientPath, console.log);
260
- // proc.stdout?.on('data', function(data) {
261
- // console.log(data);
262
- // });
263
- // proc.stderr?.on('data', function(data) {
264
- // console.error(data);
265
- // });
266
255
  log("Waiting for client...");
267
256
 
268
257
  } else if(process.env.TEST_TYPE === "server"){
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "../..": {
23
23
  "name": "prostgles-server",
24
- "version": "4.2.103",
24
+ "version": "4.2.105",
25
25
  "license": "MIT",
26
26
  "dependencies": {
27
27
  "bluebird": "^3.7.2",
@@ -1,11 +0,0 @@
1
- import type { Filter } from "../DboBuilderTypes";
2
- import type { SelectItemValidated } from "./QueryBuilder";
3
- type Args = {
4
- having: Filter | undefined;
5
- select: SelectItemValidated[];
6
- tableAlias: string | undefined;
7
- filterFieldNames: string[];
8
- };
9
- export declare const prepareHaving: ({ having, select, tableAlias, filterFieldNames }: Args) => string;
10
- export {};
11
- //# sourceMappingURL=prepareHaving.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prepareHaving.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/QueryBuilder/prepareHaving.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,KAAK,IAAI,GAAG;IACV,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,mBAAmB,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;IAC/B,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B,CAAA;AACD,eAAO,MAAM,aAAa,qDAAsD,IAAI,WAUnF,CAAA"}