prostgles-server 4.2.553 → 4.2.554

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 (44) hide show
  1. package/dist/DboBuilder/TableHandler/TableHandler.d.ts +11 -3
  2. package/dist/DboBuilder/TableHandler/TableHandler.d.ts.map +1 -1
  3. package/dist/DboBuilder/TableHandler/TableHandler.js +49 -6
  4. package/dist/DboBuilder/TableHandler/TableHandler.js.map +1 -1
  5. package/dist/DboBuilder/TableHandler/delete.js +3 -3
  6. package/dist/DboBuilder/TableHandler/delete.js.map +1 -1
  7. package/dist/DboBuilder/TableHandler/{executeHooksCheckAndPostValidation.d.ts → executeAfterHooksCheckAndPostValidation.d.ts} +2 -2
  8. package/dist/DboBuilder/TableHandler/executeAfterHooksCheckAndPostValidation.d.ts.map +1 -0
  9. package/dist/DboBuilder/TableHandler/{executeHooksCheckAndPostValidation.js → executeAfterHooksCheckAndPostValidation.js} +19 -15
  10. package/dist/DboBuilder/TableHandler/executeAfterHooksCheckAndPostValidation.js.map +1 -0
  11. package/dist/DboBuilder/TableHandler/insert/insert.d.ts.map +1 -1
  12. package/dist/DboBuilder/TableHandler/insert/insert.js +11 -5
  13. package/dist/DboBuilder/TableHandler/insert/insert.js.map +1 -1
  14. package/dist/DboBuilder/TableHandler/isApplicableHook.d.ts +5 -0
  15. package/dist/DboBuilder/TableHandler/isApplicableHook.d.ts.map +1 -0
  16. package/dist/DboBuilder/TableHandler/isApplicableHook.js +17 -0
  17. package/dist/DboBuilder/TableHandler/isApplicableHook.js.map +1 -0
  18. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js +2 -2
  19. package/dist/DboBuilder/TableHandler/runInsertUpdateQuery.js.map +1 -1
  20. package/dist/DboBuilder/TableHandler/update.d.ts.map +1 -1
  21. package/dist/DboBuilder/TableHandler/update.js +4 -1
  22. package/dist/DboBuilder/TableHandler/update.js.map +1 -1
  23. package/dist/PublishParser/publishTypesAndUtils.d.ts +28 -1
  24. package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
  25. package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
  26. package/dist/TableConfig/TableConfig.d.ts +3 -2
  27. package/dist/TableConfig/TableConfig.d.ts.map +1 -1
  28. package/dist/TableConfig/TableConfig.js.map +1 -1
  29. package/dist/TableConfig/getCreateSchemaQueries.d.ts +2 -0
  30. package/dist/TableConfig/getCreateSchemaQueries.d.ts.map +1 -1
  31. package/dist/TableConfig/getTableConfigSchemaQueries.d.ts +2 -0
  32. package/dist/TableConfig/getTableConfigSchemaQueries.d.ts.map +1 -1
  33. package/lib/DboBuilder/TableHandler/TableHandler.ts +59 -5
  34. package/lib/DboBuilder/TableHandler/delete.ts +3 -3
  35. package/lib/DboBuilder/TableHandler/{executeHooksCheckAndPostValidation.ts → executeAfterHooksCheckAndPostValidation.ts} +25 -16
  36. package/lib/DboBuilder/TableHandler/insert/insert.ts +21 -7
  37. package/lib/DboBuilder/TableHandler/isApplicableHook.ts +28 -0
  38. package/lib/DboBuilder/TableHandler/runInsertUpdateQuery.ts +2 -2
  39. package/lib/DboBuilder/TableHandler/update.ts +5 -1
  40. package/lib/PublishParser/publishTypesAndUtils.ts +31 -1
  41. package/lib/TableConfig/TableConfig.ts +3 -2
  42. package/package.json +1 -1
  43. package/dist/DboBuilder/TableHandler/executeHooksCheckAndPostValidation.d.ts.map +0 -1
  44. package/dist/DboBuilder/TableHandler/executeHooksCheckAndPostValidation.js.map +0 -1
@@ -55,6 +55,20 @@ export type UpdateRequestData<R extends AnyObject = AnyObject> =
55
55
  | UpdateRequestDataOne<R>
56
56
  | UpdateRequestDataBatch<R>;
