prostgles-server 4.0.57 → 4.0.59

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 (221) hide show
  1. package/dist/DboBuilder/getColumns.d.ts.map +1 -1
  2. package/dist/DboBuilder/getColumns.js +1 -13
  3. package/dist/DboBuilder/getColumns.js.map +1 -1
  4. package/dist/DboBuilder/runSQL.js +2 -2
  5. package/dist/DboBuilder/runSQL.js.map +1 -1
  6. package/dist/Prostgles.d.ts.map +1 -1
  7. package/dist/PubSubManager/PubSubManager.d.ts +1 -1
  8. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  9. package/dist/PubSubManager/PubSubManager.js +14 -1
  10. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  11. package/lib/DboBuilder/getColumns.ts +1 -18
  12. package/lib/DboBuilder/runSQL.ts +2 -2
  13. package/lib/Prostgles.ts +3 -3
  14. package/lib/PubSubManager/PubSubManager.ts +14 -1
  15. package/package.json +2 -2
  16. package/tests/client/PID.txt +1 -1
  17. package/tests/client/package.json +2 -2
  18. package/tests/client/tsconfig.json +2 -1
  19. package/tests/isomorphic_queries.ts +11 -9
  20. package/tests/server/DBoGenerated.d.ts +1 -1
  21. package/tests/server/dboTypeCheck.ts +3 -3
  22. package/tests/server/index.ts +7 -6
  23. package/tests/server/package-lock.json +1 -1
  24. package/tests/server/package.json +3 -3
  25. package/tests/server/publishTypeCheck.ts +1 -1
  26. package/tests/server/tsconfig.json +3 -2
  27. package/tests/test.sh +2 -0
  28. package/dist/FileManager.d.ts +0 -143
  29. package/dist/FileManager.d.ts.map +0 -1
  30. package/dist/FileManager.js +0 -646
  31. package/dist/FileManager.js.map +0 -1
  32. package/dist/TableConfig.d.ts +0 -267
  33. package/dist/TableConfig.d.ts.map +0 -1
  34. package/dist/TableConfig.js +0 -463
  35. package/dist/TableConfig.js.map +0 -1
  36. package/dist/validation.d.ts +0 -126
  37. package/dist/validation.d.ts.map +0 -1
  38. package/dist/validation.js +0 -405
  39. package/dist/validation.js.map +0 -1
  40. package/lib/AuthHandler.d.ts +0 -187
  41. package/lib/AuthHandler.d.ts.map +0 -1
  42. package/lib/AuthHandler.js +0 -478
  43. package/lib/DBEventsManager.d.ts +0 -38
  44. package/lib/DBEventsManager.d.ts.map +0 -1
  45. package/lib/DBEventsManager.js +0 -140
  46. package/lib/DBSchemaBuilder.d.ts +0 -13
  47. package/lib/DBSchemaBuilder.d.ts.map +0 -1
  48. package/lib/DBSchemaBuilder.js +0 -145
  49. package/lib/DboBuilder/QueryBuilder/Functions.d.ts +0 -64
  50. package/lib/DboBuilder/QueryBuilder/Functions.d.ts.map +0 -1
  51. package/lib/DboBuilder/QueryBuilder/Functions.js +0 -984
  52. package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts +0 -73
  53. package/lib/DboBuilder/QueryBuilder/QueryBuilder.d.ts.map +0 -1
  54. package/lib/DboBuilder/QueryBuilder/QueryBuilder.js +0 -335
  55. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts +0 -8
  56. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.d.ts.map +0 -1
  57. package/lib/DboBuilder/QueryBuilder/makeSelectQuery.js +0 -227
  58. package/lib/DboBuilder/TableHandler.d.ts +0 -37
  59. package/lib/DboBuilder/TableHandler.d.ts.map +0 -1
  60. package/lib/DboBuilder/TableHandler.js +0 -213
  61. package/lib/DboBuilder/ViewHandler.d.ts +0 -119
  62. package/lib/DboBuilder/ViewHandler.d.ts.map +0 -1
  63. package/lib/DboBuilder/ViewHandler.js +0 -1023
  64. package/lib/DboBuilder/delete.d.ts +0 -6
  65. package/lib/DboBuilder/delete.d.ts.map +0 -1
  66. package/lib/DboBuilder/delete.js +0 -128
  67. package/lib/DboBuilder/find.d.ts +0 -8
  68. package/lib/DboBuilder/find.d.ts.map +0 -1
  69. package/lib/DboBuilder/find.js +0 -91
  70. package/lib/DboBuilder/getColumns.d.ts +0 -12
  71. package/lib/DboBuilder/getColumns.d.ts.map +0 -1
  72. package/lib/DboBuilder/getColumns.js +0 -92
  73. package/lib/DboBuilder/getCondition.d.ts +0 -22
  74. package/lib/DboBuilder/getCondition.d.ts.map +0 -1
  75. package/lib/DboBuilder/getCondition.js +0 -236
  76. package/lib/DboBuilder/getSubscribeRelatedTables.d.ts +0 -20
  77. package/lib/DboBuilder/getSubscribeRelatedTables.d.ts.map +0 -1
  78. package/lib/DboBuilder/getSubscribeRelatedTables.js +0 -152
  79. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.d.ts +0 -3
  80. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.d.ts.map +0 -1
  81. package/lib/DboBuilder/getTablesForSchemaPostgresSQL.js +0 -207
  82. package/lib/DboBuilder/insert.d.ts +0 -6
  83. package/lib/DboBuilder/insert.d.ts.map +0 -1
  84. package/lib/DboBuilder/insert.js +0 -180
  85. package/lib/DboBuilder/insertDataParse.d.ts +0 -12
  86. package/lib/DboBuilder/insertDataParse.d.ts.map +0 -1
  87. package/lib/DboBuilder/insertDataParse.js +0 -253
  88. package/lib/DboBuilder/parseUpdateRules.d.ts +0 -18
  89. package/lib/DboBuilder/parseUpdateRules.d.ts.map +0 -1
  90. package/lib/DboBuilder/parseUpdateRules.js +0 -123
  91. package/lib/DboBuilder/runSQL.d.ts +0 -7
  92. package/lib/DboBuilder/runSQL.d.ts.map +0 -1
  93. package/lib/DboBuilder/runSQL.js +0 -135
  94. package/lib/DboBuilder/subscribe.d.ts +0 -20
  95. package/lib/DboBuilder/subscribe.d.ts.map +0 -1
  96. package/lib/DboBuilder/subscribe.js +0 -90
  97. package/lib/DboBuilder/update.d.ts +0 -6
  98. package/lib/DboBuilder/update.d.ts.map +0 -1
  99. package/lib/DboBuilder/update.js +0 -151
  100. package/lib/DboBuilder/uploadFile.d.ts +0 -7
  101. package/lib/DboBuilder/uploadFile.d.ts.map +0 -1
  102. package/lib/DboBuilder/uploadFile.js +0 -53
  103. package/lib/DboBuilder.d.ts +0 -306
  104. package/lib/DboBuilder.d.ts.map +0 -1
  105. package/lib/DboBuilder.js +0 -745
  106. package/lib/Event_Trigger_Tags.d.ts +0 -4
  107. package/lib/Event_Trigger_Tags.d.ts.map +0 -1
  108. package/lib/Event_Trigger_Tags.js +0 -116
  109. package/lib/FileManager/FileManager.d.ts +0 -135
  110. package/lib/FileManager/FileManager.d.ts.map +0 -1
  111. package/lib/FileManager/FileManager.js +0 -303
  112. package/lib/FileManager/initFileManager.d.ts +0 -4
  113. package/lib/FileManager/initFileManager.d.ts.map +0 -1
  114. package/lib/FileManager/initFileManager.js +0 -231
  115. package/lib/FileManager/parseFile.d.ts +0 -15
  116. package/lib/FileManager/parseFile.d.ts.map +0 -1
  117. package/lib/FileManager/parseFile.js +0 -58
  118. package/lib/FileManager/upload.d.ts +0 -6
  119. package/lib/FileManager/upload.d.ts.map +0 -1
  120. package/lib/FileManager/upload.js +0 -98
  121. package/lib/FileManager/uploadStream.d.ts +0 -5
  122. package/lib/FileManager/uploadStream.d.ts.map +0 -1
  123. package/lib/FileManager/uploadStream.js +0 -92
  124. package/lib/Filtering.d.ts +0 -15
  125. package/lib/Filtering.d.ts.map +0 -1
  126. package/lib/Filtering.js +0 -336
  127. package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts +0 -4
  128. package/lib/JSONBValidation/validate_jsonb_schema_sql.d.ts.map +0 -1
  129. package/lib/JSONBValidation/validate_jsonb_schema_sql.js +0 -500
  130. package/lib/JSONBValidation/validation.d.ts +0 -9
  131. package/lib/JSONBValidation/validation.d.ts.map +0 -1
  132. package/lib/JSONBValidation/validation.js +0 -131
  133. package/lib/PostgresNotifListenManager.d.ts +0 -28
  134. package/lib/PostgresNotifListenManager.d.ts.map +0 -1
  135. package/lib/PostgresNotifListenManager.js +0 -134
  136. package/lib/Prostgles.d.ts +0 -289
  137. package/lib/Prostgles.d.ts.map +0 -1
  138. package/lib/Prostgles.js +0 -685
  139. package/lib/PubSubManager/PubSubManager.d.ts +0 -175
  140. package/lib/PubSubManager/PubSubManager.d.ts.map +0 -1
  141. package/lib/PubSubManager/PubSubManager.js +0 -452
  142. package/lib/PubSubManager/addSub.d.ts +0 -8
  143. package/lib/PubSubManager/addSub.d.ts.map +0 -1
  144. package/lib/PubSubManager/addSub.js +0 -166
  145. package/lib/PubSubManager/addSync.d.ts +0 -8
  146. package/lib/PubSubManager/addSync.d.ts.map +0 -1
  147. package/lib/PubSubManager/addSync.js +0 -109
  148. package/lib/PubSubManager/getInitQuery.d.ts +0 -9
  149. package/lib/PubSubManager/getInitQuery.d.ts.map +0 -1
  150. package/lib/PubSubManager/getInitQuery.js +0 -552
  151. package/lib/PubSubManager/initPubSubManager.d.ts +0 -3
  152. package/lib/PubSubManager/initPubSubManager.d.ts.map +0 -1
  153. package/lib/PubSubManager/initPubSubManager.js +0 -116
  154. package/lib/PubSubManager/notifListener.d.ts +0 -5
  155. package/lib/PubSubManager/notifListener.d.ts.map +0 -1
  156. package/lib/PubSubManager/notifListener.js +0 -100
  157. package/lib/PubSubManager/pushSubData.d.ts +0 -3
  158. package/lib/PubSubManager/pushSubData.d.ts.map +0 -1
  159. package/lib/PubSubManager/pushSubData.js +0 -51
  160. package/lib/PublishParser.d.ts +0 -284
  161. package/lib/PublishParser.d.ts.map +0 -1
  162. package/lib/PublishParser.js +0 -421
  163. package/lib/SchemaWatch.d.ts +0 -13
  164. package/lib/SchemaWatch.d.ts.map +0 -1
  165. package/lib/SchemaWatch.js +0 -35
  166. package/lib/SyncReplication.d.ts +0 -34
  167. package/lib/SyncReplication.d.ts.map +0 -1
  168. package/lib/SyncReplication.js +0 -412
  169. package/lib/TableConfig/TableConfig.d.ts +0 -284
  170. package/lib/TableConfig/TableConfig.d.ts.map +0 -1
  171. package/lib/TableConfig/TableConfig.js +0 -437
  172. package/lib/TableConfig/getColumnDefinitionQuery.d.ts +0 -27
  173. package/lib/TableConfig/getColumnDefinitionQuery.d.ts.map +0 -1
  174. package/lib/TableConfig/getColumnDefinitionQuery.js +0 -87
  175. package/lib/TableConfig/getConstraintDefinitionQueries.d.ts +0 -34
  176. package/lib/TableConfig/getConstraintDefinitionQueries.d.ts.map +0 -1
  177. package/lib/TableConfig/getConstraintDefinitionQueries.js +0 -65
  178. package/lib/TableConfig/getFutureTableSchema.d.ts +0 -15
  179. package/lib/TableConfig/getFutureTableSchema.d.ts.map +0 -1
  180. package/lib/TableConfig/getFutureTableSchema.js +0 -43
  181. package/lib/TableConfig/getTableColumnQueries.d.ts +0 -16
  182. package/lib/TableConfig/getTableColumnQueries.d.ts.map +0 -1
  183. package/lib/TableConfig/getTableColumnQueries.js +0 -107
  184. package/lib/index.d.ts +0 -5
  185. package/lib/index.d.ts.map +0 -1
  186. package/lib/index.js +0 -7
  187. package/lib/shortestPath.d.ts +0 -10
  188. package/lib/shortestPath.d.ts.map +0 -1
  189. package/lib/shortestPath.js +0 -111
  190. package/lib/utils.d.ts +0 -3
  191. package/lib/utils.d.ts.map +0 -1
  192. package/lib/utils.js +0 -12
  193. package/tests/client/index.d.ts +0 -2
  194. package/tests/client/index.d.ts.map +0 -1
  195. package/tests/client/index.js +0 -80
  196. package/tests/client/index.js.map +0 -1
  197. package/tests/client_only_queries.d.ts +0 -4
  198. package/tests/client_only_queries.d.ts.map +0 -1
  199. package/tests/client_only_queries.js +0 -282
  200. package/tests/config_test/DBoGenerated.d.ts +0 -388
  201. package/tests/config_test/index.js +0 -174
  202. package/tests/config_test/index.js.map +0 -1
  203. package/tests/isomorphic_queries.d.ts +0 -9
  204. package/tests/isomorphic_queries.d.ts.map +0 -1
  205. package/tests/isomorphic_queries.js +0 -773
  206. package/tests/manual_test/DBoGenerated.d.ts +0 -398
  207. package/tests/manual_test/index.d.ts +0 -2
  208. package/tests/manual_test/index.d.ts.map +0 -1
  209. package/tests/manual_test/index.js +0 -65
  210. package/tests/server/dboTypeCheck.d.ts +0 -2
  211. package/tests/server/dboTypeCheck.d.ts.map +0 -1
  212. package/tests/server/dboTypeCheck.js +0 -27
  213. package/tests/server/index.d.ts +0 -2
  214. package/tests/server/index.d.ts.map +0 -1
  215. package/tests/server/index.js +0 -507
  216. package/tests/server/publishTypeCheck.d.ts +0 -2
  217. package/tests/server/publishTypeCheck.d.ts.map +0 -1
  218. package/tests/server/publishTypeCheck.js +0 -130
  219. package/tests/server_only_queries.d.ts +0 -2
  220. package/tests/server_only_queries.d.ts.map +0 -1
  221. package/tests/server_only_queries.js +0 -19
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getColConstraints = exports.getColConstraintsQuery = exports.getConstraintDefinitionQueries = void 0;
4
- const prostgles_types_1 = require("prostgles-types");
5
- const PubSubManager_1 = require("../PubSubManager/PubSubManager");
6
- const getConstraintDefinitionQueries = ({ tableConf, tableName }) => {
7
- if ("constraints" in tableConf && tableConf.constraints) {
8
- const { constraints } = tableConf;
9
- if (!constraints) {
10
- return undefined;
11
- }
12
- if (Array.isArray(constraints)) {
13
- return constraints.map(c => ({ content: c, alterQuery: `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD ${c}` }));
14
- }
15
- else {
16
- const constraintNames = (0, prostgles_types_1.getKeys)(tableConf.constraints);
17
- return constraintNames.map(constraintName => {
18
- const _cnstr = constraints[constraintName];
19
- const constraintDef = typeof _cnstr === "string" ? _cnstr : `${_cnstr.type} (${_cnstr.content})`;
20
- /** Drop constraints with the same name */
21
- // const existingConstraint = constraints.some(c => c.conname === constraintName);
22
- // if(existingConstraint){
23
- // if(canDrop) queries.push(`ALTER TABLE ${asName(tableName)} DROP CONSTRAINT ${asName(constraintName)};`);
24
- // }
25
- const alterQuery = `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)} ADD CONSTRAINT ${(0, prostgles_types_1.asName)(constraintName)} ${constraintDef};`;
26
- return { name: constraintName, alterQuery, content: constraintDef };
27
- });
28
- }
29
- }
30
- };
31
- exports.getConstraintDefinitionQueries = getConstraintDefinitionQueries;
32
- const getColConstraintsQuery = ({ column, table, types }) => {
33
- let query = `
34
- SELECT *
35
- FROM (
36
- SELECT distinct c.conname as name, c.contype as type,
37
- pg_get_constraintdef(c.oid) as definition,
38
- nsp.nspname as schema,
39
- (SELECT r.relname from pg_class r where r.oid = c.conrelid) as "table",
40
- (SELECT array_agg(attname::text) from pg_attribute
41
- where attrelid = c.conrelid and ARRAY[attnum] <@ c.conkey) as cols
42
- -- (SELECT array_agg(attname::text) from pg_attribute
43
- -- where attrelid = c.confrelid and ARRAY[attnum] <@ c.confkey) as fcols,
44
- -- (SELECT r.relname from pg_class r where r.oid = c.confrelid) as ftable
45
- FROM pg_catalog.pg_constraint c
46
- INNER JOIN pg_catalog.pg_class rel
47
- ON rel.oid = c.conrelid
48
- INNER JOIN pg_catalog.pg_namespace nsp
49
- ON nsp.oid = connamespace
50
- ) t
51
- WHERE TRUE
52
- `;
53
- if (table)
54
- query += `\nAND "table" = ${(0, PubSubManager_1.asValue)(table)}`;
55
- if (column)
56
- query += `\nAND cols @> ARRAY[${(0, PubSubManager_1.asValue)(column)}]`;
57
- if (types?.length)
58
- query += `\nAND type IN (${types.map(v => (0, PubSubManager_1.asValue)(v)).join(", ")})`;
59
- return query;
60
- };
61
- exports.getColConstraintsQuery = getColConstraintsQuery;
62
- const getColConstraints = ({ db, column, table, types }) => {
63
- return db.manyOrNone((0, exports.getColConstraintsQuery)({ column, table, types }));
64
- };
65
- exports.getColConstraints = getColConstraints;
@@ -1,15 +0,0 @@
1
- import { DB } from "../Prostgles";
2
- import { ColumnMinimalInfo } from "./getColumnDefinitionQuery";
3
- import { ColConstraint, ConstraintDef } from "./getConstraintDefinitionQueries";
4
- type Args = {
5
- db: DB;
6
- columnDefs: string[];
7
- tableName: string;
8
- constraintDefs?: ConstraintDef[];
9
- };
10
- export declare const getFutureTableSchema: ({ columnDefs, tableName, constraintDefs, db }: Args) => Promise<{
11
- constraints: ColConstraint[];
12
- cols: ColumnMinimalInfo[];
13
- }>;
14
- export {};
15
- //# sourceMappingURL=getFutureTableSchema.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFutureTableSchema.d.ts","sourceRoot":"","sources":["getFutureTableSchema.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAmB,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,aAAa,EAAqB,MAAM,kCAAkC,CAAC;AAEnG,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;CAClC,CAAC;AAEF,eAAO,MAAM,oBAAoB,kDAA8D,IAAI;iBACpF,aAAa,EAAE;UACtB,iBAAiB,EAAE;EA6C1B,CAAA"}
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFutureTableSchema = void 0;
4
- const prostgles_types_1 = require("prostgles-types");
5
- const DboBuilder_1 = require("../DboBuilder");
6
- const { TransactionMode, isolationLevel } = DboBuilder_1.pgp.txMode;
7
- const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
8
- const getConstraintDefinitionQueries_1 = require("./getConstraintDefinitionQueries");
9
- const getFutureTableSchema = async ({ columnDefs, tableName, constraintDefs = [], db }) => {
10
- let constraints = [];
11
- let cols = [];
12
- const ROLLBACK = "Rollback";
13
- try {
14
- const txMode = new TransactionMode({
15
- tiLevel: isolationLevel.serializable
16
- });
17
- await db.tx({ mode: txMode }, async (t) => {
18
- /** To prevent deadlocks we use a random table name -> Not feasible because named constraints cannot be recreated without dropping the existing ones from actual table */
19
- // const tableEsc = asName(tableName.slice(0, 12) + (await t.oneOrNone(`SELECT md5(now()::text) as md5`)).md5);
20
- const tableEsc = (0, prostgles_types_1.asName)(tableName);
21
- const consQueries = constraintDefs.map(c => `ALTER TABLE ${tableEsc} ADD ${c.name ? ` CONSTRAINT ${(0, prostgles_types_1.asName)(c.name)}` : ""} ${c.content};`).join("\n");
22
- const query = `
23
- DROP TABLE IF EXISTS ${tableEsc} CASCADE;
24
- CREATE TABLE ${tableEsc} (
25
- ${columnDefs.join(",\n")}
26
- );
27
- ${consQueries}
28
- `;
29
- await t.any(query);
30
- constraints = await (0, getConstraintDefinitionQueries_1.getColConstraints)({ db: t, table: tableName });
31
- cols = await (0, getColumnDefinitionQuery_1.getTableColumns)({ db: t, table: tableName });
32
- /** Rollback */
33
- return Promise.reject(ROLLBACK);
34
- });
35
- }
36
- catch (e) {
37
- if (e !== ROLLBACK) {
38
- throw e;
39
- }
40
- }
41
- return { cols, constraints };
42
- };
43
- exports.getFutureTableSchema = getFutureTableSchema;
@@ -1,16 +0,0 @@
1
- import { DB, DBHandlerServer } from "../Prostgles";
2
- import { TableConfig } from "./TableConfig";
3
- type Args = {
4
- db: DB;
5
- tableConf: TableConfig[string];
6
- tableName: string;
7
- tableHandler: DBHandlerServer[string];
8
- };
9
- export declare const getTableColumnQueries: ({ db, tableConf, tableName, tableHandler }: Args) => Promise<{
10
- columnDefs: string[];
11
- newColumnDefs: string[];
12
- fullQuery: string;
13
- isCreate: boolean;
14
- }>;
15
- export {};
16
- //# sourceMappingURL=getTableColumnQueries.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTableColumnQueries.d.ts","sourceRoot":"","sources":["getTableColumnQueries.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,EAAE,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,KAAK,IAAI,GAAG;IACV,EAAE,EAAE,EAAE,CAAC;IACP,SAAS,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CACvC,CAAA;AAED,eAAO,MAAM,qBAAqB,+CAAsD,IAAI;gBAC9E,MAAM,EAAE;mBACL,MAAM,EAAE;eACZ,MAAM;cACP,OAAO;EA8GlB,CAAA"}
@@ -1,107 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getTableColumnQueries = void 0;
4
- const prostgles_types_1 = require("prostgles-types");
5
- const validate_jsonb_schema_sql_1 = require("../JSONBValidation/validate_jsonb_schema_sql");
6
- const getColumnDefinitionQuery_1 = require("./getColumnDefinitionQuery");
7
- const getFutureTableSchema_1 = require("./getFutureTableSchema");
8
- const getTableColumnQueries = async ({ db, tableConf, tableName, tableHandler }) => {
9
- let newColumnDefs = [];
10
- const droppedColNames = [];
11
- const alteredColQueries = [];
12
- let fullQuery = "";
13
- let isCreate = false;
14
- if ("columns" in tableConf && tableConf.columns) {
15
- const hasJSONBValidation = (0, prostgles_types_1.getKeys)(tableConf.columns).some(c => {
16
- const cConf = tableConf.columns?.[c];
17
- return cConf && (0, prostgles_types_1.isObject)(cConf) && (cConf.jsonbSchema || cConf.jsonbSchemaType);
18
- });
19
- /** Must install validation function */
20
- if (hasJSONBValidation) {
21
- try {
22
- await db.any(validate_jsonb_schema_sql_1.validate_jsonb_schema_sql);
23
- }
24
- catch (err) {
25
- console.error("Could not install the jsonb validation function due to error: ", err);
26
- throw err;
27
- }
28
- }
29
- const columns = (0, prostgles_types_1.getKeys)(tableConf.columns).filter(c => {
30
- const colDef = tableConf.columns[c];
31
- /** Exclude NamedJoinColumn */
32
- return typeof colDef === "string" || !("joinDef" in colDef);
33
- });
34
- const colDefs = [];
35
- for (const colName of columns) {
36
- const colConf = tableConf.columns[colName];
37
- /* Get column definition */
38
- const colDef = await (0, getColumnDefinitionQuery_1.getColumnDefinitionQuery)({ colConf, column: colName, db, table: tableName });
39
- if (colDef) {
40
- colDefs.push({ name: colName, def: colDef });
41
- }
42
- }
43
- const columnDefs = colDefs.map(c => c.def);
44
- if (!colDefs.length) {
45
- return undefined;
46
- }
47
- const ALTERQ = `ALTER TABLE ${(0, prostgles_types_1.asName)(tableName)}`;
48
- if (!tableHandler) {
49
- newColumnDefs.push(...colDefs.map(c => c.def));
50
- }
51
- else if (tableHandler) {
52
- const currCols = await (0, getColumnDefinitionQuery_1.getTableColumns)({ db, table: tableName });
53
- /** Add new columns */
54
- newColumnDefs = colDefs.filter(nc => !tableHandler.columns?.some(c => nc.name === c.name)).map(c => c.def);
55
- /** Altered/Dropped columns */
56
- const { cols: futureCols } = await (0, getFutureTableSchema_1.getFutureTableSchema)({ tableName, columnDefs, constraintDefs: [], db });
57
- currCols.forEach(c => {
58
- const newCol = futureCols.find(nc => nc.column_name === c.column_name);
59
- if (!newCol) {
60
- droppedColNames.push(c.column_name);
61
- }
62
- else if (newCol.nullable !== c.nullable) {
63
- alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.nullable ? "SET" : "DROP"} NOT NULL;`);
64
- }
65
- else if (newCol.udt_name !== c.udt_name) {
66
- alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} TYPE ${newCol.udt_name} USING ${(0, prostgles_types_1.asName)(c.column_name)}::${newCol.udt_name};`);
67
- }
68
- else if (newCol.column_default !== c.column_default) {
69
- const colConfig = colDefs.find(cd => cd.name === c.column_name);
70
- if (["serial", "bigserial"].some(t => colConfig?.def.toLowerCase().includes(` ${t}`)) && c.column_default?.toLowerCase().includes("nextval")) {
71
- /** Ignore SERIAL/BIGSERIAL <> nextval mismatch */
72
- }
73
- else {
74
- alteredColQueries.push(`${ALTERQ} ALTER COLUMN ${(0, prostgles_types_1.asName)(c.column_name)} ${newCol.column_default === null ? "DROP DEFAULT" : `SET DEFAULT ${newCol.column_default}`};`);
75
- }
76
- }
77
- });
78
- }
79
- if (!tableHandler || tableConf.dropIfExists || tableConf.dropIfExistsCascade) {
80
- isCreate = true;
81
- const DROPQ = `DROP TABLE IF EXISTS ${(0, prostgles_types_1.asName)(tableName)}`;
82
- fullQuery = ([
83
- ...(tableConf.dropIfExists ? [`${DROPQ};`] : tableConf.dropIfExistsCascade ? [`${DROPQ} CASCADE;`] : []),
84
- `CREATE TABLE ${(0, prostgles_types_1.asName)(tableName)} (`,
85
- columnDefs.join(", \n"),
86
- `);`
87
- ].join("\n"));
88
- }
89
- else {
90
- fullQuery = [
91
- ...droppedColNames.map(c => `${ALTERQ} DROP COLUMN ${(0, prostgles_types_1.asName)(c)};`),
92
- ...newColumnDefs.map(c => `${ALTERQ} ADD COLUMN ${c};`),
93
- ...alteredColQueries,
94
- ].join("\n");
95
- }
96
- return {
97
- fullQuery,
98
- columnDefs,
99
- isCreate,
100
- newColumnDefs,
101
- };
102
- }
103
- else {
104
- return undefined;
105
- }
106
- };
107
- exports.getTableColumnQueries = getTableColumnQueries;
package/lib/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { SessionUser } from "./AuthHandler";
2
- import { ProstglesInitOptions } from "./Prostgles";
3
- declare function prostgles<S = void, SUser extends SessionUser = SessionUser>(params: ProstglesInitOptions<S, SUser>): Promise<import("./Prostgles").InitResult>;
4
- export = prostgles;
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAa,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAE9D,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,6CAI3G;AACD,SAAS,SAAS,CAAC"}
package/lib/index.js DELETED
@@ -1,7 +0,0 @@
1
- "use strict";
2
- const Prostgles_1 = require("./Prostgles");
3
- function prostgles(params) {
4
- const prgl = new Prostgles_1.Prostgles(params);
5
- return prgl.init(params.onReady, "initialise");
6
- }
7
- module.exports = prostgles;
@@ -1,10 +0,0 @@
1
- export type Graph = {
2
- [key: string]: {
3
- [key: string]: number;
4
- };
5
- };
6
- export declare const findShortestPath: (graph: Graph, startNode: string, endNode: string) => {
7
- distance: number;
8
- path: string[];
9
- };
10
- //# sourceMappingURL=shortestPath.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shortestPath.d.ts","sourceRoot":"","sources":["shortestPath.ts"],"names":[],"mappings":"AAcA,MAAM,MAAM,KAAK,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACxC,CAAC;AAEF,eAAO,MAAM,gBAAgB,UAAW,KAAK,aAAa,MAAM,WAAW,MAAM,KAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAgErH,CAAC"}
@@ -1,111 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findShortestPath = void 0;
4
- const shortestDistanceNode = (distances, visited) => {
5
- let shortest = null;
6
- for (const node in distances) {
7
- const currentIsShortest = shortest === null || distances[node] < distances[shortest];
8
- if (currentIsShortest && !visited.includes(node)) {
9
- shortest = node;
10
- }
11
- }
12
- return shortest;
13
- };
14
- const findShortestPath = (graph, startNode, endNode) => {
15
- // establish object for recording distances from the start node
16
- let distances = {};
17
- distances[endNode] = "Infinity";
18
- distances = Object.assign(distances, graph[startNode]);
19
- // track paths
20
- const parents = { endNode: null };
21
- for (const child in graph[startNode]) {
22
- parents[child] = startNode;
23
- }
24
- // track nodes that have already been visited
25
- const visited = [];
26
- // find the nearest node
27
- let node = shortestDistanceNode(distances, visited);
28
- // for that node
29
- while (node) {
30
- // find its distance from the start node & its child nodes
31
- const distance = distances[node];
32
- const children = graph[node];
33
- // for each of those child nodes
34
- for (const child in children) {
35
- // make sure each child node is not the start node
36
- if (String(child) === String(startNode)) {
37
- continue;
38
- }
39
- else {
40
- // save the distance from the start node to the child node
41
- const newdistance = distance + children[child];
42
- // if there's no recorded distance from the start node to the child node in the distances object
43
- // or if the recorded distance is shorter than the previously stored distance from the start node to the child node
44
- // save the distance to the object
45
- // record the path
46
- if (!distances[child] || distances[child] > newdistance) {
47
- distances[child] = newdistance;
48
- parents[child] = node;
49
- }
50
- }
51
- }
52
- // move the node to the visited set
53
- visited.push(node);
54
- // move to the nearest neighbor node
55
- node = shortestDistanceNode(distances, visited);
56
- }
57
- // using the stored paths from start node to end node
58
- // record the shortest path
59
- const shortestPath = [endNode];
60
- let parent = parents[endNode];
61
- while (parent) {
62
- shortestPath.push(parent);
63
- parent = parents[parent];
64
- }
65
- shortestPath.reverse();
66
- // return the shortest path from start node to end node & its distance
67
- const results = {
68
- distance: distances[endNode],
69
- path: shortestPath,
70
- };
71
- return results;
72
- };
73
- exports.findShortestPath = findShortestPath;
74
- /* Usage:
75
-
76
- const graph = {
77
- start: { A: 5, B: 2 },
78
- A: { start: 1, C: 4, D: 2 },
79
- B: { A: 8, D: 7 },
80
- C: { D: 6, end: 3 },
81
- D: { end: 1 },
82
- end: {},
83
- };
84
-
85
- findShortestPath(graph, 'start', 'end');
86
-
87
- {
88
- "distance": 8,
89
- "path": [
90
- "start",
91
- "A",
92
- "D",
93
- "end"
94
- ]
95
- }
96
-
97
-
98
-
99
-
100
- // The graph is unidirectional
101
-
102
- const graph = {
103
- start: { A: 5 },
104
- end: { A: 1 },
105
- A: { start: 1, end: 1 },
106
- };
107
-
108
- findShortestPath(graph, 'start', 'end');
109
-
110
-
111
- */
package/lib/utils.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export { get } from "prostgles-types";
2
- export declare const clone: <T extends any[] | Record<string, any>>(obj: T) => T;
3
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,eAAO,MAAM,KAAK,sDAMjB,CAAA"}
package/lib/utils.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.clone = exports.get = void 0;
4
- var prostgles_types_1 = require("prostgles-types");
5
- Object.defineProperty(exports, "get", { enumerable: true, get: function () { return prostgles_types_1.get; } });
6
- const clone = (obj) => {
7
- if (typeof structuredClone !== "undefined") {
8
- return structuredClone(obj);
9
- }
10
- return JSON.parse(JSON.stringify(obj));
11
- };
12
- exports.clone = clone;
@@ -1,2 +0,0 @@
1
- export { DBHandlerClient, Auth } from "prostgles-client/dist/prostgles";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC"}
@@ -1,80 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const prostgles_client_1 = __importDefault(require("prostgles-client"));
7
- const socket_io_client_1 = __importDefault(require("socket.io-client"));
8
- const isomorphic_queries_1 = __importDefault(require("../isomorphic_queries"));
9
- const client_only_queries_1 = __importDefault(require("../client_only_queries"));
10
- const start = Date.now();
11
- const log = (msg, extra) => {
12
- console.log(...[`(client) t+ ${(Date.now() - start)}ms ` + msg, extra].filter(v => v));
13
- };
14
- log("Started client...");
15
- const url = process.env.PRGL_CLIENT_URL || "http://127.0.0.1:3001", path = process.env.PRGL_CLIENT_PATH || "/teztz/s", socket = (0, socket_io_client_1.default)(url, { path, query: { token: "haha" } }), //
16
- stopTest = (err) => {
17
- if (err)
18
- log("Stopping client due to error: " + JSON.stringify(err));
19
- setTimeout(() => {
20
- socket.emit("stop-test", !err ? err : { err: err.toString(), error: err }, cb => {
21
- log("Stopping client...");
22
- if (err)
23
- console.trace(err);
24
- });
25
- setTimeout(() => {
26
- process.exit(err ? 1 : 0);
27
- }, 1000);
28
- }, 1000);
29
- };
30
- try {
31
- /* TODO find out why connection does not happen on rare occasions*/
32
- socket.on("connected", () => {
33
- log("Client connected.");
34
- });
35
- socket.on("connect", () => {
36
- log("Client connect.");
37
- });
38
- socket.on("connect_failed", (err) => {
39
- log("connect_failed", err);
40
- });
41
- socket.on("start-test", (data) => {
42
- log("start-test", data);
43
- // @ts-ignore
44
- (0, prostgles_client_1.default)({
45
- socket,
46
- onReconnect: (socket) => {
47
- log("Reconnected");
48
- },
49
- onReady: async (db, methods, tableSchema, auth) => {
50
- log("onReady.auth", auth);
51
- try {
52
- log("Starting Client isomorphic tests");
53
- // try {
54
- await (0, isomorphic_queries_1.default)(db);
55
- // } catch(e){
56
- // throw { isoErr: e }
57
- // }
58
- log("Client isomorphic tests successful");
59
- // try {
60
- await (0, client_only_queries_1.default)(db, auth, log, methods, tableSchema);
61
- // } catch(e){
62
- // throw { ClientErr: e }
63
- // }
64
- log("Client-only replication tests successful");
65
- stopTest();
66
- }
67
- catch (err) {
68
- console.trace(err);
69
- stopTest(err);
70
- // throw err;
71
- }
72
- }
73
- });
74
- });
75
- }
76
- catch (e) {
77
- console.trace(e);
78
- stopTest(e);
79
- throw e;
80
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":";;;;;AAAA,wEAAyC;AACzC,wEAAkC;AAElC,+EAA+C;AAC/C,iFAAiD;AAGjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,uBAAuB,EAChE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,UAAU,EACjD,MAAM,GAAG,0BAAE,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,EAC1B,QAAQ,GAAG,CAAC,GAAI,EAAE,EAAE;IAClB,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,CAAA,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;QAEjE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;QAClC,IAAG,GAAG;YAAE,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE3B,UAAU,CAAC,GAAG,EAAE;YACd,OAAO,CAAC,IAAI,CAAC,GAAG,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1B,CAAC,EAAE,IAAI,CAAC,CAAC;IAEX,CAAC,CAAC,CAAC;AAEL,CAAC,CAAC;AAEF,IAAI;IACF,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;QAE3B,0BAAS,CAAC;YACR,MAAM;YACN,WAAW,EAAE,CAAC,MAAM,EAAE,EAAE;YAGxB,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;gBAE7B,IAAI;oBACF,MAAM,4BAAU,CAAC,EAAE,CAAC,CAAC;oBACrB,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;oBAEjD,MAAM,6BAAW,CAAC,EAAE,CAAC,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;oBAGvD,QAAQ,EAAE,CAAC;iBAEZ;gBAAC,OAAO,GAAG,EAAC;oBACX,QAAQ,CAAC,GAAG,CAAC,CAAC;iBACf;YACH,CAAC;SACF,CAAC,CAAC;IAEL,CAAC,CAAC,CAAA;CAEH;AAAC,OAAM,CAAC,EAAE;IACT,QAAQ,CAAC,CAAC,CAAC,CAAC;CACb"}
@@ -1,4 +0,0 @@
1
- import type { DBHandlerClient, Auth } from "./client/index";
2
- import { DBSchemaTable } from "prostgles-types";
3
- export default function client_only(db: Required<DBHandlerClient>, auth: Auth, log: (...args: any[]) => any, methods: any, tableSchema: DBSchemaTable[]): Promise<void>;
4
- //# sourceMappingURL=client_only_queries.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client_only_queries.d.ts","sourceRoot":"","sources":["client_only_queries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAa,MAAM,iBAAiB,CAAC;AAG3D,wBAA8B,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC,eAAe,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,EAAE,OAAO,KAAA,EAAE,WAAW,EAAE,aAAa,EAAE,iBA0TvJ"}