@colijnit/ioneconnector 2.1.13 → 2.1.15

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.
Files changed (57) hide show
  1. package/build/connector.d.ts +11 -7
  2. package/build/connector.js +27 -8
  3. package/build/connector.js.map +1 -1
  4. package/build/connector.unit.test.js +22 -0
  5. package/build/connector.unit.test.js.map +1 -1
  6. package/build/enum/activate-user-account-status.enum.d.ts +6 -0
  7. package/build/enum/activate-user-account-status.enum.js +11 -0
  8. package/build/enum/activate-user-account-status.enum.js.map +1 -0
  9. package/build/enum/login-service-method.enum.d.ts +11 -6
  10. package/build/enum/login-service-method.enum.js +11 -6
  11. package/build/enum/login-service-method.enum.js.map +1 -1
  12. package/build/enum/login-status.enum.d.ts +20 -0
  13. package/build/enum/login-status.enum.js +25 -0
  14. package/build/enum/login-status.enum.js.map +1 -0
  15. package/build/enum/reset-password-status.enum.d.ts +5 -0
  16. package/build/enum/reset-password-status.enum.js +10 -0
  17. package/build/enum/reset-password-status.enum.js.map +1 -0
  18. package/build/enum/user-role-type.enum.d.ts +17 -0
  19. package/build/enum/user-role-type.enum.js +22 -0
  20. package/build/enum/user-role-type.enum.js.map +1 -0
  21. package/build/model/login-request.d.ts +13 -0
  22. package/build/model/login-request.interface.d.ts +12 -0
  23. package/build/model/login-request.interface.js +3 -0
  24. package/build/model/login-request.interface.js.map +1 -0
  25. package/build/model/login-request.js +7 -0
  26. package/build/model/login-request.js.map +1 -0
  27. package/build/model/login-response.d.ts +15 -6
  28. package/build/model/login-response.js +50 -0
  29. package/build/model/login-response.js.map +1 -1
  30. package/build/model/login-service-request-data.d.ts +15 -0
  31. package/build/model/login-service-request-data.js +3 -0
  32. package/build/model/login-service-request-data.js.map +1 -0
  33. package/build/model/menu-content.bo.d.ts +13 -0
  34. package/build/model/menu-content.bo.js +14 -0
  35. package/build/model/menu-content.bo.js.map +1 -0
  36. package/build/model/options.d.ts +1 -0
  37. package/build/model/options.js +1 -0
  38. package/build/model/options.js.map +1 -1
  39. package/build/model/user-parameters-values.bo.d.ts +8 -0
  40. package/build/model/user-parameters-values.bo.js +8 -0
  41. package/build/model/user-parameters-values.bo.js.map +1 -0
  42. package/build/provider/ajax.service.d.ts +11 -1
  43. package/build/provider/ajax.service.js +27 -3
  44. package/build/provider/ajax.service.js.map +1 -1
  45. package/build/provider/base-backend-connection.service.d.ts +4 -2
  46. package/build/provider/base-backend-connection.service.js +4 -4
  47. package/build/provider/base-backend-connection.service.js.map +1 -1
  48. package/build/service/login.service.d.ts +13 -4
  49. package/build/service/login.service.js +72 -19
  50. package/build/service/login.service.js.map +1 -1
  51. package/build/service/public.service.d.ts +1 -1
  52. package/build/service/public.service.js +1 -1
  53. package/build/service/public.service.js.map +1 -1
  54. package/package.json +1 -1
  55. package/build/factory/business-object-factory.d.ts +0 -16
  56. package/build/factory/business-object-factory.js +0 -178
  57. package/build/factory/business-object-factory.js.map +0 -1
