@spinajs/orm 1.2.165 → 1.2.175
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.
- package/lib/driver.js +1 -0
- package/lib/driver.js.map +1 -1
- package/lib/hydrators.d.ts +3 -0
- package/lib/hydrators.js +31 -1
- package/lib/hydrators.js.map +1 -1
- package/package.json +2 -2
package/lib/driver.js
CHANGED
|
@@ -42,6 +42,7 @@ class OrmDriver extends di_1.SyncModule {
|
|
|
42
42
|
di_1.DI.register(hydrators_1.DbPropertyHydrator).as(hydrators_1.ModelHydrator);
|
|
43
43
|
di_1.DI.register(hydrators_1.NonDbPropertyHydrator).as(hydrators_1.ModelHydrator);
|
|
44
44
|
di_1.DI.register(hydrators_1.OneToOneRelationHydrator).as(hydrators_1.ModelHydrator);
|
|
45
|
+
di_1.DI.register(hydrators_1.OneToManyRelationHydrator).as(hydrators_1.ModelHydrator);
|
|
45
46
|
di_1.DI.register(hydrators_1.JunctionModelPropertyHydrator).as(hydrators_1.ModelHydrator);
|
|
46
47
|
di_1.DI.register(dehydrators_1.StandardModelDehydrator).as(dehydrators_1.ModelDehydrator);
|
|
47
48
|
}
|
package/lib/driver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,sCAAmC;AAGnC,oCAAgF;AAChF,wBAAiF;AACjF,yCAAiK;AACjK,
|
|
1
|
+
{"version":3,"file":"driver.js","sourceRoot":"","sources":["../src/driver.ts"],"names":[],"mappings":"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"}
|
package/lib/hydrators.d.ts
CHANGED
|
@@ -2,6 +2,9 @@ import { ModelBase } from './model';
|
|
|
2
2
|
export declare abstract class ModelHydrator {
|
|
3
3
|
abstract hydrate(target: any, values: any): void;
|
|
4
4
|
}
|
|
5
|
+
export declare class OneToManyRelationHydrator extends ModelHydrator {
|
|
6
|
+
hydrate(target: ModelBase, values: any): void;
|
|
7
|
+
}
|
|
5
8
|
export declare class OneToOneRelationHydrator extends ModelHydrator {
|
|
6
9
|
hydrate(target: ModelBase, values: any): void;
|
|
7
10
|
}
|
package/lib/hydrators.js
CHANGED
|
@@ -1,11 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.JunctionModelPropertyHydrator = exports.NonDbPropertyHydrator = exports.DbPropertyHydrator = exports.OneToOneRelationHydrator = exports.ModelHydrator = void 0;
|
|
3
|
+
exports.JunctionModelPropertyHydrator = exports.NonDbPropertyHydrator = exports.DbPropertyHydrator = exports.OneToOneRelationHydrator = exports.OneToManyRelationHydrator = exports.ModelHydrator = void 0;
|
|
4
|
+
/* eslint-disable prettier/prettier */
|
|
5
|
+
const interfaces_1 = require("./interfaces");
|
|
4
6
|
const di_1 = require("@spinajs/di");
|
|
5
7
|
const relations_1 = require("./relations");
|
|
6
8
|
class ModelHydrator {
|
|
7
9
|
}
|
|
8
10
|
exports.ModelHydrator = ModelHydrator;
|
|
11
|
+
class OneToManyRelationHydrator extends ModelHydrator {
|
|
12
|
+
hydrate(target, values) {
|
|
13
|
+
const descriptor = target.ModelDescriptor;
|
|
14
|
+
if (!descriptor) {
|
|
15
|
+
throw new Error(`cannot hydrate model ${target.constructor.name}, no model descriptor found`);
|
|
16
|
+
}
|
|
17
|
+
for (const [key, val] of descriptor.Relations) {
|
|
18
|
+
if (val.Type !== interfaces_1.RelationType.Many) {
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (values[key] != null) {
|
|
22
|
+
const entity = target;
|
|
23
|
+
const mapRel = values[key].map((x) => {
|
|
24
|
+
const tEntity = !(0, di_1.isConstructor)(val.TargetModel) ? new (val.TargetModel())() : new val.TargetModel();
|
|
25
|
+
tEntity['__relationKey__'] = key;
|
|
26
|
+
return tEntity.hydrate(x);
|
|
27
|
+
});
|
|
28
|
+
const rel = new relations_1.OneToManyRelationList(target, val.TargetModel, val, mapRel);
|
|
29
|
+
entity[key] = rel;
|
|
30
|
+
delete target[val.ForeignKey];
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
exports.OneToManyRelationHydrator = OneToManyRelationHydrator;
|
|
9
36
|
class OneToOneRelationHydrator extends ModelHydrator {
|
|
10
37
|
hydrate(target, values) {
|
|
11
38
|
const descriptor = target.ModelDescriptor;
|
|
@@ -13,6 +40,9 @@ class OneToOneRelationHydrator extends ModelHydrator {
|
|
|
13
40
|
throw new Error(`cannot hydrate model ${target.constructor.name}, no model descriptor found`);
|
|
14
41
|
}
|
|
15
42
|
for (const [key, val] of descriptor.Relations) {
|
|
43
|
+
if (val.Type !== interfaces_1.RelationType.One) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
16
46
|
if (values[key] != null) {
|
|
17
47
|
const entity = target;
|
|
18
48
|
const tEntity = !(0, di_1.isConstructor)(val.TargetModel) ? new (val.TargetModel())() : new val.TargetModel();
|
package/lib/hydrators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrators.js","sourceRoot":"","sources":["../src/hydrators.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"hydrators.js","sourceRoot":"","sources":["../src/hydrators.ts"],"names":[],"mappings":";;;AAAA,sCAAsC;AACtC,6CAAgE;AAEhE,oCAA4C;AAC5C,2CAAoE;AAEpE,MAAsB,aAAa;CAElC;AAFD,sCAEC;AAED,MAAa,yBAA0B,SAAQ,aAAa;IACnD,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;SAC/F;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE;YAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAY,CAAC,IAAI,EAAE;gBAClC,SAAS;aACV;YAED,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;gBACvB,MAAM,MAAM,GAAG,MAAa,CAAC;gBAE7B,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;oBACxC,MAAM,OAAO,GAAG,CAAC,IAAA,kBAAa,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,GAAG,CAAC,WAAkC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,GAAG,CAAC,WAAmB,EAAE,CAAC;oBACpI,OAAe,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;oBAC1C,OAAO,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAC5B,CAAC,CAAC,CAAC;gBAEH,MAAM,GAAG,GAAG,IAAI,iCAAqB,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC5E,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAClB,OAAQ,MAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACxC;SACF;IACH,CAAC;CACF;AA3BD,8DA2BC;AAED,MAAa,wBAAyB,SAAQ,aAAa;IAClD,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;SAC/F;QAED,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,UAAU,CAAC,SAAS,EAAE;YAC7C,IAAI,GAAG,CAAC,IAAI,KAAK,yBAAY,CAAC,GAAG,EAAE;gBACjC,SAAS;aACV;YAED,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;gBACvB,MAAM,MAAM,GAAG,MAAa,CAAC;gBAC7B,MAAM,OAAO,GAAG,CAAC,IAAA,kBAAa,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAE,GAAG,CAAC,WAAkC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,IAAK,GAAG,CAAC,WAAmB,EAAE,CAAC;gBACrI,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC5B,OAAe,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC;gBAC1C,MAAM,GAAG,GAAG,IAAI,0BAAc,CAAC,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;gBACtE,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE;oBAC3B,GAAG,EAAE,UAAU,MAAM,EAAE,IAAI;wBACzB,OAAO,IAAI,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAE,MAAc,CAAC,IAAI,CAAC,CAAC;oBAC/F,CAAC;oBACD,GAAG,EAAE,UAAU,GAAG,EAAE,IAAI,EAAE,MAAM;wBAC9B,IAAI,IAAI,IAAI,GAAG,CAAC,eAAe,EAAE;4BAC/B,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;4BACnC,OAAO,IAAI,CAAC;yBACb;wBAED,OAAO,KAAK,CAAC;oBACf,CAAC;iBACF,CAAC,CAAC;gBACH,OAAQ,MAAc,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;aACxC;SACF;IACH,CAAC;CACF;AAnCD,4DAmCC;AAED,MAAa,kBAAmB,SAAQ,aAAa;IAC5C,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;SAC/F;QAED,qCAAqC;QACrC,wBAAwB;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAA,EAAA,CAAC,CAAC;QAC9F,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;YACjB,0CAA0C;YAC1C,gDAAgD;YAChD,IAAI,CAAC,KAAK,UAAU,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE;gBAC7C,OAAO;aACR;YAED,MAAM,MAAM,GAAG,MAAA,UAAU,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;YAC5D,MAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AArBD,gDAqBC;AAED,MAAa,qBAAsB,SAAQ,aAAa;IAC/C,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;SAC/F;QAED,yCAAyC;QACzC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,CAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAK,SAAS,CAAA,EAAA,CAAC,CAAC;QAC5G,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,MAAc,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAbD,sDAaC;AAED,MAAa,6BAA8B,SAAQ,aAAa;IACvD,OAAO,CAAC,MAAiB,EAAE,MAAW;QAC3C,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,WAAW,CAAC,IAAI,6BAA6B,CAAC,CAAC;SAC/F;QAED,KAAK,MAAM,EAAE,IAAI,UAAU,CAAC,uBAAuB,EAAE;YACnD,MAAM,MAAM,GAAG,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YAEpC,MAAc,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;SACnC;IACH,CAAC;CACF;AAdD,sEAcC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spinajs/orm",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.175",
|
|
4
4
|
"description": "framework orm module",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"private": false,
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"luxon": "^2.2.0",
|
|
53
53
|
"uuid": "^8.3.2"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "700586c05e1d365a83180285ab5911bb88c18890"
|
|
56
56
|
}
|