@entity-access/entity-access 1.0.287 → 1.0.289

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 (66) hide show
  1. package/dist/decorators/CheckConstraint.d.ts +4 -0
  2. package/dist/decorators/CheckConstraint.d.ts.map +1 -0
  3. package/dist/decorators/CheckConstraint.js +8 -0
  4. package/dist/decorators/CheckConstraint.js.map +1 -0
  5. package/dist/decorators/ICheckConstraint.d.ts +5 -0
  6. package/dist/decorators/ICheckConstraint.d.ts.map +1 -0
  7. package/dist/decorators/ICheckConstraint.js +3 -0
  8. package/dist/decorators/ICheckConstraint.js.map +1 -0
  9. package/dist/entity-query/EntityType.d.ts +2 -0
  10. package/dist/entity-query/EntityType.d.ts.map +1 -1
  11. package/dist/entity-query/EntityType.js +1 -0
  12. package/dist/entity-query/EntityType.js.map +1 -1
  13. package/dist/migrations/Migrations.d.ts +2 -0
  14. package/dist/migrations/Migrations.d.ts.map +1 -1
  15. package/dist/migrations/Migrations.js +8 -0
  16. package/dist/migrations/Migrations.js.map +1 -1
  17. package/dist/migrations/postgres/PostgresAutomaticMigrations.d.ts +3 -0
  18. package/dist/migrations/postgres/PostgresAutomaticMigrations.d.ts.map +1 -1
  19. package/dist/migrations/postgres/PostgresAutomaticMigrations.js +34 -9
  20. package/dist/migrations/postgres/PostgresAutomaticMigrations.js.map +1 -1
  21. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.d.ts +3 -0
  22. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.d.ts.map +1 -1
  23. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.js +33 -9
  24. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.js.map +1 -1
  25. package/dist/model/EntityModel.d.ts.map +1 -1
  26. package/dist/model/EntityModel.js +1 -0
  27. package/dist/model/EntityModel.js.map +1 -1
  28. package/dist/model/EntitySource.js +1 -1
  29. package/dist/model/EntitySource.js.map +1 -1
  30. package/dist/model/verification/VerificationSession.js +1 -1
  31. package/dist/model/verification/VerificationSession.js.map +1 -1
  32. package/dist/tests/db-tests/tests/check-constraint-test.d.ts +3 -0
  33. package/dist/tests/db-tests/tests/check-constraint-test.d.ts.map +1 -0
  34. package/dist/tests/db-tests/tests/check-constraint-test.js +28 -0
  35. package/dist/tests/db-tests/tests/check-constraint-test.js.map +1 -0
  36. package/dist/tests/eternity/throttle-tests.d.ts +3 -0
  37. package/dist/tests/eternity/throttle-tests.d.ts.map +1 -0
  38. package/dist/tests/eternity/throttle-tests.js +86 -0
  39. package/dist/tests/eternity/throttle-tests.js.map +1 -0
  40. package/dist/tests/model/ShoppingContext.d.ts.map +1 -1
  41. package/dist/tests/model/ShoppingContext.js +6 -1
  42. package/dist/tests/model/ShoppingContext.js.map +1 -1
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/dist/workflows/WorkflowContext.d.ts +5 -1
  45. package/dist/workflows/WorkflowContext.d.ts.map +1 -1
  46. package/dist/workflows/WorkflowContext.js +11 -3
  47. package/dist/workflows/WorkflowContext.js.map +1 -1
  48. package/dist/workflows/WorkflowStorage.d.ts +5 -0
  49. package/dist/workflows/WorkflowStorage.d.ts.map +1 -1
  50. package/dist/workflows/WorkflowStorage.js +28 -0
  51. package/dist/workflows/WorkflowStorage.js.map +1 -1
  52. package/package.json +1 -1
  53. package/src/decorators/CheckConstraint.ts +10 -0
  54. package/src/decorators/ICheckConstraint.ts +4 -0
  55. package/src/entity-query/EntityType.ts +3 -0
  56. package/src/migrations/Migrations.ts +11 -0
  57. package/src/migrations/postgres/PostgresAutomaticMigrations.ts +43 -9
  58. package/src/migrations/sql-server/SqlServerAutomaticMigrations.ts +43 -10
  59. package/src/model/EntityModel.ts +1 -0
  60. package/src/model/EntitySource.ts +1 -1
  61. package/src/model/verification/VerificationSession.ts +1 -1
  62. package/src/tests/db-tests/tests/check-constraint-test.ts +35 -0
  63. package/src/tests/eternity/throttle-tests.ts +100 -0
  64. package/src/tests/model/ShoppingContext.ts +5 -0
  65. package/src/workflows/WorkflowContext.ts +20 -3
  66. package/src/workflows/WorkflowStorage.ts +31 -0
@@ -16,6 +16,10 @@ export interface IWorkflowQueueParameter {
16
16
  eta?: DateTime;
17
17
  parentID?: string;
18
18
  taskGroup?: string;
19
+ throttle?: {
20
+ group: string;
21
+ maxPerSecond: number;
22
+ };
19
23
  }
