@node-c/core 1.0.0-alpha3 → 1.0.0-alpha4

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.
@@ -3,3 +3,12 @@ export declare enum Constants {
3
3
  CONFIG = "CONFIG",
4
4
  DOMAIN_MODULE_NAME = "DOMAIN_MODULE_NAME"
5
5
  }
6
+ export declare enum HttpMethod {
7
+ DELETE = "delete",
8
+ GET = "get",
9
+ HEAD = "head",
10
+ OPTIONS = "options",
11
+ PATCH = "patch",
12
+ POST = "post",
13
+ PUT = "put"
14
+ }
@@ -1,10 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Constants = void 0;
3
+ exports.HttpMethod = exports.Constants = void 0;
4
4
  var Constants;
5
5
  (function (Constants) {
6
6
  Constants["API_MODULE_NAME"] = "API_MODULE_NAME";
7
7
  Constants["CONFIG"] = "CONFIG";
8
8
  Constants["DOMAIN_MODULE_NAME"] = "DOMAIN_MODULE_NAME";
9
9
  })(Constants || (exports.Constants = Constants = {}));
10
+ var HttpMethod;
11
+ (function (HttpMethod) {
12
+ HttpMethod["DELETE"] = "delete";
13
+ HttpMethod["GET"] = "get";
14
+ HttpMethod["HEAD"] = "head";
15
+ HttpMethod["OPTIONS"] = "options";
16
+ HttpMethod["PATCH"] = "patch";
17
+ HttpMethod["POST"] = "post";
18
+ HttpMethod["PUT"] = "put";
19
+ })(HttpMethod || (exports.HttpMethod = HttpMethod = {}));
10
20
  //# sourceMappingURL=common.constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAOX;AAPD,WAAY,SAAS;IAEnB,gDAAmC,CAAA;IAEnC,8BAAiB,CAAA;IAEjB,sDAAyC,CAAA;AAC3C,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB"}
