@entity-access/entity-access 1.0.547 → 1.1.1

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 (35) hide show
  1. package/README.md +34 -43
  2. package/dist/compiler/QueryCompiler.d.ts +4 -4
  3. package/dist/compiler/QueryCompiler.d.ts.map +1 -1
  4. package/dist/compiler/QueryCompiler.js.map +1 -1
  5. package/dist/drivers/sql-server/SqlServerDriver.d.ts.map +1 -1
  6. package/dist/drivers/sql-server/SqlServerDriver.js +3 -2
  7. package/dist/drivers/sql-server/SqlServerDriver.js.map +1 -1
  8. package/dist/model/EntityQuery.d.ts +14 -11
  9. package/dist/model/EntityQuery.d.ts.map +1 -1
  10. package/dist/model/EntityQuery.js +69 -3
  11. package/dist/model/EntityQuery.js.map +1 -1
  12. package/dist/model/EntitySource.d.ts +3 -2
  13. package/dist/model/EntitySource.d.ts.map +1 -1
  14. package/dist/model/EntitySource.js +3 -3
  15. package/dist/model/EntitySource.js.map +1 -1
  16. package/dist/model/IFilterWithParameter.d.ts +32 -17
  17. package/dist/model/IFilterWithParameter.d.ts.map +1 -1
  18. package/dist/model/changes/ChangeEntry.js +1 -1
  19. package/dist/model/changes/ChangeEntry.js.map +1 -1
  20. package/dist/query/parser/ArrowToExpression.d.ts +2 -2
  21. package/dist/query/parser/ArrowToExpression.d.ts.map +1 -1
  22. package/dist/query/parser/ArrowToExpression.js +49 -29
  23. package/dist/query/parser/ArrowToExpression.js.map +1 -1
  24. package/dist/tsconfig.tsbuildinfo +1 -1
  25. package/dist/workflows/WorkflowStorage.js +20 -20
  26. package/dist/workflows/WorkflowStorage.js.map +1 -1
  27. package/package.json +1 -1
  28. package/src/compiler/QueryCompiler.ts +4 -4
  29. package/src/drivers/sql-server/SqlServerDriver.ts +3 -3
  30. package/src/model/EntityQuery.ts +88 -15
  31. package/src/model/EntitySource.ts +7 -5
  32. package/src/model/IFilterWithParameter.ts +32 -17
  33. package/src/model/changes/ChangeEntry.ts +1 -1
  34. package/src/query/parser/ArrowToExpression.ts +51 -33
  35. package/src/workflows/WorkflowStorage.ts +20 -20
@@ -18,10 +18,10 @@ let WorkflowStorage = class WorkflowStorage {
18
18
  }
