@lendi/integrations-transform 1.9.4 → 1.9.6-beta.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 ADDED
@@ -0,0 +1,55 @@
1
+ # 1.9.0
2
+
3
+ Changes
4
+ * Bump `@lendi/integrations-credit-protocol` to `v1.19.0` which uses the `@lendi/config-integrations-integrations` only
5
+
6
+ # 1.8.6
7
+
8
+ Changes
9
+ * Update `merge-application` to merge the company applicant directors
10
+
11
+ # 1.8.5
12
+
13
+ Changes
14
+ * Update `transfrom-funding-position` to set pledge amount on application if it exists in property
15
+
16
+ # 1.8.4
17
+
18
+ Changes
19
+ * Update `applicant-event` to include SIMPLE_OR_BARE trust type and update mapping in transform
20
+
21
+ # 1.8.3
22
+
23
+ Changes
24
+ * Update `@lendi/transform-events` to support company applicant mappings
25
+
26
+ # 1.8.2
27
+
28
+ Changes
29
+ * Use `@lendi/integrations-protocol@2.7.4`
30
+
31
+ # 1.8.1
32
+
33
+ Changes
34
+ * Update `transformApplicationWorkflow` to support `applicationStatus`
35
+ * Use `@lendi/integrations-protocol@2.7.2`
36
+
37
+ # 1.7.3
38
+
39
+ Fix
40
+ * Remove some unnecessary `additionalProperties` from event schema to void AJV warning msg
41
+
42
+
43
+ # 1.7.0
44
+
45
+ BREAKING CHANGES
46
+ * Change to use `@lendi/integration-protocols@2.7.0` for better Identification fields support
47
+
48
+
49
+ # 1.6.0
50
+
51
+ BREAKING CHANGES
52
+ * Change to module `commonjs` to make it compatible with existing codebase
53
+
54
+ Changes
55
+ * Upgrade `@lendi/integrations-protocol` to `v2.6.4`
@@ -533,7 +533,9 @@
533
533
  "BODY_CORPORATE_FEES_STRATA_FEES_AND_LAND_TAX",
534
534
  "PRIMARY_RESIDENCE_RUNNING_COSTS",
535
535
  "INVESTMENT_PROPERTY_RUNNING_COSTS",
536
- "SECONDARY_RESIDENCE_RUNNING_COSTS"
536
+ "SECONDARY_RESIDENCE_RUNNING_COSTS",
537
+ "STRATA_BODY_CORPORATE_FEES",
538
+ "LAND_TAX"
537
539
  ]
538
540
  },