1
+ {"version":3,"file":"common.constants.js","sourceRoot":"","sources":["../../../src/common/definitions/common.constants.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAOX;AAPD,WAAY,SAAS;IAEnB,gDAAmC,CAAA;IAEnC,8BAAiB,CAAA;IAEjB,sDAAyC,CAAA;AAC3C,CAAC,EAPW,SAAS,yBAAT,SAAS,QAOpB;AAED,IAAY,UAeX;AAfD,WAAY,UAAU;IAEpB,+BAAiB,CAAA;IAEjB,yBAAW,CAAA;IAEX,2BAAa,CAAA;IAEb,iCAAmB,CAAA;IAEnB,6BAAe,CAAA;IAEf,2BAAa,CAAA;IAEb,yBAAW,CAAA;AACb,CAAC,EAfW,UAAU,0BAAV,UAAU,QAerB"}
@@ -1,28 +1,17 @@
1
- import { DomainBulkCreateData, DomainBulkCreateOptions, DomainBulkCreateResult, DomainCreateData, DomainCreateOptions, DomainCreateResult, DomainDeleteOptions, DomainDeleteResult, DomainFindOneOptions, DomainFindOneResult, DomainFindOptions, DomainFindResult, DomainPersistanceEntityServiceType, DomainUpdateData, DomainUpdateOptions, DomainUpdateResult } from './domain.entity.service.definitions';
1
+ import { DomainBulkCreateOptions, DomainBulkCreateResult, DomainCreateOptions, DomainCreateResult, DomainDeleteOptions, DomainDeleteResult, DomainEntityServiceDefaultData, DomainFindOneOptions, DomainFindOneResult, DomainFindOptions, DomainFindResult, DomainPersistanceEntityServiceType, DomainRunMethodInAdditionalServicesOptions, DomainUpdateOptions, DomainUpdateResult } from './domain.entity.service.definitions';
2
2
  import { GenericObject } from '../../common/definitions';
3
3
  import { PersistanceEntityService } from '../../persistance/entityService';
4
- export declare class DomainEntityService<Entity, EntityService extends PersistanceEntityService<Entity>, Data extends {
5
- BulkCreate: DomainBulkCreateData<Entity>;
6
- Create: DomainCreateData<Entity>;
7
- Update: DomainUpdateData<Entity>;
8
- } = {
9
- BulkCreate: DomainBulkCreateData<Entity>;
10
- Create: DomainCreateData<Entity>;
11
- Update: DomainUpdateData<Entity>;
12
- }, AdditionalEntityServices extends Record<string, PersistanceEntityService<Entity>> | undefined = undefined> {
4
+ export declare class DomainEntityService<Entity, EntityService extends PersistanceEntityService<Entity>, Data extends DomainEntityServiceDefaultData<Entity> = DomainEntityServiceDefaultData<Entity>, AdditionalEntityServices extends Record<string, PersistanceEntityService<Partial<Entity>>> | undefined = undefined> {
13
5
  protected persistanceEntityService: EntityService;
14
- protected additionalPersistanceEntityServices?: AdditionalEntityServices | undefined;
15
6
  protected defaultMethods: string[];
16
- constructor(persistanceEntityService: EntityService, additionalPersistanceEntityServices?: AdditionalEntityServices | undefined, defaultMethods?: string[]);
17
- bulkCreate(data: Data['BulkCreate'], options?: DomainBulkCreateOptions): Promise<DomainBulkCreateResult<Entity>>;
18
- create(data: Data['Create'], options?: DomainCreateOptions): Promise<DomainCreateResult<Entity>>;
19
- delete(options: DomainDeleteOptions): Promise<DomainDeleteResult>;
20
- find(options: DomainFindOptions): Promise<DomainFindResult<Entity>>;
21
- findOne(options: DomainFindOneOptions): Promise<DomainFindOneResult<Entity>>;
7
+ protected additionalPersistanceEntityServices?: AdditionalEntityServices | undefined;
8
+ constructor(persistanceEntityService: EntityService, defaultMethods?: string[], additionalPersistanceEntityServices?: AdditionalEntityServices | undefined);
9
+ bulkCreate(data: Data['BulkCreate'], options?: DomainBulkCreateOptions, privateOptions?: unknown): Promise<DomainBulkCreateResult<Entity>>;
10
+ create(data: Data['Create'], options?: DomainCreateOptions, privateOptions?: unknown): Promise<DomainCreateResult<Entity>>;
11
+ delete(options: DomainDeleteOptions, privateOptions?: unknown): Promise<DomainDeleteResult>;
12
+ find(options: DomainFindOptions, privateOptions?: unknown): Promise<DomainFindResult<Entity>>;
13
+ findOne(options: DomainFindOneOptions, privateOptions?: unknown): Promise<DomainFindOneResult<Entity>>;
22
14
  protected getPersistanceService(serviceName: DomainPersistanceEntityServiceType.Main | string): PersistanceEntityService<Entity>;
23
- protected runMethodInAdditionalServices<ServiceReturnData>(serviceNames: string[], options: {
24
- methodArgs?: unknown[];
25
- methodName: string;
26
- }): Promise<GenericObject<ServiceReturnData> | undefined>;
27
- update(data: Data['Update'], options: DomainUpdateOptions): Promise<DomainUpdateResult<Entity>>;
15
+ protected runMethodInAdditionalServices<ServiceReturnData>(serviceNames: string[], options: DomainRunMethodInAdditionalServicesOptions<unknown>): Promise<GenericObject<ServiceReturnData> | undefined>;
16
+ update(data: Data['Update'], options: DomainUpdateOptions, privateOptions?: unknown): Promise<DomainUpdateResult<Entity>>;
28
17
  }
@@ -1,24 +1,41 @@
1
1
  import { GenericObject } from '../../common/definitions';
2
2
  import { PersistanceDeleteOptions, PersistanceDeleteResult, PersistanceFindOneOptions, PersistanceFindOptions, PersistanceFindResults, PersistanceUpdateOptions, PersistanceUpdateResult } from '../../persistance/entityService';
3
- export type DomainBaseOptions<Options> = Options & {
4
- optionsOverridesByService?: GenericObject<Partial<Options>>;
3
+ export interface DomainBaseAdditionalServiceOptionsOverrides {
4
+ runOnNoMainServiceResultOnly?: boolean;
5
+ }
6
+ export type DomainBaseOptions<Options> = Options & DomainBaseOptionsForAdditionalServices<Options>;
7
+ export interface DomainBaseOptionsForAdditionalServices<Options> {
8
+ optionsOverridesByService?: GenericObject<Partial<Options> & DomainBaseAdditionalServiceOptionsOverrides>;
5
9
  persistanceServices?: DomainPersistanceServicesKey[];
6
- };
10
+ }
11
+ export type DomainBaseOptionsForAdditionalServicesFull<Options extends object | undefined = undefined, SaveAdditionalResultsOptions extends object | undefined = undefined> = DomainBaseOptionsForAdditionalServices<Options> & DomainBaseOptionsWithSearchPersistance<SaveAdditionalResultsOptions>;
12
+ export interface DomainBaseOptionsWithSearchPersistance<SaveAdditionalResultsOptions extends object | undefined = undefined> {
13
+ saveAdditionalResultsInMain?: {
14
+ saveOptions?: SaveAdditionalResultsOptions;
15
+ serviceName: string;
16
+ useResultsAsMain?: boolean;
17
+ };
18
+ }
7
19
  export interface DomainBaseResult<Result> {
8
20
  result: Result;
9
21
  resultsByService?: GenericObject<Result>;
10
22
  }
11
23
  export type DomainBulkCreateData<Entity> = Partial<Entity>[];
12
- export type DomainBulkCreateOptions<Options = object> = Omit<DomainBaseOptions<Options>, 'optionsOverridesByService'>;
24
+ export type DomainBulkCreateOptions<Options = object> = DomainBaseOptions<Options>;
13
25
  export type DomainBulkCreateResult<Entity> = DomainBaseResult<Entity[]>;
14
26
  export type DomainCreateData<Entity> = Partial<Entity>;
15
- export type DomainCreateOptions<Options = object> = Omit<DomainBaseOptions<Options>, 'optionsOverridesByService'>;
27
+ export type DomainCreateOptions<Options = object> = DomainBaseOptions<Options>;
16
28
  export type DomainCreateResult<Entity> = DomainBaseResult<Entity>;
17
29
  export type DomainDeleteOptions<Options = object> = Options & DomainBaseOptions<PersistanceDeleteOptions>;
18
30
  export type DomainDeleteResult = DomainBaseResult<PersistanceDeleteResult>;
19
- export type DomainFindOneOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOneOptions>;
31
+ export interface DomainEntityServiceDefaultData<Entity> {
32
+ BulkCreate: DomainBulkCreateData<Entity>;
33
+ Create: DomainCreateData<Entity>;
34
+ Update: DomainUpdateData<Entity>;
35
+ }
36
+ export type DomainFindOneOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOneOptions> & DomainBaseOptionsWithSearchPersistance<DomainCreateOptions>;
20
37
  export type DomainFindOneResult<Entity> = DomainBaseResult<Entity | null>;
21
- export type DomainFindOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOptions>;
38
+ export type DomainFindOptions<Options = object> = Options & DomainBaseOptions<PersistanceFindOptions> & DomainBaseOptionsWithSearchPersistance<DomainBulkCreateOptions>;
22
39
  export type DomainFindResult<Entity> = DomainBaseResult<PersistanceFindResults<Entity>>;
23
40
  export declare enum DomainMethod {
24
41
  BulkCreate = "bulkCreate",
@@ -28,11 +45,19 @@ export declare enum DomainMethod {
28
45
  FindOne = "findOne",
29
46
  Update = "update"
30
47
  }
48
+ export declare const DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS: DomainMethod[];
31
49
  export declare enum DomainPersistanceEntityServiceType {
32
50
  All = "all",
33
51
  Main = "main"
34
52
  }
35
53
  export type DomainPersistanceServicesKey = DomainPersistanceEntityServiceType | string;
54
+ export type DomainRunMethodInAdditionalServicesOptions<Options> = {
55
+ hasMainServiceResult: boolean;
56
+ methodArgs?: unknown[];
57
+ methodName: string;
58
+ optionsArgIndex?: number;
59
+ optionsOverridesByService?: GenericObject<Partial<Options> & DomainBaseAdditionalServiceOptionsOverrides>;
60
+ };
36
61
  export type DomainUpdateData<Entity> = Partial<Entity>;
37
62
  export type DomainUpdateOptions<Options = object> = Options & DomainBaseOptions<PersistanceUpdateOptions>;
38
63
  export type DomainUpdateResult<Entity> = DomainBaseResult<PersistanceUpdateResult<Entity>>;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DomainPersistanceEntityServiceType = exports.DomainMethod = void 0;
3
+ exports.DomainPersistanceEntityServiceType = exports.DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS = exports.DomainMethod = void 0;
4
4
  var DomainMethod;
5
5
  (function (DomainMethod) {
6
6
  DomainMethod["BulkCreate"] = "bulkCreate";
@@ -10,6 +10,14 @@ var DomainMethod;
10
10
  DomainMethod["FindOne"] = "findOne";
11
11
  DomainMethod["Update"] = "update";
12
12
  })(DomainMethod || (exports.DomainMethod = DomainMethod = {}));
13
+ exports.DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS = [
14
+ DomainMethod.BulkCreate,
15
+ DomainMethod.Create,
16
+ DomainMethod.Delete,
17
+ DomainMethod.Find,
18
+ DomainMethod.FindOne,
19
+ DomainMethod.Update
20
+ ];
13
21
  var DomainPersistanceEntityServiceType;
14
22
  (function (DomainPersistanceEntityServiceType) {
15
23
  DomainPersistanceEntityServiceType["All"] = "all";
@@ -1 +1 @@
1
- {"version":3,"file":"domain.entity.service.definitions.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.definitions.ts"],"names":[],"mappings":";;;AA8CA,IAAY,YAaX;AAbD,WAAY,YAAY;IAEtB,yCAAyB,CAAA;IAEzB,iCAAiB,CAAA;IAEjB,iCAAiB,CAAA;IAEjB,6BAAa,CAAA;IAEb,mCAAmB,CAAA;IAEnB,iCAAiB,CAAA;AACnB,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB;AAED,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAE5C,iDAAW,CAAA;IAEX,mDAAa,CAAA;AACf,CAAC,EALW,kCAAkC,kDAAlC,kCAAkC,QAK7C"}
1
+ {"version":3,"file":"domain.entity.service.definitions.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.definitions.ts"],"names":[],"mappings":";;;AA8EA,IAAY,YAaX;AAbD,WAAY,YAAY;IAEtB,yCAAyB,CAAA;IAEzB,iCAAiB,CAAA;IAEjB,iCAAiB,CAAA;IAEjB,6BAAa,CAAA;IAEb,mCAAmB,CAAA;IAEnB,iCAAiB,CAAA;AACnB,CAAC,EAbW,YAAY,4BAAZ,YAAY,QAavB;AAEY,QAAA,qCAAqC,GAAG;IACnD,YAAY,CAAC,UAAU;IACvB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,MAAM;IACnB,YAAY,CAAC,IAAI;IACjB,YAAY,CAAC,OAAO;IACpB,YAAY,CAAC,MAAM;CACpB,CAAC;AAEF,IAAY,kCAKX;AALD,WAAY,kCAAkC;IAE5C,iDAAW,CAAA;IAEX,mDAAa,CAAA;AACf,CAAC,EALW,kCAAkC,kDAAlC,kCAAkC,QAK7C"}
@@ -19,110 +19,146 @@ var __rest = (this && this.__rest) || function (s, e) {
19
19
  }
20
20
  return t;
21
21
  };
22
+ var __importDefault = (this && this.__importDefault) || function (mod) {
23
+ return (mod && mod.__esModule) ? mod : { "default": mod };
24
+ };
22
25
  Object.defineProperty(exports, "__esModule", { value: true });
23
26
  exports.DomainEntityService = void 0;
27
+ const immutable_1 = __importDefault(require("immutable"));
24
28
  const domain_entity_service_definitions_1 = require("./domain.entity.service.definitions");
25
29
  const definitions_1 = require("../../common/definitions");
26
30
  class DomainEntityService {
27
- constructor(persistanceEntityService, additionalPersistanceEntityServices, defaultMethods = [
28
- domain_entity_service_definitions_1.DomainMethod.BulkCreate,
29
- domain_entity_service_definitions_1.DomainMethod.Create,
30
- domain_entity_service_definitions_1.DomainMethod.Delete,
31
- domain_entity_service_definitions_1.DomainMethod.Find,
32
- domain_entity_service_definitions_1.DomainMethod.FindOne,
33
- domain_entity_service_definitions_1.DomainMethod.Update
34
- ]) {
31
+ constructor(persistanceEntityService, defaultMethods = domain_entity_service_definitions_1.DOMAIN_ENTITY_SERVICE_DEFAULT_METHODS, additionalPersistanceEntityServices) {
35
32
  this.persistanceEntityService = persistanceEntityService;
36
- this.additionalPersistanceEntityServices = additionalPersistanceEntityServices;
37
33
  this.defaultMethods = defaultMethods;
34
+ this.additionalPersistanceEntityServices = additionalPersistanceEntityServices;
38
35
  }
39
- bulkCreate(data, options) {
36
+ bulkCreate(data, options, privateOptions) {
40
37
  return __awaiter(this, void 0, void 0, function* () {
41
38
  var _a;
42
39
  if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.BulkCreate))) {
43
40
  throw new definitions_1.ApplicationError(`Method bulkCreate not implemented for class ${typeof this}.`);
44
41
  }
45
- const { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options || {};
42
+ const { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options || {};
46
43
  const [firstServiceName, ...otherServiceNames] = persistanceServices;
47
- const result = yield this.getPersistanceService(firstServiceName).bulkCreate(data);
44
+ const result = yield this.getPersistanceService(firstServiceName).bulkCreate(data, privateOptions);
48
45
  return {
49
46
  result,
50
47
  resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
51
- methodArgs: [result],
52
- methodName: 'bulkCreate'
48
+ hasMainServiceResult: result.length > 0,
49
+ methodArgs: [result, privateOptions],
50
+ methodName: 'bulkCreate',
51
+ optionsArgIndex: 1,
52
+ optionsOverridesByService
53
53
  })
54
54
  };
55
55
  });
56
56
  }
57
- create(data, options) {
57
+ create(data, options, privateOptions) {
58
58
  return __awaiter(this, void 0, void 0, function* () {
59
59
  var _a;
60
60
  if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Create))) {
61
61
  throw new definitions_1.ApplicationError(`Method create not implemented for class ${typeof this}.`);
62
62
  }
63
- const { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options || {};
63
+ const { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options || {};
64
64
  const [firstServiceName, ...otherServiceNames] = persistanceServices;
65
- const result = yield this.getPersistanceService(firstServiceName).create(data);
65
+ const result = yield this.getPersistanceService(firstServiceName).create(data, privateOptions);
66
66
  return {
67
67
  result,
68
68
  resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
69
- methodArgs: [result],
70
- methodName: 'create'
69
+ hasMainServiceResult: typeof result !== 'undefined' && result !== null,
70
+ methodArgs: [result, privateOptions],
71
+ methodName: 'create',
72
+ optionsArgIndex: 1,
73
+ optionsOverridesByService
71
74
  })
72
75
  };
73
76
  });
74
77
  }