19
19
  getPendingWorkflowCount({ taskGroup = void 0 } = {}) {
20
20
  const db = new WorkflowDbContext(this.driver);
21
- let q = db.workflows.where(void 0, (p) => (x) => x.isWorkflow === true
21
+ let q = db.workflows.where(void 0, (x, p) => x.isWorkflow === true
22
22
  && x.state === "queued");
23
23
  if (taskGroup) {
24
- q = q.where({ taskGroup }, (p) => (x) => x.taskGroup === p.taskGroup);
24
+ q = q.where({ taskGroup }, (x, p) => x.taskGroup === p.taskGroup);
25
25
  }
26
26
  return q.count();
27
27
  }
@@ -29,12 +29,12 @@ let WorkflowStorage = class WorkflowStorage {
29
29
  const now = this.clock.utcNow;
30
30
  const db = new WorkflowDbContext(this.driver);
31
31
  const { group, deferSeconds } = throttle;
32
- const w = await db.workflows.where({ group, now }, (p) => (x) => x.throttleGroup === p.group
32
+ const w = await db.workflows.where({ group, now }, (x, p) => x.throttleGroup === p.group
33
33
  && x.state !== "failed"
34
34
  && x.state !== "done"
35
35
  && x.isWorkflow === true
36
36
  && x.eta >= Sql.cast.asDateTime(p.now))
37
- .orderByDescending(void 0, (p) => (x) => x.queued)
37
+ .orderByDescending(void 0, (x, p) => x.queued)
38
38
  .first();
39
39
  if (w) {
40
40
  w.eta = DateTime.from(w.eta).addSeconds(deferSeconds);
@@ -44,9 +44,9 @@ let WorkflowStorage = class WorkflowStorage {
44
44
  }
45
45
  async getNextEta(throttle) {
46
46
  const db = new WorkflowDbContext(this.driver);
47
- const last = await db.workflows.where(throttle, (p) => (x) => x.throttleGroup === p.group
47
+ const last = await db.workflows.where(throttle, (x, p) => x.throttleGroup === p.group
48
48
  && x.isWorkflow === true)
49
- .orderByDescending(void 0, (p) => (x) => x.queued)
49
+ .orderByDescending(void 0, (x, p) => x.queued)
50
50
  .first();
51
51
  if (last) {
52
52
  if (throttle.maxPerSecond <= 0) {
@@ -105,12 +105,12 @@ let WorkflowStorage = class WorkflowStorage {
105
105
  if (text) {
106
106
  // save..
107
107
  await db.workflows.statements.update({ extra: text }, { id });
108
- // await db.workflows.where({ id }, (p) => (x) => x.id === p.id)
109
- // .update({ text}, (p) => (x) => ({ extra: p.text }));
108
+ // await db.workflows.where({ id }, (x, p) => x.id === p.id)
109
+ // .update({ text}, (x, p) => ({ extra: p.text }));
110
110
  return text;
111
111
  }
112
- const item = await db.workflows.where({ id }, (p) => (x) => x.id === p.id)
113
- .select(void 0, (p) => (x) => ({ extra: x.extra })).first();
112
+ const item = await db.workflows.where({ id }, (x, p) => x.id === p.id)
113
+ .select(void 0, (x, p) => ({ extra: x.extra })).first();
114
114
  return item?.extra;
115
115
  }
116
116
  /**
@@ -122,22 +122,22 @@ let WorkflowStorage = class WorkflowStorage {
122
122
  const db = new WorkflowDbContext(this.driver);
123
123
  // if parent workflows exist
124
124
  // change eta to recent ones...
125
- const hasPendingChildren = await db.workflows.where({ id }, (p) => (x) => x.parentID === p.id && x.isWorkflow === true)
125
+ const hasPendingChildren = await db.workflows.where({ id }, (x, p) => x.parentID === p.id && x.isWorkflow === true)
126
126
  .limit(1000)
127
- .update(void 0, (p) => (x) => ({
127
+ .update(void 0, (x, p) => ({
128
128
  eta: Sql.date.addMinutes(Sql.date.now(), -1)
129
129
  }));
130
130
  if (hasPendingChildren) {
131
131
  return;
132
132
  }
133
- await db.workflows.where({ id }, (p) => (x) => x.parentID === p.id)
133
+ await db.workflows.where({ id }, (x, p) => x.parentID === p.id)
134
134
  .limit(1000)
135
- .delete({ id }, (p) => (x) => x.parentID === p.id);
136
- if (await db.workflows.where({ id }, (p) => (x) => x.parentID === p.id).some()) {
135
+ .delete({ id }, (x, p) => x.parentID === p.id);
136
+ if (await db.workflows.where({ id }, (x, p) => x.parentID === p.id).some()) {
137
137
  return;
138
138
  }
139
139
  await db.workflows.asQuery()
140
- .delete({ id }, (p) => (x) => x.id === p.id);
140
+ .delete({ id }, (x, p) => x.id === p.id);
141
141
  return true;
142
142
  }
143
143
  async save(state) {
@@ -201,16 +201,16 @@ let WorkflowStorage = class WorkflowStorage {
201
201
  // const q = this.lockQuery;
202
202
  const uuid = randomUUID();
203
203
  const items = await db.workflows
204
- .where({ now, taskGroup }, (p) => (x) => x.eta <= p.now
204
+ .where({ now, taskGroup }, (x, p) => x.eta <= p.now
205
205
  && (x.lockedTTL === null
206
206
  || x.lockedTTL <= p.now)
207
207
  && x.isWorkflow === true
208
208
  && x.taskGroup === p.taskGroup)
209
- .orderBy({}, (p) => (x) => x.eta)
210
- .thenBy({}, (p) => (x) => x.priority)
209
+ .orderBy({}, (x, p) => x.eta)
210
+ .thenBy({}, (x, p) => x.priority)
211
211
  .limit(20)
212
212
  .withSignal(signal)
213
- .updateSelect({ uuid }, (p) => (x) => ({
213
+ .updateSelect({ uuid }, (x, p) => ({
214
214
  lockedTTL: Sql.date.addSeconds(Sql.date.now(), 15),
215
215
  lockToken: p.uuid
216
216
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"WorkflowStorage.js","sourceRoot":"","sources":["../../src/workflows/WorkflowStorage.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,MAAM,EAAE,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,QAAQ,MAAM,sBAAsB,CAAC;AAC5C,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAgB,MAAM,wBAAwB,CAAC;AACvF,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAC7C,OAAO,GAAG,MAAM,eAAe,CAAC;AAoBjB,IAAM,eAAe,GAArB,MAAM,eAAe;IAMpB;IAEQ;IANpB,+BAA+B;IAE/B,YAEY,MAAkB,EAEV,KAAoB;QAF5B,WAAM,GAAN,MAAM,CAAY;QAEV,UAAK,GAAL,KAAK,CAAe;IAGxC,CAAC;IAED,uBAAuB,CAAC,EAAE,SAAS,GAAG,KAAK,CAAC,EAAE,GAAG,EAAG;QAChD,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI;eAC/D,CAAC,CAAC,KAAK,KAAK,QAAQ,CAC1B,CAAC;QACF,IAAI,SAAS,EAAE,CAAC;YACZ,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,SAAS,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgC;QAC7C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAC9B,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC;QACzC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,KAAK;eACjF,CAAC,CAAC,KAAK,KAAK,QAAQ;eACpB,CAAC,CAAC,KAAK,KAAK,MAAM;eAClB,CAAC,CAAC,UAAU,KAAK,IAAI;eACrB,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CACzC;aACA,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aACjD,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,EAAE,CAAC;YACJ,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACtD,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,CAAC,CAAC;IAEb,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,QAAgC;QAE7C,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,KAAK;eAClF,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;aACxB,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;aACjD,KAAK,EAAE,CAAC;QAEb,IAAI,IAAI,EAAE,CAAC;YACP,IAAI,QAAQ,CAAC,YAAY,IAAI,CAAC,EAAE,CAAC;gBAC7B,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;QAC5E,CAAC;QAED,OAAO,QAAQ,CAAC,GAAG,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QACxB,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,EAAE,CAAC;YACJ,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,SAAS;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,CAAC,YAAY,CAAC,EAAE,IAAI;aACvB,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,EAAU;QACnB,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,EAAE,CAAC;YACJ,OAAO;gBACH,EAAE;gBACF,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,SAAS;gBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,GAAG,EAAE,CAAC,CAAC,GAAG;gBACV,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,CAAC,YAAY,CAAC,EAAE,IAAI;aACvB,CAAC;QACN,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,IAAK;QACjB,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,IAAI,EAAE,CAAC;YACP,SAAS;YACT,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9D,gEAAgE;YAChE,2DAA2D;YAC3D,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC;aACrE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAC,CAAC,CAAE,CAAC,KAAK,EAAE,CAAC;QAChE,OAAO,IAAI,EAAE,KAAK,CAAC;IAC3B,CAAC;IAEG;;;;OAIG;IACH,KAAK,CAAC,MAAM,CAAC,EAAE;QACX,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE9C,4BAA4B;QAC5B,+BAA+B;QAC/B,MAAM,kBAAkB,GAAG,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC;aAClH,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAC,CAAC,CAAC,CAAC;SAC9C,CAAC,CAAC,CAAC;QAER,IAAI,kBAAkB,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC;aAC7D,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAEvD,IAAI,MAAM,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,EAAE,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;YAC5E,OAAO;QACX,CAAC;QAED,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE;aACvB,MAAM,CAAC,EAAE,EAAE,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAA4B;QACnC,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC;QACzB,KAAK,CAAC,OAAO,KAAK,QAAQ,CAAC,GAAG,CAAC;QAC/B,KAAK,CAAC,SAAS,KAAK,SAAS,CAAC;QAC9B,0BAA0B;QAC1B,IAAG,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;YACrB,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1E,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB,EAAE,MAAoB;QACjD,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAE9B,wBAAwB;QAExB,yDAAyD;QAEzD,4CAA4C;QAC5C,6EAA6E;QAC7E,2EAA2E;QAE3E,2CAA2C;QAC3C,0CAA0C;QAC1C,iBAAiB;QACjB,iCAAiC;QACjC,yDAAyD;QACzD,qDAAqD;QACrD,iBAAiB;QACjB,iCAAiC;QACjC,uDAAuD;QACvD,0CAA0C;QAC1C,4EAA4E;QAC5E,0DAA0D;QAC1D,wEAAwE;QACxE,0BAA0B;QAC1B,0DAA0D;QAC1D,oBAAoB;QACpB,qBAAqB;QACrB,gBAAgB;QAChB,aAAa;QACb,yDAAyD;QACzD,2CAA2C;QAC3C,0CAA0C;QAC1C,mCAAmC;QACnC,gCAAgC;QAChC,uDAAuD;QACvD,4CAA4C;QAC5C,iBAAiB;QACjB,sCAAsC;QACtC,uDAAuD;QACvD,0CAA0C;QAC1C,oEAAoE;QACpE,qBAAqB;QACrB,gBAAgB;QAChB,aAAa;QACb,UAAU;QAEV,8EAA8E;QAC9E,IAAI;QAEJ,4BAA4B;QAE5B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAE1B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,SAAS;aAC3B,KAAK,CAAC,EAAC,GAAG,EAAE,SAAS,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG;eAC9C,CAAE,CAAC,CAAC,SAAS,KAAK,IAAI;mBAClB,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAC1B;eACE,CAAC,CAAC,UAAU,KAAK,IAAI;eACrB,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,CAAC;aAClC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;aAChC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;aACpC,KAAK,CAAC,EAAE,CAAC;aACT,UAAU,CAAC,MAAM,CAAC;aAClB,YAAY,CAAC,EAAE,IAAI,EAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAClC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC;YAClD,SAAS,EAAE,CAAC,CAAC,IAAI;SACpB,CAAC,CAAC,CAAC;QACR,MAAM,GAAG,GAAG,EAAoB,CAAC;QACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAClB,SAAS;YACb,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,GAAG,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAQ;QACf,MAAM,EAAE,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,EAAE,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC;QACrC,MAAM,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;IACnG,CAAC;CAEJ,CAAA;AAjQoB,eAAe;IADnC,iBAAiB;IAMT,WAAA,MAAM,CAAA;IAEN,WAAA,MAAM,CAAA;qCADS,UAAU;QAEH,aAAa;GARvB,eAAe,CAiQnC;eAjQoB,eAAe"}
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.547",
3
+ "version": "1.1.1",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -50,24 +50,24 @@ export default class QueryCompiler {
50
50
  this.sqlMethodTransformer = sqlMethodTransformer;
51
51
  }
52
52
 
53
- public transform(fx: (p: any) => (x: any) => any, target?: ParameterExpression, outerParameter?: ParameterExpression) {
53
+ public transform(fx: (x: any, p: any) => any, target?: ParameterExpression, outerParameter?: ParameterExpression) {
54
54
  const key = `${fx.toString()}-${target?.id ?? '_'}-${outerParameter?.id ?? '_'}`;
55
55
  return this.parserCache.getOrCreate(key, this, (k, self) => self.arrowToExpression.transform(fx, target, outerParameter));
56
56
  }
57
57
 
58
- public execute<P = any, T = any>(parameters: P, fx: (p: P) => (x: T) => any, source?: EntityQuery) {
58
+ public execute<P = any, T = any>(parameters: P, fx: (x: T, p: P) => any, source?: EntityQuery) {
59
59
  const { params, target , body } = this.transform(fx, source?.selectStatement.sourceParameter);
60
60
  const exp = new this.expressionToSql(source, params[0], target, this);
61
61
  const query = exp.visit(body);
62
62
  return this.invoke(query, parameters);
63
63
  }
64
64
 
65
- public compile(source: EntityQuery, fx: (p) => (x) => any) {
65
+ public compile(source: EntityQuery, fx: (x, p) => any) {
66
66
  const { params, target , body } = this.transform(fx, source?.selectStatement.sourceParameter);
67
67
  return { params, target, body };
68
68
  }
69
69
 
70
- public compileToSql( source: EntityQuery , fx: (p) => (x) => any) {
70
+ public compileToSql( source: EntityQuery , fx: (x, p) => any) {
71
71
  const { params, target , body } = this.transform(fx, source?.selectStatement.sourceParameter);
72
72
  const exp = new this.expressionToSql(source, params[0], target, this);
73
73
  const textQuery = exp.visit(body);
@@ -202,7 +202,8 @@ export class SqlServerConnection extends BaseConnection {
202
202
  }
203
203
 
204
204
  protected async createDbTransaction(): Promise<EntityTransaction> {
205
- const tx = this.transaction = new sql.Transaction(await this.newConnection());
205
+ const tx = this.transaction = (await this.newConnection()).transaction();
206
+ // await tx.begin();
206
207
  return new SqlEntityTransaction(this, tx);
207
208
  }
208
209
 
@@ -224,7 +225,7 @@ export class SqlServerConnection extends BaseConnection {
224
225
  return request;
225
226
  }
226
227
 
227
- private newConnection(config = this.config) {
228
+ private async newConnection(config = this.config) {
228
229
  const key = config.server + "//" + config.database + "/" + config.user;
229
230
  return namedPool.getOrCreateAsync(config.server + "://" + config.database,
230
231
  async () => {
@@ -236,7 +237,6 @@ export class SqlServerConnection extends BaseConnection {
236
237
  }) as any;
237
238
  return await pool.connect();
238
239
  }, 15000, (x) => x.close());
239
-
240
240
  }
241
241
 
242
242
  }
@@ -21,6 +21,10 @@ export default class EntityQuery<T = any>
21
21
  public traceQuery: (text: string) => void;
22
22
  public includes: any[];
23
23
  public scope: ParameterExpression[];
24
+
25
+ private maxLimit = void 0;
26
+ private hasMore = false;
27
+
24
28
  constructor (p: Partial<EntityQuery<any>>
25
29
  ) {
26
30
  // lets clone select...
@@ -28,7 +32,7 @@ export default class EntityQuery<T = any>
28
32
  return p as EntityQuery;
29
33
  }
30
34
 
31
- select(p: any, fx: any): any {
35
+ select(p: any, fx?: any): any {
32
36
  return this.map(p, fx);
33
37
  }
34
38
 
@@ -59,7 +63,11 @@ export default class EntityQuery<T = any>
59
63
  }, this.signal);
60
64
  }
61
65
 
62
- selectView(parameters: any, fx: any): any {
66
+ selectView(parameters: any, fx?: any): any {
67
+ if (fx === void 0) {
68
+ fx = parameters;
69
+ parameters = void 0;
70
+ }
63
71
  const exp = this.context.driver.compiler.compile(this, fx);
64
72
  const p1 = exp.params[0];
65
73
  if (p1) {
@@ -127,7 +135,11 @@ export default class EntityQuery<T = any>
127
135
  });
128
136
  }
129
137
 
130
- map(parameters: any, fx: any): any {
138
+ map(parameters: any, fx?: any): any {
139
+ if (fx === void 0) {
140
+ fx = parameters;
141
+ parameters = void 0;
142
+ }
131
143
  const q = this.extend(parameters, fx, (select, body) => {
132
144
  const fields = [] as Expression[];
133
145
  switch(body.type) {
@@ -155,15 +167,18 @@ export default class EntityQuery<T = any>
155
167
  return new EntityQuery({ ... this, signal });
156
168
  }
157
169
 
158
- thenBy(parameters: any, fx: any): any {
170
+ thenBy(parameters: any, fx?: any): any {
159
171
  return this.orderBy(parameters, fx);
160
172
  }
161
- thenByDescending(parameters: any, fx: any) {
173
+ thenByDescending(parameters: any, fx?: any) {
162
174
  return this.orderByDescending(parameters, fx);
163
175
  }
164
176
 
165
- where<P>(parameters: P, fx: (p: P) => (x: T) => boolean): any {
166
-
177
+ where(parameters: any, fx?: any): any {
178
+ if (fx === void 0) {
179
+ fx = parameters;
180
+ parameters = void 0;
181
+ }
167
182
  return this.extend(parameters, fx, (select, body) => ({
168
183
  ... select,
169
184
  where: select.where ? Expression.logicalAnd(select.where, body): body
@@ -178,8 +193,12 @@ export default class EntityQuery<T = any>
178
193
  });
179
194
  }
180
195
 
181
- union(p, fx): any {
196
+ union(p, fx?): any {
182
197
 
198
+ if (fx === void 0) {
199
+ fx = p;
200
+ p = void 0;
201
+ }
183
202
  const limit = this.selectStatement.limit;
184
203
  const offset = this.selectStatement.offset;
185
204
 
@@ -317,7 +336,11 @@ export default class EntityQuery<T = any>
317
336
  });
318
337
  }
319
338
 
320
- async delete(p, f): Promise<number> {
339
+ async delete(p, f?): Promise<number> {
340
+ if (f === void 0) {
341
+ f = p;
342
+ p = void 0;
343
+ }
321
344
  if (f) {
322
345
  return this.where(p, f).delete(void 0, void 0);
323
346
  }
@@ -363,6 +386,13 @@ export default class EntityQuery<T = any>
363
386
  }
364
387
 
365
388
  async updateSelect(p?, f?): Promise<T[]> {
389
+
390
+
391
+ if (f === void 0) {
392
+ f = p;
393
+ p = void 0;
394
+ }
395
+
366
396
  const updateStatement = this.getUpdateStatement(p, f, true);
367
397
 
368
398
  await using scope = new AsyncDisposableScope();
@@ -372,7 +402,7 @@ export default class EntityQuery<T = any>
372
402
  const type = this.type;
373
403
  const signal = this.signal;
374
404
 
375
- const relationMapper = new RelationMapper(this.context.changeSet);
405
+ // const relationMapper = new RelationMapper(this.context.changeSet);
376
406
 
377
407
  signal?.throwIfAborted();
378
408
 
@@ -388,7 +418,7 @@ export default class EntityQuery<T = any>
388
418
  Object.setPrototypeOf(iterator, prototype);
389
419
  iterator.$type = type.entityName;
390
420
  const entry = this.context.changeSet.getEntry(iterator, iterator);
391
- relationMapper.fix(entry);
421
+ // relationMapper.fix(entry);
392
422
  results.push(entry.entity as any);
393
423
  }
394
424
  return results;
@@ -400,6 +430,10 @@ export default class EntityQuery<T = any>
400
430
 
401
431
  async update(p?, f?): Promise<number> {
402
432
 
433
+ if (f === void 0) {
434
+ f = p;
435
+ p = void 0;
436
+ }
403
437
  const updateStatement = this.getUpdateStatement(p, f);
404
438
 
405
439
  const session = this.context.logger ?? Logger.nullLogger;
@@ -415,7 +449,7 @@ export default class EntityQuery<T = any>
415
449
  }
416
450
  }
417
451
 
418
- getUpdateStatement(p?, f?, returnEntity = false) {
452
+ getUpdateStatement(p, f, returnEntity = false) {
419
453
 
420
454
  if (f) {
421
455
  return this.extend(p, f, (select, body) => {
@@ -505,6 +539,25 @@ export default class EntityQuery<T = any>
505
539
  return results;
506
540
  }
507
541
 
542
+ async toPage(start, size): Promise<any> {
543
+ this.maxLimit = size;
544
+ let q = this;
545
+ if (start > 0) {
546
+ q = q.offset(start);
547
+ }
548
+ q = q.limit(size);
549
+ const items: T[] = [];
550
+ q.hasMore = false;
551
+ for await (const iterator of q.enumerate()) {
552
+ items.push(iterator);
553
+ }
554
+ const { hasMore } = q;
555
+ return {
556
+ items,
557
+ more:hasMore
558
+ };
559
+ }
560
+
508
561
  async *enumerate(): AsyncGenerator<T, any, unknown> {
509
562
 
510
563
  await using scope = new AsyncDisposableScope();
@@ -561,12 +614,23 @@ export default class EntityQuery<T = any>
561
614
  // select = { ... select, fields: select.model.getFieldMap(select.sourceParameter) };
562
615
  }
563
616
 
617
+ if (this.maxLimit) {
618
+ select.limit++;
619
+ }
620
+
621
+ let maxLimit = this.maxLimit ? this.maxLimit : Number.MAX_VALUE;
622
+
564
623
  query = this.context.driver.compiler.compileExpression(this, select);
565
624
  this.traceQuery?.(query.text);
566
625
  const reader = await this.context.connection.executeReader(query, signal);
567
626
  scope.register(reader);
568
627
  const prototype = type?.typeClass.prototype;
569
628
  for await (const iterator of reader.next(10, signal)) {
629
+ maxLimit--;
630
+ if(maxLimit < 0) {
631
+ this.hasMore = true;
632
+ break;
633
+ }
570
634
  if (type) {
571
635
  // const item = type.map(iterator) as any;
572
636
  // set identity...
@@ -632,7 +696,11 @@ export default class EntityQuery<T = any>
632
696
  toQuery(): { text: string; values: any[]; } {
633
697
  return this.context.driver.compiler.compileExpression(this, this.selectStatement);
634
698
  }
635
- orderBy(parameters: any, fx: any): any {
699
+ orderBy(parameters: any, fx?: any): any {
700
+ if (fx === void 0) {
701
+ fx = parameters;
702
+ parameters = void 0;
703
+ }
636
704
  return this.extend(parameters, fx, (select, target) => ({
637
705
  ... select,
638
706
  orderBy: select.orderBy
@@ -640,7 +708,11 @@ export default class EntityQuery<T = any>
640
708
  : [OrderByExpression.create({ target})]
641
709
  }));
642
710
  }
643
- orderByDescending(parameters: any, fx: any): any {
711
+ orderByDescending(parameters: any, fx?: any): any {
712
+ if (fx === void 0) {
713
+ fx = parameters;
714
+ parameters = void 0;
715
+ }
644
716
  const descending = true;
645
717
  return this.extend(parameters, fx, (select, target) => ({
646
718
  ... select,
@@ -749,7 +821,8 @@ export default class EntityQuery<T = any>
749
821
  Identifier.create({ value: "1"}),
750
822
  "c1")
751
823
  ],
752
- orderBy: void 0
824
+ orderBy: void 0,
825
+ limit: 1,
753
826
  };
754
827
 
755
828
  const nq = new EntityQuery({ ... this, selectStatement: select });
@@ -1,6 +1,6 @@
1
1
  import type EntityContext from "./EntityContext.js";
2
2
  import type EntityType from "../entity-query/EntityType.js";
3
- import type { IEntityQuery, IFilterExpression } from "./IFilterWithParameter.js";
3
+ import type { IEntityQuery } from "./IFilterWithParameter.js";
4
4
  import { contextSymbol, modelSymbol, traceSymbol } from "../common/symbols/symbols.js";
5
5
  import { Expression, ExpressionAs, Identifier, InsertStatement, TableLiteral } from "../query/ast/Expressions.js";
6
6
  import { DirectSaveType } from "../drivers/base/BaseDriver.js";
@@ -358,7 +358,7 @@ export class EntitySource<T = any> {
358
358
  filter.push(`x.${iterator.name} === p.${iterator.name}`);
359
359
  }
360
360
 
361
- return this.where(keys, `(p) => (x) => ${filter.join(" && ")}` as any) as any;
361
+ return this.where(keys, `(x, p) => ${filter.join(" && ")}` as any) as any;
362
362
  // return q.first() as Promise<T>;
363
363
  }
364
364
 
@@ -381,7 +381,7 @@ export class EntitySource<T = any> {
381
381
  filter.push(`x.${fkColumn.name} === p.${relatedKeyColumn.name}`);
382
382
  }
383
383
 
384
- const query = `(p) => (x) => ${filter.join(" && ")}` as any;
384
+ const query = `(x, p) => ${filter.join(" && ")}` as any;
385
385
  // console.log(query);
386
386
 
387
387
  return this.context.model.register(relatedEntity.typeClass)
@@ -444,8 +444,10 @@ export class EntitySource<T = any> {
444
444
  return mode === "modify" ? events.modify(query) : events.filter(query);
445
445
  }
446
446
 
447
- public where<P>(...[parameter, fx]: IFilterExpression<P, T>) {
448
- return this.asQuery().where(parameter, fx);
447
+ public where(fx: (x: T) => boolean): IEntityQuery<T>;
448
+ public where<P>(parameter: P, fx: (x: T, p: P) => boolean): IEntityQuery<T>;
449
+ public where<P>(parameter?: any, fx?: unknown) {
450
+ return this.asQuery().where(parameter, fx as any) as IEntityQuery<T>;
449
451
  }
450
452
 
451
453
  public asQuery() {
@@ -1,11 +1,13 @@
1
1
  import { IQueryResult } from "../drivers/base/BaseDriver.js";
2
2
  import type { EntitySource } from "./EntitySource.js";
3
3
 
4
+ // export type IParamFunction<P, T, TR> = (x: T, p: P) => TR;
5
+
4
6
  export type IFilterWithParameter<P = any, T = any> = (p: P) => (x: T) => boolean;
5
7
 
6
8
  export type ILambdaExpression<P = any, T = any, TR = any> = [input: P, x: (p: P) => (s: T) => TR];
7
9
 
8
- export type IFilterExpression<P = any, T = any> = [input: P, x: (p: P) => (s: T) => boolean];
10
+ export type IFilterExpression<P = any, T = any> = [input: P, fx: (x: T, p: P) => boolean];
9
11
 
10
12
  export type IFieldsAsNumbers<T> = { [P in keyof T]: number };
11
13
 
@@ -17,46 +19,55 @@ export interface IBaseQuery<T> {
17
19
 
18
20
  some(): Promise<boolean>;
19
21
 
20
- select<P, TR>(parameters: P, fx: (p: P) => (x: T) => TR): IBaseQuery<TR>;
21
- map<P, TR>(parameters: P, fx: (p: P) => (x: T) => TR): IBaseQuery<TR>;
22
+ select<TR>(fx: (x: T) => TR): IBaseQuery<TR>;
23
+ select<P, TR>(parameters: P, fx: (x: T,p: P) => TR): IBaseQuery<TR>;
24
+ map<TR>(fx: (x: T) => TR): IBaseQuery<TR>;
25
+ map<P, TR>(parameters: P, fx: (x: T, p: P) => TR): IBaseQuery<TR>;
22
26
 
23
27
  toArray(this: T extends object ? IBaseQuery<T> : never): Promise<T[]>;
24
28
 
29
+ toPage(this: T extends object ? IBaseQuery<T>: never, start, size): Promise<{ more: boolean, items: T[]}>;
30
+
25
31
  toQuery(): { text: string, values: any[]};
26
32
 
27
33
  limit<DT>(this: DT, limit: number): DT;
28
34
  offset<DT>(this: DT, offset: number): DT;
29
- where<P, DT>(this: DT, parameters: P, fx: (p: P) => (x: T) => boolean): DT;
35
+ where<DT>(this: DT, fx: (x: T) => boolean): DT;
36
+ where<P, DT>(this: DT, parameters: P, fx: (x: T,p: P) => boolean): DT;
37
+ union<DT>(this: DT, fx: (x: T) => boolean): DT;
30
38
  union<P, DT>(this: DT, parameters: P, fx: (p: P) => (x: T) => boolean): DT;
31
- selectView<P, DT>(this: DT, parameters: P, fx: (p: P) => (x: T) => Partial<T>): DT;
39
+ selectView<DT>(this: DT, fx: (x: T) => Partial<T>): DT;
40
+ selectView<P, DT>(this: DT, parameters: P, fx: (x: T, p: P) => Partial<T>): DT;
32
41
 
33
- innerJoin<JT, DT>(this: DT, q1: IBaseQuery<JT>, fx: (p: JT) => (x: T) => boolean): DT;
42
+ innerJoin<JT, DT>(this: DT, q1: IBaseQuery<JT>, fx: (x: T, p: JT) => boolean): DT;
34
43
 
35
- exists<JT, DT>(this: DT, q1: IBaseQuery<JT>, fx: (p: JT) => (x: T) => boolean): DT;
44
+ exists<JT, DT>(this: DT, q1: IBaseQuery<JT>, fx: (x: T, p: JT) => boolean): DT;
36
45
 
37
46
  count(): Promise<number>;
38
47
  count<P>(parameters: P, fx: (p: P) => (x: T) => boolean): Promise<number>;
39
48
 
40
49
  slice<DT>(this:DT, start?: number, end?: number): DT;
41
50
 
42
- sum(): Promise<number>;
43
- sum<P>(parameters: P, fx: (p: P) => (x: T) => number): Promise<number>;
44
- sum<P, TR>(parameters: P, fx: (p: P) => (x: T) => TR): Promise<IFieldsAsNumbers<TR>>;
51
+ sum(fx?: (x: T) => number): Promise<number>;
52
+ sum<P, TR>(parameters: P, fx: (x: T, p: P) => TR): Promise<IFieldsAsNumbers<TR>>;
45
53
 
46
54
 
47
55
  withSignal<DT>(this:DT, signal: AbortSignal): DT;
48
56
 
49
57
  include<TR>(fx: (x: T) => TR | TR[]): IBaseQuery<T>;
50
58
 
51
- update<P>(parameters: P, fx: (p: P) => (x:T) => Partial<T>): Promise<number>;
52
- updateSelect<P>(this: T extends object ? IBaseQuery<T> : never, parameters: P, fx: (p: P) => (x:T) => Partial<T>): Promise<T[]>;
59
+ update(fx: (x:T) => Partial<T>): Promise<number>;
60
+ update<P>(parameters: P, fx: (x:T, p: P) => Partial<T>): Promise<number>;
61
+ updateSelect(this: T extends object ? IBaseQuery<T> : never, fx: (x:T) => Partial<T>): Promise<T[]>;
62
+ updateSelect<P>(this: T extends object ? IBaseQuery<T> : never, parameters: P, fx: (x:T, p: P) => Partial<T>): Promise<T[]>;
53
63
 
54
64
  /**
55
65
  * Warning !! Be careful, this will delete rows from the database and neither soft delete nor any other events will be invoked.
56
66
  * @param parameters parameters to supply
57
67
  * @param fx filter expression
58
68
  */
59
- delete<P>(parameters: P, fx: (p: P) => (x: T) => boolean): Promise<number>;
69
+ delete(fx: (x: T) => boolean): Promise<number>;
70
+ delete<P>(parameters: P, fx: (x: T, p: P) => boolean): Promise<number>;
60
71
 
61
72
  trace<DT>(this: DT, tracer: (text: string) => void): DT;
62
73
 
@@ -73,12 +84,16 @@ export interface IBaseQuery<T> {
73
84
 
74
85
  export interface IOrderedEntityQuery<T> extends IBaseQuery<T> {
75
86
 
76
- thenBy<P>(parameters: P, fx: (p: P) => (x: T) => any): IOrderedEntityQuery<T>;
77
- thenByDescending<P>(parameters: P, fx: (p: P) => (x: T) => any): IOrderedEntityQuery<T>;
87
+ thenBy(fx: (x: T) => any): IOrderedEntityQuery<T>;
88
+ thenBy<P>(parameters: P, fx: (x: T, p: P) => any): IOrderedEntityQuery<T>;
89
+ thenByDescending(fx: (x: T) => any): IOrderedEntityQuery<T>;
90
+ thenByDescending<P>(parameters: P, fx: (x: T, p: P) => any): IOrderedEntityQuery<T>;
78
91
  }
79
92
 
80
93
  export interface IEntityQuery<T> extends IBaseQuery<T> {
81
94
 
82
- orderBy<P>(parameters: P, fx: (p: P) => (x: T) => any): IOrderedEntityQuery<T>;
83
- orderByDescending<P>(parameters: P, fx: (p: P) => (x: T) => any): IOrderedEntityQuery<T>;
95
+ orderBy(fx: (x: T) => any): IOrderedEntityQuery<T>;
96
+ orderBy<P>(parameters: P, fx: (x: T, p: P) => any): IOrderedEntityQuery<T>;
97
+ orderByDescending(fx: (x: T) => any): IOrderedEntityQuery<T>;
98
+ orderByDescending<P>(parameters: P, fx: (x: T, p: P) => any): IOrderedEntityQuery<T>;
84
99
  }
@@ -184,7 +184,7 @@ export default class ChangeEntry<T = any> implements IChanges {
184
184
  filter.push(`x.${fkColumn.name} === p.${relatedKeyColumn.name}`);
185
185
  }
186
186
 
187
- const query = `(p) => (x) => ${filter.join(" && ")}` as any;
187
+ const query = `(x, p) => ${filter.join(" && ")}` as any;
188
188
  // console.log(query);
189
189
 
190
190
  await context.model.register(relatedEntity.typeClass)