20
24
  export interface IWorkflowStartParams {
21
25
  taskGroups?: string[];
@@ -28,7 +32,7 @@ export default class WorkflowContext {
28
32
  register(type: IClassOf<Workflow>): void;
29
33
  start({ taskGroups, signal }?: IWorkflowStartParams): Promise<void>;
30
34
  get<T = any>(c: IClassOf<Workflow<any, T>> | string, id?: string): Promise<IWorkflowResult<T>>;
31
- queue<T>(type: IClassOf<Workflow<T>>, input: T, { id, throwIfExists, eta, parentID, taskGroup }?: IWorkflowQueueParameter): Promise<string>;
35
+ queue<T>(type: IClassOf<Workflow<T>>, input: T, { id, throwIfExists, eta, parentID, taskGroup, throttle }?: IWorkflowQueueParameter): Promise<string>;
32
36
  raiseEvent(id: string, { name, result, throwIfNotWaiting }: {
33
37
  name: string;
34
38
  result?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowContext.d.ts","sourceRoot":"","sources":["../../src/workflows/WorkflowContext.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,eAAiC,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAQ1C,eAAO,MAAM,cAAc,eAAqB,CAAC;AAgHjD,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,OAAO,eAAe;IAMrB,OAAO,EAAE,eAAe;IAJnC,OAAO,CAAC,QAAQ,CAA2C;gBAIhD,OAAO,EAAE,eAAe;IAK5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAI3B,KAAK,CAAC,EACf,UAAwB,EACxB,MAAM,EACT,GAAE,oBAAyB;IAIf,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAc9F,KAAK,CAAC,CAAC,EAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC3B,KAAK,EAAE,CAAC,EACR,EACI,EAAE,EACF,aAAa,EACb,GAAG,EACH,QAAQ,EACR,SAAqB,EACxB,GAAE,uBAA4B;IA+DtB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAChC,IAAI,EACJ,MAAM,EACN,iBAAyB,EAC5B,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAC;IAyBzD,GAAG,CAAG,GAAI,CAAC,EAAE,GAAG,EAAE;IAIZ,gBAAgB,CAAC,EAAE,SAAqB,EAAE,MAA8B,EAAE;;;KAAK;IActF,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,KAAA,EAAE,KAAK,KAAA;YA6BzB,UAAU;YAkBV,GAAG;CAwEpB"}
1
+ {"version":3,"file":"WorkflowContext.d.ts","sourceRoot":"","sources":["../../src/workflows/WorkflowContext.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,eAAiC,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAQ1C,eAAO,MAAM,cAAc,eAAqB,CAAC;AAgHjD,MAAM,WAAW,eAAe,CAAC,CAAC;IAC9B,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACpC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,YAAY,EAAE,MAAM,CAAC;KACxB,CAAA;CACJ;AAED,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;CACxB;AAED,MAAM,CAAC,OAAO,OAAO,eAAe;IAMrB,OAAO,EAAE,eAAe;IAJnC,OAAO,CAAC,QAAQ,CAA2C;gBAIhD,OAAO,EAAE,eAAe;IAK5B,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAI3B,KAAK,CAAC,EACf,UAAwB,EACxB,MAAM,EACT,GAAE,oBAAyB;IAIf,GAAG,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAc9F,KAAK,CAAC,CAAC,EAChB,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC3B,KAAK,EAAE,CAAC,EACR,EACI,EAAE,EACF,aAAa,EACb,GAAG,EACH,QAAQ,EACR,SAAqB,EACrB,QAAQ,EACX,GAAE,uBAA4B;IA2EtB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,EAChC,IAAI,EACJ,MAAM,EACN,iBAAyB,EAC5B,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAC;IAyBzD,GAAG,CAAG,GAAI,CAAC,EAAE,GAAG,EAAE;IAIZ,gBAAgB,CAAC,EAAE,SAAqB,EAAE,MAA8B,EAAE;;;KAAK;IActF,QAAQ,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,KAAA,EAAE,KAAK,KAAA;YA6BzB,UAAU;YAkBV,GAAG;CAwEpB"}
@@ -134,7 +134,7 @@ let WorkflowContext = class WorkflowContext {
134
134
  }
135
135
  return null;
136
136
  }
137
- async queue(type, input, { id, throwIfExists, eta, parentID, taskGroup = "default" } = {}) {
137
+ async queue(type, input, { id, throwIfExists, eta, parentID, taskGroup = "default", throttle } = {}) {
138
138
  const clock = this.storage.clock;
139
139
  let tries = 1;
140
140
  if (id) {
@@ -150,9 +150,16 @@ let WorkflowContext = class WorkflowContext {
150
150
  if (id.length > 400) {
151
151
  throw new EntityAccessError(`ID cannot be more than 400 characters`);
152
152
  }
153
+ const now = align(clock.utcNow);
154
+ let queued = now;
155
+ let throttleGroup = null;
156
+ if (throttle) {
157
+ eta = await this.storage.getNextEta(throttle);
158
+ queued = eta;
159
+ throttleGroup = throttle.group;
160
+ }
153
161
  // this will ensure even empty workflow !!
154
162
  const schema = WorkflowRegistry.register(type, void 0);
155
- const now = align(clock.utcNow);
156
163
  let lastError = null;
157
164
  while (tries--) {
158
165
  try {
@@ -168,10 +175,11 @@ let WorkflowContext = class WorkflowContext {
168
175
  await this.storage.save({
169
176
  id,
170
177
  taskGroup,
178
+ throttleGroup,
171
179
  name: schema.name,
172
180
  input: JSON.stringify(input),
173
181
  isWorkflow: true,
174
- queued: now,
182
+ queued,
175
183
  updated: now,
176
184
  parentID,
177
185
  eta
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowContext.js","sourceRoot":"","sources":["../../src/workflows/WorkflowContext.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,iBAAiB,MAAM,gCAAgC,CAAC;AAE/D,OAAO,MAAM,EAAE,EAAqB,eAAe,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAClG,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,eAAiC,MAAM,sBAAsB,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAmB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;AAEjD,KAAK,UAAW,IAAI,CAAC,IAAI;IACrB,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3C,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,KAAK,GAAG,CAAC,CAAW,EAAE,EAAE;IAC1B,IAAI,IAAI,GAAG,CAAC,CAAC,YAAY,CAAC;IAC1B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;IACpC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC;AAEF,SAAS,QAAQ,CAAC,OAAwB,EAAE,KAAmB,EAAE,IAAY,EAAE,GAA0B,EAAE,MAAM,GAAG,KAAK;IACrH,OAAO,KAAK,UAAU,OAAO,CAAiB,GAAI,CAAQ;QACtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACpE,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,IAAI,MAAM,IAAI,EAAE,GAAG,CAAC;QAEjD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAGpC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,QAAQ,EAAE,CAAC;YACX,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,EAAE,UAAU,QAAQ,CAAC,KAAK,QAAQ,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;gBACvH,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACpC,CAAC;YACD,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC5B,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,IAAI,EAAE,UAAU,QAAQ,CAAC,MAAM,QAAQ,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;gBACjH,IAAY,CAAC,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;gBAC3C,OAAO,MAAM,CAAC;YAClB,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;QACrC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;QAElB,IAAI,GAAG,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAElC,MAAM,IAAI,GAA0B;YAChC,EAAE;YACF,QAAQ,EAAE,IAAI,CAAC,EAAE;YACjB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,GAAG;YAChB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,UAAU,EAAE,KAAK;YACjB,IAAI;YACJ,KAAK;SACR,CAAC;QAEF,aAAa;QACb,IAAI,SAAgB,CAAC;QACrB,IAAI,UAAe,CAAC;QAEpB,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAEtD,4BAA4B;YAC5B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAa,CAAC;YAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;YACf,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;YAChB,GAAG,GAAG,KAAK,CAAC;YAEZ,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACtB,gBAAgB;gBAChB,UAAU,GAAG,EAAE,CAAC;gBAChB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC/B,IAAI,IAAI,KAAK,sBAAsB,EAAE,CAAC;oBAClC,UAAU,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAC,CAAC;gBACjD,CAAC;gBACA,IAAY,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC;gBAED,MAAM,KAAK,GAAG,GAAG,CAAC,uBAAuB,CAAU,CAAC;gBACpD,IAAI,KAAK,EAAE,CAAC;oBACR,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;wBACvD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC5D,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACpB,CAAC;gBACL,CAAC;gBACD,UAAU,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC7C,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBACzC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;gBACpB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;oBAC1C,OAAO;gBACX,CAAC;gBACD,SAAS,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAC7C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACtB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvC,CAAC;YACA,IAAY,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC;QAC7C,CAAC;QACD,MAAM,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,SAAS,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;AACN,CAAC;AAsBD,IAAqB,eAAe,GAApC,MAAqB,eAAe;IAIhC,YAEI,OAA+B;QAAxB,YAAO,GAAP,OAAO,CAAiB;QAJ3B,aAAQ,GAAiC,IAAI,GAAG,EAAE,CAAC;IAO3D,CAAC;IAEM,QAAQ,CAAC,IAAwB;QACpC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,EACf,UAAU,GAAG,CAAC,SAAS,CAAC,EACxB,MAAM,KACgB,EAAE;QACxB,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACzF,CAAC;IAEM,KAAK,CAAC,GAAG,CAAU,CAAsC,EAAE,EAAW;QACzE,EAAE,KAAM,CAAY,CAAC;QACrB,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,EAAE,CAAC;YACJ,OAAO;gBACH,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA,CAAC,CAAC,IAAI;gBAC7C,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;aACjB,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,KAAK,CACd,IAA2B,EAC3B,KAAQ,EACR,EACI,EAAE,EACF,aAAa,EACb,GAAG,EACH,QAAQ,EACR,SAAS,GAAG,SAAS,KACI,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;QACjC,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,EAAE,EAAE,CAAC;YACL,KAAK,GAAG,CAAC,CAAC;QACd,CAAC;aAAM,CAAC;YACJ,EAAE,GAAG,UAAU,EAAE,CAAC;YAClB,OAAM,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChD,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;gBAC3C,EAAE,GAAG,UAAU,EAAE,CAAC;YACtB,CAAC;QACL,CAAC;QAED,IAAI,EAAE,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;YAClB,MAAM,IAAI,iBAAiB,CAAC,uCAAuC,CAAC,CAAC;QACzE,CAAC;QAED,0CAA0C;QAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAEhC,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,OAAM,KAAK,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC;gBAED,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBAC7C,IAAI,CAAC,EAAE,CAAC;oBACJ,IAAI,aAAa,EAAE,CAAC;wBAChB,MAAM,IAAI,iBAAiB,CAAC,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;oBACzE,CAAC;oBACD,OAAO,EAAE,CAAC;gBACd,CAAC;gBAED,GAAG,KAAK,GAAG,CAAC;gBACZ,SAAS,GAAI,IAAY,CAAC,SAAS,IAAI,SAAS,CAAC;gBACjD,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;oBACpB,EAAE;oBACF,SAAS;oBACT,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;oBAC5B,UAAU,EAAE,IAAI;oBAChB,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,GAAG;oBACZ,QAAQ;oBACR,GAAG;iBACN,CAAC,CAAC;gBAEH,IAAG,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;oBACpB,MAAM,CAAC,UAAU,EAAE,CAAC;gBACxB,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,SAAS,GAAG,KAAK,CAAC;YACtB,CAAC;QACL,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,SAAS,CAAC;QACpB,CAAC;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,EAChC,IAAI,EACJ,MAAM,EACN,iBAAiB,GAAG,KAAK,EACmC;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAClD,IAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,IAAI,iBAAiB,EAAE,CAAC;gBACpB,MAAM,IAAI,KAAK,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;YACpE,CAAC;YACD,OAAO;QACX,CAAC;QACD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC7C,OAAO;QACX,CAAC;QACD,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAC5C,CAAC,CAAC,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,uBAAuB;QACvB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC;QACvB,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAC3B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,UAAU,EAAE,CAAC;IACxB,CAAC;IAEM,GAAG,CAAG,GAAI,CAAQ;QACrB,sBAAsB;IAC1B,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,EAAE,SAAS,GAAG,SAAS,EAAE,MAAM,GAAG,KAAK,CAAgB,KAAK,EAAE;QACxF,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC9D,SAAS;QACT,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,CAAC;gBACD,MAAM,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,CAAW,EAAE,IAAI,EAAE,KAAK;QAEnC,8CAA8C;QAC9C,0CAA0C;QAC1C,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;QAEvD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,UAAU,MAAM,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC;QACpD,IAAI,EAAE,CAAC,MAAM,IAAI,GAAG,EAAE,CAAC;YACnB,EAAE,GAAG,CAAC,CAAC,EAAE,GAAG,UAAU,MAAM,CAAC,IAAI,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAChE,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAClD,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;YACzB,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrC,CAAC;YACD,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YACD,MAAM,IAAI,sBAAsB,EAAE,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,IAAI,sBAAsB,EAAE,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM;QAEtC,OAAO,CAAC,GAAG,CAAC,6CAA6C,SAAS,EAAE,CAAC,CAAC;QACtE,OAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;;;gBACrB,IAAI,CAAC;oBACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;oBACjE,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;wBACZ,oDAAoD;wBACpD,SAAS;oBACb,CAAC;gBACL,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;gBACD,MAAM,EAAE,kCAAG,MAAM,CAAC,MAAM,EAAE,QAAA,CAAC;gBAC3B,MAAM,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;;;;;;;;;SACjC;IACL,CAAC;IAEO,KAAK,CAAC,GAAG,CAAC,QAAsB;;;YAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC;YAEjC,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,IAAI,QAAQ,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC3D,IAAI,QAAQ,CAAC,GAAG,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC/B,oBAAoB;oBACpB,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC3C,CAAC;gBACD,OAAO;YACX,CAAC;YAED,MAAM,KAAK,kCAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,QAAA,CAAC;YAEvD,IAAI,CAAC,GAAG,CAAC,gBAAgB,QAAQ,CAAC,EAAE,sCAAsC,CAAC,CAAC;YAE5E,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,QAAQ,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACjG,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvC,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;YAChF,CAAC;YACD,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;gBAC7C,QAAQ,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;YACtF,CAAC;YACD,KAAK,CAAC,GAAG,CAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,CAAC;gBACpC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;gBAC9C,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;gBACxB,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAC3D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,KAAK,YAAY,sBAAsB,EAAE,CAAC;oBAC1C,8BAA8B;oBAC9B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAC3C,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC1B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;oBAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAClC,OAAO;gBACX,CAAC;gBACD,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACxC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;gBACvC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACrB,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC;gBAC1B,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YACjE,CAAC;YAED,+BAA+B;YAC/B,iCAAiC;YACjC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,QAAQ,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxC,qCAAqC;gBACrC,0CAA0C;YAC9C,CAAC;YAED,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC;YAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElC,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;gBACjE,IAAI,MAAM,EAAE,CAAC;oBACT,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;oBACtB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC;oBACxB,MAAM,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC;oBAC1B,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACpC,CAAC;YACL,CAAC;;;;;;;;;KAGJ;CACJ,CAAA;AAlRoB,eAAe;IAK3B,WAAA,MAAM,CAAA;qCACS,eAAe;GANlB,eAAe,CAkRnC;eAlRoB,eAAe"}
1
+ {"version":3,"file":"WorkflowContext.js","sourceRoot":"","sources":["../../src/workflows/WorkflowContext.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ export declare class WorkflowItem {
14
14
  queued: DateTime;
15
15
  updated: DateTime;
16
16
  taskGroup: string;
17
+ throttleGroup: string;
17
18
  priority: number;
18
19
  lockedTTL: DateTime;
19
20
  lockToken: string;
@@ -28,6 +29,10 @@ export default class WorkflowStorage {
28
29
  readonly clock: WorkflowClock;
29
30
  private lockQuery;
30
31
  constructor(driver: BaseDriver, clock: WorkflowClock);
32
+ getNextEta(throttle: {
33
+ group: string;
34
+ maxPerSecond: number;
35
+ }): Promise<DateTime>;
31
36
  getWorkflow(id: string): Promise<{
32
37
  id: string;
33
38
  parentID: string;
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowStorage.d.ts","sourceRoot":"","sources":["../../src/workflows/WorkflowStorage.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,QAAA,MAAM,YAAY,eAAyB,CAAC;AAE5C,qBAca,YAAY;IAGd,EAAE,EAAE,MAAM,CAAC;IAGX,UAAU,EAAE,OAAO,CAAC;IAGpB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,MAAM,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,MAAM,CAAC;IAGf,GAAG,EAAE,QAAQ,CAAC;IAGd,MAAM,EAAE,QAAQ,CAAC;IAGjB,OAAO,EAAE,QAAQ,CAAC;IAMlB,SAAS,EAAE,MAAM,CAAC;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,QAAQ,CAAC;IAGpB,SAAS,EAAE,MAAM,CAAC;IAGlB,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAGpC,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;CACzB;AAcD,MAAM,CAAC,OAAO,OAAO,eAAe;IAM5B,OAAO,CAAC,MAAM;aAEE,KAAK,EAAE,aAAa;IANxC,OAAO,CAAC,SAAS,CAAW;gBAIhB,MAAM,EAAE,UAAU,EAEV,KAAK,EAAE,aAAa;IAKlC,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;IAyBtB,MAAM,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;IAsBjB,KAAK,CAAC,EAAE,KAAA,EAAE,IAAI,CAAC,KAAA;IAarB;;;;OAIG;IACG,MAAM,CAAC,EAAE,KAAA;IAaT,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;IA+BjC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;IAkF/C,IAAI;CAMb"}
1
+ {"version":3,"file":"WorkflowStorage.d.ts","sourceRoot":"","sources":["../../src/workflows/WorkflowStorage.ts"],"names":[],"mappings":";AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAG3D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAG/C,QAAA,MAAM,YAAY,eAAyB,CAAC;AAE5C,qBAsBa,YAAY;IAGd,EAAE,EAAE,MAAM,CAAC;IAGX,UAAU,EAAE,OAAO,CAAC;IAGpB,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,MAAM,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;IAGd,MAAM,EAAE,MAAM,CAAC;IAGf,GAAG,EAAE,QAAQ,CAAC;IAGd,MAAM,EAAE,QAAQ,CAAC;IAGjB,OAAO,EAAE,QAAQ,CAAC;IAMlB,SAAS,EAAE,MAAM,CAAC;IAKlB,aAAa,EAAE,MAAM,CAAC;IAGtB,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,QAAQ,CAAC;IAGpB,SAAS,EAAE,MAAM,CAAC;IAGlB,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAGpC,KAAK,EAAE,MAAM,CAAC;IAGd,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,MAAM,EAAE,MAAM,CAAC;CACzB;AAcD,MAAM,CAAC,OAAO,OAAO,eAAe;IAM5B,OAAO,CAAC,MAAM;aAEE,KAAK,EAAE,aAAa;IANxC,OAAO,CAAC,SAAS,CAAW;gBAIhB,MAAM,EAAE,UAAU,EAEV,KAAK,EAAE,aAAa;IAKlC,UAAU,CAAC,QAAQ,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE;IAkB5D,WAAW,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;IAyBtB,MAAM,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;IAsBjB,KAAK,CAAC,EAAE,KAAA,EAAE,IAAI,CAAC,KAAA;IAarB;;;;OAIG;IACG,MAAM,CAAC,EAAE,KAAA;IAaT,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,YAAY,CAAC;IA+BjC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;IAkF/C,IAAI;CAMb"}
@@ -56,6 +56,12 @@ __decorate([
56
56
  }),
57
57
  __metadata("design:type", String)
58
58
  ], WorkflowItem.prototype, "taskGroup", void 0);
59
+ __decorate([
60
+ Column({
61
+ dataType: "Char", length: 200, nullable: true
62
+ }),
63
+ __metadata("design:type", String)
64
+ ], WorkflowItem.prototype, "throttleGroup", void 0);
59
65
  __decorate([
60
66
  Column({ dataType: "Int", default: () => 0 }),
61
67
  __metadata("design:type", Number)
@@ -102,6 +108,14 @@ WorkflowItem = __decorate([
102
108
  { name: (x) => x.taskGroup, descending: false }
103
109
  ],
104
110
  filter: (x) => x.isWorkflow === true
111
+ }),
112
+ Index({
113
+ name: "IX_Workflows_Throttle_Group",
114
+ columns: [
115
+ { name: (x) => x.throttleGroup, descending: false },
116
+ { name: (x) => x.queued, descending: false }
117
+ ],
118
+ filter: (x) => x.isWorkflow === true && x.throttleGroup !== null
105
119
  })
106
120
  ], WorkflowItem);
107
121
  export { WorkflowItem };
@@ -121,6 +135,20 @@ let WorkflowStorage = class WorkflowStorage {
121
135
  this.driver = driver;
122
136
  this.clock = clock;
123
137
  }
138
+ async getNextEta(throttle) {
139
+ const db = new WorkflowContext(this.driver);
140
+ const last = await db.workflows.where(throttle, (p) => (x) => x.throttleGroup === p.group
141
+ && x.isWorkflow === true)
142
+ .orderByDescending(void 0, (p) => (x) => x.queued)
143
+ .first();
144
+ if (last) {
145
+ if (throttle.maxPerSecond <= 0) {
146
+ throttle.maxPerSecond = 1;
147
+ }
148
+ return DateTime.from(last.queued).addSeconds(1 / throttle.maxPerSecond);
149
+ }
150
+ return DateTime.now;
151
+ }
124
152
  async getWorkflow(id) {
125
153
  const db = new WorkflowContext(this.driver);
126
154
  const r = await db.workflows.where({ id }, (p) => (x) => x.id === p.id && x.isWorkflow === true).first();
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowStorage.js","sourceRoot":"","sources":["../../src/workflows/WorkflowStorage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkflowStorage.js","sourceRoot":"","sources":["../../src/workflows/WorkflowStorage.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@entity-access/entity-access",
3
- "version": "1.0.287",
3
+ "version": "1.0.289",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -0,0 +1,10 @@
1
+ import ICheckConstraint from "./ICheckConstraint.js";
2
+ import { IClassOf } from "./IClassOf.js";
3
+ import SchemaRegistry from "./SchemaRegistry.js";
4
+
5
+ export default function CheckConstraint<T>(c: ICheckConstraint<T>) {
6
+ return function(target: IClassOf<T>) {
7
+ const model = SchemaRegistry.model(target);
8
+ model.checkConstraints.push(c);
9
+ };
10
+ }
@@ -0,0 +1,4 @@
1
+ export default interface ICheckConstraint<T = any> {
2
+ name: string;
3
+ filter?: (x: T) => boolean;
4
+ };
@@ -5,6 +5,7 @@ import InstanceCache from "../common/cache/InstanceCache.js";
5
5
  import { IIndex } from "../decorators/IIndex.js";
6
6
  import { IStringTransformer } from "../query/ast/IStringTransformer.js";
7
7
  import EntityAccessError from "../common/EntityAccessError.js";
8
+ import ICheckConstraint from "../decorators/ICheckConstraint.js";
8
9
 
9
10
  export const addOrCreateColumnSymbol = Symbol("addOrCreateColumn");
10
11
  export const addColumnSymbol = Symbol("addOrCreateColumn");
@@ -34,6 +35,8 @@ export default class EntityType {
34
35
 
35
36
  public readonly indexes: IIndex[] = [];
36
37
 
38
+ public readonly checkConstraints: ICheckConstraint[] = [];
39
+
37
40
  public readonly keys: IColumn[] = [];
38
41
 
39
42
  public readonly nonKeys: IColumn[] = [];
@@ -1,5 +1,6 @@
1
1
  import { modelSymbol } from "../common/symbols/symbols.js";
2
2
  import type QueryCompiler from "../compiler/QueryCompiler.js";
3
+ import ICheckConstraint from "../decorators/ICheckConstraint.js";
3
4
  import type { IForeignKeyConstraint } from "../decorators/IForeignKeyConstraint.js";
4
5
  import type { IIndex } from "../decorators/IIndex.js";
5
6
  import type EntityType from "../entity-query/EntityType.js";
@@ -39,6 +40,15 @@ export default abstract class Migrations {
39
40
 
40
41
  await this.migrateTable(context, type);
41
42
 
43
+ // create constraints
44
+ for (const iterator of type.checkConstraints) {
45
+ const source = context.query(type.typeClass) as EntityQuery<any>;
46
+ const { target , textQuery } = this.compiler.compileToSql(source, `(p) => ${iterator.filter}` as any);
47
+ const r = new RegExp(source.selectStatement.sourceParameter.name + "\\.", "ig");
48
+ iterator.filter = textQuery.join("").replace(r, "") as any;
49
+ await this.migrateCheckConstraint(context, iterator, type);
50
+ }
51
+
42
52
  for (const index of type.indexes) {
43
53
  await this.migrateIndexInternal(context, index, type);
44
54
  }
@@ -101,5 +111,6 @@ export default abstract class Migrations {
101
111
 
102
112
  abstract migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint);
103
113
 
114
+ abstract migrateCheckConstraint(context: EntityContext, checkConstraint: ICheckConstraint, type: EntityType);
104
115
 
105
116
  }
@@ -1,4 +1,5 @@
1
1
  /* eslint-disable no-console */
2
+ import ICheckConstraint from "../../decorators/ICheckConstraint.js";
2
3
  import { IColumn } from "../../decorators/IColumn.js";
3
4
  import { IForeignKeyConstraint } from "../../decorators/IForeignKeyConstraint.js";
4
5
  import { IIndex } from "../../decorators/IIndex.js";
@@ -131,31 +132,41 @@ export default class PostgresAutomaticMigrations extends PostgresMigrations {
131
132
  await driver.executeQuery(query);
132
133
  }
133
134
 
134
- async migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint) {
135
- const { type } = constraint;
136
- const name = type.schema
137
- ? type.schema + "." + type.name
138
- : type.name;
135
+ async constraintExists(context: EntityContext, name: string, schema: string) {
139
136
 
140
137
  let text = `SELECT * FROM information_schema.referential_constraints
141
138
  WHERE lower(constraint_name)=lower($1)
142
139
  `;
143
140
 
144
- const values = [constraint.name];
141
+ const values = [name];
145
142
 
146
- if(type.schema) {
143
+ if(schema) {
147
144
  text += " and constraint_schema = $2";
148
- values.push(type.schema);
145
+ values.push(schema);
149
146
  }
150
147
 
151
148
  const driver = context.connection;
152
149
 
153
150
  const r = await driver.executeQuery({ text, values });
154
151
  if (r.rows?.length) {
152
+ return true;
153
+ }
154
+ return false;
155
+ }
156
+
157
+ async migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint) {
158
+ const { type } = constraint;
159
+ const name = type.schema
160
+ ? type.schema + "." + type.name
161
+ : type.name;
162
+
163
+ if (await this.constraintExists(context, constraint.name, type.schema)) {
155
164
  return;
156
165
  }
157
166
 
158
- text = `ALTER TABLE ${name} ADD CONSTRAINT ${constraint.name}
167
+ const driver = context.connection;
168
+
169
+ let text = `ALTER TABLE ${name} ADD CONSTRAINT ${constraint.name}
159
170
  foreign key (${constraint.column.columnName})
160
171
  references ${constraint.refColumns[0].entityType.name}(
161
172
  ${constraint.refColumns.map((x) => x.columnName).join(",")}
@@ -186,5 +197,28 @@ export default class PostgresAutomaticMigrations extends PostgresMigrations {
186
197
 
187
198
  }
188
199
 
200
+ async migrateCheckConstraint(context: EntityContext, constraint: ICheckConstraint<any>, type: EntityType) {
201
+ if (await this.constraintExists(context, constraint.name, type.schema)) {
202
+ return;
203
+ }
204
+
205
+ const name = type.schema
206
+ ? type.schema + "." + type.name
207
+ : type.name;
208
+
209
+
210
+ const driver = context.connection;
211
+
212
+ const text = `ALTER TABLE ${name} ADD CONSTRAINT ${constraint.name} CHECK (${constraint.filter})`;
213
+
214
+ try {
215
+ await driver.executeQuery(text);
216
+ } catch (error) {
217
+ // we will simply ignore this
218
+ console.warn(`Failed adding constraint ${constraint.name}`);
219
+ console.warn(error);
220
+ }
221
+ }
222
+
189
223
 
190
224
  }
@@ -1,3 +1,4 @@
1
+ import ICheckConstraint from "../../decorators/ICheckConstraint.js";
1
2
  import { IColumn } from "../../decorators/IColumn.js";
2
3
  import { IForeignKeyConstraint } from "../../decorators/IForeignKeyConstraint.js";
3
4
  import { IIndex } from "../../decorators/IIndex.js";
@@ -137,30 +138,39 @@ export default class SqlServerAutomaticMigrations extends SqlServerMigrations {
137
138
  await driver.executeQuery(query);
138
139
  }
139
140
 
140
- async migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint) {
141
- const { type } = constraint;
142
- const name = type.schema
143
- ? type.schema + "." + type.name
144
- : type.name;
145
-
141
+ async constraintExists(context: EntityContext, name: string, schema: string, type: EntityType) {
146
142
  let text = `SELECT COUNT(*)
147
143
  FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS
148
144
  WHERE TABLE_NAME='${type.name}'
149
- AND CONSTRAINT_NAME='${constraint.name}'
145
+ AND CONSTRAINT_NAME='${name}'
150
146
  AND CONSTRAINT_TYPE='FOREIGN KEY'`;
151
147
 
152
- if(type.schema) {
153
- text += ` and schema_name = ${type.schema}`;
148
+ if(schema) {
149
+ text += ` and schema_name = ${schema}`;
154
150
  }
155
151
 
156
152
  const driver = context.connection;
157
153
 
158
154
  const r = await driver.executeQuery(text);
159
155
  if (r.rows?.length) {
156
+ return true;
157
+ }
158
+
159
+ }
160
+
161
+ async migrateForeignKey(context: EntityContext, constraint: IForeignKeyConstraint) {
162
+ const { type } = constraint;
163
+ const name = type.schema
164
+ ? type.schema + "." + type.name
165
+ : type.name;
166
+
167
+ if (await this.constraintExists(context, name, type.schema, type)) {
160
168
  return;
161
169
  }
162
170
 
163
- text = `ALTER TABLE ${name} ADD CONSTRAINT ${constraint.name}
171
+ const driver = context.connection;
172
+
173
+ let text = `ALTER TABLE ${name} ADD CONSTRAINT ${constraint.name}
164
174
  foreign key (${constraint.column.columnName})
165
175
  references ${constraint.refColumns[0].entityType.name}(
166
176
  ${constraint.refColumns.map((x) => x.columnName).join(",")}
@@ -190,4 +200,27 @@ export default class SqlServerAutomaticMigrations extends SqlServerMigrations {
190
200
  }
191
201
  }
192
202
 
203
+ async migrateCheckConstraint(context: EntityContext, constraint: ICheckConstraint<any>, type: EntityType) {
204
+ if (await this.constraintExists(context, constraint.name, type.schema, type)) {
205
+ return;
206
+ }
207
+
208
+ const name = type.schema
209
+ ? type.schema + "." + type.name
210
+ : type.name;
211
+
212
+
213
+ const driver = context.connection;
214
+
215
+ const text = `ALTER TABLE ${name} ADD CONSTRAINT ${constraint.name} CHECK (${constraint.filter})`;
216
+
217
+ try {
218
+ await driver.executeQuery(text);
219
+ } catch (error) {
220
+ // we will simply ignore this
221
+ console.warn(`Failed adding constraint ${constraint.name}`);
222
+ console.warn(error);
223
+ }
224
+ }
225
+
193
226
  }
@@ -27,6 +27,7 @@ const getOrCreateModel = (map: Map<any, EntityType>, type: IClassOf<any>, naming
27
27
  t.addColumn(column);
28
28
  }
29
29
  t.indexes.push(... original.indexes.map((i) => ({ ... i, columns: [ ... i.columns.map((c) => ( { ... c}))] })));
30
+ t.checkConstraints.push(... original.checkConstraints.map((i) => ({ ... i})));
30
31
  // sort keys...
31
32
  if (t.keys.length > 1) {
32
33
  t.keys.sort((a, b) => a.order - b.order);
@@ -155,7 +155,7 @@ export class EntitySource<T = any> {
155
155
  }
156
156
  return returnEntity;
157
157
  } catch (error) {
158
- if (retry) {
158
+ if (retry > 0) {
159
159
  await sleep(300);
160
160
  return await this.saveDirect({ keys, mode, changes, updateAfterSelect } as any, retry -1);
161
161
  }
@@ -164,7 +164,7 @@ export default class VerificationSession {
164
164
  using session = logger.newSession();
165
165
  const { rows: [ { error }]} = await this.context.connection.executeQuery(query);
166
166
  if (error) {
167
- session.error(`Failed executing ${query.text}\n[${query.values.join(",")}]\n${error?.stack ?? error}`);
167
+ session.error(`Failed executing \n${query.text}\n[\n${query.values.join(",")}]\n${error?.stack ?? error}`);
168
168
  EntityAccessError.throw(error);
169
169
  }
170
170
  }
@@ -0,0 +1,35 @@
1
+ import assert from "assert";
2
+ import { Sql } from "../../../index.js";
3
+ import { TestConfig } from "../../TestConfig.js";
4
+ import { createContext } from "../../model/createContext.js";
5
+
6
+ export default async function(this: TestConfig) {
7
+
8
+ if (!this.db) {
9
+ return;
10
+ }
11
+
12
+ const context = await createContext(this.driver);
13
+
14
+ const first = await context.products.all().first();
15
+
16
+ first.name = "First product";
17
+
18
+ try {
19
+
20
+ // try direct save...
21
+ await context.productPrices.saveDirect({
22
+ mode: "insert",
23
+ changes: {
24
+ productID: first.productID,
25
+ active: true,
26
+ amount: -1,
27
+ startDate: new Date(),
28
+ }
29
+ });
30
+ } catch (error) {
31
+ // expcted...
32
+ return;
33
+ }
34
+ assert.fail();
35
+ }