75
- delete(options) {
78
+ delete(options, privateOptions) {
76
79
  return __awaiter(this, void 0, void 0, function* () {
77
80
  var _a;
78
81
  if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Delete))) {
79
82
  throw new definitions_1.ApplicationError(`Method delete not implemented for class ${typeof this}.`);
80
83
  }
81
- const _b = options || {}, { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = _b, otherOptions = __rest(_b, ["persistanceServices"]);
84
+ const _b = options || {}, { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = _b, otherOptions = __rest(_b, ["optionsOverridesByService", "persistanceServices"]);
82
85
  const [firstServiceName, ...otherServiceNames] = persistanceServices;
83
- const result = yield this.getPersistanceService(firstServiceName).delete(otherOptions);
86
+ const result = yield this.getPersistanceService(firstServiceName).delete(otherOptions, privateOptions);
84
87
  return {
85
88
  result,
86
89
  resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
87
- methodArgs: [otherOptions],
88
- methodName: 'delete'
90
+ hasMainServiceResult: !!result.count,
91
+ methodArgs: [otherOptions, privateOptions],
92
+ methodName: 'delete',
93
+ optionsArgIndex: 0,
94
+ optionsOverridesByService
89
95
  })
90
96
  };
91
97
  });
92
98
  }
93
- find(options) {
99
+ find(options, privateOptions) {
94
100
  return __awaiter(this, void 0, void 0, function* () {
95
101
  var _a;
96
102
  if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Find))) {
97
103
  throw new definitions_1.ApplicationError(`Method find not implemented for class ${typeof this}.`);
98
104
  }
99
- const _b = options || {}, { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = _b, otherOptions = __rest(_b, ["persistanceServices"]);
105
+ const _b = options || {}, { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main], saveAdditionalResultsInMain } = _b, otherOptions = __rest(_b, ["optionsOverridesByService", "persistanceServices", "saveAdditionalResultsInMain"]);
100
106
  const [firstServiceName, ...otherServiceNames] = persistanceServices;
101
- const result = yield this.getPersistanceService(firstServiceName).find(otherOptions);
107
+ let result = yield this.getPersistanceService(firstServiceName).find(otherOptions, privateOptions);
108
+ const hasMainServiceResult = result.items.length > 0;
109
+ const resultsByService = yield this.runMethodInAdditionalServices(otherServiceNames || [], {
110
+ hasMainServiceResult,
111
+ methodArgs: [otherOptions, privateOptions],
112
+ methodName: 'find',
113
+ optionsArgIndex: 0,
114
+ optionsOverridesByService
115
+ });
116
+ if (saveAdditionalResultsInMain && resultsByService) {
117
+ const { saveOptions, serviceName, useResultsAsMain } = saveAdditionalResultsInMain;
118
+ const dataFromAdditionalService = resultsByService[serviceName];
119
+ if (dataFromAdditionalService.items.length) {
120
+ yield this.persistanceEntityService.bulkCreate(dataFromAdditionalService.items, saveOptions);
121
+ if (useResultsAsMain && !hasMainServiceResult) {
122
+ result = dataFromAdditionalService;
123
+ }
124
+ }
125
+ }
102
126
  return {
103
127
  result,
104
- resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
105
- methodArgs: [otherOptions],
106
- methodName: 'find'
107
- })
128
+ resultsByService
108
129
  };
