@entity-access/entity-access 1.0.252 → 1.0.253

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 (96) hide show
  1. package/.vscode/launch.json +2 -1
  2. package/dist/common/symbols/symbols.d.ts +1 -0
  3. package/dist/common/symbols/symbols.d.ts.map +1 -1
  4. package/dist/common/symbols/symbols.js +1 -0
  5. package/dist/common/symbols/symbols.js.map +1 -1
  6. package/dist/decorators/ForeignKey.d.ts +8 -7
  7. package/dist/decorators/ForeignKey.d.ts.map +1 -1
  8. package/dist/decorators/ForeignKey.js +43 -8
  9. package/dist/decorators/ForeignKey.js.map +1 -1
  10. package/dist/decorators/IColumn.d.ts +6 -3
  11. package/dist/decorators/IColumn.d.ts.map +1 -1
  12. package/dist/decorators/Relate.d.ts.map +1 -1
  13. package/dist/decorators/Relate.js +8 -6
  14. package/dist/decorators/Relate.js.map +1 -1
  15. package/dist/entity-query/EntityType.d.ts +5 -1
  16. package/dist/entity-query/EntityType.d.ts.map +1 -1
  17. package/dist/entity-query/EntityType.js +57 -25
  18. package/dist/entity-query/EntityType.js.map +1 -1
  19. package/dist/migrations/postgres/PostgresAutomaticMigrations.js +1 -1
  20. package/dist/migrations/postgres/PostgresAutomaticMigrations.js.map +1 -1
  21. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.js +1 -1
  22. package/dist/migrations/sql-server/SqlServerAutomaticMigrations.js.map +1 -1
  23. package/dist/model/EntityModel.js +2 -2
  24. package/dist/model/EntityModel.js.map +1 -1
  25. package/dist/model/EntitySource.d.ts +6 -1
  26. package/dist/model/EntitySource.d.ts.map +1 -1
  27. package/dist/model/EntitySource.js.map +1 -1
  28. package/dist/model/SourceExpression.d.ts +1 -22
  29. package/dist/model/SourceExpression.d.ts.map +1 -1
  30. package/dist/model/SourceExpression.js +116 -98
  31. package/dist/model/SourceExpression.js.map +1 -1
  32. package/dist/model/changes/ChangeEntry.d.ts.map +1 -1
  33. package/dist/model/changes/ChangeEntry.js +62 -25
  34. package/dist/model/changes/ChangeEntry.js.map +1 -1
  35. package/dist/model/changes/ChangeSet.d.ts +2 -1
  36. package/dist/model/changes/ChangeSet.d.ts.map +1 -1
  37. package/dist/model/changes/ChangeSet.js +4 -3
  38. package/dist/model/changes/ChangeSet.js.map +1 -1
  39. package/dist/model/identity/IdentityMap.d.ts +23 -0
  40. package/dist/model/identity/IdentityMap.d.ts.map +1 -0
  41. package/dist/model/identity/IdentityMap.js +113 -0
  42. package/dist/model/identity/IdentityMap.js.map +1 -0
  43. package/dist/model/identity/RelationMapper.d.ts +2 -3
  44. package/dist/model/identity/RelationMapper.d.ts.map +1 -1
  45. package/dist/model/identity/RelationMapper.js +60 -27
  46. package/dist/model/identity/RelationMapper.js.map +1 -1
  47. package/dist/model/identity/SearchIndex.d.ts +17 -0
  48. package/dist/model/identity/SearchIndex.d.ts.map +1 -0
  49. package/dist/model/identity/SearchIndex.js +109 -0
  50. package/dist/model/identity/SearchIndex.js.map +1 -0
  51. package/dist/model/verification/VerificationSession.d.ts +1 -1
  52. package/dist/model/verification/VerificationSession.d.ts.map +1 -1
  53. package/dist/model/verification/VerificationSession.js +18 -16
  54. package/dist/model/verification/VerificationSession.js.map +1 -1
  55. package/dist/query/ast/ExpressionToSql.d.ts.map +1 -1
  56. package/dist/query/ast/ExpressionToSql.js +74 -52
  57. package/dist/query/ast/ExpressionToSql.js.map +1 -1
  58. package/dist/query/expander/QueryExpander.d.ts.map +1 -1
  59. package/dist/query/expander/QueryExpander.js +41 -10
  60. package/dist/query/expander/QueryExpander.js.map +1 -1
  61. package/dist/tests/db-tests/tests/multi-fk-tests.d.ts +3 -0
  62. package/dist/tests/db-tests/tests/multi-fk-tests.d.ts.map +1 -0
  63. package/dist/tests/db-tests/tests/multi-fk-tests.js +38 -0
  64. package/dist/tests/db-tests/tests/multi-fk-tests.js.map +1 -0
  65. package/dist/tests/expressions/left-joins/child-joins.js +7 -7
  66. package/dist/tests/model/ShoppingContext.d.ts +9 -0
  67. package/dist/tests/model/ShoppingContext.d.ts.map +1 -1
  68. package/dist/tests/model/ShoppingContext.js +34 -0
  69. package/dist/tests/model/ShoppingContext.js.map +1 -1
  70. package/dist/tests/security/tests/include-items.d.ts.map +1 -1
  71. package/dist/tests/security/tests/include-items.js +1 -0
  72. package/dist/tests/security/tests/include-items.js.map +1 -1
  73. package/dist/tsconfig.tsbuildinfo +1 -1
  74. package/package.json +1 -1
  75. package/src/common/symbols/symbols.ts +2 -1
  76. package/src/decorators/ForeignKey.ts +66 -28
  77. package/src/decorators/IColumn.ts +4 -3
  78. package/src/decorators/Relate.ts +8 -6
  79. package/src/entity-query/EntityType.ts +60 -26
  80. package/src/migrations/postgres/PostgresAutomaticMigrations.ts +1 -1
  81. package/src/migrations/sql-server/SqlServerAutomaticMigrations.ts +1 -1
  82. package/src/model/EntityModel.ts +2 -2
  83. package/src/model/EntitySource.ts +6 -1
  84. package/src/model/SourceExpression.ts +132 -132
  85. package/src/model/changes/ChangeEntry.ts +68 -25
  86. package/src/model/changes/ChangeSet.ts +4 -3
  87. package/src/model/identity/IdentityMap.ts +126 -0
  88. package/src/model/identity/RelationMapper.ts +71 -27
  89. package/src/model/identity/SearchIndex.ts +120 -0
  90. package/src/model/verification/VerificationSession.ts +19 -16
  91. package/src/query/ast/ExpressionToSql.ts +77 -61
  92. package/src/query/expander/QueryExpander.ts +52 -28
  93. package/src/tests/db-tests/tests/multi-fk-tests.ts +46 -0
  94. package/src/tests/expressions/left-joins/child-joins.ts +7 -7
  95. package/src/tests/model/ShoppingContext.ts +32 -0
  96. package/src/tests/security/tests/include-items.ts +1 -0
