@decaf-ts/core 0.7.2 → 0.7.4
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 +6 -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.d.ts +3 -4
- package/lib/esm/identity/decorators.js +5 -11
- package/lib/esm/identity/decorators.js.map +1 -1
- package/lib/esm/identity/index.d.ts +0 -1
- package/lib/esm/identity/index.js +0 -1
- package/lib/esm/identity/index.js.map +1 -1
- package/lib/esm/index.d.ts +1 -1
- package/lib/esm/index.js +1 -1
- package/lib/esm/interfaces/ContextuallyLogged.d.ts +8 -0
- package/lib/esm/interfaces/ContextuallyLogged.js +2 -0
- package/lib/esm/interfaces/ContextuallyLogged.js.map +1 -0
- package/lib/esm/interfaces/ErrorParser.d.ts +2 -2
- package/lib/esm/interfaces/Executor.d.ts +1 -1
- package/lib/esm/interfaces/Observable.d.ts +8 -8
- package/lib/esm/interfaces/Observer.d.ts +2 -2
- package/lib/esm/interfaces/RawExecutor.d.ts +1 -1
- package/lib/esm/model/BaseModel.d.ts +2 -2
- package/lib/esm/model/BaseModel.js +2 -2
- package/lib/esm/{ram/model/RamSequenceModel.d.ts → model/SequenceModel.d.ts} +3 -3
- package/lib/esm/{ram/model/RamSequenceModel.js → model/SequenceModel.js} +12 -11
- package/lib/esm/model/SequenceModel.js.map +1 -0
- package/lib/esm/model/construction.d.ts +9 -8
- package/lib/esm/model/construction.js +2 -2
- package/lib/esm/model/construction.js.map +1 -1
- package/lib/esm/model/decorators.d.ts +5 -4
- package/lib/esm/model/decorators.js +3 -3
- package/lib/esm/model/decorators.js.map +1 -1
- package/lib/esm/model/index.d.ts +1 -0
- package/lib/esm/model/index.js +1 -0
- package/lib/esm/model/index.js.map +1 -1
- package/lib/esm/overrides/Metadata.d.ts +1 -8
- package/lib/esm/overrides/Model.d.ts +75 -0
- package/lib/esm/overrides/Model.js +2 -0
- package/lib/esm/overrides/Model.js.map +1 -0
- package/lib/esm/overrides/index.d.ts +2 -0
- package/lib/esm/overrides/index.js +2 -0
- package/lib/esm/overrides/index.js.map +1 -1
- package/lib/esm/overrides/injectables.d.ts +10 -0
- package/lib/esm/overrides/injectables.js +2 -0
- package/lib/esm/overrides/injectables.js.map +1 -0
- package/lib/esm/overrides/overrides.js +45 -3
- package/lib/esm/overrides/overrides.js.map +1 -1
- package/lib/esm/persistence/Adapter.d.ts +55 -53
- package/lib/esm/persistence/Adapter.js +85 -61
- package/lib/esm/persistence/Adapter.js.map +1 -1
- package/lib/esm/persistence/Dispatch.d.ts +7 -6
- package/lib/esm/persistence/Dispatch.js +25 -18
- package/lib/esm/persistence/Dispatch.js.map +1 -1
- package/lib/esm/persistence/ObserverHandler.d.ts +7 -6
- package/lib/esm/persistence/ObserverHandler.js +5 -4
- package/lib/esm/persistence/ObserverHandler.js.map +1 -1
- package/lib/esm/persistence/Sequence.d.ts +34 -25
- package/lib/esm/persistence/Sequence.js +136 -15
- package/lib/esm/persistence/Sequence.js.map +1 -1
- package/lib/esm/persistence/constants.d.ts +1 -0
- package/lib/esm/persistence/constants.js +1 -0
- package/lib/esm/persistence/constants.js.map +1 -1
- package/lib/esm/persistence/generators.d.ts +14 -0
- package/lib/esm/persistence/generators.js +31 -0
- package/lib/esm/persistence/generators.js.map +1 -0
- package/lib/esm/persistence/index.d.ts +1 -0
- package/lib/esm/persistence/index.js +1 -0
- package/lib/esm/persistence/index.js.map +1 -1
- package/lib/esm/persistence/migrations.d.ts +8 -8
- package/lib/esm/persistence/migrations.js +8 -9
- package/lib/esm/persistence/migrations.js.map +1 -1
- package/lib/esm/persistence/types.d.ts +38 -20
- package/lib/esm/query/Paginator.d.ts +6 -5
- package/lib/esm/query/Paginator.js +4 -4
- package/lib/esm/query/Paginator.js.map +1 -1
- package/lib/esm/query/Statement.d.ts +9 -8
- package/lib/esm/query/Statement.js +23 -10
- package/lib/esm/query/Statement.js.map +1 -1
- package/lib/esm/ram/RamAdapter.d.ts +22 -31
- package/lib/esm/ram/RamAdapter.js +36 -34
- package/lib/esm/ram/RamAdapter.js.map +1 -1
- package/lib/esm/ram/RamPaginator.d.ts +2 -1
- package/lib/esm/ram/RamPaginator.js +5 -3
- package/lib/esm/ram/RamPaginator.js.map +1 -1
- package/lib/esm/ram/RamStatement.d.ts +7 -7
- package/lib/esm/ram/RamStatement.js.map +1 -1
- package/lib/esm/ram/handlers.d.ts +3 -4
- package/lib/esm/ram/handlers.js.map +1 -1
- package/lib/esm/ram/index.d.ts +0 -3
- package/lib/esm/ram/index.js +0 -3
- package/lib/esm/ram/index.js.map +1 -1
- package/lib/esm/ram/types.d.ts +4 -12
- package/lib/esm/repository/Repository.d.ts +31 -95
- package/lib/esm/repository/Repository.js +107 -203
- package/lib/esm/repository/Repository.js.map +1 -1
- package/lib/esm/repository/decorators.js +4 -3
- package/lib/esm/repository/decorators.js.map +1 -1
- package/lib/esm/repository/utils.d.ts +1 -1
- package/lib/esm/repository/utils.js +2 -3
- package/lib/esm/repository/utils.js.map +1 -1
- package/lib/esm/utils/ContextualLoggedClass.d.ts +16 -0
- package/lib/esm/utils/ContextualLoggedClass.js +29 -0
- package/lib/esm/utils/ContextualLoggedClass.js.map +1 -0
- package/lib/esm/utils/Services.d.ts +50 -0
- package/lib/esm/utils/Services.js +154 -0
- package/lib/esm/utils/Services.js.map +1 -0
- package/lib/esm/utils/decorators.d.ts +1 -9
- package/lib/esm/utils/decorators.js +26 -15
- package/lib/esm/utils/decorators.js.map +1 -1
- package/lib/esm/utils/index.d.ts +2 -1
- package/lib/esm/utils/index.js +2 -1
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/identity/decorators.cjs +5 -11
- package/lib/identity/decorators.d.ts +3 -4
- package/lib/identity/decorators.js.map +1 -1
- package/lib/identity/index.cjs +0 -1
- package/lib/identity/index.d.ts +0 -1
- package/lib/identity/index.js.map +1 -1
- package/lib/index.cjs +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/interfaces/ContextuallyLogged.cjs +3 -0
- package/lib/interfaces/ContextuallyLogged.d.ts +8 -0
- package/lib/interfaces/ContextuallyLogged.js.map +1 -0
- package/lib/interfaces/ErrorParser.d.ts +2 -2
- package/lib/interfaces/Executor.d.ts +1 -1
- package/lib/interfaces/Observable.d.ts +8 -8
- package/lib/interfaces/Observer.d.ts +2 -2
- package/lib/interfaces/RawExecutor.d.ts +1 -1
- package/lib/model/BaseModel.cjs +2 -2
- package/lib/model/BaseModel.d.ts +2 -2
- package/lib/{ram/model/RamSequenceModel.cjs → model/SequenceModel.cjs} +14 -13
- package/lib/{ram/model/RamSequenceModel.d.ts → model/SequenceModel.d.ts} +3 -3
- package/lib/model/SequenceModel.js.map +1 -0
- package/lib/model/construction.cjs +2 -2
- package/lib/model/construction.d.ts +9 -8
- package/lib/model/construction.js.map +1 -1
- package/lib/model/decorators.cjs +3 -3
- package/lib/model/decorators.d.ts +5 -4
- package/lib/model/decorators.js.map +1 -1
- package/lib/model/index.cjs +1 -0
- package/lib/model/index.d.ts +1 -0
- package/lib/model/index.js.map +1 -1
- package/lib/overrides/Metadata.d.ts +1 -8
- package/lib/overrides/Model.cjs +4 -0
- package/lib/overrides/Model.d.ts +75 -0
- package/lib/overrides/Model.js.map +1 -0
- package/lib/overrides/index.cjs +2 -0
- package/lib/overrides/index.d.ts +2 -0
- package/lib/overrides/index.js.map +1 -1
- package/lib/overrides/injectables.cjs +4 -0
- package/lib/overrides/injectables.d.ts +10 -0
- package/lib/overrides/injectables.js.map +1 -0
- package/lib/overrides/overrides.cjs +43 -1
- package/lib/overrides/overrides.js.map +1 -1
- package/lib/persistence/Adapter.cjs +90 -66
- package/lib/persistence/Adapter.d.ts +55 -53
- package/lib/persistence/Adapter.js.map +1 -1
- package/lib/persistence/Dispatch.cjs +25 -18
- package/lib/persistence/Dispatch.d.ts +7 -6
- package/lib/persistence/Dispatch.js.map +1 -1
- package/lib/persistence/ObserverHandler.cjs +5 -4
- package/lib/persistence/ObserverHandler.d.ts +7 -6
- package/lib/persistence/ObserverHandler.js.map +1 -1
- package/lib/persistence/Sequence.cjs +136 -15
- package/lib/persistence/Sequence.d.ts +34 -25
- package/lib/persistence/Sequence.js.map +1 -1
- package/lib/persistence/constants.cjs +1 -0
- package/lib/persistence/constants.d.ts +1 -0
- package/lib/persistence/constants.js.map +1 -1
- package/lib/persistence/generators.cjs +36 -0
- package/lib/persistence/generators.d.ts +14 -0
- package/lib/persistence/generators.js.map +1 -0
- package/lib/persistence/index.cjs +1 -0
- package/lib/persistence/index.d.ts +1 -0
- package/lib/persistence/index.js.map +1 -1
- package/lib/persistence/migrations.cjs +7 -8
- package/lib/persistence/migrations.d.ts +8 -8
- package/lib/persistence/migrations.js.map +1 -1
- package/lib/persistence/types.d.ts +38 -20
- package/lib/query/Paginator.cjs +4 -4
- package/lib/query/Paginator.d.ts +6 -5
- package/lib/query/Paginator.js.map +1 -1
- package/lib/query/Statement.cjs +34 -21
- package/lib/query/Statement.d.ts +9 -8
- package/lib/query/Statement.js.map +1 -1
- package/lib/ram/RamAdapter.cjs +35 -33
- package/lib/ram/RamAdapter.d.ts +22 -31
- package/lib/ram/RamAdapter.js.map +1 -1
- package/lib/ram/RamPaginator.cjs +5 -3
- package/lib/ram/RamPaginator.d.ts +2 -1
- package/lib/ram/RamPaginator.js.map +1 -1
- package/lib/ram/RamStatement.d.ts +7 -7
- package/lib/ram/RamStatement.js.map +1 -1
- package/lib/ram/handlers.d.ts +3 -4
- package/lib/ram/handlers.js.map +1 -1
- package/lib/ram/index.cjs +0 -3
- package/lib/ram/index.d.ts +0 -3
- package/lib/ram/index.js.map +1 -1
- package/lib/ram/types.d.ts +4 -12
- package/lib/repository/Repository.cjs +108 -204
- package/lib/repository/Repository.d.ts +31 -95
- package/lib/repository/Repository.js.map +1 -1
- package/lib/repository/decorators.cjs +2 -1
- package/lib/repository/decorators.js.map +1 -1
- package/lib/repository/utils.cjs +2 -3
- package/lib/repository/utils.d.ts +1 -1
- package/lib/repository/utils.js.map +1 -1
- package/lib/utils/ContextualLoggedClass.cjs +33 -0
- package/lib/utils/ContextualLoggedClass.d.ts +16 -0
- package/lib/utils/ContextualLoggedClass.js.map +1 -0
- package/lib/utils/Services.cjs +159 -0
- package/lib/utils/Services.d.ts +50 -0
- package/lib/utils/Services.js.map +1 -0
- package/lib/utils/decorators.cjs +27 -16
- package/lib/utils/decorators.d.ts +1 -9
- package/lib/utils/decorators.js.map +1 -1
- package/lib/utils/index.cjs +2 -1
- package/lib/utils/index.d.ts +2 -1
- package/lib/utils/index.js.map +1 -1
- package/package.json +1 -1
- package/lib/esm/identity/utils.d.ts +0 -24
- package/lib/esm/identity/utils.js +0 -44
- package/lib/esm/identity/utils.js.map +0 -1
- package/lib/esm/ram/RamContext.d.ts +0 -28
- package/lib/esm/ram/RamContext.js +0 -30
- package/lib/esm/ram/RamContext.js.map +0 -1
- package/lib/esm/ram/RamSequence.d.ts +0 -75
- package/lib/esm/ram/RamSequence.js +0 -145
- package/lib/esm/ram/RamSequence.js.map +0 -1
- package/lib/esm/ram/model/RamSequenceModel.js.map +0 -1
- package/lib/esm/ram/model/index.d.ts +0 -1
- package/lib/esm/ram/model/index.js +0 -2
- package/lib/esm/ram/model/index.js.map +0 -1
- package/lib/identity/utils.cjs +0 -49
- package/lib/identity/utils.d.ts +0 -24
- package/lib/identity/utils.js.map +0 -1
- package/lib/ram/RamContext.cjs +0 -34
- package/lib/ram/RamContext.d.ts +0 -28
- package/lib/ram/RamContext.js.map +0 -1
- package/lib/ram/RamSequence.cjs +0 -149
- package/lib/ram/RamSequence.d.ts +0 -75
- package/lib/ram/RamSequence.js.map +0 -1
- package/lib/ram/model/RamSequenceModel.js.map +0 -1
- package/lib/ram/model/index.cjs +0 -18
- package/lib/ram/model/index.d.ts +0 -1
- package/lib/ram/model/index.js.map +0 -1
package/lib/model/BaseModel.cjs
CHANGED
|
@@ -44,9 +44,9 @@ exports.BaseModel = BaseModel;
|
|
|
44
44
|
__decorate([
|
|
45
45
|
(0, decorators_1.createdAt)(),
|
|
46
46
|
__metadata("design:type", Date)
|
|
47
|
-
], BaseModel.prototype, "
|
|
47
|
+
], BaseModel.prototype, "createdAt", void 0);
|
|
48
48
|
__decorate([
|
|
49
49
|
(0, decorators_1.updatedAt)(),
|
|
50
50
|
__metadata("design:type", Date)
|
|
51
|
-
], BaseModel.prototype, "
|
|
51
|
+
], BaseModel.prototype, "updatedAt", void 0);
|
|
52
52
|
//# sourceMappingURL=BaseModel.js.map
|
package/lib/model/BaseModel.d.ts
CHANGED
|
@@ -27,11 +27,11 @@ export declare abstract class BaseModel extends Model {
|
|
|
27
27
|
* @description Creation timestamp for the model
|
|
28
28
|
* @summary Automatically set to the current date and time when the model is created
|
|
29
29
|
*/
|
|
30
|
-
|
|
30
|
+
createdAt: Date;
|
|
31
31
|
/**
|
|
32
32
|
* @description Last update timestamp for the model
|
|
33
33
|
* @summary Automatically updated to the current date and time whenever the model is modified
|
|
34
34
|
*/
|
|
35
|
-
|
|
35
|
+
updatedAt: Date;
|
|
36
36
|
protected constructor(arg?: ModelArg<BaseModel>);
|
|
37
37
|
}
|
|
@@ -9,10 +9,11 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.SequenceModel = void 0;
|
|
13
13
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
14
|
-
const
|
|
15
|
-
const
|
|
14
|
+
const BaseModel_1 = require("./BaseModel.cjs");
|
|
15
|
+
const decorators_1 = require("./decorators.cjs");
|
|
16
|
+
const decorators_2 = require("./../identity/decorators.cjs");
|
|
16
17
|
/**
|
|
17
18
|
* @description RAM sequence model for auto-incrementing values
|
|
18
19
|
* @summary A model class that represents a sequence in the RAM adapter. It stores the current value
|
|
@@ -31,24 +32,24 @@ const identity_1 = require("./../../identity/index.cjs");
|
|
|
31
32
|
* orderSequence.current = nextOrderId;
|
|
32
33
|
* ```
|
|
33
34
|
*/
|
|
34
|
-
let
|
|
35
|
+
let SequenceModel = class SequenceModel extends BaseModel_1.BaseModel {
|
|
35
36
|
constructor(seq) {
|
|
36
37
|
super(seq);
|
|
37
38
|
}
|
|
38
39
|
};
|
|
39
|
-
exports.
|
|
40
|
+
exports.SequenceModel = SequenceModel;
|
|
40
41
|
__decorate([
|
|
41
|
-
(0,
|
|
42
|
+
(0, decorators_2.pk)({ type: "String", generated: false }),
|
|
42
43
|
__metadata("design:type", String)
|
|
43
|
-
],
|
|
44
|
+
], SequenceModel.prototype, "id", void 0);
|
|
44
45
|
__decorate([
|
|
45
46
|
(0, decorator_validation_1.required)(),
|
|
46
|
-
(0,
|
|
47
|
+
(0, decorators_1.index)(),
|
|
47
48
|
__metadata("design:type", Object)
|
|
48
|
-
],
|
|
49
|
-
exports.
|
|
50
|
-
(0,
|
|
49
|
+
], SequenceModel.prototype, "current", void 0);
|
|
50
|
+
exports.SequenceModel = SequenceModel = __decorate([
|
|
51
|
+
(0, decorators_1.table)("??sequence"),
|
|
51
52
|
(0, decorator_validation_1.model)(),
|
|
52
53
|
__metadata("design:paramtypes", [Object])
|
|
53
|
-
],
|
|
54
|
-
//# sourceMappingURL=
|
|
54
|
+
], SequenceModel);
|
|
55
|
+
//# sourceMappingURL=SequenceModel.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ModelArg } from "@decaf-ts/decorator-validation";
|
|
2
|
-
import { BaseModel } from "
|
|
2
|
+
import { BaseModel } from "./BaseModel";
|
|
3
3
|
/**
|
|
4
4
|
* @description RAM sequence model for auto-incrementing values
|
|
5
5
|
* @summary A model class that represents a sequence in the RAM adapter. It stores the current value
|
|
@@ -18,7 +18,7 @@ import { BaseModel } from "../../model";
|
|
|
18
18
|
* orderSequence.current = nextOrderId;
|
|
19
19
|
* ```
|
|
20
20
|
*/
|
|
21
|
-
export declare class
|
|
21
|
+
export declare class SequenceModel extends BaseModel {
|
|
22
22
|
/**
|
|
23
23
|
* @description Primary key identifier for the sequence
|
|
24
24
|
*/
|
|
@@ -28,5 +28,5 @@ export declare class RamSequenceModel extends BaseModel {
|
|
|
28
28
|
* Used to generate the next sequential value
|
|
29
29
|
*/
|
|
30
30
|
current: string | number;
|
|
31
|
-
constructor(seq?: ModelArg<
|
|
31
|
+
constructor(seq?: ModelArg<SequenceModel>);
|
|
32
32
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SequenceModel.js","sourceRoot":"","sources":["../../src/model/SequenceModel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yEAAiE;AAEjE,+CAAwC;AACxC,iDAA4C;AAC5C,6DAA4C;AAE5C;;;;;;;;;;;;;;;;;GAiBG;AAGI,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,qBAAS;IAe1C,YAAY,GAA6B;QACvC,KAAK,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;CACF,CAAA;AAlBY,sCAAa;AAKxB;IADC,IAAA,eAAE,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;yCAC7B;AAQZ;IAFC,IAAA,+BAAQ,GAAE;IACV,IAAA,kBAAK,GAAE;;8CACkB;wBAbf,aAAa;IAFzB,IAAA,kBAAK,EAAC,YAAY,CAAC;IACnB,IAAA,4BAAK,GAAE;;GACK,aAAa,CAkBzB"}
|
|
@@ -66,7 +66,7 @@ async function createOrUpdate(model, context, alias, repository) {
|
|
|
66
66
|
throw new db_decorators_1.InternalError(`Could not find model ${model.constructor.name}`);
|
|
67
67
|
repository = Repository_1.Repository.forModel(constructor, alias);
|
|
68
68
|
}
|
|
69
|
-
if (typeof model[repository.
|
|
69
|
+
if (typeof model[decorator_validation_1.Model.pk(repository.class)] === "undefined")
|
|
70
70
|
return repository.create(model, context);
|
|
71
71
|
else {
|
|
72
72
|
try {
|
|
@@ -456,7 +456,7 @@ async function oneToManyOnDelete(context, data, key, model) {
|
|
|
456
456
|
: repositoryFromTypeMetadata(model, key, this.adapter.alias);
|
|
457
457
|
const uniqueValues = new Set([
|
|
458
458
|
...(isInstantiated
|
|
459
|
-
? values.map((v) => v[repo
|
|
459
|
+
? values.map((v) => v[repo["pk"]])
|
|
460
460
|
: values),
|
|
461
461
|
]);
|
|
462
462
|
for (const id of uniqueValues.values()) {
|
|
@@ -3,6 +3,7 @@ import { Repo } from "../repository/Repository";
|
|
|
3
3
|
import { RelationsMetadata } from "./types";
|
|
4
4
|
import { RepositoryFlags } from "@decaf-ts/db-decorators";
|
|
5
5
|
import { Context } from "@decaf-ts/db-decorators";
|
|
6
|
+
import { ContextOf } from "../persistence/types";
|
|
6
7
|
/**
|
|
7
8
|
* @description Creates or updates a model instance
|
|
8
9
|
* @summary Determines whether to create a new model or update an existing one based on the presence of a primary key
|
|
@@ -44,7 +45,7 @@ import { Context } from "@decaf-ts/db-decorators";
|
|
|
44
45
|
*
|
|
45
46
|
* createOrUpdate-->>Caller: model
|
|
46
47
|
*/
|
|
47
|
-
export declare function createOrUpdate<M extends Model, F extends RepositoryFlags>(model: M, context: Context<F>, alias?: string, repository?: Repo<M
|
|
48
|
+
export declare function createOrUpdate<M extends Model, F extends RepositoryFlags>(model: M, context: Context<F>, alias?: string, repository?: Repo<M>): Promise<M>;
|
|
48
49
|
/**
|
|
49
50
|
* @description Handles one-to-one relationship creation
|
|
50
51
|
* @summary Processes a one-to-one relationship when creating a model, either by referencing an existing model or creating a new one
|
|
@@ -95,7 +96,7 @@ export declare function createOrUpdate<M extends Model, F extends RepositoryFlag
|
|
|
95
96
|
*
|
|
96
97
|
* oneToOneOnCreate-->>Caller: void
|
|
97
98
|
*/
|
|
98
|
-
export declare function oneToOneOnCreate<M extends Model, R extends Repo<M
|
|
99
|
+
export declare function oneToOneOnCreate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
99
100
|
/**
|
|
100
101
|
* @description Handles one-to-one relationship updates
|
|
101
102
|
* @summary Processes a one-to-one relationship when updating a model, either by referencing an existing model or updating the related model
|
|
@@ -143,7 +144,7 @@ export declare function oneToOneOnCreate<M extends Model, R extends Repo<M, F, C
|
|
|
143
144
|
*
|
|
144
145
|
* oneToOneOnUpdate-->>Caller: void
|
|
145
146
|
*/
|
|
146
|
-
export declare function oneToOneOnUpdate<M extends Model, R extends Repo<M
|
|
147
|
+
export declare function oneToOneOnUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
147
148
|
/**
|
|
148
149
|
* @description Handles one-to-one relationship deletion
|
|
149
150
|
* @summary Processes a one-to-one relationship when deleting a model, deleting the related model if cascade is enabled
|
|
@@ -185,7 +186,7 @@ export declare function oneToOneOnUpdate<M extends Model, R extends Repo<M, F, C
|
|
|
185
186
|
* oneToOneOnDelete->>cacheModelForPopulate: context, model, key, deleted[innerRepo.pk], deleted
|
|
186
187
|
* oneToOneOnDelete-->>Caller: void
|
|
187
188
|
*/
|
|
188
|
-
export declare function oneToOneOnDelete<M extends Model, R extends Repo<M
|
|
189
|
+
export declare function oneToOneOnDelete<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
189
190
|
/**
|
|
190
191
|
* @description Handles one-to-many relationship creation
|
|
191
192
|
* @summary Processes a one-to-many relationship when creating a model, either by referencing existing models or creating new ones
|
|
@@ -240,7 +241,7 @@ export declare function oneToOneOnDelete<M extends Model, R extends Repo<M, F, C
|
|
|
240
241
|
*
|
|
241
242
|
* oneToManyOnCreate-->>Caller: void
|
|
242
243
|
*/
|
|
243
|
-
export declare function oneToManyOnCreate<M extends Model, R extends Repo<M
|
|
244
|
+
export declare function oneToManyOnCreate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
244
245
|
/**
|
|
245
246
|
* @description Handles one-to-many relationship updates
|
|
246
247
|
* @summary Processes a one-to-many relationship when updating a model, delegating to oneToManyOnCreate if cascade update is enabled
|
|
@@ -273,7 +274,7 @@ export declare function oneToManyOnCreate<M extends Model, R extends Repo<M, F,
|
|
|
273
274
|
*
|
|
274
275
|
* oneToManyOnUpdate-->>Caller: void
|
|
275
276
|
*/
|
|
276
|
-
export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M
|
|
277
|
+
export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
277
278
|
/**
|
|
278
279
|
* @description Handles one-to-many relationship deletion
|
|
279
280
|
* @summary Processes a one-to-many relationship when deleting a model, deleting all related models if cascade delete is enabled
|
|
@@ -322,7 +323,7 @@ export declare function oneToManyOnUpdate<M extends Model, R extends Repo<M, F,
|
|
|
322
323
|
* oneToManyOnDelete->>oneToManyOnDelete: set model[key] = [...uniqueValues]
|
|
323
324
|
* oneToManyOnDelete-->>Caller: void
|
|
324
325
|
*/
|
|
325
|
-
export declare function oneToManyOnDelete<M extends Model, R extends Repo<M
|
|
326
|
+
export declare function oneToManyOnDelete<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
326
327
|
/**
|
|
327
328
|
* @description Generates a key for caching populated model relationships
|
|
328
329
|
* @summary Creates a unique key for storing and retrieving populated model relationships in the cache
|
|
@@ -405,7 +406,7 @@ export declare function cacheModelForPopulate<M extends Model, F extends Reposit
|
|
|
405
406
|
* populate->>populate: set model[key] = isArr ? res : res[0]
|
|
406
407
|
* populate-->>Caller: void
|
|
407
408
|
*/
|
|
408
|
-
export declare function populate<M extends Model, R extends Repo<M
|
|
409
|
+
export declare function populate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
409
410
|
/**
|
|
410
411
|
* @description Retrieves a repository for a model property based on its type metadata
|
|
411
412
|
* @summary Examines a model property's type metadata to determine the appropriate repository for related models
|
|
@@ -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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"}
|
package/lib/model/decorators.cjs
CHANGED
|
@@ -26,7 +26,7 @@ const constants_2 = require("./../repository/constants.cjs");
|
|
|
26
26
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
27
27
|
const Condition_1 = require("./../query/Condition.cjs");
|
|
28
28
|
const construction_1 = require("./construction.cjs");
|
|
29
|
-
const
|
|
29
|
+
const errors_1 = require("./../utils/errors.cjs");
|
|
30
30
|
/**
|
|
31
31
|
* @description Specifies the database table name for a model
|
|
32
32
|
* @summary Decorator that sets the table name for a model class in the database
|
|
@@ -143,7 +143,7 @@ async function uniqueOnCreateUpdate(context, data, key, model) {
|
|
|
143
143
|
function unique() {
|
|
144
144
|
const key = constants_1.PersistenceKeys.UNIQUE;
|
|
145
145
|
return decoration_1.Decoration.for(key)
|
|
146
|
-
.define((0, db_decorators_1.onCreateUpdate)(uniqueOnCreateUpdate), (0, decoration_1.propMetadata)(key, {}))
|
|
146
|
+
.define((0, decorator_validation_1.async)(), (0, db_decorators_1.onCreateUpdate)(uniqueOnCreateUpdate), (0, decoration_1.propMetadata)(key, {}))
|
|
147
147
|
.apply();
|
|
148
148
|
}
|
|
149
149
|
/**
|
|
@@ -172,7 +172,7 @@ data,
|
|
|
172
172
|
key,
|
|
173
173
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
174
174
|
model) {
|
|
175
|
-
throw new
|
|
175
|
+
throw new errors_1.AuthorizationError("This adapter does not support user identification");
|
|
176
176
|
}
|
|
177
177
|
/**
|
|
178
178
|
* @description Tracks the creator of a model instance
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
2
2
|
import { propMetadata, Constructor } from "@decaf-ts/decoration";
|
|
3
3
|
import { CascadeMetadata } from "../repository/types";
|
|
4
4
|
import { OrderDirection } from "../repository/constants";
|
|
5
5
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
6
|
-
import { Repo } from "../repository/Repository";
|
|
6
|
+
import type { Repo } from "../repository/Repository";
|
|
7
7
|
import { JoinColumnOptions, JoinTableMultipleColumnsOptions, JoinTableOptions, RelationsMetadata } from "./types";
|
|
8
|
+
import { ContextOf } from "../persistence/types";
|
|
8
9
|
/**
|
|
9
10
|
* @description Specifies the database table name for a model
|
|
10
11
|
* @summary Decorator that sets the table name for a model class in the database
|
|
@@ -55,7 +56,7 @@ export declare function index(compositions: string[], name: string): ReturnType<
|
|
|
55
56
|
* @function uniqueOnCreateUpdate
|
|
56
57
|
* @memberOf module:core
|
|
57
58
|
*/
|
|
58
|
-
export declare function uniqueOnCreateUpdate<M extends Model, R extends Repo<M
|
|
59
|
+
export declare function uniqueOnCreateUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: object, key: keyof M, model: M): Promise<void>;
|
|
59
60
|
/**
|
|
60
61
|
* @description Tags a property as unique
|
|
61
62
|
* @summary Decorator that ensures a property value is unique across all instances of a model in the database
|
|
@@ -89,7 +90,7 @@ export declare function unique(): (target: any, propertyKey?: any, descriptor?:
|
|
|
89
90
|
* @function createdByOnCreateUpdate
|
|
90
91
|
* @memberOf module:core
|
|
91
92
|
*/
|
|
92
|
-
export declare function createdByOnCreateUpdate<M extends Model, R extends Repo<M
|
|
93
|
+
export declare function createdByOnCreateUpdate<M extends Model, R extends Repo<M>>(this: R, context: ContextOf<R>, data: RelationsMetadata, key: keyof M, model: M): Promise<void>;
|
|
93
94
|
/**
|
|
94
95
|
* @description Tracks the creator of a model instance
|
|
95
96
|
* @summary Decorator that marks a property to store the identifier of the user who created the model instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../src/model/decorators.ts"],"names":[],"mappings":"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"}
|
package/lib/model/index.cjs
CHANGED
|
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./BaseModel.cjs"), exports);
|
|
18
18
|
__exportStar(require("./construction.cjs"), exports);
|
|
19
19
|
__exportStar(require("./decorators.cjs"), exports);
|
|
20
|
+
__exportStar(require("./SequenceModel.cjs"), exports);
|
|
20
21
|
__exportStar(require("./types.cjs"), exports);
|
|
21
22
|
//# sourceMappingURL=index.js.map
|
package/lib/model/index.d.ts
CHANGED
package/lib/model/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,qDAA+B;AAC/B,mDAA6B;AAC7B,8CAAwB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/model/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAA4B;AAC5B,qDAA+B;AAC/B,mDAA6B;AAC7B,sDAAgC;AAChC,8CAAwB"}
|
|
@@ -7,16 +7,9 @@ import type { ExtendedRelationsMetadata } from "../model";
|
|
|
7
7
|
declare module "@decaf-ts/decoration" {
|
|
8
8
|
namespace Metadata {
|
|
9
9
|
function validationExceptions<M extends Model>(model: Constructor<M>, op: OperationKeys): string[];
|
|
10
|
-
function migrationsFor<A extends Adapter<CONF, CONN, QUERY,
|
|
10
|
+
function migrationsFor<A extends Adapter<CONF, CONN, QUERY, CONTEXT>, CONF, CONN, QUERY, FLAGS extends RepositoryFlags = RepositoryFlags, CONTEXT extends Context<FLAGS> = Context<FLAGS>>(adapter?: A): Constructor<Migration<any, A>>[];
|
|
11
11
|
function relations<M extends Model>(m: Constructor<M>): string[] | undefined;
|
|
12
12
|
function relations<M extends Model>(m: Constructor<M>, prop: keyof M): ExtendedRelationsMetadata;
|
|
13
13
|
function relations<M extends Model>(m: Constructor<M>, prop?: keyof M): string[] | ExtendedRelationsMetadata | undefined;
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
-
declare module "@decaf-ts/decorator-validation" {
|
|
17
|
-
namespace Model {
|
|
18
|
-
function relations<M extends Model>(m: Constructor<M>): string[];
|
|
19
|
-
function relations<M extends Model>(m: Constructor<M>, prop: keyof M): ExtendedRelationsMetadata;
|
|
20
|
-
function relations<M extends Model>(m: Constructor<M>, prop?: keyof M): string[] | ExtendedRelationsMetadata;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
2
|
+
import { OperationKeys } from "@decaf-ts/db-decorators";
|
|
3
|
+
import "@decaf-ts/decorator-validation";
|
|
4
|
+
import { ModelErrorDefinition } from "@decaf-ts/decorator-validation";
|
|
5
|
+
import { SequenceOptions } from "../interfaces/SequenceOptions";
|
|
6
|
+
import type { ExtendedRelationsMetadata } from "../model/types";
|
|
7
|
+
import { IndexMetadata } from "../repository/types";
|
|
8
|
+
declare module "@decaf-ts/decorator-validation" {
|
|
9
|
+
namespace Model {
|
|
10
|
+
/**
|
|
11
|
+
* @description Gets all relation properties defined on a model.
|
|
12
|
+
* @summary Retrieves the names of all properties marked as relations in the model hierarchy.
|
|
13
|
+
* @template M - The model type that extends Model.
|
|
14
|
+
* @param {M | Constructor<M>} model - The model instance or constructor.
|
|
15
|
+
* @return {string[]} An array of property names that are relations.
|
|
16
|
+
*/
|
|
17
|
+
function relations<M extends Model>(m: Constructor<M> | M): string[];
|
|
18
|
+
/**
|
|
19
|
+
* @description Gets all relation properties defined on a model.
|
|
20
|
+
* @summary Retrieves the names of all properties marked as relations in the model hierarchy.
|
|
21
|
+
* @template M - The model type that extends Model.
|
|
22
|
+
* @param {M | Constructor<M>} model - The model instance or constructor.
|
|
23
|
+
* @return {string[]} An array of property names that are relations.
|
|
24
|
+
*/
|
|
25
|
+
function relations<M extends Model>(m: Constructor<M> | M, prop: keyof M): ExtendedRelationsMetadata;
|
|
26
|
+
/**
|
|
27
|
+
* @description Gets all relation properties defined on a model.
|
|
28
|
+
* @summary Retrieves the names of all properties marked as relations in the model hierarchy.
|
|
29
|
+
* @template M - The model type that extends Model.
|
|
30
|
+
* @param {M | Constructor<M>} model - The model instance or constructor.
|
|
31
|
+
* @return {string[]} An array of property names that are relations.
|
|
32
|
+
*/
|
|
33
|
+
function relations<M extends Model>(m: Constructor<M> | M, prop?: keyof M): string[] | ExtendedRelationsMetadata;
|
|
34
|
+
/**
|
|
35
|
+
* @description Gets all indexes defined on a model.
|
|
36
|
+
* @summary Retrieves all index metadata from a model's property decorators.
|
|
37
|
+
* @template M - The model type that extends Model.
|
|
38
|
+
* @param {M | Constructor<M>} model - The model instance or constructor.
|
|
39
|
+
* @return {Record<string, Record<string, IndexMetadata>>} A nested record of property names to index metadata.
|
|
40
|
+
*/
|
|
41
|
+
function indexes<M extends Model>(model: M | Constructor<M>): Record<string, Record<string, IndexMetadata>>;
|
|
42
|
+
/**
|
|
43
|
+
* @description Gets sequence options for a model's primary key.
|
|
44
|
+
* @summary Retrieves the sequence configuration for a model's primary key from metadata.
|
|
45
|
+
* @template M - The model type that extends Model.
|
|
46
|
+
* @param {M} model - The model instance.
|
|
47
|
+
* @return {SequenceOptions} The sequence options for the model's primary key.
|
|
48
|
+
* @throws {InternalError} If no sequence options are defined for the model.
|
|
49
|
+
*/
|
|
50
|
+
function sequenceFor<M extends Model<boolean>>(model: Constructor<M> | M, property?: keyof M): SequenceOptions;
|
|
51
|
+
/**
|
|
52
|
+
* @description Generates a sequence name for a model
|
|
53
|
+
* @summary Creates a standardized sequence name by combining the table name with additional arguments
|
|
54
|
+
* @template M - Type that extends Model
|
|
55
|
+
* @param {M | Constructor<M>} model - The model instance or constructor to generate the sequence name for
|
|
56
|
+
* @param {...string} args - Additional string arguments to append to the sequence name
|
|
57
|
+
* @return {string} The generated sequence name
|
|
58
|
+
*/
|
|
59
|
+
function sequenceName<M extends Model>(model: M | Constructor<M>, ...args: string[]): string;
|
|
60
|
+
/**
|
|
61
|
+
* @description Gets the table name for a model
|
|
62
|
+
* @summary Retrieves the table name associated with a model by checking metadata or falling back to the constructor name
|
|
63
|
+
* @template M - Type that extends Model
|
|
64
|
+
* @param {M | Constructor<M>} model - The model instance or constructor to get the table name for
|
|
65
|
+
* @return {string} The table name for the model
|
|
66
|
+
*/
|
|
67
|
+
function tableName<M extends Model<boolean>>(model: Constructor<M> | M): string;
|
|
68
|
+
function columnName<M extends Model<boolean>>(model: Constructor<M> | M, prop: keyof M): string;
|
|
69
|
+
function nonValidatableFor<M extends Model<boolean>>(m: Constructor<M> | M, op: OperationKeys.CREATE | OperationKeys.UPDATE | string): string[];
|
|
70
|
+
function validateOn<M extends Model<boolean>>(m: Constructor<M> | M, op: OperationKeys.CREATE | OperationKeys): M extends Model<true> ? Promise<ModelErrorDefinition | undefined> : ModelErrorDefinition | undefined;
|
|
71
|
+
}
|
|
72
|
+
interface Model {
|
|
73
|
+
hasErrorsOn<M extends Model<boolean>>(op: OperationKeys.CREATE | OperationKeys.UPDATE | string): M extends Model<true> ? Promise<ModelErrorDefinition | undefined> : ModelErrorDefinition | undefined;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Model.js","sourceRoot":"","sources":["../../src/overrides/Model.ts"],"names":[],"mappings":";;AAEA,0CAAwC"}
|
package/lib/overrides/index.cjs
CHANGED
|
@@ -15,5 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./Metadata.cjs"), exports);
|
|
18
|
+
__exportStar(require("./injectables.cjs"), exports);
|
|
19
|
+
__exportStar(require("./Model.cjs"), exports);
|
|
18
20
|
__exportStar(require("./overrides.cjs"), exports);
|
|
19
21
|
//# sourceMappingURL=index.js.map
|
package/lib/overrides/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/overrides/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA2B;AAC3B,kDAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/overrides/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA2B;AAC3B,oDAA8B;AAC9B,8CAAwB;AACxB,kDAA4B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import "@decaf-ts/injectable-decorators";
|
|
2
|
+
import { Repository } from "../repository/Repository";
|
|
3
|
+
import { Service } from "../utils/Services";
|
|
4
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
5
|
+
declare module "@decaf-ts/injectable-decorators" {
|
|
6
|
+
namespace Injectables {
|
|
7
|
+
function repositories<R extends Repository<any, any>>(flavour: string): Record<string, Record<string, Constructor<R>>>;
|
|
8
|
+
function services<S extends Service>(): Record<string, Constructor<S>>;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"injectables.js","sourceRoot":"","sources":["../../src/overrides/injectables.ts"],"names":[],"mappings":";;AAAA,2CAAyC"}
|
|
@@ -4,6 +4,7 @@ const decoration_1 = require("@decaf-ts/decoration");
|
|
|
4
4
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
5
5
|
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
6
6
|
const index_1 = require("./../persistence/index.cjs");
|
|
7
|
+
const injectable_decorators_1 = require("@decaf-ts/injectable-decorators");
|
|
7
8
|
decoration_1.Metadata.validationExceptions = function (model, op) {
|
|
8
9
|
const noValidation = decoration_1.Metadata.get(model, index_1.PersistenceKeys.NO_VALIDATE);
|
|
9
10
|
if (!noValidation)
|
|
@@ -47,6 +48,47 @@ decoration_1.Metadata.relations = function (m, prop) {
|
|
|
47
48
|
return meta[prop];
|
|
48
49
|
}.bind(decoration_1.Metadata);
|
|
49
50
|
decorator_validation_1.Model.relations = function (m, prop) {
|
|
50
|
-
return decoration_1.Metadata.relations(m, prop) || [];
|
|
51
|
+
return (decoration_1.Metadata.relations(m instanceof decorator_validation_1.Model ? m.constructor : m, prop) || []);
|
|
52
|
+
};
|
|
53
|
+
decorator_validation_1.Model.tableName = function (model) {
|
|
54
|
+
const obj = model instanceof decorator_validation_1.Model ? decorator_validation_1.Model.get(model.constructor.name) : model;
|
|
55
|
+
if (!obj)
|
|
56
|
+
throw new db_decorators_1.InternalError(`Unable to find model ${model}`);
|
|
57
|
+
const meta = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, index_1.PersistenceKeys.TABLE);
|
|
58
|
+
if (meta) {
|
|
59
|
+
return meta;
|
|
60
|
+
}
|
|
61
|
+
if (model instanceof decorator_validation_1.Model) {
|
|
62
|
+
return model.constructor.name;
|
|
63
|
+
}
|
|
64
|
+
return model.name;
|
|
65
|
+
};
|
|
66
|
+
decorator_validation_1.Model.columnName = function (model, attribute) {
|
|
67
|
+
const metadata = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, decoration_1.Metadata.key(index_1.PersistenceKeys.COLUMN, attribute));
|
|
68
|
+
return metadata ? metadata : attribute;
|
|
69
|
+
};
|
|
70
|
+
decorator_validation_1.Model.sequenceName = function (model, ...args) {
|
|
71
|
+
return [decorator_validation_1.Model.tableName(model), ...args].join("_");
|
|
72
|
+
};
|
|
73
|
+
decorator_validation_1.Model.sequenceFor = function sequenceFor(model, property) {
|
|
74
|
+
if (property)
|
|
75
|
+
throw new index_1.UnsupportedError("not currently supported");
|
|
76
|
+
const metadata = decorator_validation_1.Model.pkProps(model instanceof decorator_validation_1.Model ? model.constructor : model);
|
|
77
|
+
if (!metadata)
|
|
78
|
+
throw new db_decorators_1.InternalError("No sequence options defined for model. did you use the @pk decorator?");
|
|
79
|
+
return metadata;
|
|
80
|
+
};
|
|
81
|
+
decorator_validation_1.Model.indexes = function indexes(model) {
|
|
82
|
+
const indexDecorators = decoration_1.Metadata.get(model instanceof decorator_validation_1.Model ? model.constructor : model, index_1.PersistenceKeys.INDEX);
|
|
83
|
+
return Object.keys(indexDecorators || {}).reduce((acum, t) => {
|
|
84
|
+
acum[t] = { [index_1.PersistenceKeys.INDEX]: indexDecorators[t] };
|
|
85
|
+
return acum;
|
|
86
|
+
}, {});
|
|
87
|
+
};
|
|
88
|
+
injectable_decorators_1.Injectables.services = function () {
|
|
89
|
+
return decoration_1.Metadata["innerGet"](Symbol.for(index_1.PersistenceKeys.SERVICE));
|
|
90
|
+
};
|
|
91
|
+
injectable_decorators_1.Injectables.repositories = function () {
|
|
92
|
+
return decoration_1.Metadata["innerGet"](Symbol.for(db_decorators_1.DBKeys.REPOSITORY));
|
|
51
93
|
};
|
|
52
94
|
//# sourceMappingURL=overrides.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":";;AAAA,qDAA6D;AAC7D,yEAAuD;AACvD,
|
|
1
|
+
{"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../src/overrides/overrides.ts"],"names":[],"mappings":"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"}
|