109
130
  });
110
131
  }
111
- findOne(options) {
132
+ findOne(options, privateOptions) {
112
133
  return __awaiter(this, void 0, void 0, function* () {
113
134
  var _a;
114
135
  if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.FindOne))) {
115
136
  throw new definitions_1.ApplicationError(`Method findOne not implemented for class ${typeof this}.`);
116
137
  }
117
- const _b = options || {}, { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = _b, otherOptions = __rest(_b, ["persistanceServices"]);
138
+ const _b = options || {}, { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main], saveAdditionalResultsInMain } = _b, otherOptions = __rest(_b, ["optionsOverridesByService", "persistanceServices", "saveAdditionalResultsInMain"]);
118
139
  const [firstServiceName, ...otherServiceNames] = persistanceServices;
119
- const result = yield this.getPersistanceService(firstServiceName).findOne(otherOptions);
140
+ let result = yield this.getPersistanceService(firstServiceName).findOne(otherOptions, privateOptions);
141
+ const hasMainServiceResult = typeof result !== 'undefined' && result !== null;
142
+ const resultsByService = yield this.runMethodInAdditionalServices(otherServiceNames || [], {
143
+ hasMainServiceResult,
144
+ methodArgs: [otherOptions, privateOptions],
145
+ methodName: 'findOne',
146
+ optionsArgIndex: 0,
147
+ optionsOverridesByService
148
+ });
149
+ if (saveAdditionalResultsInMain && resultsByService) {
150
+ const { saveOptions, serviceName, useResultsAsMain } = saveAdditionalResultsInMain;
151
+ const dataFromAdditionalService = resultsByService[serviceName];
152
+ if (dataFromAdditionalService) {
153
+ yield this.persistanceEntityService.create(dataFromAdditionalService, saveOptions);
154
+ if (useResultsAsMain && !hasMainServiceResult) {
155
+ result = dataFromAdditionalService;
156
+ }
157
+ }
158
+ }
120
159
  return {
121
160
  result,
122
- resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
123
- methodArgs: [otherOptions],
124
- methodName: 'findOne'
125
- })
161
+ resultsByService
126
162
  };