@@ -1,23 +1,2 @@
1
- import EntityType from "../entity-query/EntityType.js";
2
- import { ParameterExpression, SelectStatement } from "../query/ast/Expressions.js";
3
- import { ITextQueryFragment } from "../query/ast/IStringTransformer.js";
4
- import EntityContext from "./EntityContext.js";
5
- export declare class SourceExpression {
6
- static create(p: Partial<SourceExpression>): SourceExpression;
7
- alias: ParameterExpression;
8
- parameter?: ParameterExpression;
9
- context: EntityContext;
10
- model?: EntityType;
11
- include?: EntityType[];
12
- select: SelectStatement;
13
- parent?: SourceExpression;
14
- private map;
15
- private paramMap;
16
- private constructor();
17
- copy(): SourceExpression;
18
- addJoin(property: string): SourceExpression;
19
- addSource(model: EntityType, parameter: ParameterExpression): SourceExpression;
20
- flatten(chain: string[]): ITextQueryFragment;
21
- prepareNames([property, ...others]: string[]): ITextQueryFragment;
22
- }
1
+ export {};
23
2
  //# sourceMappingURL=SourceExpression.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceExpression.d.ts","sourceRoot":"","sources":["../../src/model/SourceExpression.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAA8B,mBAAmB,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,EAAE,kBAAkB,EAAkB,MAAM,oCAAoC,CAAC;AACxF,OAAO,aAAa,MAAM,oBAAoB,CAAC;AAI/C,qBAAa,gBAAgB;WAEX,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC;IAIjD,KAAK,EAAE,mBAAmB,CAAC;IAC3B,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAChC,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,MAAM,EAAE,eAAe,CAAC;IACxB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAE1B,OAAO,CAAC,GAAG,CAA+B;IAC1C,OAAO,CAAC,QAAQ,CAAgC;IAEhD,OAAO;IAaP,IAAI;IASJ,OAAO,CAAC,QAAQ,EAAE,MAAM;IAkCxB,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB;IA4B3D,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB;IAY5C,YAAY,CAAC,CAAC,QAAQ,EAAG,GAAI,MAAM,CAAC,EAAE,MAAM,EAAE,GAAG,kBAAkB;CAUtE"}