539
541
  "amount": {
@@ -82,6 +82,8 @@
82
82
  "PET_CARE",
83
83
  "TRANSPORT",
84
84
  "BODY_CORPORATE_FEES_STRATA_FEES_AND_LAND_TAX",
85
+ "STRATA_BODY_CORPORATE_FEES",
86
+ "LAND_TAX",
85
87
  "PRIMARY_RESIDENCE_RUNNING_COSTS",
86
88
  "INVESTMENT_PROPERTY_RUNNING_COSTS",
87
89
  "SECONDARY_RESIDENCE_RUNNING_COSTS",
@@ -26,6 +26,23 @@ function transformApplication(opportunity, options = {}) {
26
26
  brokerPrimaryPurpose: 'Package.Content.NeedsAnalysis.PurposeOfApplication[0].@Description',
27
27
  };
28
28
  (0, lodash_1.set)(partialApplication, `${application_paths_2.paths.LoanDetail}.@UniqueID`, `${opportunity.id}-${uniqueIdSuffix}`);
29
+ const preferredRepaymentMethod = enum_mappings_1.preferredRepaymentMethodMapping[opportunity.preferredRepayment.method];
30
+ if (preferredRepaymentMethod) {
31
+ (0, lodash_1.set)(partialApplication, `${application_paths_2.paths.LoanDetails}.ProposedRepayment.Method`, enum_mappings_1.preferredRepaymentMethodMapping[opportunity.preferredRepayment.method]);
32
+ }
33
+ const preferredRepaymentFrequency = enum_mappings_1.preferredRepaymentFrequencyMapping[opportunity.preferredRepayment.frequency];
34
+ if (preferredRepaymentFrequency) {
35
+ (0, lodash_1.set)(partialApplication, `${application_paths_2.paths.LoanDetails}.ProposedRepayment.RegularRepayment[0].Frequency`, enum_mappings_1.preferredRepaymentFrequencyMapping[opportunity.preferredRepayment.frequency]);
36
+ }
37
+ if (opportunity.preferredRepayment.accountName) {
38
+ (0, lodash_1.set)(partialApplication, `${application_paths_2.paths.LoanDetails}.ProposedRepayment.FromAccount.financialAccountType.AccountName`, opportunity.preferredRepayment.accountName);
39
+ }
40
+ if (opportunity.preferredRepayment.bsb) {
41
+ (0, lodash_1.set)(partialApplication, `${application_paths_2.paths.LoanDetails}.ProposedRepayment.FromAccount.financialAccountType.BSB`, opportunity.preferredRepayment.bsb);
42
+ }
43
+ if (opportunity.preferredRepayment.accountNumber) {
44
+ (0, lodash_1.set)(partialApplication, `${application_paths_2.paths.LoanDetails}.ProposedRepayment.FromAccount.financialAccountType.AccountNumber`, opportunity.preferredRepayment.accountNumber);
45
+ }
29
46
  (0, lodash_1.set)(partialApplication, `${application_paths_1.paths.Instructions}.@UniqueID`, `${opportunity.id}-stage`);
30
47
  (0, lodash_1.set)(partialApplication, `${application_paths_1.paths.Instructions}.@Name`, lixi_internal_request_1.EventNameApplicationInstructionsList.ApplicationReceived);
31
48
  const { hasOptedInRateLock = false, isFastRefi = false } = opportunity;
@@ -15,6 +15,8 @@ const propertyExpenseCategories = [
15
15
  public_expense_1.ExpenseType.BodyCorporateFeesStrataFeesAndLandTax,
16
16
  public_expense_1.ExpenseType.SecondaryResidenceRunningCosts,
17
17
  public_expense_1.ExpenseType.PrimaryResidenceRunningCosts,
18
+ public_expense_1.ExpenseType.LandTax,
19
+ public_expense_1.ExpenseType.StrataBodyCorporateFees,
18
20
  ];
19
21
  /**
20
22
  * @description Transforms expense items on the application from the event.
@@ -12,6 +12,8 @@ export * from './liability-type';
12
12
  export * from './living-expense';
13
13
  export * from './marital-status';
14
14
  export * from './postcode';
15
+ export * from './preferred-repayment-frequency';
16
+ export * from './preferred-repayment-method';
15
17
  export * from './preferred-repayment';
16
18
  export * from './proof-of-identity';
17
19
  export * from './property-expense-category';
@@ -28,6 +28,8 @@ __exportStar(require("./liability-type"), exports);
28
28
  __exportStar(require("./living-expense"), exports);
29
29
  __exportStar(require("./marital-status"), exports);
30
30
  __exportStar(require("./postcode"), exports);
31
+ __exportStar(require("./preferred-repayment-frequency"), exports);
32
+ __exportStar(require("./preferred-repayment-method"), exports);
31
33
  __exportStar(require("./preferred-repayment"), exports);
32
34
  __exportStar(require("./proof-of-identity"), exports);
33
35
  __exportStar(require("./property-expense-category"), exports);
@@ -1,4 +1,4 @@
1
- import { OtherCommitmentCategoryList, LivingExpenseCategoryList } from '@lendi/integrations-protocol/lib/types/lixi-internal-request';
1
+ import { OtherCommitmentCategoryList, LivingExpenseCategoryList } from '@lendi/integrations-credit-protocol/types/lixi-internal-request';
2
2
  import { ExpenseType } from '../events/public-expense';
3
3
  type LivingExpenseMapping = {
4
4
  [key in ExpenseType]: LivingExpenseCategoryList | OtherCommitmentCategoryList;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.livingExpenseMapping = void 0;
4
- const lixi_internal_request_1 = require("@lendi/integrations-protocol/lib/types/lixi-internal-request");
4
+ const lixi_internal_request_1 = require("@lendi/integrations-credit-protocol/types/lixi-internal-request");
5
5
  const public_expense_1 = require("../events/public-expense");
6
6
  exports.livingExpenseMapping = {
7
7
  [public_expense_1.ExpenseType.Board]: lixi_internal_request_1.OtherCommitmentCategoryList.Board,
@@ -28,4 +28,6 @@ exports.livingExpenseMapping = {
28
28
  [public_expense_1.ExpenseType.SecondaryResidenceRunningCosts]: lixi_internal_request_1.LivingExpenseCategoryList.SecondaryResidenceRunningCosts,
29
29
  [public_expense_1.ExpenseType.TelephoneInternetPayTvAndMediaStreamingSubscriptions]: lixi_internal_request_1.LivingExpenseCategoryList.TelephoneInternetPayTVAndMediaStreamingSubscriptions,
30
30
  [public_expense_1.ExpenseType.Transport]: lixi_internal_request_1.LivingExpenseCategoryList.Transport,
31
+ [public_expense_1.ExpenseType.LandTax]: lixi_internal_request_1.LivingExpenseCategoryList.LandTaxOnOwnerOccupiedPrincipalPlaceOfResidence,
32
+ [public_expense_1.ExpenseType.StrataBodyCorporateFees]: lixi_internal_request_1.LivingExpenseCategoryList.PrimaryResidenceOngoingRunningCosts,
31
33
  };
@@ -0,0 +1,7 @@
1
+ import { List as FrequencyList } from '@lendi/integrations-protocol/lib/types/lixi-internal-request';
2
+ import { Frequency } from '../events/public-application';
3
+ type PreferredRepaymentFrequencyMapping = {
4
+ [key in Frequency]: FrequencyList;
5
+ };
6
+ export declare const preferredRepaymentFrequencyMapping: Partial<PreferredRepaymentFrequencyMapping>;
7
+ export {};
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.preferredRepaymentFrequencyMapping = void 0;
4
+ const lixi_internal_request_1 = require("@lendi/integrations-protocol/lib/types/lixi-internal-request");
5
+ const public_application_1 = require("../events/public-application");
6
+ exports.preferredRepaymentFrequencyMapping = {
7
+ [public_application_1.Frequency.Fortnightly]: lixi_internal_request_1.List.Fortnightly,
8
+ [public_application_1.Frequency.Monthly]: lixi_internal_request_1.List.Monthly,
9
+ [public_application_1.Frequency.Weekly]: lixi_internal_request_1.List.Weekly,
10
+ };
@@ -0,0 +1,7 @@
1
+ import { ProposedRepaymentMethodList } from '@lendi/integrations-credit-protocol/types/lixi-internal-request';
2
+ import { Method } from '../events/public-application';
3
+ type PreferredRepaymentMethodMapping = {
4
+ [key in Method]: ProposedRepaymentMethodList;
5
+ };
6
+ export declare const preferredRepaymentMethodMapping: PreferredRepaymentMethodMapping;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.preferredRepaymentMethodMapping = void 0;
4
+ const lixi_internal_request_1 = require("@lendi/integrations-credit-protocol/types/lixi-internal-request");
5
+ const public_application_1 = require("../events/public-application");
6
+ exports.preferredRepaymentMethodMapping = {
7
+ [public_application_1.Method.DirectCredit]: lixi_internal_request_1.ProposedRepaymentMethodList.CreditCard,
8
+ [public_application_1.Method.DirectDebitExistingAccount]: lixi_internal_request_1.ProposedRepaymentMethodList.DirectDebitExistingAccount,
9
+ [public_application_1.Method.DirectDebitNewAccount]: lixi_internal_request_1.ProposedRepaymentMethodList.DirectDebitNewAccount,
10
+ [public_application_1.Method.ManualRepayments]: lixi_internal_request_1.ProposedRepaymentMethodList.Other,
11
+ };
@@ -8,4 +8,6 @@ exports.propertyExpenseCategoryMapping = {
8
8
  [public_asset_1.PropertyExpenseType.InvestmentPropertyRunningCosts]: lixi_internal_request_1.PropertyExpenseCategoryList.RunningCosts,
9
9
  [public_asset_1.PropertyExpenseType.PrimaryResidenceRunningCosts]: lixi_internal_request_1.PropertyExpenseCategoryList.RunningCosts,
10
10
  [public_asset_1.PropertyExpenseType.SecondaryResidenceRunningCosts]: lixi_internal_request_1.PropertyExpenseCategoryList.RunningCosts,
11
+ [public_asset_1.PropertyExpenseType.LandTax]: lixi_internal_request_1.PropertyExpenseCategoryList.BodyCorporateFeesStrataFeesAndLandTax,
12
+ [public_asset_1.PropertyExpenseType.StrataBodyCorporateFees]: lixi_internal_request_1.PropertyExpenseCategoryList.BodyCorporateFeesStrataFeesAndLandTax,
11
13
  };
@@ -22,6 +22,26 @@ export interface Payload {
22
22
  meta?: ApplicationMeta;
23
23
  name?: string;
24
24
  preliminary: Preliminary;
25
+ preferredRepayment?: PreferredRepayment;
26
+ }
27
+ export interface PreferredRepayment {
28
+ method: Method;
29
+ frequency: Frequency;
30
+ institutionName: string;
31
+ accountName: string;
32
+ bsb: string;
33
+ accountNumber: string;
34
+ }
35
+ export declare enum Frequency {
36
+ Fortnightly = "FORTNIGHTLY",
37
+ Monthly = "MONTHLY",
38
+ Weekly = "WEEKLY"
39
+ }
40
+ export declare enum Method {
41
+ DirectDebitNewAccount = "DIRECT_DEBIT_NEW_ACCOUNT",
42
+ DirectDebitExistingAccount = "DIRECT_DEBIT_EXISTING_ACCOUNT",
43
+ DirectCredit = "DIRECT_CREDIT",
44
+ ManualRepayments = "MANUAL_REPAYMENTS"
25
45
  }
26
46
  export declare enum Brand {
27
47
  Aussie = "aussie",
@@ -1,6 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PublicApplicationType = exports.Urgency = exports.RefinancingReason = exports.PurchaseSituation = exports.PurchaseReason = exports.PrimaryPurpose = exports.PaymentType = exports.EligibleForFHOG = exports.DesiredFeature = exports.ContributionType = exports.ActionedByRole = exports.BrokerPrimaryPurpose = exports.Brand = void 0;
3
+ exports.PublicApplicationType = exports.Urgency = exports.RefinancingReason = exports.PurchaseSituation = exports.PurchaseReason = exports.PrimaryPurpose = exports.PaymentType = exports.EligibleForFHOG = exports.DesiredFeature = exports.ContributionType = exports.ActionedByRole = exports.BrokerPrimaryPurpose = exports.Brand = exports.Method = exports.Frequency = void 0;
4
+ var Frequency;
5
+ (function (Frequency) {
6
+ Frequency["Fortnightly"] = "FORTNIGHTLY";
7
+ Frequency["Monthly"] = "MONTHLY";
8
+ Frequency["Weekly"] = "WEEKLY";
9
+ })(Frequency = exports.Frequency || (exports.Frequency = {}));
10
+ var Method;
11
+ (function (Method) {
12
+ Method["DirectDebitNewAccount"] = "DIRECT_DEBIT_NEW_ACCOUNT";
13
+ Method["DirectDebitExistingAccount"] = "DIRECT_DEBIT_EXISTING_ACCOUNT";
14
+ Method["DirectCredit"] = "DIRECT_CREDIT";
15
+ Method["ManualRepayments"] = "MANUAL_REPAYMENTS";
16
+ })(Method = exports.Method || (exports.Method = {}));
4
17
  var Brand;
5
18
  (function (Brand) {
6
19
  Brand["Aussie"] = "aussie";
@@ -428,8 +428,10 @@ export declare enum Frequency {
428
428
  export declare enum PropertyExpenseType {
429
429
  BodyCorporateFeesStrataFeesAndLandTax = "BODY_CORPORATE_FEES_STRATA_FEES_AND_LAND_TAX",
430
430
  InvestmentPropertyRunningCosts = "INVESTMENT_PROPERTY_RUNNING_COSTS",
431
+ LandTax = "LAND_TAX",
431
432
  PrimaryResidenceRunningCosts = "PRIMARY_RESIDENCE_RUNNING_COSTS",
432
- SecondaryResidenceRunningCosts = "SECONDARY_RESIDENCE_RUNNING_COSTS"
433
+ SecondaryResidenceRunningCosts = "SECONDARY_RESIDENCE_RUNNING_COSTS",
434
+ StrataBodyCorporateFees = "STRATA_BODY_CORPORATE_FEES"
433
435
  }
434
436
  export declare enum PropertyStatus {
435
437
  Established = "ESTABLISHED",
@@ -281,8 +281,10 @@ var PropertyExpenseType;
281
281
  (function (PropertyExpenseType) {
282
282
  PropertyExpenseType["BodyCorporateFeesStrataFeesAndLandTax"] = "BODY_CORPORATE_FEES_STRATA_FEES_AND_LAND_TAX";
283
283
  PropertyExpenseType["InvestmentPropertyRunningCosts"] = "INVESTMENT_PROPERTY_RUNNING_COSTS";
284
+ PropertyExpenseType["LandTax"] = "LAND_TAX";
284
285
  PropertyExpenseType["PrimaryResidenceRunningCosts"] = "PRIMARY_RESIDENCE_RUNNING_COSTS";
285
286
  PropertyExpenseType["SecondaryResidenceRunningCosts"] = "SECONDARY_RESIDENCE_RUNNING_COSTS";
287
+ PropertyExpenseType["StrataBodyCorporateFees"] = "STRATA_BODY_CORPORATE_FEES";
286
288
  })(PropertyExpenseType = exports.PropertyExpenseType || (exports.PropertyExpenseType = {}));
287
289
  var PropertyStatus;
288
290
  (function (PropertyStatus) {
@@ -43,6 +43,7 @@ export declare enum ExpenseType {
43
43
  HigherVocationalTrainingEducation = "HIGHER_VOCATIONAL_TRAINING_EDUCATION",
44
44
  Insurance = "INSURANCE",
45
45
  InvestmentPropertyRunningCosts = "INVESTMENT_PROPERTY_RUNNING_COSTS",
46
+ LandTax = "LAND_TAX",
46
47
  LifeInsurance = "LIFE_INSURANCE",
47
48
  LivingExpensesEstimate = "LIVING_EXPENSES_ESTIMATE",
48
49
  MedicalAndHealth = "MEDICAL_AND_HEALTH",
@@ -55,6 +56,7 @@ export declare enum ExpenseType {
55
56
  Rent = "RENT",
56
57
  RentUtilities = "RENT_UTILITIES",
57
58
  SecondaryResidenceRunningCosts = "SECONDARY_RESIDENCE_RUNNING_COSTS",
59
+ StrataBodyCorporateFees = "STRATA_BODY_CORPORATE_FEES",
58
60
  TelephoneInternetPayTvAndMediaStreamingSubscriptions = "TELEPHONE_INTERNET_PAY_TV_AND_MEDIA_STREAMING_SUBSCRIPTIONS",
59
61
  Transport = "TRANSPORT"
60
62
  }
@@ -21,6 +21,7 @@ var ExpenseType;
21
21
  ExpenseType["HigherVocationalTrainingEducation"] = "HIGHER_VOCATIONAL_TRAINING_EDUCATION";
22
22
  ExpenseType["Insurance"] = "INSURANCE";
23
23
  ExpenseType["InvestmentPropertyRunningCosts"] = "INVESTMENT_PROPERTY_RUNNING_COSTS";
24
+ ExpenseType["LandTax"] = "LAND_TAX";
24
25
  ExpenseType["LifeInsurance"] = "LIFE_INSURANCE";
25
26
  ExpenseType["LivingExpensesEstimate"] = "LIVING_EXPENSES_ESTIMATE";
26
27
  ExpenseType["MedicalAndHealth"] = "MEDICAL_AND_HEALTH";
@@ -33,6 +34,7 @@ var ExpenseType;
33
34
  ExpenseType["Rent"] = "RENT";
34
35
  ExpenseType["RentUtilities"] = "RENT_UTILITIES";
35
36
  ExpenseType["SecondaryResidenceRunningCosts"] = "SECONDARY_RESIDENCE_RUNNING_COSTS";
37
+ ExpenseType["StrataBodyCorporateFees"] = "STRATA_BODY_CORPORATE_FEES";
36
38
  ExpenseType["TelephoneInternetPayTvAndMediaStreamingSubscriptions"] = "TELEPHONE_INTERNET_PAY_TV_AND_MEDIA_STREAMING_SUBSCRIPTIONS";
37
39
  ExpenseType["Transport"] = "TRANSPORT";
38
40
  })(ExpenseType = exports.ExpenseType || (exports.ExpenseType = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lendi/integrations-transform",
3
- "version": "1.9.4",
3
+ "version": "1.9.6-beta.1",
4
4
  "description": "Library for kafka event data transforming",
5
5
  "author": "Integrations <integrations@lendi.com.au>",
6
6
  "homepage": "https://bitbucket.org/lendi-dev/integrations-shared-packages#readme",
@@ -21,12 +21,14 @@
21
21
  "url": "git+ssh://git@bitbucket.org/lendi-dev/integrations-shared-packages.git"
22
22
  },
23
23
  "dependencies": {
24
- "@lendi/integrations-credit-protocol": "1.19.0",
24
+ "@lendi/integrations-credit-protocol": "1.20.5",
25
25
  "@lendi/integrations-protocol": "2.7.4",
26
26
  "@lendi/logging": "^1.0.3",
27
27
  "clean-deep": "^3.4.0",
28
28
  "date-fns": "2.19.0",
29
- "lodash": "^4.17.15"
29
+ "jest": "^29.2.1",
30
+ "lodash": "^4.17.15",
31
+ "ts-jest": "^29.0.0"
30
32
  },
31
33
  "devDependencies": {
32
34
  "@lendi/prettier-config": "^1.0.0",