127
163
  });
128
164
  }
@@ -142,36 +178,60 @@ class DomainEntityService {
142
178
  if (!serviceNames.length) {
143
179
  return undefined;
144
180
  }
145
- const { methodArgs = [], methodName } = options;
181
+ const { hasMainServiceResult, methodArgs = [], methodName, optionsArgIndex, optionsOverridesByService = {} } = options;
146
182
  const returnDataByService = {};
147
183
  if (!this.additionalPersistanceEntityServices) {
148
184
  throw new definitions_1.ApplicationError(`No additional PersistanceEntityServices exist for DomainEntityService ${this.persistanceEntityService.getEntityName()}.`);
149
185
  }
186
+ if (Object.keys(optionsOverridesByService).length &&
187
+ (typeof optionsArgIndex === 'undefined' || optionsArgIndex < 0 || optionsArgIndex > methodArgs.length - 1)) {
188
+ throw new definitions_1.ApplicationError(`Invalid optionsArgIndex value ${optionsArgIndex} provided for DomainEntityService ${this.persistanceEntityService.getEntityName()}.}.`);
189
+ }
150
190
  for (const i in serviceNames) {
151
191
  const serviceName = serviceNames[i];
152
192
  const service = this.additionalPersistanceEntityServices[serviceName];
153
193
  if (!service) {
154
194
  throw new definitions_1.ApplicationError(`PersistanceEntityService ${serviceName} does not exist for DomainEntityService ${this.persistanceEntityService.getEntityName()}.`);
155
195
  }
156
- returnDataByService[serviceName] = (yield service[methodName].apply(service, methodArgs));
196
+ const serviceMethodOptionsOverrides = optionsOverridesByService[serviceName] || {};
197
+ const { runOnNoMainServiceResultOnly = true } = serviceMethodOptionsOverrides, actualMethodOptionsOverrides = __rest(serviceMethodOptionsOverrides, ["runOnNoMainServiceResultOnly"]);
198
+ if (runOnNoMainServiceResultOnly && hasMainServiceResult) {
199
+ continue;
200
+ }
201
+ const serviceMethodArgs = immutable_1.default.fromJS(methodArgs).toJS();
202
+ if (typeof serviceMethodArgs[optionsArgIndex] === 'undefined') {
203
+ if (optionsArgIndex > serviceMethodArgs.length - 1) {
204
+ serviceMethodArgs.push(actualMethodOptionsOverrides);
205
+ }
206
+ else {
207
+ serviceMethodArgs[optionsArgIndex] = actualMethodOptionsOverrides;
208
+ }
209
+ }
210
+ else {
211
+ serviceMethodArgs[optionsArgIndex] = Object.assign(Object.assign({}, serviceMethodArgs[optionsArgIndex]), actualMethodOptionsOverrides);
212
+ }
213
+ returnDataByService[serviceName] = (yield service[methodName].apply(service, serviceMethodArgs));
157
214
  }
158
215
  return returnDataByService;
159
216
  });
160
217
  }
