@lambdaorm/base 3.0.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/CHANGELOG.md +7 -0
- package/README.md +3 -0
- package/index.d.ts +8 -0
- package/index.js +25 -0
- package/index.js.map +1 -0
- package/jest-config.json +15 -0
- package/package.json +24 -0
- package/query/domain/data.d.ts +12 -0
- package/query/domain/data.js +63 -0
- package/query/domain/data.js.map +1 -0
- package/query/domain/index.d.ts +3 -0
- package/query/domain/index.js +20 -0
- package/query/domain/index.js.map +1 -0
- package/query/domain/query.d.ts +14 -0
- package/query/domain/query.js +3 -0
- package/query/domain/query.js.map +1 -0
- package/repository/application/index.d.ts +1 -0
- package/repository/application/index.js +18 -0
- package/repository/application/index.js.map +1 -0
- package/repository/application/repository.d.ts +35 -0
- package/repository/application/repository.js +3 -0
- package/repository/application/repository.js.map +1 -0
- package/repository/domain/actions.d.ts +11 -0
- package/repository/domain/actions.js +3 -0
- package/repository/domain/actions.js.map +1 -0
- package/repository/domain/index.d.ts +2 -0
- package/repository/domain/index.js +19 -0
- package/repository/domain/index.js.map +1 -0
- package/repository/domain/queryable.d.ts +320 -0
- package/repository/domain/queryable.js +226 -0
- package/repository/domain/queryable.js.map +1 -0
- package/schema/application/facade.d.ts +28 -0
- package/schema/application/facade.js +59 -0
- package/schema/application/facade.js.map +1 -0
- package/schema/application/index.d.ts +21 -0
- package/schema/application/index.js +38 -0
- package/schema/application/index.js.map +1 -0
- package/schema/application/services/config/dataSourceConfigService.d.ts +8 -0
- package/schema/application/services/config/dataSourceConfigService.js +38 -0
- package/schema/application/services/config/dataSourceConfigService.js.map +1 -0
- package/schema/application/services/config/domainConfigService.d.ts +7 -0
- package/schema/application/services/config/domainConfigService.js +13 -0
- package/schema/application/services/config/domainConfigService.js.map +1 -0
- package/schema/application/services/config/domainConfigServiceBase.d.ts +45 -0
- package/schema/application/services/config/domainConfigServiceBase.js +304 -0
- package/schema/application/services/config/domainConfigServiceBase.js.map +1 -0
- package/schema/application/services/config/mappingConfigService.d.ts +13 -0
- package/schema/application/services/config/mappingConfigService.js +32 -0
- package/schema/application/services/config/mappingConfigService.js.map +1 -0
- package/schema/application/services/config/mappingsConfigService.d.ts +10 -0
- package/schema/application/services/config/mappingsConfigService.js +43 -0
- package/schema/application/services/config/mappingsConfigService.js.map +1 -0
- package/schema/application/services/config/stageConfigService.d.ts +7 -0
- package/schema/application/services/config/stageConfigService.js +32 -0
- package/schema/application/services/config/stageConfigService.js.map +1 -0
- package/schema/application/services/config/viewConfigService.d.ts +12 -0
- package/schema/application/services/config/viewConfigService.js +36 -0
- package/schema/application/services/config/viewConfigService.js.map +1 -0
- package/schema/application/services/config/viewsConfigService.d.ts +9 -0
- package/schema/application/services/config/viewsConfigService.js +43 -0
- package/schema/application/services/config/viewsConfigService.js.map +1 -0
- package/schema/application/services/createEntitiesService.d.ts +10 -0
- package/schema/application/services/createEntitiesService.js +168 -0
- package/schema/application/services/createEntitiesService.js.map +1 -0
- package/schema/application/services/interpretSchemaDataService.d.ts +12 -0
- package/schema/application/services/interpretSchemaDataService.js +142 -0
- package/schema/application/services/interpretSchemaDataService.js.map +1 -0
- package/schema/application/services/routeService.d.ts +10 -0
- package/schema/application/services/routeService.js +35 -0
- package/schema/application/services/routeService.js.map +1 -0
- package/schema/application/services/schemaExtender.d.ts +37 -0
- package/schema/application/services/schemaExtender.js +472 -0
- package/schema/application/services/schemaExtender.js.map +1 -0
- package/schema/application/services/schemaService.d.ts +9 -0
- package/schema/application/services/schemaService.js +78 -0
- package/schema/application/services/schemaService.js.map +1 -0
- package/schema/application/state.d.ts +54 -0
- package/schema/application/state.js +176 -0
- package/schema/application/state.js.map +1 -0
- package/schema/application/useCases/clear.d.ts +9 -0
- package/schema/application/useCases/clear.js +149 -0
- package/schema/application/useCases/clear.js.map +1 -0
- package/schema/application/useCases/complete.d.ts +0 -0
- package/schema/application/useCases/complete.js +61 -0
- package/schema/application/useCases/complete.js.map +1 -0
- package/schema/application/useCases/create.d.ts +7 -0
- package/schema/application/useCases/create.js +21 -0
- package/schema/application/useCases/create.js.map +1 -0
- package/schema/application/useCases/getSchemaData.d.ts +8 -0
- package/schema/application/useCases/getSchemaData.js +16 -0
- package/schema/application/useCases/getSchemaData.js.map +1 -0
- package/schema/application/useCases/initialize.d.ts +8 -0
- package/schema/application/useCases/initialize.js +131 -0
- package/schema/application/useCases/initialize.js.map +1 -0
- package/schema/application/useCases/load.d.ts +17 -0
- package/schema/application/useCases/load.js +68 -0
- package/schema/application/useCases/load.js.map +1 -0
- package/schema/application/useCases/match.d.ts +21 -0
- package/schema/application/useCases/match.js +297 -0
- package/schema/application/useCases/match.js.map +1 -0
- package/schema/application/useCases/update.d.ts +9 -0
- package/schema/application/useCases/update.js +115 -0
- package/schema/application/useCases/update.js.map +1 -0
- package/schema/domain/dialect.d.ts +10 -0
- package/schema/domain/dialect.js +15 -0
- package/schema/domain/dialect.js.map +1 -0
- package/schema/domain/errors.d.ts +3 -0
- package/schema/domain/errors.js +11 -0
- package/schema/domain/errors.js.map +1 -0
- package/schema/domain/index.d.ts +6 -0
- package/schema/domain/index.js +23 -0
- package/schema/domain/index.js.map +1 -0
- package/schema/domain/ports/fileSchemaService.d.ts +5 -0
- package/schema/domain/ports/fileSchemaService.js +3 -0
- package/schema/domain/ports/fileSchemaService.js.map +1 -0
- package/schema/domain/schema.d.ts +207 -0
- package/schema/domain/schema.js +12 -0
- package/schema/domain/schema.js.map +1 -0
- package/schema/domain/sentence.d.ts +68 -0
- package/schema/domain/sentence.js +65 -0
- package/schema/domain/sentence.js.map +1 -0
- package/schema/domain/services.d.ts +20 -0
- package/schema/domain/services.js +3 -0
- package/schema/domain/services.js.map +1 -0
- package/schema/infrastructure/facadeBuilder.d.ts +9 -0
- package/schema/infrastructure/facadeBuilder.js +30 -0
- package/schema/infrastructure/facadeBuilder.js.map +1 -0
- package/schema/infrastructure/fileSchemaService.d.ts +11 -0
- package/schema/infrastructure/fileSchemaService.js +69 -0
- package/schema/infrastructure/fileSchemaService.js.map +1 -0
- package/schema/infrastructure/index.d.ts +3 -0
- package/schema/infrastructure/index.js +20 -0
- package/schema/infrastructure/index.js.map +1 -0
- package/schema/infrastructure/schemaFileHelper.d.ts +7 -0
- package/schema/infrastructure/schemaFileHelper.js +81 -0
- package/schema/infrastructure/schemaFileHelper.js.map +1 -0
- package/schema/infrastructure/schemaHelper.d.ts +23 -0
- package/schema/infrastructure/schemaHelper.js +132 -0
- package/schema/infrastructure/schemaHelper.js.map +1 -0
- package/schema/infrastructure/stateBuilder.d.ts +10 -0
- package/schema/infrastructure/stateBuilder.js +24 -0
- package/schema/infrastructure/stateBuilder.js.map +1 -0
- package/sentence/domain/index.d.ts +3 -0
- package/sentence/domain/index.js +20 -0
- package/sentence/domain/index.js.map +1 -0
- package/sentence/domain/metadata.d.ts +37 -0
- package/sentence/domain/metadata.js +3 -0
- package/sentence/domain/metadata.js.map +1 -0
- package/sentence/domain/sentence.d.ts +68 -0
- package/sentence/domain/sentence.js +128 -0
- package/sentence/domain/sentence.js.map +1 -0
- package/sentence/domain/services.d.ts +13 -0
- package/sentence/domain/services.js +3 -0
- package/sentence/domain/services.js.map +1 -0
- package/shared/domain/error.d.ts +9 -0
- package/shared/domain/error.js +25 -0
- package/shared/domain/error.js.map +1 -0
- package/shared/domain/ports/logger.d.ts +9 -0
- package/shared/domain/ports/logger.js +39 -0
- package/shared/domain/ports/logger.js.map +1 -0
- package/shared/index.d.ts +5 -0
- package/shared/index.js +22 -0
- package/shared/index.js.map +1 -0
- package/shared/infrastructure/consoleLogger.d.ts +6 -0
- package/shared/infrastructure/consoleLogger.js +41 -0
- package/shared/infrastructure/consoleLogger.js.map +1 -0
- package/shared/infrastructure/helper.d.ts +40 -0
- package/shared/infrastructure/helper.js +224 -0
- package/shared/infrastructure/helper.js.map +1 -0
- package/shared/infrastructure/loggerBuilder.d.ts +4 -0
- package/shared/infrastructure/loggerBuilder.js +15 -0
- package/shared/infrastructure/loggerBuilder.js.map +1 -0
- package/shared/infrastructure/winstonLogger.d.ts +7 -0
- package/shared/infrastructure/winstonLogger.js +57 -0
- package/shared/infrastructure/winstonLogger.js.map +1 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./services/schemaService"), exports);
|
|
18
|
+
__exportStar(require("./services/interpretSchemaDataService"), exports);
|
|
19
|
+
__exportStar(require("./services/config/dataSourceConfigService"), exports);
|
|
20
|
+
__exportStar(require("./services/config/mappingsConfigService"), exports);
|
|
21
|
+
__exportStar(require("./services/config/mappingConfigService"), exports);
|
|
22
|
+
__exportStar(require("./services/config/domainConfigService"), exports);
|
|
23
|
+
__exportStar(require("./services/config/stageConfigService"), exports);
|
|
24
|
+
__exportStar(require("./services/config/viewsConfigService"), exports);
|
|
25
|
+
__exportStar(require("./services/config/viewConfigService"), exports);
|
|
26
|
+
__exportStar(require("./facade"), exports);
|
|
27
|
+
__exportStar(require("./services/createEntitiesService"), exports);
|
|
28
|
+
__exportStar(require("./services/routeService"), exports);
|
|
29
|
+
__exportStar(require("./services/schemaExtender"), exports);
|
|
30
|
+
__exportStar(require("./useCases/load"), exports);
|
|
31
|
+
__exportStar(require("./useCases/create"), exports);
|
|
32
|
+
__exportStar(require("./useCases/update"), exports);
|
|
33
|
+
__exportStar(require("./useCases/getSchemaData"), exports);
|
|
34
|
+
__exportStar(require("./useCases/match"), exports);
|
|
35
|
+
__exportStar(require("./useCases/initialize"), exports);
|
|
36
|
+
__exportStar(require("./useCases/getSchemaData"), exports);
|
|
37
|
+
__exportStar(require("./state"), exports);
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/lib/schema/application/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAwC;AACxC,wEAAqD;AACrD,4EAAyD;AACzD,0EAAuD;AACvD,yEAAsD;AACtD,wEAAqD;AACrD,uEAAoD;AACpD,uEAAoD;AACpD,sEAAmD;AACnD,2CAAwB;AACxB,mEAAgD;AAChD,0DAAuC;AACvC,4DAAyC;AACzC,kDAA+B;AAC/B,oDAAiC;AACjC,oDAAiC;AACjC,2DAAwC;AACxC,mDAAgC;AAChC,wDAAqC;AACrC,2DAAwC;AACxC,0CAAuB"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataSourceConfigService = void 0;
|
|
4
|
+
const domain_1 = require("../../../domain");
|
|
5
|
+
class DataSourceConfigService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.sources = [];
|
|
8
|
+
}
|
|
9
|
+
load(value) {
|
|
10
|
+
if (value && value.name) {
|
|
11
|
+
const index = this.sources.findIndex(p => p.name === value.name);
|
|
12
|
+
if (index === -1) {
|
|
13
|
+
this.sources.push(value);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.sources[index] = value;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
get(name) {
|
|
21
|
+
const _name = name === undefined ? this.default : name;
|
|
22
|
+
if (_name === undefined) {
|
|
23
|
+
if (this.sources.length === 1) {
|
|
24
|
+
return this.sources[0];
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
throw new domain_1.SchemaError('the name of the source is required');
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
const db = this.sources.find(p => p.name === _name);
|
|
31
|
+
if (db === undefined) {
|
|
32
|
+
throw new domain_1.SchemaError(`default source: ${_name} not found`);
|
|
33
|
+
}
|
|
34
|
+
return db;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.DataSourceConfigService = DataSourceConfigService;
|
|
38
|
+
//# sourceMappingURL=dataSourceConfigService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataSourceConfigService.js","sourceRoot":"","sources":["../../../../../../src/lib/schema/application/services/config/dataSourceConfigService.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAErD,MAAa,uBAAuB;IAInC;QACC,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;IAClB,CAAC;IAEM,IAAI,CAAE,KAAa;QACzB,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;YAChE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACzB,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;YAC5B,CAAC;QACF,CAAC;IACF,CAAC;IAEM,GAAG,CAAE,IAAa;QACxB,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA;QACtD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YACvB,CAAC;iBAAM,CAAC;gBACP,MAAM,IAAI,oBAAW,CAAC,oCAAoC,CAAC,CAAA;YAC5D,CAAC;QACF,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAA;QACnD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,MAAM,IAAI,oBAAW,CAAC,mBAAmB,KAAK,YAAY,CAAC,CAAA;QAC5D,CAAC;QACD,OAAO,EAAE,CAAA;IACV,CAAC;CACD;AAlCD,0DAkCC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Enum, Entity, Property } from '../../../domain';
|
|
2
|
+
import { DomainConfigServiceBase } from './domainConfigServiceBase';
|
|
3
|
+
export declare class DomainConfigService extends DomainConfigServiceBase<Entity, Property> {
|
|
4
|
+
entities: Entity[];
|
|
5
|
+
enums: Enum[];
|
|
6
|
+
constructor(entities?: Entity[], enums?: Enum[]);
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DomainConfigService = void 0;
|
|
4
|
+
const domainConfigServiceBase_1 = require("./domainConfigServiceBase");
|
|
5
|
+
class DomainConfigService extends domainConfigServiceBase_1.DomainConfigServiceBase {
|
|
6
|
+
constructor(entities = [], enums = []) {
|
|
7
|
+
super();
|
|
8
|
+
this.entities = entities;
|
|
9
|
+
this.enums = enums;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
exports.DomainConfigService = DomainConfigService;
|
|
13
|
+
//# sourceMappingURL=domainConfigService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domainConfigService.js","sourceRoot":"","sources":["../../../../../../src/lib/schema/application/services/config/domainConfigService.ts"],"names":[],"mappings":";;;AACA,uEAAmE;AAEnE,MAAa,mBAAoB,SAAQ,iDAAyC;IAIjF,YAAa,WAAqB,EAAE,EAAE,QAAgB,EAAE;QACvD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,CAAC;CACD;AATD,kDASC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Enum, Entity, Property, RelationInfo } from '../../../domain';
|
|
2
|
+
export declare abstract class DomainConfigServiceBase<TEntity extends Entity, TProperty extends Property> {
|
|
3
|
+
abstract get entities(): TEntity[];
|
|
4
|
+
abstract get enums(): Enum[];
|
|
5
|
+
getEntity(name: string): TEntity | undefined;
|
|
6
|
+
getForcedEntity(name: string): TEntity;
|
|
7
|
+
getEnum(name: string): Enum | undefined;
|
|
8
|
+
isChild(entityName: string): boolean;
|
|
9
|
+
existsProperty(entityName: string, name: string): boolean;
|
|
10
|
+
getProperty(entityName: string, name: string): TProperty;
|
|
11
|
+
getAutoIncrement(entityName: string): TProperty | undefined;
|
|
12
|
+
getFieldIds(entityName: string): TProperty[] | undefined;
|
|
13
|
+
listEntities(): string[];
|
|
14
|
+
/**
|
|
15
|
+
* Sort a list of entities according to their relationships
|
|
16
|
+
* @param allEntities entities to order
|
|
17
|
+
* @returns returns the sorted entities
|
|
18
|
+
*/
|
|
19
|
+
sortByRelations(mainEntities: string[], allEntities: string[]): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Sort a list of entities according to their dependencies
|
|
22
|
+
* @param entities entities to order
|
|
23
|
+
* @returns returns the sorted entities
|
|
24
|
+
*/
|
|
25
|
+
sortByDependencies(entities?: string[]): string[];
|
|
26
|
+
/**
|
|
27
|
+
* Determines whether an entity can be included in the entity list based on its relationships
|
|
28
|
+
* @param entityName name of entity
|
|
29
|
+
* @param sorted current list of entities sorted by dependencies
|
|
30
|
+
* @param parent entity parent , used in manyToOne relations
|
|
31
|
+
* @returns
|
|
32
|
+
*/
|
|
33
|
+
protected solveSortEntity(entityName: string, mainEntities: string[], allEntities: string[], sorted: string[], parent?: string): boolean;
|
|
34
|
+
private unsolvedRelation;
|
|
35
|
+
/**
|
|
36
|
+
* Determines whether an entity can be included in the entity list based on its dependencies
|
|
37
|
+
* @param entityName name of entity
|
|
38
|
+
* @param sorted current list of entities sorted by dependencies
|
|
39
|
+
* @param parent entity parent , used in manyToOne relations
|
|
40
|
+
* @returns
|
|
41
|
+
*/
|
|
42
|
+
protected hadDependencies(entity: TEntity, entities: string[], sorted: string[], parent?: string): boolean;
|
|
43
|
+
private hadDependents;
|
|
44
|
+
getRelation(entity: string, relation: string): RelationInfo;
|
|
45
|
+
}
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DomainConfigServiceBase = void 0;
|
|
4
|
+
const domain_1 = require("../../../domain");
|
|
5
|
+
class DomainConfigServiceBase {
|
|
6
|
+
getEntity(name) {
|
|
7
|
+
return this.entities.find(p => p.name === name);
|
|
8
|
+
}
|
|
9
|
+
getForcedEntity(name) {
|
|
10
|
+
const entity = this.getEntity(name);
|
|
11
|
+
if (entity === undefined) {
|
|
12
|
+
throw new domain_1.SchemaError(`entity ${name} not found`);
|
|
13
|
+
}
|
|
14
|
+
return entity;
|
|
15
|
+
}
|
|
16
|
+
getEnum(name) {
|
|
17
|
+
return this.enums.find(p => p.name === name);
|
|
18
|
+
}
|
|
19
|
+
isChild(entityName) {
|
|
20
|
+
for (const i in this.entities) {
|
|
21
|
+
const entity = this.entities[i];
|
|
22
|
+
for (const j in entity.relations) {
|
|
23
|
+
const relation = entity.relations[j];
|
|
24
|
+
if (relation.type === domain_1.RelationType.manyToOne && relation.composite && relation.entity === entityName)
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
existsProperty(entityName, name) {
|
|
31
|
+
var _a;
|
|
32
|
+
const entity = this.getEntity(entityName);
|
|
33
|
+
if (!entity) {
|
|
34
|
+
throw new domain_1.SchemaError('Not exists entity:' + entityName);
|
|
35
|
+
}
|
|
36
|
+
const property = (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.find(p => p.name === name);
|
|
37
|
+
return property !== undefined;
|
|
38
|
+
}
|
|
39
|
+
getProperty(entityName, name) {
|
|
40
|
+
var _a;
|
|
41
|
+
const entity = this.getEntity(entityName);
|
|
42
|
+
if (!entity) {
|
|
43
|
+
throw new domain_1.SchemaError('Not exists entity:' + entityName);
|
|
44
|
+
}
|
|
45
|
+
const property = (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.find(p => p.name === name);
|
|
46
|
+
if (!property) {
|
|
47
|
+
throw new domain_1.SchemaError('Not exists property: ' + name + ' in entity: ' + entityName);
|
|
48
|
+
}
|
|
49
|
+
return property;
|
|
50
|
+
}
|
|
51
|
+
getAutoIncrement(entityName) {
|
|
52
|
+
var _a;
|
|
53
|
+
const entity = this.getEntity(entityName);
|
|
54
|
+
if (!entity) {
|
|
55
|
+
throw new domain_1.SchemaError('Not exists entity:' + entityName);
|
|
56
|
+
}
|
|
57
|
+
return (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.find(p => p.autoIncrement === true);
|
|
58
|
+
}
|
|
59
|
+
getFieldIds(entityName) {
|
|
60
|
+
var _a;
|
|
61
|
+
const entity = this.getEntity(entityName);
|
|
62
|
+
if (!entity) {
|
|
63
|
+
throw new domain_1.SchemaError('Not exists entity:' + entityName);
|
|
64
|
+
}
|
|
65
|
+
if (!entity.primaryKey) {
|
|
66
|
+
return undefined;
|
|
67
|
+
}
|
|
68
|
+
return (_a = entity.properties) === null || _a === void 0 ? void 0 : _a.filter(p => entity.primaryKey && entity.primaryKey.includes(p.name));
|
|
69
|
+
}
|
|
70
|
+
listEntities() {
|
|
71
|
+
return this.entities.map(p => p.name);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Sort a list of entities according to their relationships
|
|
75
|
+
* @param allEntities entities to order
|
|
76
|
+
* @returns returns the sorted entities
|
|
77
|
+
*/
|
|
78
|
+
sortByRelations(mainEntities, allEntities) {
|
|
79
|
+
if (mainEntities.length < 2)
|
|
80
|
+
return mainEntities;
|
|
81
|
+
const sorted = [];
|
|
82
|
+
let tries = 0;
|
|
83
|
+
let solved = true;
|
|
84
|
+
while (sorted.length < mainEntities.length) {
|
|
85
|
+
if (tries >= 1000) {
|
|
86
|
+
solved = false;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
for (const entityName of mainEntities) {
|
|
90
|
+
if (sorted.includes(entityName)) {
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
if (this.solveSortEntity(entityName, mainEntities, allEntities, sorted)) {
|
|
94
|
+
sorted.push(entityName);
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
tries++;
|
|
99
|
+
}
|
|
100
|
+
if (solved) {
|
|
101
|
+
return sorted;
|
|
102
|
+
}
|
|
103
|
+
const info = [];
|
|
104
|
+
for (const entityName of mainEntities) {
|
|
105
|
+
if (!sorted.includes(entityName)) {
|
|
106
|
+
const entity = this.getEntity(entityName);
|
|
107
|
+
if (entity === undefined) {
|
|
108
|
+
throw new domain_1.SchemaError('Not exists entity:' + entityName);
|
|
109
|
+
}
|
|
110
|
+
info.push(`{ ${entity.name} relations: `);
|
|
111
|
+
if (entity.dependents && entity.dependents.length > 0 && entity.relations) {
|
|
112
|
+
for (const relation of entity.relations) {
|
|
113
|
+
if (relation.entity !== entity.name && mainEntities.includes(relation.entity)) {
|
|
114
|
+
for (const relation of entity.relations) {
|
|
115
|
+
if (this.unsolvedRelation(entityName, mainEntities, allEntities, sorted, relation)) {
|
|
116
|
+
info.push(`${relation.entity}.${relation.name} `);
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
info.push('}, ');
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
throw new domain_1.SchemaError(`Task cannot be completed because the following entities cannot be sorted by their relations ${info.join('')}`);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Sort a list of entities according to their dependencies
|
|
129
|
+
* @param entities entities to order
|
|
130
|
+
* @returns returns the sorted entities
|
|
131
|
+
*/
|
|
132
|
+
sortByDependencies(entities = []) {
|
|
133
|
+
if (entities.length < 2)
|
|
134
|
+
return entities;
|
|
135
|
+
const sorted = [];
|
|
136
|
+
let tries = 0;
|
|
137
|
+
let solved = true;
|
|
138
|
+
while (sorted.length < entities.length) {
|
|
139
|
+
if (tries >= 1000) {
|
|
140
|
+
solved = false;
|
|
141
|
+
break;
|
|
142
|
+
}
|
|
143
|
+
for (const entityName of entities) {
|
|
144
|
+
if (sorted.includes(entityName)) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const entity = this.getEntity(entityName);
|
|
148
|
+
if (entity === undefined) {
|
|
149
|
+
throw new domain_1.SchemaError('Not exists entity:' + entityName);
|
|
150
|
+
}
|
|
151
|
+
if (!this.hadDependencies(entity, entities, sorted)) {
|
|
152
|
+
sorted.push(entityName);
|
|
153
|
+
break;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
tries++;
|
|
157
|
+
}
|
|
158
|
+
if (solved) {
|
|
159
|
+
return sorted;
|
|
160
|
+
}
|
|
161
|
+
const info = [];
|
|
162
|
+
for (const entityName of entities) {
|
|
163
|
+
if (!sorted.includes(entityName)) {
|
|
164
|
+
const entity = this.getEntity(entityName);
|
|
165
|
+
if (entity === undefined) {
|
|
166
|
+
throw new domain_1.SchemaError('Not exists entity:' + entityName);
|
|
167
|
+
}
|
|
168
|
+
info.push(`{ ${entity.name} depend: `);
|
|
169
|
+
if (entity.dependents && entity.dependents.length > 0) {
|
|
170
|
+
for (const dependent of entity.dependents) {
|
|
171
|
+
if (dependent.entity !== entity.name && entities.includes(dependent.entity)) {
|
|
172
|
+
for (const dependent of entity.dependents) {
|
|
173
|
+
if (dependent.entity !== entity.name && entities.includes(dependent.entity)) {
|
|
174
|
+
if (this.hadDependents(entity, sorted, dependent)) {
|
|
175
|
+
info.push(`${dependent.entity}.${dependent.relation.name} `);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
info.push('}, ');
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
throw new domain_1.SchemaError(`Task cannot be completed because the following entities cannot be sorted by their dependencies ${info.join('')}`);
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Determines whether an entity can be included in the entity list based on its relationships
|
|
189
|
+
* @param entityName name of entity
|
|
190
|
+
* @param sorted current list of entities sorted by dependencies
|
|
191
|
+
* @param parent entity parent , used in manyToOne relations
|
|
192
|
+
* @returns
|
|
193
|
+
*/
|
|
194
|
+
solveSortEntity(entityName, mainEntities, allEntities, sorted, parent) {
|
|
195
|
+
const entity = this.getEntity(entityName);
|
|
196
|
+
if (entity === undefined) {
|
|
197
|
+
throw new domain_1.SchemaError('Not exists entity:' + entityName);
|
|
198
|
+
}
|
|
199
|
+
if (entity.relations === undefined || entity.relations.length === 0) {
|
|
200
|
+
return true;
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
let unsolved = false;
|
|
204
|
+
for (const relation of entity.relations) {
|
|
205
|
+
if (this.unsolvedRelation(entityName, mainEntities, allEntities, sorted, relation, parent)) {
|
|
206
|
+
unsolved = true;
|
|
207
|
+
break;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
return !unsolved;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
unsolvedRelation(entityName, mainEntities, allEntities, sorted, relation, parent) {
|
|
214
|
+
if (relation.entity !== entityName && allEntities.includes(relation.entity)) {
|
|
215
|
+
if (relation.type === domain_1.RelationType.oneToOne || relation.type === domain_1.RelationType.oneToMany) {
|
|
216
|
+
if (!relation.weak && !sorted.includes(relation.entity) && (parent === null || parent !== relation.entity)) {
|
|
217
|
+
return true;
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
else if (relation.type === domain_1.RelationType.manyToOne) {
|
|
221
|
+
if (relation.composite && !this.solveSortEntity(relation.entity, mainEntities, allEntities, sorted, entityName)) {
|
|
222
|
+
return true;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
return false;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* Determines whether an entity can be included in the entity list based on its dependencies
|
|
230
|
+
* @param entityName name of entity
|
|
231
|
+
* @param sorted current list of entities sorted by dependencies
|
|
232
|
+
* @param parent entity parent , used in manyToOne relations
|
|
233
|
+
* @returns
|
|
234
|
+
*/
|
|
235
|
+
hadDependencies(entity, entities, sorted, parent) {
|
|
236
|
+
if (entity.dependents === undefined || entity.dependents.length === 0) {
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
else {
|
|
240
|
+
let hadDependents = false;
|
|
241
|
+
for (const dependent of entity.dependents) {
|
|
242
|
+
if (dependent.entity !== entity.name && entities.includes(dependent.entity)) {
|
|
243
|
+
if (this.hadDependents(entity, sorted, dependent, parent)) {
|
|
244
|
+
hadDependents = true;
|
|
245
|
+
break;
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
return hadDependents;
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
hadDependents(entity, sorted, dependent, parent) {
|
|
253
|
+
var _a;
|
|
254
|
+
// if the relationship is not weak
|
|
255
|
+
if (!dependent.relation.weak) {
|
|
256
|
+
// look for the related property to see if the dependency is not required
|
|
257
|
+
const dependentEntity = this.getEntity(dependent.entity);
|
|
258
|
+
if (dependentEntity === undefined) {
|
|
259
|
+
throw new domain_1.SchemaError('Not exists entity:' + dependent.entity);
|
|
260
|
+
}
|
|
261
|
+
const dependentProperty = (_a = dependentEntity.properties) === null || _a === void 0 ? void 0 : _a.find(p => p.name === dependent.relation.from);
|
|
262
|
+
if (dependentProperty === undefined) {
|
|
263
|
+
throw new domain_1.SchemaError(`property ${dependent.relation.from} not found in ${entity.name} `);
|
|
264
|
+
}
|
|
265
|
+
// if the relation is not required
|
|
266
|
+
// and the related entity is not included in the entities sorted by dependency
|
|
267
|
+
// and the parent entity is null or is the same as the relation
|
|
268
|
+
// in this case it cannot be determined that this entity can still be included in the list of entities ordered by dependency.
|
|
269
|
+
if (dependentProperty.required && !sorted.includes(dependent.entity) && (parent === null || parent !== dependent.entity)) {
|
|
270
|
+
return true;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return false;
|
|
274
|
+
}
|
|
275
|
+
getRelation(entity, relation) {
|
|
276
|
+
let _previousEntity, previousEntity, relationData, _relationEntity, relationEntity;
|
|
277
|
+
const parts = relation.split('.');
|
|
278
|
+
for (let i = 0; i < parts.length; i++) {
|
|
279
|
+
const part = parts[i];
|
|
280
|
+
if (i === 0) {
|
|
281
|
+
_previousEntity = entity;
|
|
282
|
+
previousEntity = this.getEntity(_previousEntity);
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
_previousEntity = _relationEntity;
|
|
286
|
+
previousEntity = relationEntity;
|
|
287
|
+
}
|
|
288
|
+
relationData = previousEntity.relations.find(p => p.name === part);
|
|
289
|
+
if (!relationData) {
|
|
290
|
+
throw new domain_1.SchemaError('relation ' + part + ' not found in ' + previousEntity.name);
|
|
291
|
+
}
|
|
292
|
+
_relationEntity = relationData.entity;
|
|
293
|
+
relationEntity = this.getEntity(_relationEntity);
|
|
294
|
+
}
|
|
295
|
+
return {
|
|
296
|
+
previousRelation: parts.length > 1 ? parts.slice(0, parts.length - 1).join('.') : '',
|
|
297
|
+
previousEntity: previousEntity,
|
|
298
|
+
entity: relationEntity,
|
|
299
|
+
relation: relationData
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
exports.DomainConfigServiceBase = DomainConfigServiceBase;
|
|
304
|
+
//# sourceMappingURL=domainConfigServiceBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domainConfigServiceBase.js","sourceRoot":"","sources":["../../../../../../src/lib/schema/application/services/config/domainConfigServiceBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Enum, FormatMapping, EntityMapping, PropertyMapping, Mapping } from '../../../domain';
|
|
2
|
+
import { DomainConfigServiceBase } from './domainConfigServiceBase';
|
|
3
|
+
export declare class MappingConfigService extends DomainConfigServiceBase<EntityMapping, PropertyMapping> {
|
|
4
|
+
private mapping;
|
|
5
|
+
enums: Enum[];
|
|
6
|
+
constructor(mapping: Mapping, enums?: Enum[]);
|
|
7
|
+
get name(): string;
|
|
8
|
+
get format(): FormatMapping | undefined;
|
|
9
|
+
get(): Mapping;
|
|
10
|
+
set(value: Mapping): void;
|
|
11
|
+
get entities(): EntityMapping[];
|
|
12
|
+
entityMapping(entityName: string): string | undefined;
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MappingConfigService = void 0;
|
|
4
|
+
const domainConfigServiceBase_1 = require("./domainConfigServiceBase");
|
|
5
|
+
class MappingConfigService extends domainConfigServiceBase_1.DomainConfigServiceBase {
|
|
6
|
+
constructor(mapping, enums = []) {
|
|
7
|
+
super();
|
|
8
|
+
this.mapping = mapping;
|
|
9
|
+
this.enums = enums;
|
|
10
|
+
}
|
|
11
|
+
get name() {
|
|
12
|
+
return this.mapping.name;
|
|
13
|
+
}
|
|
14
|
+
get format() {
|
|
15
|
+
return this.mapping.format;
|
|
16
|
+
}
|
|
17
|
+
get() {
|
|
18
|
+
return this.mapping;
|
|
19
|
+
}
|
|
20
|
+
set(value) {
|
|
21
|
+
this.mapping = value;
|
|
22
|
+
}
|
|
23
|
+
get entities() {
|
|
24
|
+
return this.mapping.entities || [];
|
|
25
|
+
}
|
|
26
|
+
entityMapping(entityName) {
|
|
27
|
+
const entity = this.getEntity(entityName);
|
|
28
|
+
return entity ? entity.mapping : undefined;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.MappingConfigService = MappingConfigService;
|
|
32
|
+
//# sourceMappingURL=mappingConfigService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappingConfigService.js","sourceRoot":"","sources":["../../../../../../src/lib/schema/application/services/config/mappingConfigService.ts"],"names":[],"mappings":";;;AACA,uEAAmE;AAEnE,MAAa,oBAAqB,SAAQ,iDAAuD;IAGhG,YAAa,OAAgB,EAAE,QAAgB,EAAE;QAChD,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,CAAC;IAED,IAAW,IAAI;QACd,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IACzB,CAAC;IAED,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC3B,CAAC;IAEM,GAAG;QACT,OAAO,IAAI,CAAC,OAAO,CAAA;IACpB,CAAC;IAEM,GAAG,CAAE,KAAc;QACzB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;IACrB,CAAC;IAED,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,CAAA;IACnC,CAAC;IAEM,aAAa,CAAE,UAAkB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QACzC,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3C,CAAC;CACD;AAjCD,oDAiCC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Mapping } from '../../../domain';
|
|
2
|
+
import { MappingConfigService } from './mappingConfigService';
|
|
3
|
+
export declare class MappingsConfigService {
|
|
4
|
+
mappings: Mapping[];
|
|
5
|
+
constructor();
|
|
6
|
+
load(value: Mapping): void;
|
|
7
|
+
delete(name: string): void;
|
|
8
|
+
get(name: string): Mapping;
|
|
9
|
+
getInstance(name: string): MappingConfigService;
|
|
10
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MappingsConfigService = void 0;
|
|
4
|
+
const domain_1 = require("../../../domain");
|
|
5
|
+
const mappingConfigService_1 = require("./mappingConfigService");
|
|
6
|
+
class MappingsConfigService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.mappings = [];
|
|
9
|
+
}
|
|
10
|
+
load(value) {
|
|
11
|
+
if (value && value.name) {
|
|
12
|
+
const index = this.mappings.findIndex(p => p.name === value.name);
|
|
13
|
+
if (index === -1) {
|
|
14
|
+
this.mappings.push(value);
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
this.mappings[index] = value;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
delete(name) {
|
|
22
|
+
const index = this.mappings.findIndex(p => p.name === name);
|
|
23
|
+
if (index !== -1) {
|
|
24
|
+
this.mappings.splice(index, 1);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
get(name) {
|
|
28
|
+
const mapping = this.mappings.find(p => p.name === name);
|
|
29
|
+
if (!mapping) {
|
|
30
|
+
throw new domain_1.SchemaError(`mapping ${name} not found`);
|
|
31
|
+
}
|
|
32
|
+
return mapping;
|
|
33
|
+
}
|
|
34
|
+
getInstance(name) {
|
|
35
|
+
const mapping = this.get(name);
|
|
36
|
+
if (!mapping) {
|
|
37
|
+
throw new domain_1.SchemaError(`mapping ${name} not found`);
|
|
38
|
+
}
|
|
39
|
+
return new mappingConfigService_1.MappingConfigService(mapping);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.MappingsConfigService = MappingsConfigService;
|
|
43
|
+
//# sourceMappingURL=mappingsConfigService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mappingsConfigService.js","sourceRoot":"","sources":["../../../../../../src/lib/schema/application/services/config/mappingsConfigService.ts"],"names":[],"mappings":";;;AAAA,4CAAsD;AACtD,iEAA6D;AAE7D,MAAa,qBAAqB;IAGjC;QACC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;IACnB,CAAC;IAEM,IAAI,CAAE,KAAc;QAC1B,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;YACjE,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAC1B,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;YAC7B,CAAC;QACF,CAAC;IACF,CAAC;IAEM,MAAM,CAAE,IAAY;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QAC3D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC/B,CAAC;IACF,CAAC;IAEM,GAAG,CAAE,IAAY;QACvB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACxD,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,oBAAW,CAAC,WAAW,IAAI,YAAY,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,OAAO,CAAA;IACf,CAAC;IAEM,WAAW,CAAE,IAAY;QAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,oBAAW,CAAC,WAAW,IAAI,YAAY,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,IAAI,2CAAoB,CAAC,OAAO,CAAC,CAAA;IACzC,CAAC;CACD;AAxCD,sDAwCC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StageConfigService = void 0;
|
|
4
|
+
const domain_1 = require("../../../domain");
|
|
5
|
+
class StageConfigService {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.stages = [];
|
|
8
|
+
}
|
|
9
|
+
load(value) {
|
|
10
|
+
if (value && value.name) {
|
|
11
|
+
const index = this.stages.findIndex(p => p.name === value.name);
|
|
12
|
+
if (index === -1) {
|
|
13
|
+
this.stages.push(value);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.stages[index] = value;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
get(name) {
|
|
21
|
+
if (name === undefined) {
|
|
22
|
+
return this.stages[0];
|
|
23
|
+
}
|
|
24
|
+
const stage = this.stages.find(p => p.name === name);
|
|
25
|
+
if (stage === undefined) {
|
|
26
|
+
throw new domain_1.SchemaError(`Stage: ${name} not found`);
|
|
27
|
+
}
|
|
28
|
+
return stage;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
exports.StageConfigService = StageConfigService;
|
|
32
|
+
//# sourceMappingURL=stageConfigService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stageConfigService.js","sourceRoot":"","sources":["../../../../../../src/lib/schema/application/services/config/stageConfigService.ts"],"names":[],"mappings":";;;AAAA,4CAAoD;AAEpD,MAAa,kBAAkB;IAG9B;QACC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;IACjB,CAAC;IAEM,IAAI,CAAE,KAAY;QACxB,IAAI,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,CAAA;YAC/D,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACxB,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAA;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAEM,GAAG,CAAE,IAAa;QACxB,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACtB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;QACpD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,oBAAW,CAAC,UAAU,IAAI,YAAY,CAAC,CAAA;QAClD,CAAC;QACD,OAAO,KAAK,CAAA;IACb,CAAC;CACD;AA5BD,gDA4BC"}
|