@@ -1,178 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BusinessObjectFactory = void 0;
4
- const complex_field_decorator_1 = require("./decorators/complex-field.decorator");
5
- const complex_array_decorator_1 = require("./decorators/complex-array.decorator");
6
- const boolean_decorator_1 = require("./decorators/boolean.decorator");
7
- const date_field_decorator_1 = require("./decorators/date-field.decorator");
8
- const string_number_decorator_1 = require("./decorators/string-number.decorator");
9
- const array_utils_1 = require("../utils/array-utils");
10
- const business_object_1 = require("../model/business-object");
11
- const is_nill_function_1 = require("../utils/function/is-nill.function");
12
- const number_string_decorator_1 = require("./decorators/number-string.decorator");
13
- const db_method_value_decorator_1 = require("./decorators/db-method-value.decorator");
14
- const object_configuration_value_type_enum_1 = require("../enum/object-configuration-value-type.enum");
15
- const function_utils_1 = require("../utils/function-utils");
16
- const bo_factory_step_decorator_1 = require("./decorators/bo-factory-step.decorator");
17
- const co_inject_decorator_1 = require("./decorators/co-inject.decorator");
18
- const business_object_serializer_1 = require("./business-object-serializer");
19
- class BusinessObjectFactory {
20
- constructor(injector) {
21
- this._boSerializer = new business_object_serializer_1.BusinessObjectSerializer();
22
- if (injector) {
23
- this._injector = injector;
24
- }
25
- }
26
- cloneClientBO(modelClass, sourceClientBO) {
27
- return this.makeWithRawBackendData(modelClass, this._boSerializer.prepareBusinessObjectForSend(sourceClientBO));
28
- }
29
- cloneClientBOArray(modelClass, sourceClientBoArray) {
30
- if (!modelClass) {
31
- return undefined;
32
- }
33
- const clonedBusinessObjects = [];
34
- if (sourceClientBoArray) {
35
- for (let i = 0, len = sourceClientBoArray.length; i < len; i++) {
36
- clonedBusinessObjects.push(this.cloneClientBO(modelClass, sourceClientBoArray[i]));
37
- }
38
- }
39
- return clonedBusinessObjects;
40
- }
41
- makeWithRawBackendData(modelClass, rawData) {
42
- if (!modelClass) {
43
- return undefined;
44
- }
45
- if (typeof modelClass !== typeof business_object_1.BusinessObject) {
46
- return undefined;
47
- }
48
- const model = new modelClass();
49
- this._copyAllPropertiesDecoratorProcessedFrom(rawData, model);
50
- return model;
51
- }
52
- makeBOArrayFromRawBackendDataArray(modelClass, arrayOfRawDatas) {
53
- if (!modelClass) {
54
- return undefined;
55
- }
56
- const trueClientBos = [];
57
- if (Array.isArray(arrayOfRawDatas)) {
58
- for (let i = 0, len = arrayOfRawDatas.length; i < len; i++) {
59
- trueClientBos.push(this.makeWithRawBackendData(modelClass, arrayOfRawDatas[i]));
60
- }
61
- }
62
- return trueClientBos;
63
- }
64
- makeNewBOWithScrCfgDefaultsApplied(modelClass, moduleCfgObjects, subObjectPath = "") {
65
- if (!modelClass) {
66
- return undefined;
67
- }
68
- const businessObject = new modelClass();
69
- this._injectCoInjectFieldsInto(businessObject);
70
- this.applyDefaultValuesAndFillRequiredBooleanFieldsTo(businessObject, moduleCfgObjects, subObjectPath);
71
- return businessObject;
72
- }
73
- applyDefaultValuesAndFillRequiredBooleanFieldsTo(businessObject, configObjects, subObjectPath = "") {
74
- if (businessObject && configObjects) {
75
- for (let i = 0, len = configObjects.length; i < len; i++) {
76
- const cfgObj = configObjects[i];
77
- if (!(0, is_nill_function_1.isNill)(cfgObj.dataName) && cfgObj.hasDataNameForObjectPath(subObjectPath) &&
78
- ((0, is_nill_function_1.isNill)(businessObject[cfgObj.dataName]) || array_utils_1.ArrayUtils.IsEmptyArray(businessObject[cfgObj.dataName]))) {
79
- if (cfgObj.hasDefaultValue()) {
80
- businessObject[cfgObj.getDataNameWithoutSubObjectPath(subObjectPath)] = cfgObj.getDefaultValue();
81
- }
82
- else if (cfgObj.isRequired() && cfgObj.valueType === object_configuration_value_type_enum_1.ObjectConfigurationValueType.Boolean) {
83
- businessObject[cfgObj.getDataNameWithoutSubObjectPath(subObjectPath)] = false;
84
- }
85
- }
86
- }
87
- }
88
- }
89
- instantiateNewBo(modelClass) {
90
- return this.makeWithRawBackendData(modelClass, {});
91
- }
92
- _copyAllPropertiesDecoratorProcessedFrom(sourceData, destinationModel) {
93
- if (!sourceData || !destinationModel) {
94
- return;
95
- }
96
- this._injectCoInjectFieldsInto(destinationModel);
97
- for (const srcPropKey in sourceData) {
98
- if (!sourceData.hasOwnProperty(srcPropKey)) {
99
- continue;
100
- }
101
- const srcPropVal = sourceData[srcPropKey];
102
- if (complex_field_decorator_1.ComplexFieldDecorator.IsComplexField(destinationModel, srcPropKey)) {
103
- if ((0, is_nill_function_1.isNill)(srcPropVal)) {
104
- destinationModel[srcPropKey] = undefined;
105
- continue;
106
- }
107
- const classOfField = complex_field_decorator_1.ComplexFieldDecorator.GetComplexFieldType(destinationModel, srcPropKey);
108
- destinationModel[srcPropKey] = this.makeWithRawBackendData(classOfField, srcPropVal);
109
- }
110
- else if (complex_array_decorator_1.ComplexArrayDecorator.IsComplexArray(destinationModel, srcPropKey)) {
111
- const sourceArray = srcPropVal;
112
- if (!sourceArray) {
113
- continue;
114
- }
115
- const classOfArrayItems = complex_array_decorator_1.ComplexArrayDecorator.GetComplexArrayType(destinationModel, srcPropKey);
116
- const destinationArray = [];
117
- for (let i = 0, len = sourceArray.length; i < len; i++) {
118
- destinationArray.push(this.makeWithRawBackendData(classOfArrayItems, sourceArray[i]));
119
- }
120
- destinationModel[srcPropKey] = destinationArray;
121
- }
122
- else if (boolean_decorator_1.BooleanTextDecorator.IsBooleanTextField(destinationModel, srcPropKey)) {
123
- if (typeof srcPropVal === "boolean") {
124
- destinationModel[srcPropKey] = srcPropVal;
125
- }
126
- else {
127
- destinationModel[srcPropKey] = boolean_decorator_1.BooleanTextDecorator.GetLogicalBooleanValue(srcPropVal);
128
- }
129
- }
130
- else if (date_field_decorator_1.DateFieldFieldDecorator.IsDateField(destinationModel, srcPropKey)) {
131
- destinationModel[srcPropKey] = date_field_decorator_1.DateFieldFieldDecorator.StringAsDate(srcPropVal);
132
- }
133
- else if (string_number_decorator_1.StringNumberDecorator.IsStringNumber(destinationModel, srcPropKey)) {
134
- destinationModel[srcPropKey] = string_number_decorator_1.StringNumberDecorator.StringAsNumber(srcPropVal);
135
- }
136
- else if (number_string_decorator_1.NumberStringDecorator.IsNumberString(destinationModel, srcPropKey)) {
137
- destinationModel[srcPropKey] = number_string_decorator_1.NumberStringDecorator.NumberAsString(srcPropVal);
138
- }
139
- else if (db_method_value_decorator_1.DbMethodValueDecorator.IsDbMethodValueField(destinationModel, srcPropKey)) {
140
- if (typeof destinationModel[srcPropKey] === "function") {
141
- destinationModel[srcPropKey](srcPropVal);
142
- }
143
- }
144
- else {
145
- if ((0, is_nill_function_1.isNill)(srcPropVal)) {
146
- destinationModel[srcPropKey] = undefined;
147
- }
148
- else if (Array.isArray(srcPropVal)) {
149
- destinationModel[srcPropKey] = array_utils_1.ArrayUtils.CloneArray(srcPropVal);
150
- }
151
- else if (typeof srcPropVal === "object") {
152
- if (srcPropVal instanceof Map) {
153
- destinationModel[srcPropKey] = srcPropVal;
154
- }
155
- else {
156
- destinationModel[srcPropKey] = Object.assign({}, srcPropVal);
157
- }
158
- }
159
- else {
160
- destinationModel[srcPropKey] = srcPropVal;
161
- }
162
- }
163
- }
164
- const customStepFunctionNames = bo_factory_step_decorator_1.BoFactoryStepDecorator.GetDecoratedProperties(destinationModel);
165
- if (customStepFunctionNames) {
166
- customStepFunctionNames.forEach((customStepFnName) => {
167
- function_utils_1.FunctionUtils.CallMethodIfExists(destinationModel[customStepFnName], destinationModel);
168
- });
169
- }
170
- }
171
- _injectCoInjectFieldsInto(destinationModel) {
172
- if (this._injector) {
173
- co_inject_decorator_1.CoInjectDecorator.GetAllDecoratedProperties(destinationModel).forEach(prop => destinationModel[prop] = this._injector.get(co_inject_decorator_1.CoInjectDecorator.GetCoInjectFieldType(destinationModel, prop)));
174
- }
175
- }
176
- }
177
- exports.BusinessObjectFactory = BusinessObjectFactory;
178
- //# sourceMappingURL=business-object-factory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"business-object-factory.js","sourceRoot":"","sources":["../../src/factory/business-object-factory.ts"],"names":[],"mappings":"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"}