1
+ {"version":3,"file":"SourceExpression.d.ts","sourceRoot":"","sources":["../../src/model/SourceExpression.ts"],"names":[],"mappings":""}
@@ -1,99 +1,117 @@
1
- import { modelSymbol } from "../common/symbols/symbols.js";
2
- import { Expression, JoinExpression, ParameterExpression } from "../query/ast/Expressions.js";
3
- import { QueryParameter } from "../query/ast/IStringTransformer.js";
4
- const sourceSymbol = Symbol("source");
5
- export class SourceExpression {
6
- static create(p) {
7
- return new SourceExpression(p);
8
- }
9
- constructor(p) {
10
- Object.setPrototypeOf(p, SourceExpression.prototype);
11
- const r = p;
12
- if (r.parent) {
13
- r.map = r.parent.map;
14
- r.paramMap = r.parent.paramMap;
15
- }
16
- else {
17
- r.paramMap = new Map();
18
- r.map = new Map();
19
- }
20
- return r;
21
- }
22
- copy() {
23
- const r = { ...this };
24
- Object.setPrototypeOf(r, Object.getPrototypeOf(this));
25
- r.map = new Map(this.map.entries());
26
- r.paramMap = new Map(this.paramMap.entries());
27
- r.select = Expression.clone(this.select);
28
- return r;
29
- }
30
- addJoin(property) {
31
- const { select } = this;
32
- select.joins ??= [];
33
- const relation = this.model.getProperty(property);
34
- const model = this.context.model.register(relation.relation.relatedTypeClass)[modelSymbol];
35
- for (const iterator of select.joins) {
36
- if (model === iterator.model) {
37
- return iterator[sourceSymbol];
38
- }
39
- }
40
- const column = relation.relation.fkColumn;
41
- const parameter = ParameterExpression.create({ name: this.parameter + "." + property, model });
42
- const source = this.addSource(model, parameter);
43
- const join = JoinExpression.create({
44
- as: source.alias,
45
- joinType: column.nullable ? "LEFT" : "INNER",
46
- model,
47
- source: Expression.identifier(model.name),
48
- where: Expression.logicalAnd(Expression.member(this.alias, column.columnName), Expression.member(source.alias, model.keys[0].columnName))
49
- });
50
- select.joins.push(join);
51
- join[sourceSymbol] = source;
52
- return source;
53
- }
54
- addSource(model, parameter) {
55
- const { context } = this;
56
- const source = SourceExpression.create({
57
- model,
58
- parameter,
59
- context,
60
- parent: this
61
- });
62
- source.map = this.map;
63
- source.paramMap = this.paramMap;
64
- let id = 0;
65
- let alias;
66
- do {
67
- alias = model.name[0] + id++;
68
- const exists = this.map.get(alias);
69
- if (exists === null || exists === void 0) {
70
- break;
71
- }
72
- } while (true);
73
- source.alias = ParameterExpression.create({ name: alias, model });
74
- this.map.set(alias, source);
75
- this.paramMap.set(parameter.name, source);
76
- return source;
77
- }
78
- flatten(chain) {
79
- const [start, ...others] = chain;
80
- if (start === this.parameter.name) {
81
- return this.prepareNames(others);
82
- }
83
- const mapped = this.paramMap.get(start);
84
- if (mapped) {
85
- return mapped.prepareNames(others);
86
- }
87
- throw new Error("Not found");
88
- }
89
- prepareNames([property, ...others]) {
90
- const p = this.model.getProperty(property);
91
- if (others.length === 0) {
92
- return `${QueryParameter.create(() => this.alias.name)}.${p.field.columnName}`;
93
- }
94
- // this must be a navigation...
95
- const source = this.addJoin(property);
96
- return source.prepareNames(others);
97
- }
98
- }
1
+ // import { modelSymbol } from "../common/symbols/symbols.js";
2
+ // import EntityType from "../entity-query/EntityType.js";
3
+ // import { Expression, JoinExpression, ParameterExpression, SelectStatement } from "../query/ast/Expressions.js";
4
+ // import { ITextQueryFragment, QueryParameter } from "../query/ast/IStringTransformer.js";
5
+ // import EntityContext from "./EntityContext.js";
6
+ export {};
7
+ // const sourceSymbol = Symbol("source");
8
+ // export class SourceExpression {
9
+ // public static create(p: Partial<SourceExpression>) {
10
+ // return new SourceExpression(p);
11
+ // }
12
+ // alias: ParameterExpression;
13
+ // parameter?: ParameterExpression;
14
+ // context: EntityContext;
15
+ // model?: EntityType;
16
+ // include?: EntityType[];
17
+ // select: SelectStatement;
18
+ // parent?: SourceExpression;
19
+ // private map: Map<string,SourceExpression>;
20
+ // private paramMap: Map<string, SourceExpression>;
21
+ // private constructor(p: Partial<SourceExpression>) {
22
+ // Object.setPrototypeOf(p, SourceExpression.prototype);
23
+ // const r = p as SourceExpression;
24
+ // if (r.parent) {
25
+ // r.map = r.parent.map;
26
+ // r.paramMap = r.parent.paramMap;
27
+ // } else {
28
+ // r.paramMap = new Map();
29
+ // r.map = new Map();
30
+ // }
31
+ // return r;
32
+ // }
33
+ // copy() {
34
+ // const r = { ... this } as SourceExpression;
35
+ // Object.setPrototypeOf(r, Object.getPrototypeOf(this));
36
+ // r.map = new Map(this.map.entries());
37
+ // r.paramMap = new Map(this.paramMap.entries());
38
+ // r.select = Expression.clone(this.select);
39
+ // return r;
40
+ // }
41
+ // addJoin(property: string) {
42
+ // const { select } = this;
43
+ // select.joins ??= [];
44
+ // const relation = this.model.getProperty(property);
45
+ // const model = this.context.model.register(relation.relation.relatedTypeClass)[modelSymbol];
46
+ // for (const iterator of select.joins) {
47
+ // if (model === iterator.model) {
48
+ // return iterator[sourceSymbol] as SourceExpression;
49
+ // }
50
+ // }
51
+ // const column = relation.relation.fkColumn;
52
+ // const parameter = ParameterExpression.create({ name: this.parameter + "." + property, model });
53
+ // const source = this.addSource(model, parameter);
54
+ // const join = JoinExpression.create({
55
+ // as: source.alias,
56
+ // joinType: column.nullable ? "LEFT" : "INNER",
57
+ // model,
58
+ // source: Expression.identifier(model.name),
59
+ // where: Expression.logicalAnd(
60
+ // Expression.member(
61
+ // this.alias,
62
+ // column.columnName),
63
+ // Expression.member(
64
+ // source.alias,
65
+ // model.keys[0].columnName)
66
+ // )
67
+ // });
68
+ // select.joins.push(join);
69
+ // join[sourceSymbol] = source;
70
+ // return source;
71
+ // }
72
+ // addSource(model: EntityType, parameter: ParameterExpression) {
73
+ // const { context } = this;
74
+ // const source = SourceExpression.create({
75
+ // model,
76
+ // parameter,
77
+ // context,
78
+ // parent: this
79
+ // });
80
+ // source.map = this.map;
81
+ // source.paramMap = this.paramMap;
82
+ // let id = 0;
83
+ // let alias: string;
84
+ // do {
85
+ // alias = model.name[0] + id++;
86
+ // const exists = this.map.get(alias);
87
+ // if (exists === null || exists === void 0) {
88
+ // break;
89
+ // }
90
+ // }while (true);
91
+ // source.alias = ParameterExpression.create({ name: alias, model });
92
+ // this.map.set(alias, source);
93
+ // this.paramMap.set(parameter.name, source);
94
+ // return source;
95
+ // }
96
+ // flatten(chain: string[]): ITextQueryFragment {
97
+ // const [start, ... others ] = chain;
98
+ // if (start === this.parameter.name) {
99
+ // return this.prepareNames(others);
100
+ // }
101
+ // const mapped = this.paramMap.get(start);
102
+ // if (mapped) {
103
+ // return mapped.prepareNames(others);
104
+ // }
105
+ // throw new Error("Not found");
106
+ // }
107
+ // prepareNames([property , ... others]: string[]): ITextQueryFragment {
108
+ // const p = this.model.getProperty(property);
109
+ // if (others.length === 0) {
110
+ // return `${ QueryParameter.create(() => this.alias.name)}.${p.field.columnName}`;
111
+ // }
112
+ // // this must be a navigation...
113
+ // const source = this.addJoin(property);
114
+ // return source.prepareNames(others);
115
+ // }
116
+ // }
99
117
  //# sourceMappingURL=SourceExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SourceExpression.js","sourceRoot":"","sources":["../../src/model/SourceExpression.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SourceExpression.js","sourceRoot":"","sources":["../../src/model/SourceExpression.ts"],"names":[],"mappings":"AAAA,8DAA8D;AAC9D,0DAA0D;AAC1D,kHAAkH;AAClH,2FAA2F;AAC3F,kDAAkD;;AAElD,yCAAyC;AAEzC,kCAAkC;AAElC,2DAA2D;AAC3D,0CAA0C;AAC1C,QAAQ;AAER,kCAAkC;AAClC,uCAAuC;AACvC,8BAA8B;AAC9B,0BAA0B;AAC1B,8BAA8B;AAC9B,+BAA+B;AAC/B,iCAAiC;AAEjC,iDAAiD;AACjD,uDAAuD;AAEvD,0DAA0D;AAC1D,gEAAgE;AAChE,2CAA2C;AAC3C,0BAA0B;AAC1B,oCAAoC;AACpC,8CAA8C;AAC9C,mBAAmB;AACnB,sCAAsC;AACtC,iCAAiC;AACjC,YAAY;AACZ,oBAAoB;AACpB,QAAQ;AAER,eAAe;AACf,sDAAsD;AACtD,iEAAiE;AACjE,+CAA+C;AAC/C,yDAAyD;AACzD,oDAAoD;AACpD,oBAAoB;AACpB,QAAQ;AAER,kCAAkC;AAClC,mCAAmC;AACnC,+BAA+B;AAE/B,6DAA6D;AAC7D,sGAAsG;AAEtG,iDAAiD;AACjD,8CAA8C;AAC9C,qEAAqE;AACrE,gBAAgB;AAChB,YAAY;AACZ,qDAAqD;AACrD,0GAA0G;AAC1G,2DAA2D;AAC3D,+CAA+C;AAC/C,gCAAgC;AAChC,4DAA4D;AAC5D,qBAAqB;AACrB,yDAAyD;AACzD,4CAA4C;AAC5C,qCAAqC;AACrC,kCAAkC;AAClC,0CAA0C;AAC1C,qCAAqC;AACrC,oCAAoC;AACpC,gDAAgD;AAChD,gBAAgB;AAChB,cAAc;AACd,mCAAmC;AACnC,uCAAuC;AACvC,yBAAyB;AACzB,QAAQ;AAER,qEAAqE;AAErE,oCAAoC;AACpC,mDAAmD;AACnD,qBAAqB;AACrB,yBAAyB;AACzB,uBAAuB;AACvB,2BAA2B;AAC3B,cAAc;AAEd,iCAAiC;AACjC,2CAA2C;AAE3C,sBAAsB;AACtB,6BAA6B;AAC7B,eAAe;AACf,4CAA4C;AAC5C,kDAAkD;AAClD,0DAA0D;AAC1D,yBAAyB;AACzB,gBAAgB;AAChB,yBAAyB;AACzB,6EAA6E;AAC7E,uCAAuC;AACvC,qDAAqD;AACrD,yBAAyB;AACzB,QAAQ;AAER,qDAAqD;AACrD,8CAA8C;AAC9C,+CAA+C;AAC/C,gDAAgD;AAChD,YAAY;AACZ,mDAAmD;AACnD,wBAAwB;AACxB,kDAAkD;AAClD,YAAY;AACZ,wCAAwC;AACxC,QAAQ;AAER,4EAA4E;AAC5E,sDAAsD;AACtD,qCAAqC;AACrC,+FAA+F;AAC/F,YAAY;AAEZ,0CAA0C;AAC1C,iDAAiD;AACjD,8CAA8C;AAC9C,QAAQ;AACR,IAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeEntry.d.ts","sourceRoot":"","sources":["../../../src/model/changes/ChangeEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,kBAAkB,eAAwB,CAAC;AAExD,eAAO,MAAM,UAAU,eAAwB,CAAC;AAEhD,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;CACvF;AAED,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,QAAQ;IAEzD,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAEpF,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/B,SAAS,EAAE,SAAS,CAAC;IAErB,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,UAAU,CAAmB;gBAEzB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAU7C;;;;OAIG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;IAKhC;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IAM/B;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IAKxB,MAAM;IAkEA,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG;IA2CpD,YAAY,CAAC,QAAQ,KAAA;IAYrB,KAAK,CAAC,QAAQ,KAAA;IA2Cd,YAAY;IAInB;;OAEG;IACI,MAAM;IAeb,kBAAkB;IA2DlB,sBAAsB;CA0BzB"}