57
57
 
58
+ export type ValidateBeforeRowArgsCommon<R = AnyObject, DBX = DBHandlerServer> = {
59
+ row: R;
60
+ dbx: DBX;
61
+ tx: pgPromise.ITask<{}> | DB;
62
+ } & (
63
+ | {
64
+ command: "insert";
65
+ data: R;
66
+ }
67
+ | {
68
+ command: "update";
69
+ data: Partial<R>;
70
+ }
71
+ );
58
72
  export type ValidateRowArgsCommon<R = AnyObject, DBX = DBHandlerServer> = {
59
73
  row: R;
60
74
  dbx: DBX;
@@ -74,9 +88,25 @@ export type ValidateRowArgsCommon<R = AnyObject, DBX = DBHandlerServer> = {
74
88
  }
75
89
  );
76
90
 
91
+ export type BeforeEachTsTrigger<R, DBX> = {
92
+ commands: Partial<Record<"insert" | "update", 1>>;
93
+ /**
94
+ * Will only run this trigger if the insert/update provides non null values for these fields.
95
+ */
96
+ changedFields?: (keyof R)[];
97
+ validate: (
98
+ params: ValidateBeforeRowArgsCommon<R, DBX> & {
99
+ localParams: undefined | LocalParams;
100
+ },
101
+ ) => Promise<void | { row: R; onInserted?: () => void }>;
102
+ };
103
+
77
104
  export type AfterEachTsTrigger<R, DBX> = {
78
105
  commands: Partial<Record<"insert" | "update" | "delete", 1>>;
79
- changedFields?: string[];
106
+ /**
107
+ * Will only run this trigger if the insert/update provides non null values for these fields.
108
+ */
109
+ changedFields?: (keyof R)[];
80
110
  validate: (
81
111
  params: ValidateRowArgsCommon<R, DBX> & {
82
112
  localParams: undefined | LocalParams;
@@ -16,10 +16,10 @@ import type { DB, DBHandlerServer, Prostgles } from "../Prostgles";
16
16
  import type {
17
17
  AfterAllTsTrigger,
18
18
  AfterEachTsTrigger,
19
+ BeforeEachTsTrigger,
19
20
  InsertRule,
20
21
  SyncConfig,
21
22
  ValidateRowArgsCommon,
22
- ValidateRowsArgsCommon,
23
23
  } from "../PublishParser/PublishParser";
24
24
  import {
25
25
  DEFAULT_SYNC_BATCH_SIZE,
@@ -63,11 +63,12 @@ type BaseTableDefinition<R = AnyObject, DBX = DBHandlerServer> = {
63
63
  hooks?: {
64
64
  /**
65
65
  * Hook used to run custom logic before inserting a row.
66
- * The returned row must satisfy the table schema
66
+ * The returned row must satisfy the table schema.
67
67
  */
68
68
  getPreInsertRow?: (
69
69
  args: GetPreInsertRowArgs,
70
70
  ) => Promise<{ row: AnyObject; onInserted: Promise<void> }>;
71
+ beforeEach?: BeforeEachTsTrigger<R, DBX>[];
71
72
  afterEach?: AfterEachTsTrigger<R, DBX>[];
72
73
  afterAll?: AfterAllTsTrigger<R, DBX>[];
73
74
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.553",
3
+ "version": "4.2.554",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -1 +0,0 @@
1
- {"version":3,"file":"executeHooksCheckAndPostValidation.d.ts","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/executeHooksCheckAndPostValidation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAE5F,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnD,eAAO,MAAM,kCAAkC,GAAU,uDAMtD;IACD,YAAY,EAAE,YAAY,CAAC;IAC3B,SAAS,EACL;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;KAAE,GAChD;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;KAAE,GAChD;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,EAAE,SAAS,GAAG,UAAU,CAAA;KAAE,CAAC;IACrD,WAAW,EAAE,WAAW,GAAG,SAAS,CAAC;IACrC,IAAI,EAAE,SAAS,GAAG,SAAS,EAAE,CAAC;IAC9B,IAAI,EAAE,SAAS,EAAE,CAAC;CACnB,kBAkEA,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"executeHooksCheckAndPostValidation.js","sourceRoot":"","sources":["../../../lib/DboBuilder/TableHandler/executeHooksCheckAndPostValidation.ts"],"names":[],"mappings":"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"}