161
- update(data, options) {
218
+ update(data, options, privateOptions) {
162
219
  return __awaiter(this, void 0, void 0, function* () {
163
220
  var _a;
164
221
  if (!((_a = this.defaultMethods) === null || _a === void 0 ? void 0 : _a.includes(domain_entity_service_definitions_1.DomainMethod.Update))) {
165
222
  throw new definitions_1.ApplicationError(`Method update not implemented for class ${typeof this}.`);
166
223
  }
167
- const { persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options, otherOptions = __rest(options, ["persistanceServices"]);
224
+ const { optionsOverridesByService, persistanceServices = [domain_entity_service_definitions_1.DomainPersistanceEntityServiceType.Main] } = options, otherOptions = __rest(options, ["optionsOverridesByService", "persistanceServices"]);
168
225
  const [firstServiceName, ...otherServiceNames] = persistanceServices;
169
- const result = yield this.getPersistanceService(firstServiceName).update(data, otherOptions);
226
+ const result = yield this.getPersistanceService(firstServiceName).update(data, otherOptions, privateOptions);
170
227
  return {
171
228
  result,
172
229
  resultsByService: yield this.runMethodInAdditionalServices(otherServiceNames || [], {
173
- methodArgs: [data, otherOptions],
174
- methodName: 'update'
230
+ hasMainServiceResult: !!result.count,
231
+ methodArgs: [data, otherOptions, privateOptions],
232
+ methodName: 'update',
233
+ optionsArgIndex: 1,
234
+ optionsOverridesByService
175
235
  })
176
236
  };
177
237
  });
@@ -1 +1 @@
1
- {"version":3,"file":"domain.entity.service.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"domain.entity.service.js","sourceRoot":"","sources":["../../../src/domain/entityService/domain.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAAkC;AAElC,2FAkB6C;AAE7C,0DAA2E;AAK3E,MAAa,mBAAmB;IAM9B,YAEY,wBAAuC,EAEvC,iBAA2B,yEAAqC,EAEhE,mCAA8D;QAJ9D,6BAAwB,GAAxB,wBAAwB,CAAe;QAEvC,mBAAc,GAAd,cAAc,CAAkD;QAEhE,wCAAmC,GAAnC,mCAAmC,CAA2B;IACvE,CAAC;IAUE,UAAU,CACd,IAAwB,EACxB,OAAiC,EACjC,cAAwB;;;YAExB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,UAAU,CAAC,CAAA,EAAE,CAAC;gBAC5D,MAAM,IAAI,8BAAgB,CAAC,+CAA+C,OAAO,IAAI,GAAG,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,EAAE,yBAAyB,EAAE,mBAAmB,GAAG,CAAC,sEAAkC,CAAC,IAAI,CAAC,EAAE,GAClG,OAAO,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,mBAAmB,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACnG,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBAClF,oBAAoB,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC;oBACvC,UAAU,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;oBACpC,UAAU,EAAE,YAAY;oBACxB,eAAe,EAAE,CAAC;oBAClB,yBAAyB;iBAC1B,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;IAUK,MAAM,CACV,IAAoB,EACpB,OAAsC,EACtC,cAAwB;;;YAExB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;gBACxD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,EAAE,yBAAyB,EAAE,mBAAmB,GAAG,CAAC,sEAAkC,CAAC,IAAI,CAAC,EAAE,GAClG,OAAO,IAAI,EAAE,CAAC;YAChB,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,mBAAmB,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YAC/F,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBAClF,oBAAoB,EAAE,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,IAAI;oBACtE,UAAU,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;oBACpC,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,CAAC;oBAClB,yBAAyB;iBAC1B,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;IAIK,MAAM,CAAC,OAA4B,EAAE,cAAwB;;;YACjE,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;gBACxD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,KAIF,OAAO,IAAI,EAAE,EAJX,EACJ,yBAAyB,EACzB,mBAAmB,GAAG,CAAC,sEAAkC,CAAC,IAAI,CAAC,OAEhD,EADZ,YAAY,cAHX,oDAIL,CAAgB,CAAC;YAClB,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,mBAAmB,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YACvG,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBAClF,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;oBACpC,UAAU,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;oBAC1C,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,CAAC;oBAClB,yBAAyB;iBAC1B,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;IAIK,IAAI,CAAC,OAA0B,EAAE,cAAwB;;;YAC7D,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,IAAI,CAAC,CAAA,EAAE,CAAC;gBACtD,MAAM,IAAI,8BAAgB,CAAC,yCAAyC,OAAO,IAAI,GAAG,CAAC,CAAC;YACtF,CAAC;YACD,MAAM,KAKF,OAAO,IAAI,EAAE,EALX,EACJ,yBAAyB,EACzB,mBAAmB,GAAG,CAAC,sEAAkC,CAAC,IAAI,CAAC,EAC/D,2BAA2B,OAEZ,EADZ,YAAY,cAJX,mFAKL,CAAgB,CAAC;YAClB,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,mBAAmB,CAAC;YACrE,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;YACnG,MAAM,oBAAoB,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACrD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAC/D,iBAAiB,IAAI,EAAE,EACvB;gBACE,oBAAoB;gBACpB,UAAU,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,MAAM;gBAClB,eAAe,EAAE,CAAC;gBAClB,yBAAyB;aAC1B,CACF,CAAC;YACF,IAAI,2BAA2B,IAAI,gBAAgB,EAAE,CAAC;gBACpD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,2BAA2B,CAAC;gBACnF,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,yBAAyB,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC3C,MAAM,IAAI,CAAC,wBAAwB,CAAC,UAAU,CAAC,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;oBAC7F,IAAI,gBAAgB,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC9C,MAAM,GAAG,yBAAyB,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,MAAM;gBACN,gBAAgB;aACjB,CAAC;QACJ,CAAC;KAAA;IAIK,OAAO,CAAC,OAA6B,EAAE,cAAwB;;;YACnE,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,OAAO,CAAC,CAAA,EAAE,CAAC;gBACzD,MAAM,IAAI,8BAAgB,CAAC,4CAA4C,OAAO,IAAI,GAAG,CAAC,CAAC;YACzF,CAAC;YACD,MAAM,KAKF,OAAO,IAAI,EAAE,EALX,EACJ,yBAAyB,EACzB,mBAAmB,GAAG,CAAC,sEAAkC,CAAC,IAAI,CAAC,EAC/D,2BAA2B,OAEZ,EADZ,YAAY,cAJX,mFAKL,CAAgB,CAAC;YAClB,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,mBAAmB,CAAC;YACrE,IAAI,MAAM,GAAkB,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,OAAO,CACpF,YAAY,EACZ,cAAc,CACf,CAAC;YACF,MAAM,oBAAoB,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,IAAI,CAAC;YAC9E,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAgB,iBAAiB,IAAI,EAAE,EAAE;gBACxG,oBAAoB;gBACpB,UAAU,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;gBAC1C,UAAU,EAAE,SAAS;gBACrB,eAAe,EAAE,CAAC;gBAClB,yBAAyB;aAC1B,CAAC,CAAC;YACH,IAAI,2BAA2B,IAAI,gBAAgB,EAAE,CAAC;gBACpD,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,GAAG,2BAA2B,CAAC;gBACnF,MAAM,yBAAyB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;gBAChE,IAAI,yBAAyB,EAAE,CAAC;oBAC9B,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,yBAAyB,EAAE,WAAW,CAAC,CAAC;oBACnF,IAAI,gBAAgB,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAC9C,MAAM,GAAG,yBAAyB,CAAC;oBACrC,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAO;gBACL,MAAM;gBACN,gBAAgB;aACjB,CAAC;QACJ,CAAC;KAAA;IAES,qBAAqB,CAC7B,WAA6D;;QAE7D,IAAI,WAAW,KAAK,sEAAkC,CAAC,IAAI,EAAE,CAAC;YAC5D,OAAO,IAAI,CAAC,wBAAwB,CAAC;QACvC,CAAC;QACD,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,mCAAmC,0CAAG,WAAW,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,8BAAgB,CACxB,4BAA4B,WAAW,2CAA2C,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,GAAG,CACnI,CAAC;QACJ,CAAC;QACD,OAAO,OAA2C,CAAC;IACrD,CAAC;IAEe,6BAA6B,CAC3C,YAAsB,EACtB,OAA4D;;YAE5D,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,EACJ,oBAAoB,EACpB,UAAU,GAAG,EAAE,EACf,UAAU,EACV,eAAe,EACf,yBAAyB,GAAG,EAAE,EAC/B,GAAG,OAAO,CAAC;YACZ,MAAM,mBAAmB,GAAqC,EAAE,CAAC;YACjE,IAAI,CAAC,IAAI,CAAC,mCAAmC,EAAE,CAAC;gBAC9C,MAAM,IAAI,8BAAgB,CACxB,yEAAyE,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,GAAG,CAC1H,CAAC;YACJ,CAAC;YACD,IACE,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM;gBAC7C,CAAC,OAAO,eAAe,KAAK,WAAW,IAAI,eAAe,GAAG,CAAC,IAAI,eAAe,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,EAC1G,CAAC;gBACD,MAAM,IAAI,8BAAgB,CACxB,iCAAiC,eAAe,qCAAqC,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,KAAK,CACxI,CAAC;YACJ,CAAC;YACD,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,MAAM,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACpC,MAAM,OAAO,GAAG,IAAI,CAAC,mCAAmC,CAAC,WAAW,CAAC,CAAC;gBACtE,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,8BAAgB,CACxB,4BAA4B,WAAW,2CAA2C,IAAI,CAAC,wBAAwB,CAAC,aAAa,EAAE,GAAG,CACnI,CAAC;gBACJ,CAAC;gBACD,MAAM,6BAA6B,GAAG,yBAAyB,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBACnF,MAAM,EAAE,4BAA4B,GAAG,IAAI,KAAsC,6BAA6B,EAA9D,4BAA4B,UAAK,6BAA6B,EAAxG,gCAAwE,CAAgC,CAAC;gBAC/G,IAAI,4BAA4B,IAAI,oBAAoB,EAAE,CAAC;oBACzD,SAAS;gBACX,CAAC;gBACD,MAAM,iBAAiB,GAAG,mBAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9D,IAAI,OAAO,iBAAiB,CAAC,eAAgB,CAAC,KAAK,WAAW,EAAE,CAAC;oBAC/D,IAAI,eAAgB,GAAG,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACpD,iBAAiB,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;oBACvD,CAAC;yBAAM,CAAC;wBACN,iBAAiB,CAAC,eAAgB,CAAC,GAAG,4BAA4B,CAAC;oBACrE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iBAAiB,CAAC,eAAgB,CAAC,mCAC7B,iBAAiB,CAAC,eAAgB,CAAY,GAC/C,4BAA4B,CAChC,CAAC;gBACJ,CAAC;gBACD,mBAAmB,CAAC,WAAW,CAAC,GAAG,CAAC,MAClC,OAAO,CAAC,UAAoD,CAG7D,CAAC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAsB,CAAC;YAC5D,CAAC;YACD,OAAO,mBAAmB,CAAC;QAC7B,CAAC;KAAA;IAUK,MAAM,CACV,IAAoB,EACpB,OAA4B,EAC5B,cAAwB;;;YAExB,IAAI,CAAC,CAAA,MAAA,IAAI,CAAC,cAAc,0CAAE,QAAQ,CAAC,gDAAY,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;gBACxD,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,EACJ,yBAAyB,EACzB,mBAAmB,GAAG,CAAC,sEAAkC,CAAC,IAAI,CAAC,KAE7D,OAAO,EADN,YAAY,UACb,OAAO,EAJL,oDAIL,CAAU,CAAC;YACZ,MAAM,CAAC,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,GAAG,mBAAmB,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;YAC7G,OAAO;gBACL,MAAM;gBACN,gBAAgB,EAAE,MAAM,IAAI,CAAC,6BAA6B,CAAC,iBAAiB,IAAI,EAAE,EAAE;oBAClF,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK;oBACpC,UAAU,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC;oBAChD,UAAU,EAAE,QAAQ;oBACpB,eAAe,EAAE,CAAC;oBAClB,yBAAyB;iBAC1B,CAAC;aACH,CAAC;QACJ,CAAC;KAAA;CACF;AA1SD,kDA0SC"}
@@ -1,11 +1,11 @@
1
1
  import { PersistanceDeleteOptions, PersistanceDeleteResult, PersistanceFindOneOptions, PersistanceFindOptions, PersistanceFindResults, PersistanceUpdateOptions, PersistanceUpdateResult } from './persistance.entity.service.definitions';
2
2
  export declare class PersistanceEntityService<Entity> {
3
- bulkCreate(_data: Partial<Entity>[], _options?: unknown): Promise<Entity[]>;
4
- create(_data: Partial<Entity>, _options?: unknown): Promise<Entity>;
5
- count(_options: PersistanceFindOptions): Promise<number | undefined>;
6
- delete(_options: PersistanceDeleteOptions): Promise<PersistanceDeleteResult>;
7
- find(_options: PersistanceFindOptions): Promise<PersistanceFindResults<Entity>>;
8
- findOne(_options: PersistanceFindOneOptions): Promise<Entity | null>;
3
+ bulkCreate(_data: Partial<Entity>[], _options?: unknown, _privateOptions?: unknown): Promise<Entity[]>;
4
+ create(_data: Partial<Entity>, _options?: unknown, _privateOptions?: unknown): Promise<Entity>;
5
+ count(_options: PersistanceFindOptions, _privateOptions?: unknown): Promise<number | undefined>;
6
+ delete(_options: PersistanceDeleteOptions, _privateOptions?: unknown): Promise<PersistanceDeleteResult>;
7
+ find(_options: PersistanceFindOptions, _privateOptions?: unknown): Promise<PersistanceFindResults<Entity>>;
8
+ findOne(_options: PersistanceFindOneOptions, _privateOptions?: unknown): Promise<Entity | null>;
9
9
  getEntityName(): Promise<string>;
10
- update(_data: Partial<Entity>, _options: PersistanceUpdateOptions): Promise<PersistanceUpdateResult<Entity>>;
10
+ update(_data: Partial<Entity>, _options: PersistanceUpdateOptions, _privateOptions?: unknown): Promise<PersistanceUpdateResult<Entity>>;
11
11
  }
@@ -12,34 +12,34 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PersistanceEntityService = void 0;
13
13
  const definitions_1 = require("../../common/definitions");
14
14
  class PersistanceEntityService {
15
- bulkCreate(_data, _options) {
15
+ bulkCreate(_data, _options, _privateOptions) {
16
16
  return __awaiter(this, void 0, void 0, function* () {
17
17
  throw new definitions_1.ApplicationError(`Method bulkCreate not implemented for class ${typeof this}.`);
18
18
  });
19
19
  }
20
- create(_data, _options) {
20
+ create(_data, _options, _privateOptions) {
21
21
  return __awaiter(this, void 0, void 0, function* () {
22
22
  throw new definitions_1.ApplicationError(`Method create not implemented for class ${typeof this}.`);
23
23
  });
24
24
  }
25
- count(_options) {
25
+ count(_options, _privateOptions) {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
27
  throw new definitions_1.ApplicationError(`Method count not implemented for class ${typeof this}.`);
28
28
  });
29
29
  }
30
- delete(_options) {
30
+ delete(_options, _privateOptions) {
31
31
  throw new definitions_1.ApplicationError(`Method delete not implemented for class ${typeof this}.`);
32
32
  }
33
- find(_options) {
33
+ find(_options, _privateOptions) {
34
34
  throw new definitions_1.ApplicationError(`Method find not implemented for class ${typeof this}.`);
35
35
  }
36
- findOne(_options) {
36
+ findOne(_options, _privateOptions) {
37
37
  throw new definitions_1.ApplicationError(`Method findOne not implemented for class ${typeof this}.`);
38
38
  }
39
39
  getEntityName() {
40
40
  throw new definitions_1.ApplicationError(`Method getEntityName not implemented for class ${typeof this}.`);
41
41
  }
42
- update(_data, _options) {
42
+ update(_data, _options, _privateOptions) {
43
43
  return __awaiter(this, void 0, void 0, function* () {
44
44
  throw new definitions_1.ApplicationError(`Method update not implemented for class ${typeof this}.`);
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"persistance.entity.service.js","sourceRoot":"","sources":["../../../src/persistance/entityService/persistance.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,0DAA4D;AAM5D,MAAa,wBAAwB;IAEtB,UAAU,CAAC,KAAwB,EAAE,QAAkB;;YAClE,MAAM,IAAI,8BAAgB,CAAC,+CAA+C,OAAO,IAAI,GAAG,CAAC,CAAC;QAC5F,CAAC;KAAA;IAGY,MAAM,CAAC,KAAsB,EAAE,QAAkB;;YAC5D,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;QACxF,CAAC;KAAA;IAGY,KAAK,CAAC,QAAgC;;YACjD,MAAM,IAAI,8BAAgB,CAAC,0CAA0C,OAAO,IAAI,GAAG,CAAC,CAAC;QACvF,CAAC;KAAA;IAGM,MAAM,CAAC,QAAkC;QAC9C,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;IACxF,CAAC;IAGM,IAAI,CAAC,QAAgC;QAC1C,MAAM,IAAI,8BAAgB,CAAC,yCAAyC,OAAO,IAAI,GAAG,CAAC,CAAC;IACtF,CAAC;IAGM,OAAO,CAAC,QAAmC;QAChD,MAAM,IAAI,8BAAgB,CAAC,4CAA4C,OAAO,IAAI,GAAG,CAAC,CAAC;IACzF,CAAC;IAGM,aAAa;QAClB,MAAM,IAAI,8BAAgB,CAAC,kDAAkD,OAAO,IAAI,GAAG,CAAC,CAAC;IAC/F,CAAC;IAEY,MAAM,CAEjB,KAAsB,EAEtB,QAAkC;;YAElC,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;QACxF,CAAC;KAAA;CACF;AA5CD,4DA4CC"}
1
+ {"version":3,"file":"persistance.entity.service.js","sourceRoot":"","sources":["../../../src/persistance/entityService/persistance.entity.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,0DAA4D;AAM5D,MAAa,wBAAwB;IAEtB,UAAU,CAAC,KAAwB,EAAE,QAAkB,EAAE,eAAyB;;YAC7F,MAAM,IAAI,8BAAgB,CAAC,+CAA+C,OAAO,IAAI,GAAG,CAAC,CAAC;QAC5F,CAAC;KAAA;IAGY,MAAM,CAAC,KAAsB,EAAE,QAAkB,EAAE,eAAyB;;YACvF,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;QACxF,CAAC;KAAA;IAGY,KAAK,CAAC,QAAgC,EAAE,eAAyB;;YAC5E,MAAM,IAAI,8BAAgB,CAAC,0CAA0C,OAAO,IAAI,GAAG,CAAC,CAAC;QACvF,CAAC;KAAA;IAGM,MAAM,CAAC,QAAkC,EAAE,eAAyB;QACzE,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;IACxF,CAAC;IAGM,IAAI,CAAC,QAAgC,EAAE,eAAyB;QACrE,MAAM,IAAI,8BAAgB,CAAC,yCAAyC,OAAO,IAAI,GAAG,CAAC,CAAC;IACtF,CAAC;IAGM,OAAO,CAAC,QAAmC,EAAE,eAAyB;QAC3E,MAAM,IAAI,8BAAgB,CAAC,4CAA4C,OAAO,IAAI,GAAG,CAAC,CAAC;IACzF,CAAC;IAGM,aAAa;QAClB,MAAM,IAAI,8BAAgB,CAAC,kDAAkD,OAAO,IAAI,GAAG,CAAC,CAAC;IAC/F,CAAC;IAEY,MAAM,CAEjB,KAAsB,EAEtB,QAAkC,EAElC,eAAyB;;YAEzB,MAAM,IAAI,8BAAgB,CAAC,2CAA2C,OAAO,IAAI,GAAG,CAAC,CAAC;QACxF,CAAC;KAAA;CACF;AA9CD,4DA8CC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@node-c/core",
3
- "version": "1.0.0-alpha3",
3
+ "version": "1.0.0-alpha4",
4
4
  "license": "MIT",
5
5
  "main": "./dist/index.js",
6
6
  "scripts": {