1
+ {"version":3,"file":"ChangeEntry.d.ts","sourceRoot":"","sources":["../../../src/model/changes/ChangeEntry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAEtD,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,kBAAkB,eAAwB,CAAC;AAExD,eAAO,MAAM,UAAU,eAAwB,CAAC;AAEhD,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;CACvF;AAED,MAAM,WAAW,OAAO;IACpB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,GAAG,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,CAAC,GAAG,GAAG,CAAE,YAAW,QAAQ;IAEzD,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,CAAC,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IAEpF,QAAQ,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAE/B,SAAS,EAAE,SAAS,CAAC;IAErB,OAAO,CAAC,OAAO,CAAiB;IAEhC,OAAO,CAAC,UAAU,CAAmB;gBAEzB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;IAU7C;;;;OAIG;IACI,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC;IAKhC;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IAM/B;;;;OAIG;IACI,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC;IAKxB,MAAM;IAkEA,mBAAmB,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,GAAG;IAiDpD,YAAY,CAAC,QAAQ,KAAA;IAYrB,KAAK,CAAC,QAAQ,KAAA;IA2Cd,YAAY;IAInB;;OAEG;IACI,MAAM;IAeb,kBAAkB;IAgGlB,sBAAsB;CA0BzB"}
@@ -113,19 +113,24 @@ export default class ChangeEntry {
113
113
  // this is tricky as we need to build inverse query...
114
114
  const { relatedRelation } = relation;
115
115
  const filter = [];
116
- for (const iterator of this.type.keys) {
117
- filter.push(`x.${relatedRelation.name}.${iterator.name} === p.${iterator.name}`);
116
+ for (const { fkColumn, relatedKeyColumn } of relatedRelation.fkMap) {
117
+ filter.push(`x.${relatedRelation.name}.${fkColumn.name} === p.${relatedKeyColumn.name}`);
118
118
  }
119
119
  await context.model.register(relatedEntity.typeClass)
120
120
  .where(this.entity, `(p) => (x) => ${filter.join(" && ")}`)
121
121
  .toArray();
122
+ return;
122
123
  }
123
124
  if (this.entity[relation.name]) {
124
125
  return;
125
126
  }
126
- const key = relatedEntity.keys[0];
127
+ // need to setup inverse key check
128
+ // const key = relatedEntity.keys[0];
127
129
  const keys = {};
128
- keys[key.name] = this.entity[relation.fkColumn.name];
130
+ // keys[key.name] = this.entity[relation.fkColumn.name];
131
+ for (const { fkColumn, relatedKeyColumn } of relation.fkMap) {
132
+ keys[relatedKeyColumn.name] = this.entity[fkColumn.name];
133
+ }
129
134
  this.entity[relation.name] = await context.model.register(relatedEntity.typeClass).loadByKeys(keys);
130
135
  }
131
136
  updateValues(dbValues) {
@@ -207,40 +212,72 @@ export default class ChangeEntry {
207
212
  continue;
208
213
  }
209
214
  // if related has key defined.. set it...
210
- const rKey = iterator.relatedEntity.keys[0];
215
+ // const rKey = iterator.relatedEntity.keys[0];
211
216
  // lets set the prototype...
212
217
  const prototype = iterator.relatedTypeClass.prototype;
213
218
  if (Object.getPrototypeOf(related) !== prototype) {
214
219
  Object.setPrototypeOf(related, prototype);
215
220
  }
216
221
  const relatedChanges = this.changeSet.getEntry(related);
217
- const keyValue = related[rKey.name];
218
- if (keyValue === void 0) {
219
- if (relatedChanges.dependents.has(this)) {
220
- continue;
221
- }
222
- relatedChanges.dependents.add(this);
223
- this.order++;
224
- for (const d of this.dependents) {
225
- d.order++;
226
- }
227
- const fk = iterator;
228
- if (!fk.fkColumn.columnName) {
229
- throw new EntityAccessError(`Configuration error, fk not set for ${fk.name}`);
230
- }
231
- relatedChanges.pending.push(() => {
232
- this.entity[fk.fkColumn.name] = related[rKey.name];
233
- });
234
- if (this.status !== "inserted") {
235
- this.modified.set(iterator, { column: iterator.fkColumn, oldValue: void 0, newValue: void 0 });
222
+ for (const { fkColumn, relatedKeyColumn } of iterator.fkMap) {
223
+ const keyValue = related[relatedKeyColumn.name];
224
+ if (keyValue === void 0) {
225
+ if (relatedChanges.dependents.has(this)) {
226
+ continue;
227
+ }
228
+ relatedChanges.dependents.add(this);
229
+ this.order++;
230
+ for (const d of this.dependents) {
231
+ d.order++;
232
+ }
233
+ if (!fkColumn.columnName) {
234
+ throw new EntityAccessError(`Configuration error, fk not set for ${fkColumn.name}`);
235
+ }
236
+ relatedChanges.pending.push(() => {
237
+ this.entity[fkColumn.name] = related[relatedKeyColumn.name];
238
+ });
239
+ if (this.status !== "inserted") {
240
+ this.modified.set(iterator, { column: fkColumn, oldValue: void 0, newValue: void 0 });
241
+ }
236
242
  }
237
243
  continue;
238
244
  }
245
+ // const keyValue = related[rKey.name];
246
+ // if (keyValue === void 0) {
247
+ // if(relatedChanges.dependents.has(this)) {
248
+ // continue;
249
+ // }
250
+ // relatedChanges.dependents.add(this);
251
+ // this.order++;
252
+ // for (const d of this.dependents) {
253
+ // d.order++;
254
+ // }
255
+ // const fk = iterator;
256
+ // if (!fk.fkMap?.length) {
257
+ // throw new EntityAccessError(`Configuration error, fk not set for ${fk.name}`);
258
+ // }
259
+ // relatedChanges.pending.push(() => {
260
+ // for (const { fkColumn, relatedKeyColumn } of fk.fkMap) {
261
+ // this.entity[fkColumn.name] = related[relatedKeyColumn.name];
262
+ // }
263
+ // // this.entity[fk.fkColumn.name] = related[rKey.name];
264
+ // });
265
+ // if (this.status !== "inserted") {
266
+ // for (const { fkColumn } of fk.fkMap) {
267
+ // this.modified.set(iterator, { column: fkColumn, oldValue: void 0, newValue: void 0});
268
+ // }
269
+ // // this.modified.set(iterator, { column: iterator.fkColumn, oldValue: void 0, newValue: void 0});
270
+ // }
271
+ // continue;
272
+ // }
239
273
  if (!relatedChanges.dependents.has(this)) {
240
274
  relatedChanges.dependents.add(this);
241
275
  this.order += relatedChanges.order;
242
276
  }
243
- this.entity[iterator.fkColumn.name] = related[rKey.name];
277
+ for (const { fkColumn, relatedKeyColumn } of iterator.fkMap) {
278
+ this.entity[fkColumn.name] = related[relatedKeyColumn.name];
279
+ }
280
+ // this.entity[iterator.fkColumn.name] = related[rKey.name];
244
281
  }
245
282
  }
246
283
  setupInverseProperties() {
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeEntry.js","sourceRoot":"","sources":["../../../src/model/changes/ChangeEntry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChangeEntry.js","sourceRoot":"","sources":["../../../src/model/changes/ChangeEntry.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import EventSet from "../../common/EventSet.js";
2
2
  import EntityContext from "../EntityContext.js";
3
+ import IdentityMap from "../identity/IdentityMap.js";
3
4
  import { identityMapSymbol } from "../identity/IdentityService.js";
4
5
  import ChangeEntry, { privateUpdateEntry, getContext } from "./ChangeEntry.js";
5
6
  export default class ChangeSet {
6
7
  private context;
7
8
  addedEvent: EventSet<ChangeEntry<any>, any>;
8
- get [identityMapSymbol](): Map<string, any>;
9
+ get [identityMapSymbol](): IdentityMap;
9
10
  get [getContext](): EntityContext;
10
11
  private readonly entries;
11
12
  private entryMap;
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeSet.d.ts","sourceRoot":"","sources":["../../../src/model/changes/ChangeSet.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAEhD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAwB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,WAAW,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG/E,MAAM,CAAC,OAAO,OAAO,SAAS;IAuBd,OAAO,CAAC,OAAO;IArBpB,UAAU,kCAAmC;IAEpD,IAAI,CAAC,iBAAiB,CAAC,qBAEtB;IAED,IAAI,CAAC,UAAU,CAAC,kBAEf;IAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,QAAQ,CAAoC;IAEpD;;OAEG;IACH,OAAO,CAAC,WAAW,CAA8B;IAEjD,OAAO,CAAC,MAAM,CAAK;gBAEC,OAAO,EAAE,aAAa;IAGzC,UAAU,CAAC,GAAG,SAAI,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC;IAyBtD,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,WAAW;IAgBhC,aAAa,CAAC,OAAO,KAAA;IAOrB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,MAAS,GAAG,WAAW,CAAC,CAAC,CAAC;IAoChE;;OAEG;IACI,aAAa;IAcpB;;;OAGG;IACI,KAAK;CASf"}
1
+ {"version":3,"file":"ChangeSet.d.ts","sourceRoot":"","sources":["../../../src/model/changes/ChangeSet.ts"],"names":[],"mappings":"AAEA,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAEhD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAwB,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACpF,OAAO,WAAW,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG/E,MAAM,CAAC,OAAO,OAAO,SAAS;IAuBd,OAAO,CAAC,OAAO;IArBpB,UAAU,kCAAmC;IAEpD,IAAI,CAAC,iBAAiB,CAAC,gBAEtB;IAED,IAAI,CAAC,UAAU,CAAC,kBAEf;IAED,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAE7C,OAAO,CAAC,QAAQ,CAAoC;IAEpD;;OAEG;IACH,OAAO,CAAC,WAAW,CAAqB;IAExC,OAAO,CAAC,MAAM,CAAK;gBAEC,OAAO,EAAE,aAAa;IAGzC,UAAU,CAAC,GAAG,SAAI,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC;IAyBtD,CAAC,kBAAkB,CAAC,CAAC,KAAK,EAAE,WAAW;IAgBhC,aAAa,CAAC,OAAO,KAAA;IAOrB,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,MAAS,GAAG,WAAW,CAAC,CAAC,CAAC;IAoChE;;OAEG;IACI,aAAa;IAcpB;;;OAGG;IACI,KAAK;CASf"}
@@ -1,5 +1,6 @@
1
1
  import EntityAccessError from "../../common/EntityAccessError.js";
2
2
  import EventSet from "../../common/EventSet.js";
3
+ import IdentityMap from "../identity/IdentityMap.js";
3
4
  import IdentityService, { identityMapSymbol } from "../identity/IdentityService.js";
4
5
  import ChangeEntry, { privateUpdateEntry, getContext } from "./ChangeEntry.js";
5
6
  export default class ChangeSet {
@@ -17,7 +18,7 @@ export default class ChangeSet {
17
18
  /**
18
19
  * This will provide new entity for same key
19
20
  */
20
- this.identityMap = new Map();
21
+ this.identityMap = new IdentityMap();
21
22
  this.nextId = 1;
22
23
  }
23
24
  *getChanges(max = 5) {
@@ -52,7 +53,7 @@ export default class ChangeSet {
52
53
  this.entryMap.delete(entry.entity);
53
54
  return;
54
55
  }
55
- this.identityMap.set(jsonKey, entry.entity);
56
+ this.identityMap.set(jsonKey, entry.entity, entry.type);
56
57
  }
57
58
  }
58
59
  getByIdentity(jsonKey) {
@@ -82,7 +83,7 @@ export default class ChangeSet {
82
83
  }
83
84
  }
84
85
  else {
85
- this.identityMap.set(jsonKey, entity);
86
+ this.identityMap.set(jsonKey, entity, type);
86
87
  }
87
88
  }
88
89
  entry = new ChangeEntry({
@@ -1 +1 @@
1
- {"version":3,"file":"ChangeSet.js","sourceRoot":"","sources":["../../../src/model/changes/ChangeSet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChangeSet.js","sourceRoot":"","sources":["../../../src/model/changes/ChangeSet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { IColumn } from "../../decorators/IColumn.js";
2
+ import type EntityType from "../../entity-query/EntityType.js";
3
+ /**
4
+ * Locally cache uniquely identifiable entities
5
+ */
6
+ export default class IdentityMap {
7
+ get indexedColumns(): IterableIterator<IColumn>;
8
+ private map;
9
+ private keys;
10
+ delete(jsonKey: any): void;
11
+ get(jsonKeys: any): any;
12
+ set(jsonKey: any, entity: any, type: EntityType): void;
13
+ clear(): void;
14
+ build(key: IColumn): Map<any, any[]>;
15
+ searchByKeys(pairs: {
16
+ key: IColumn;
17
+ value: any;
18
+ }[], create?: boolean): any;
19
+ private getAll;
20
+ private getKeyEntry;
21
+ private updateSearchIndex;
22
+ }
23
+ //# sourceMappingURL=IdentityMap.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdentityMap.d.ts","sourceRoot":"","sources":["../../../src/model/identity/IdentityMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,UAAU,MAAM,kCAAkC,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW;IAE5B,IAAW,cAAc,8BAExB;IAED,OAAO,CAAC,GAAG,CAA0B;IAErC,OAAO,CAAC,IAAI,CAAuC;IAE5C,MAAM,CAAC,OAAO,KAAA;IAwBd,GAAG,CAAC,QAAQ,KAAA;IAIZ,GAAG,CAAC,OAAO,KAAA,EAAE,MAAM,KAAA,EAAE,IAAI,EAAE,UAAU;IAMrC,KAAK;IAKL,KAAK,CAAC,GAAG,EAAE,OAAO;IAIzB,YAAY,CAAC,KAAK,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,MAAA;KAAC,EAAE,EAAE,MAAM,UAAO;IAsB3D,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,WAAW;IAgBnB,OAAO,CAAC,iBAAiB;CAsB5B"}