@decaf-ts/core 0.6.0 → 0.7.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.
- package/README.md +1 -1
- package/dist/core.cjs +1 -1
- package/dist/core.cjs.map +1 -1
- package/dist/core.js +1 -1
- package/dist/core.js.map +1 -1
- package/lib/esm/identity/decorators.js +6 -5
- package/lib/esm/identity/decorators.js.map +1 -1
- package/lib/esm/identity/utils.d.ts +3 -2
- package/lib/esm/identity/utils.js +7 -7
- package/lib/esm/identity/utils.js.map +1 -1
- package/lib/esm/index.d.ts +2 -1
- package/lib/esm/index.js +2 -1
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/model/construction.d.ts +2 -11
- package/lib/esm/model/construction.js +21 -33
- package/lib/esm/model/construction.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +11 -2
- package/lib/esm/model/decorators.js +91 -69
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/model/types.d.ts +6 -2
- package/lib/esm/overrides/Metadata.d.ts +14 -2
- package/lib/esm/overrides/overrides.js +31 -0
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/persistence/Adapter.d.ts +3 -9
- package/lib/esm/persistence/Adapter.js +27 -46
- package/lib/esm/persistence/Adapter.js.map +1 -1
- package/lib/esm/persistence/Sequence.d.ts +2 -1
- package/lib/esm/persistence/Sequence.js.map +1 -1
- package/lib/esm/persistence/index.d.ts +0 -1
- package/lib/esm/persistence/index.js +0 -1
- package/lib/esm/persistence/index.js.map +1 -1
- package/lib/esm/persistence/migrations.js +1 -2
- package/lib/esm/persistence/migrations.js.map +1 -1
- package/lib/esm/query/Paginator.d.ts +4 -2
- package/lib/esm/query/Paginator.js +3 -1
- package/lib/esm/query/Paginator.js.map +1 -1
- package/lib/esm/query/Statement.d.ts +2 -1
- package/lib/esm/query/Statement.js +2 -2
- package/lib/esm/query/Statement.js.map +1 -1
- package/lib/esm/query/options.d.ts +2 -1
- package/lib/esm/query/selectors.d.ts +2 -1
- package/lib/esm/ram/RamAdapter.d.ts +2 -1
- package/lib/esm/ram/RamAdapter.js +7 -5
- package/lib/esm/ram/RamAdapter.js.map +1 -1
- package/lib/esm/ram/RamPaginator.d.ts +2 -1
- package/lib/esm/ram/RamPaginator.js +1 -1
- package/lib/esm/ram/RamPaginator.js.map +1 -1
- package/lib/esm/ram/RamStatement.js +3 -3
- package/lib/esm/ram/RamStatement.js.map +1 -1
- package/lib/esm/ram/types.d.ts +2 -1
- package/lib/esm/repository/Repository.d.ts +2 -1
- package/lib/esm/repository/Repository.js +30 -40
- package/lib/esm/repository/Repository.js.map +1 -1
- package/lib/esm/repository/decorators.d.ts +2 -1
- package/lib/esm/repository/decorators.js +7 -8
- package/lib/esm/repository/decorators.js.map +1 -1
- package/lib/esm/repository/injectables.d.ts +1 -2
- package/lib/esm/repository/injectables.js +6 -6
- package/lib/esm/repository/injectables.js.map +1 -1
- package/lib/esm/repository/utils.d.ts +2 -2
- package/lib/esm/repository/utils.js +4 -5
- package/lib/esm/repository/utils.js.map +1 -1
- package/lib/identity/decorators.cjs +6 -5
- package/lib/identity/decorators.js.map +1 -1
- package/lib/identity/utils.cjs +5 -5
- package/lib/identity/utils.d.ts +3 -2
- package/lib/identity/utils.js.map +1 -1
- package/lib/index.cjs +2 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js.map +1 -1
- package/lib/model/construction.cjs +19 -31
- package/lib/model/construction.d.ts +2 -11
- package/lib/model/construction.js.map +1 -1
- package/lib/model/decorators.cjs +99 -76
- package/lib/model/decorators.d.ts +11 -2
- package/lib/model/decorators.js.map +1 -1
- package/lib/model/types.d.ts +6 -2
- package/lib/overrides/Metadata.d.ts +14 -2
- package/lib/overrides/overrides.cjs +31 -0
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/persistence/Adapter.cjs +25 -44
- package/lib/persistence/Adapter.d.ts +3 -9
- package/lib/persistence/Adapter.js.map +1 -1
- package/lib/persistence/Sequence.d.ts +2 -1
- package/lib/persistence/Sequence.js.map +1 -1
- package/lib/persistence/index.cjs +0 -1
- package/lib/persistence/index.d.ts +0 -1
- package/lib/persistence/index.js.map +1 -1
- package/lib/persistence/migrations.cjs +1 -2
- package/lib/persistence/migrations.js.map +1 -1
- package/lib/query/Paginator.cjs +3 -1
- package/lib/query/Paginator.d.ts +4 -2
- package/lib/query/Paginator.js.map +1 -1
- package/lib/query/Statement.cjs +1 -1
- package/lib/query/Statement.d.ts +2 -1
- package/lib/query/Statement.js.map +1 -1
- package/lib/query/options.d.ts +2 -1
- package/lib/query/selectors.d.ts +2 -1
- package/lib/ram/RamAdapter.cjs +9 -7
- package/lib/ram/RamAdapter.d.ts +2 -1
- package/lib/ram/RamAdapter.js.map +1 -1
- package/lib/ram/RamPaginator.cjs +1 -1
- package/lib/ram/RamPaginator.d.ts +2 -1
- package/lib/ram/RamPaginator.js.map +1 -1
- package/lib/ram/RamStatement.cjs +3 -3
- package/lib/ram/RamStatement.js.map +1 -1
- package/lib/ram/types.d.ts +2 -1
- package/lib/repository/Repository.cjs +29 -39
- package/lib/repository/Repository.d.ts +2 -1
- package/lib/repository/Repository.js.map +1 -1
- package/lib/repository/decorators.cjs +5 -6
- package/lib/repository/decorators.d.ts +2 -1
- package/lib/repository/decorators.js.map +1 -1
- package/lib/repository/injectables.cjs +5 -5
- package/lib/repository/injectables.d.ts +1 -2
- package/lib/repository/injectables.js.map +1 -1
- package/lib/repository/utils.cjs +4 -5
- package/lib/repository/utils.d.ts +2 -2
- package/lib/repository/utils.js.map +1 -1
- package/package.json +2 -4
- package/lib/esm/persistence/decorators.d.ts +0 -11
- package/lib/esm/persistence/decorators.js +0 -19
- package/lib/esm/persistence/decorators.js.map +0 -1
- package/lib/persistence/decorators.cjs +0 -22
- package/lib/persistence/decorators.d.ts +0 -11
- package/lib/persistence/decorators.js.map +0 -1
|
@@ -5,11 +5,10 @@ exports.pk = pk;
|
|
|
5
5
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
6
6
|
const SequenceOptions_1 = require("./../interfaces/SequenceOptions.cjs");
|
|
7
7
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
8
|
-
const Repository_1 = require("./../repository/Repository.cjs");
|
|
9
8
|
const decorators_1 = require("./../model/decorators.cjs");
|
|
10
9
|
const utils_1 = require("./utils.cjs");
|
|
11
10
|
const repository_1 = require("./../repository/index.cjs");
|
|
12
|
-
const
|
|
11
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
13
12
|
const defaultPkPriority = 60; // Default priority for primary key to run latter than other properties
|
|
14
13
|
/**
|
|
15
14
|
* @description Callback function for primary key creation
|
|
@@ -97,13 +96,15 @@ function pk(opts = SequenceOptions_1.DefaultSequenceOptions) {
|
|
|
97
96
|
? true
|
|
98
97
|
: opts.generated || SequenceOptions_1.DefaultSequenceOptions.generated,
|
|
99
98
|
});
|
|
100
|
-
const key =
|
|
99
|
+
const key = db_decorators_1.DBKeys.ID;
|
|
101
100
|
function pkDec(options, groupsort) {
|
|
102
101
|
return function pkDec(obj, attr) {
|
|
103
|
-
return (0,
|
|
102
|
+
return (0, decoration_1.apply)((0, decorators_1.index)([repository_1.OrderDirection.ASC, repository_1.OrderDirection.DSC]), (0, decorator_validation_1.required)(), (0, db_decorators_1.readonly)(),
|
|
103
|
+
// Model.pk neeeds to get the pk property name from the first property of Metatada[DBKeys.ID] ---> { [DBKeys.ID]: { [attr]:options }}
|
|
104
|
+
(0, decoration_1.propMetadata)(decoration_1.Metadata.key(db_decorators_1.DBKeys.ID, attr), options), (0, db_decorators_1.onCreate)(pkOnCreate, options, groupsort))(obj, attr);
|
|
104
105
|
};
|
|
105
106
|
}
|
|
106
|
-
return
|
|
107
|
+
return decoration_1.Decoration.for(key)
|
|
107
108
|
.define({
|
|
108
109
|
decorator: pkDec,
|
|
109
110
|
args: [opts, { priority: defaultPkPriority }],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":";;AAgEA,gCA0CC;AAsBD,gBAgCC;AAhKD,
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/identity/decorators.ts"],"names":[],"mappings":";;AAgEA,gCA0CC;AAsBD,gBAgCC;AAhKD,yEAAiE;AACjE,yEAGuC;AACvC,2DAOiC;AAEjC,0DAA4C;AAC5C,uCAA+C;AAG/C,0DAA+C;AAC/C,qDAK8B;AAE9B,MAAM,iBAAiB,GAAG,EAAE,CAAC,CAAC,uEAAuE;AAErG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACI,KAAK,UAAU,UAAU,CAQ9B,OAAmB,EACnB,IAAO,EACP,GAAY,EACZ,KAAQ;IAER,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAG,UACzB,MAAS,EACT,WAAmB,EACnB,KAA+B;QAE/B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,IAAI,CAAC,IAAI,GAAG,IAAA,4BAAoB,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC9D,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,MAAM,IAAI,6BAAa,CACrB,kCAAkC,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CACpD,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,kBAAkB,CAAC,KAAK,EAAE,GAAa,EAAE,IAAI,CAAC,CAAC;AACjD,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,EAAE,CAChB,OAGI,wCAAsB;IAE1B,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,wCAAsB,EAAE,IAAI,EAAE;QACrD,SAAS,EACP,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,SAAS,KAAK,WAAW;YAChD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,wCAAsB,CAAC,SAAS;KACzD,CAAoB,CAAC;IAEtB,MAAM,GAAG,GAAG,sBAAM,CAAC,EAAE,CAAC;IACtB,SAAS,KAAK,CAAC,OAAwB,EAAE,SAAqB;QAC5D,OAAO,SAAS,KAAK,CAAC,GAAQ,EAAE,IAAS;YACvC,OAAO,IAAA,kBAAK,EACV,IAAA,kBAAK,EAAC,CAAC,2BAAc,CAAC,GAAG,EAAE,2BAAc,CAAC,GAAG,CAAC,CAAC,EAC/C,IAAA,+BAAQ,GAAE,EACV,IAAA,wBAAQ,GAAE;YACV,qIAAqI;YACrI,IAAA,yBAAY,EAAC,qBAAQ,CAAC,GAAG,CAAC,sBAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,EACpD,IAAA,wBAAQ,EAAC,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,CACzC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACf,CAAC,CAAC;IACJ,CAAC;IACD,OAAO,uBAAU,CAAC,GAAG,CAAC,GAAG,CAAC;SACvB,MAAM,CAAC;QACN,SAAS,EAAE,KAAK;QAChB,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,CAAC;KAC9C,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC"}
|
package/lib/identity/utils.cjs
CHANGED
|
@@ -6,7 +6,7 @@ exports.sequenceNameForModel = sequenceNameForModel;
|
|
|
6
6
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
7
7
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
8
8
|
const constants_1 = require("./../persistence/constants.cjs");
|
|
9
|
-
const
|
|
9
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
10
10
|
/**
|
|
11
11
|
* @description Gets the table name for a model
|
|
12
12
|
* @summary Retrieves the table name associated with a model by checking metadata or falling back to the constructor name
|
|
@@ -20,9 +20,9 @@ function getTableName(model) {
|
|
|
20
20
|
const obj = model instanceof decorator_validation_1.Model ? decorator_validation_1.Model.get(model.constructor.name) : model;
|
|
21
21
|
if (!obj)
|
|
22
22
|
throw new db_decorators_1.InternalError(`Unable to find model ${model}`);
|
|
23
|
-
const
|
|
24
|
-
if (
|
|
25
|
-
return
|
|
23
|
+
const meta = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, constants_1.PersistenceKeys.TABLE);
|
|
24
|
+
if (meta) {
|
|
25
|
+
return meta;
|
|
26
26
|
}
|
|
27
27
|
if (model instanceof decorator_validation_1.Model) {
|
|
28
28
|
return model.constructor.name;
|
|
@@ -30,7 +30,7 @@ function getTableName(model) {
|
|
|
30
30
|
return model.name;
|
|
31
31
|
}
|
|
32
32
|
function getColumnName(model, attribute) {
|
|
33
|
-
const metadata =
|
|
33
|
+
const metadata = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, decoration_1.Metadata.key(constants_1.PersistenceKeys.COLUMN, attribute));
|
|
34
34
|
return metadata ? metadata : attribute;
|
|
35
35
|
}
|
|
36
36
|
/**
|
package/lib/identity/utils.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
2
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
2
3
|
/**
|
|
3
4
|
* @description Gets the table name for a model
|
|
4
5
|
* @summary Retrieves the table name associated with a model by checking metadata or falling back to the constructor name
|
|
@@ -9,7 +10,7 @@ import { Constructor, Model } from "@decaf-ts/decorator-validation";
|
|
|
9
10
|
* @memberOf module:core
|
|
10
11
|
*/
|
|
11
12
|
export declare function getTableName<M extends Model>(model: M | Constructor<M>): string;
|
|
12
|
-
export declare function getColumnName<M extends Model>(model: M
|
|
13
|
+
export declare function getColumnName<M extends Model>(model: M | Constructor<M>, attribute: string): string;
|
|
13
14
|
/**
|
|
14
15
|
* @description Generates a sequence name for a model
|
|
15
16
|
* @summary Creates a standardized sequence name by combining the table name with additional arguments
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/identity/utils.ts"],"names":[],"mappings":";;AAcA,oCAoBC;AAED,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/identity/utils.ts"],"names":[],"mappings":";;AAcA,oCAoBC;AAED,sCASC;AAYD,oDAKC;AA9DD,yEAAuD;AACvD,2DAAwD;AACxD,8DAA2D;AAC3D,qDAA6D;AAE7D;;;;;;;;GAQG;AACH,SAAgB,YAAY,CAC1B,KAAyB;IAEzB,MAAM,GAAG,GACP,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,4BAAK,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAErE,IAAI,CAAC,GAAG;QAAE,MAAM,IAAI,6BAAa,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;IAEnE,MAAM,IAAI,GAAG,qBAAQ,CAAC,GAAG,CACvB,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAa,EAC3D,2BAAe,CAAC,KAAK,CACtB,CAAC;IAEF,IAAI,IAAI,EAAE,CAAC;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,KAAK,YAAY,4BAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC;IAChC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,SAAgB,aAAa,CAC3B,KAAyB,EACzB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,qBAAQ,CAAC,GAAG,CAC3B,KAAK,YAAY,4BAAK,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAE,KAAa,EAC3D,qBAAQ,CAAC,GAAG,CAAC,2BAAe,CAAC,MAAM,EAAE,SAAS,CAAC,CAChD,CAAC;IACF,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACzC,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,KAAyB,EACzB,GAAG,IAAc;IAEjB,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,CAAC"}
|
package/lib/index.cjs
CHANGED
|
@@ -37,13 +37,14 @@ __exportStar(require("./query/index.cjs"), exports);
|
|
|
37
37
|
__exportStar(require("./utils/index.cjs"), exports);
|
|
38
38
|
//left to last on purpose
|
|
39
39
|
__exportStar(require("./persistence/index.cjs"), exports);
|
|
40
|
+
__exportStar(require("./ram/index.cjs"), exports);
|
|
40
41
|
/**
|
|
41
42
|
* @description Stores the current package version
|
|
42
43
|
* @summary A constant representing the version of the core package
|
|
43
44
|
* @const VERSION
|
|
44
45
|
* @memberOf module:core
|
|
45
46
|
*/
|
|
46
|
-
exports.VERSION = "0.
|
|
47
|
+
exports.VERSION = "0.7.0";
|
|
47
48
|
/**
|
|
48
49
|
* @description Stores the current package version
|
|
49
50
|
* @summary A constant representing the version of the core package
|
package/lib/index.d.ts
CHANGED
|
@@ -13,13 +13,14 @@ export * from "./model";
|
|
|
13
13
|
export * from "./query";
|
|
14
14
|
export * from "./utils";
|
|
15
15
|
export * from "./persistence";
|
|
16
|
+
export * from "./ram";
|
|
16
17
|
/**
|
|
17
18
|
* @description Stores the current package version
|
|
18
19
|
* @summary A constant representing the version of the core package
|
|
19
20
|
* @const VERSION
|
|
20
21
|
* @memberOf module:core
|
|
21
22
|
*/
|
|
22
|
-
export declare const VERSION = "0.
|
|
23
|
+
export declare const VERSION = "0.7.0";
|
|
23
24
|
/**
|
|
24
25
|
* @description Stores the current package version
|
|
25
26
|
* @summary A constant representing the version of the core package
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,8DAA+D;AAC/D,2EAA8D;AAC9D,qDAAgD;AAEhD,kFAAkF;AAClF,mCAAW,CAAC,WAAW,CAAC,IAAI,iCAAmB,EAAE,CAAC,CAAC;AAEnD,4BAA4B;AAC5B,wDAA4B;AAC5B,yDAA6B;AAE7B,uDAA2B;AAC3B,yDAA6B;AAC7B,oDAAwB;AACxB,oDAAwB;AACxB,oDAAwB;AACxB,yBAAyB;AACzB,0DAA8B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;AAEH,8DAA+D;AAC/D,2EAA8D;AAC9D,qDAAgD;AAEhD,kFAAkF;AAClF,mCAAW,CAAC,WAAW,CAAC,IAAI,iCAAmB,EAAE,CAAC,CAAC;AAEnD,4BAA4B;AAC5B,wDAA4B;AAC5B,yDAA6B;AAE7B,uDAA2B;AAC3B,yDAA6B;AAC7B,oDAAwB;AACxB,oDAAwB;AACxB,oDAAwB;AACxB,yBAAyB;AACzB,0DAA8B;AAC9B,kDAAsB;AAEtB;;;;;GAKG;AACU,QAAA,OAAO,GAAG,aAAa,CAAC;AAErC;;;;;GAKG;AACU,QAAA,YAAY,GAAG,aAAa,CAAC;AAE1C,qBAAQ,CAAC,eAAe,CAAC,oBAAY,EAAE,eAAO,CAAC,CAAC"}
|
|
@@ -16,6 +16,8 @@ const Repository_1 = require("./../repository/Repository.cjs");
|
|
|
16
16
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
17
17
|
const constants_1 = require("./../persistence/constants.cjs");
|
|
18
18
|
const constants_2 = require("./../repository/constants.cjs");
|
|
19
|
+
const decoration_1 = require("@decaf-ts/decoration");
|
|
20
|
+
const logging_1 = require("@decaf-ts/logging");
|
|
19
21
|
/**
|
|
20
22
|
* @description Creates or updates a model instance
|
|
21
23
|
* @summary Determines whether to create a new model or update an existing one based on the presence of a primary key
|
|
@@ -138,14 +140,12 @@ async function oneToOneOnCreate(context, data, key, model) {
|
|
|
138
140
|
model[key] = propertyValue;
|
|
139
141
|
return;
|
|
140
142
|
}
|
|
141
|
-
data.class
|
|
142
|
-
typeof data.class === "string" ? data.class : data.class().name;
|
|
143
|
-
const constructor = decorator_validation_1.Model.get(data.class);
|
|
143
|
+
const constructor = (0, logging_1.isClass)(data.class) ? data.class : data.class();
|
|
144
144
|
if (!constructor)
|
|
145
145
|
throw new db_decorators_1.InternalError(`Could not find model ${data.class}`);
|
|
146
146
|
const repo = Repository_1.Repository.forModel(constructor, this.adapter.alias);
|
|
147
147
|
const created = await repo.create(propertyValue);
|
|
148
|
-
const pk =
|
|
148
|
+
const pk = decorator_validation_1.Model.pk(created);
|
|
149
149
|
await cacheModelForPopulate(context, model, key, created[pk], created);
|
|
150
150
|
model[key] = created[pk];
|
|
151
151
|
}
|
|
@@ -210,7 +210,7 @@ async function oneToOneOnUpdate(context, data, key, model) {
|
|
|
210
210
|
return;
|
|
211
211
|
}
|
|
212
212
|
const updated = await createOrUpdate(model[key], context, this.adapter.alias);
|
|
213
|
-
const pk =
|
|
213
|
+
const pk = decorator_validation_1.Model.pk(updated);
|
|
214
214
|
await cacheModelForPopulate(context, model, key, updated[pk], updated);
|
|
215
215
|
model[key] = updated[pk];
|
|
216
216
|
}
|
|
@@ -340,7 +340,7 @@ async function oneToManyOnCreate(context, data, key, model) {
|
|
|
340
340
|
model[key] = [...uniqueValues];
|
|
341
341
|
return;
|
|
342
342
|
}
|
|
343
|
-
const pkName =
|
|
343
|
+
const pkName = decorator_validation_1.Model.pk(propertyValues[0]);
|
|
344
344
|
const result = new Set();
|
|
345
345
|
for (const m of propertyValues) {
|
|
346
346
|
const record = await createOrUpdate(m, context, this.adapter.alias);
|
|
@@ -618,16 +618,7 @@ const commomTypes = [
|
|
|
618
618
|
*
|
|
619
619
|
* Caller->>repositoryFromTypeMetadata: model, propertyKey
|
|
620
620
|
*
|
|
621
|
-
* repositoryFromTypeMetadata->>
|
|
622
|
-
* Validation-->>repositoryFromTypeMetadata: validationKey
|
|
623
|
-
*
|
|
624
|
-
* repositoryFromTypeMetadata->>Reflect: getMetadata(validationKey, model, propertyKey)
|
|
625
|
-
* Reflect-->>repositoryFromTypeMetadata: types
|
|
626
|
-
*
|
|
627
|
-
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: determine customTypes based on property type
|
|
628
|
-
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: check if types and customTypes exist
|
|
629
|
-
*
|
|
630
|
-
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: create allowedTypes array
|
|
621
|
+
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: Get allowedTypes array
|
|
631
622
|
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: find constructorName not in commomTypes
|
|
632
623
|
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: check if constructorName exists
|
|
633
624
|
*
|
|
@@ -641,21 +632,18 @@ const commomTypes = [
|
|
|
641
632
|
* repositoryFromTypeMetadata-->>Caller: repo
|
|
642
633
|
*/
|
|
643
634
|
function repositoryFromTypeMetadata(model, propertyKey, alias) {
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
?
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
const constructor = decorator_validation_1.Model.get(constructorName);
|
|
657
|
-
if (!constructor)
|
|
658
|
-
throw new db_decorators_1.InternalError(`No registered model found for ${constructorName}`);
|
|
635
|
+
if (!model)
|
|
636
|
+
throw new Error("No model was provided to get repository");
|
|
637
|
+
let allowedTypes;
|
|
638
|
+
if (Array.isArray(model[propertyKey]) || model[propertyKey] instanceof Set) {
|
|
639
|
+
const customTypes = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, decoration_1.Metadata.key(decorator_validation_1.ValidationKeys.REFLECT, propertyKey, decorator_validation_1.ValidationKeys.LIST))?.clazz;
|
|
640
|
+
if (!customTypes)
|
|
641
|
+
throw new db_decorators_1.InternalError(`Failed to find types decorators for property ${propertyKey}`);
|
|
642
|
+
allowedTypes = (Array.isArray(customTypes) ? [...customTypes] : [customTypes]).map((t) => (typeof t === "function" && !t.name ? t() : t));
|
|
643
|
+
}
|
|
644
|
+
else
|
|
645
|
+
allowedTypes = decoration_1.Metadata.getPropDesignTypes(model instanceof decorator_validation_1.Model ? model.constructor : model, propertyKey)?.designTypes;
|
|
646
|
+
const constructor = allowedTypes?.find((t) => !commomTypes.includes(`${t.name}`.toLowerCase()));
|
|
659
647
|
return Repository_1.Repository.forModel(constructor, alias);
|
|
660
648
|
}
|
|
661
649
|
//# sourceMappingURL=construction.js.map
|
|
@@ -426,16 +426,7 @@ export declare function populate<M extends Model, R extends Repo<M, F, C>, V ext
|
|
|
426
426
|
*
|
|
427
427
|
* Caller->>repositoryFromTypeMetadata: model, propertyKey
|
|
428
428
|
*
|
|
429
|
-
* repositoryFromTypeMetadata->>
|
|
430
|
-
* Validation-->>repositoryFromTypeMetadata: validationKey
|
|
431
|
-
*
|
|
432
|
-
* repositoryFromTypeMetadata->>Reflect: getMetadata(validationKey, model, propertyKey)
|
|
433
|
-
* Reflect-->>repositoryFromTypeMetadata: types
|
|
434
|
-
*
|
|
435
|
-
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: determine customTypes based on property type
|
|
436
|
-
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: check if types and customTypes exist
|
|
437
|
-
*
|
|
438
|
-
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: create allowedTypes array
|
|
429
|
+
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: Get allowedTypes array
|
|
439
430
|
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: find constructorName not in commomTypes
|
|
440
431
|
* repositoryFromTypeMetadata->>repositoryFromTypeMetadata: check if constructorName exists
|
|
441
432
|
*
|
|
@@ -448,4 +439,4 @@ export declare function populate<M extends Model, R extends Repo<M, F, C>, V ext
|
|
|
448
439
|
*
|
|
449
440
|
* repositoryFromTypeMetadata-->>Caller: repo
|
|
450
441
|
*/
|
|
451
|
-
export declare function repositoryFromTypeMetadata<M extends Model>(model:
|
|
442
|
+
export declare function repositoryFromTypeMetadata<M extends Model>(model: M, propertyKey: keyof M, alias?: string): Repo<M>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"construction.js","sourceRoot":"","sources":["../../src/model/construction.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"construction.js","sourceRoot":"","sources":["../../src/model/construction.ts"],"names":[],"mappings":"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"}
|