@financeable/aggregation 0.14.1 → 0.15.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.
Files changed (58) hide show
  1. package/README.md +3 -3
  2. package/examples/package-lock.json +1 -1
  3. package/jsr.json +1 -1
  4. package/lib/config.d.ts +3 -3
  5. package/lib/config.js +3 -3
  6. package/lib/config.js.map +1 -1
  7. package/lib/sdks.js +2 -2
  8. package/lib/sdks.js.map +1 -1
  9. package/models/components/businessloanpurpose.d.ts +14 -0
  10. package/models/components/businessloanpurpose.d.ts.map +1 -0
  11. package/models/components/businessloanpurpose.js +51 -0
  12. package/models/components/businessloanpurpose.js.map +1 -0
  13. package/models/components/commercialsecuredloanassettype.d.ts +32 -16
  14. package/models/components/commercialsecuredloanassettype.d.ts.map +1 -1
  15. package/models/components/commercialsecuredloanassettype.js +32 -16
  16. package/models/components/commercialsecuredloanassettype.js.map +1 -1
  17. package/models/components/consumersecuredloanassettype.d.ts +15 -3
  18. package/models/components/consumersecuredloanassettype.d.ts.map +1 -1
  19. package/models/components/consumersecuredloanassettype.js +15 -3
  20. package/models/components/consumersecuredloanassettype.js.map +1 -1
  21. package/models/components/employerattributes.d.ts +2 -2
  22. package/models/components/employerattributes.d.ts.map +1 -1
  23. package/models/components/employerattributes.js +2 -2
  24. package/models/components/employerattributes.js.map +1 -1
  25. package/models/components/{entitytype.d.ts → employerentitytype.d.ts} +4 -4
  26. package/models/components/employerentitytype.d.ts.map +1 -0
  27. package/models/components/{entitytype.js → employerentitytype.js} +4 -5
  28. package/models/components/employerentitytype.js.map +1 -0
  29. package/models/components/entityattributes.d.ts +37 -6
  30. package/models/components/entityattributes.d.ts.map +1 -1
  31. package/models/components/entityattributes.js +32 -4
  32. package/models/components/entityattributes.js.map +1 -1
  33. package/models/components/index.d.ts +3 -1
  34. package/models/components/index.d.ts.map +1 -1
  35. package/models/components/index.js +3 -1
  36. package/models/components/index.js.map +1 -1
  37. package/models/components/loandetailsattributes.d.ts +17 -3
  38. package/models/components/loandetailsattributes.d.ts.map +1 -1
  39. package/models/components/loandetailsattributes.js +33 -3
  40. package/models/components/loandetailsattributes.js.map +1 -1
  41. package/models/components/personalloanpurpose.d.ts +20 -0
  42. package/models/components/personalloanpurpose.d.ts.map +1 -0
  43. package/models/components/personalloanpurpose.js +57 -0
  44. package/models/components/personalloanpurpose.js.map +1 -0
  45. package/package.json +1 -1
  46. package/src/lib/config.ts +3 -3
  47. package/src/lib/sdks.ts +2 -2
  48. package/src/models/components/businessloanpurpose.ts +23 -0
  49. package/src/models/components/commercialsecuredloanassettype.ts +35 -19
  50. package/src/models/components/consumersecuredloanassettype.ts +15 -3
  51. package/src/models/components/employerattributes.ts +6 -3
  52. package/src/models/components/{entitytype.ts → employerentitytype.ts} +5 -4
  53. package/src/models/components/entityattributes.ts +43 -8
  54. package/src/models/components/index.ts +3 -1
  55. package/src/models/components/loandetailsattributes.ts +62 -5
  56. package/src/models/components/personalloanpurpose.ts +29 -0
  57. package/models/components/entitytype.d.ts.map +0 -1
  58. package/models/components/entitytype.js.map +0 -1
@@ -6,37 +6,53 @@ import * as z from "zod/v3";
6
6
  import { ClosedEnum } from "../../types/enums.js";
7
7
 
8
8
  export const CommercialSecuredLoanAssetType = {
9
- MOTORVEHICLELessThan45TONNES: "MOTOR_VEHICLE_(<4.5_TONNES)",
10
- ELECTRICMOTORVEHICLELessThan45TONNES: "ELECTRIC_MOTOR_VEHICLE_(<4.5_TONNES)",
11
- COMMERCIALSMALLTOMEDIUMVEHICLESLessThan12TONNES:
12
- "COMMERCIAL_(SMALL_TO_MEDIUM)_VEHICLES_(<12_TONNES)",
9
+ AGRICULTURALAndLANDSCAPINGEQUIPMENTWHEELEDORTRACKED:
10
+ "AGRICULTURAL_&_LANDSCAPING_EQUIPMENT_(WHEELED_OR_TRACKED)",
11
+ AluminiumBoats: "ALUMINIUM_BOATS",
12
+ Atv: "ATV",
13
+ Caravan: "CARAVAN",
14
+ ClassicCar: "CLASSIC_CAR",
13
15
  COMMERCIALHEAVYVEHICLESGreaterThan12TONNES:
14
16
  "COMMERCIAL_(HEAVY)_VEHICLES_(>12_TONNES)",
15
- WarehouseEquipmentWheeledOrTracked:
16
- "WAREHOUSE_EQUIPMENT_(WHEELED_OR_TRACKED)",
17
+ COMMERCIALSMALLTOMEDIUMVEHICLESLessThan12TONNES:
18
+ "COMMERCIAL_(SMALL_TO_MEDIUM)_VEHICLES_(<12_TONNES)",
19
+ ControlBox: "CONTROL_BOX",
20
+ DieselEngine: "DIESEL_ENGINE",
17
21
  EARTHMOVINGAndCONSTRUCTIONWHEELEDORTRACKED:
18
22
  "EARTH_MOVING_&_CONSTRUCTION_(WHEELED_OR_TRACKED)",
19
- AGRICULTURALAndLANDSCAPINGEQUIPMENTWHEELEDORTRACKED:
20
- "AGRICULTURAL_&_LANDSCAPING_EQUIPMENT_(WHEELED_OR_TRACKED)",
21
- MINIBUSESAndROUTEBUSESLessThan25SEATS: "MINI_BUSES_&_ROUTE_BUSES_(<25_SEATS)",
22
- TrailersAndCaravans: "TRAILERS_AND_CARAVANS",
23
+ ElectricBicycle: "ELECTRIC_BICYCLE",
24
+ ELECTRICMOTORVEHICLELessThan45TONNES: "ELECTRIC_MOTOR_VEHICLE_(<4.5_TONNES)",
25
+ GolfCarts: "GOLF_CARTS",
26
+ HEALTHAndBEAUTYEQUIPMENT: "HEALTH_&_BEAUTY_EQUIPMENT",
27
+ InboardMotors: "INBOARD_MOTORS",
23
28
  INDUSTRIALPLANTAndPRINTING: "INDUSTRIAL_PLANT_&_PRINTING",
29
+ ITCOMPUTERAndAUDIOEQUIPMENT: "IT_COMPUTER_&_AUDIO_EQUIPMENT",
30
+ JetskiPwc: "JETSKI_PWC",
31
+ JetskiPwcWithTrailer: "JETSKI_PWC_WITH_TRAILER",
24
32
  ManufacturingEquipment: "MANUFACTURING_EQUIPMENT",
33
+ MarinePackage: "MARINE_PACKAGE",
34
+ MbkBicycle: "MBK_BICYCLE",
25
35
  MedicalEquipment: "MEDICAL_EQUIPMENT",
26
- ITCOMPUTERAndAUDIOEQUIPMENT: "IT_COMPUTER_&_AUDIO_EQUIPMENT",
27
- HEALTHAndBEAUTYEQUIPMENT: "HEALTH_&_BEAUTY_EQUIPMENT",
36
+ MINIBUSESAndROUTEBUSESLessThan25SEATS: "MINI_BUSES_&_ROUTE_BUSES_(<25_SEATS)",
37
+ Motorbike: "MOTORBIKE",
38
+ MotorbikeOffroad: "MOTORBIKE_OFFROAD",
39
+ MOTORVEHICLELessThan45TONNES: "MOTOR_VEHICLE_(<4.5_TONNES)",
28
40
  OfficeEquipment: "OFFICE_EQUIPMENT",
29
41
  OfficeFitout: "OFFICE_FITOUT",
30
- RESTAURANTAndCATERINGEQUIPMENT: "RESTAURANT_&_CATERING_EQUIPMENT",
31
42
  OfficeFurniture: "OFFICE_FURNITURE",
43
+ Other: "OTHER",
44
+ OutboardMotor: "OUTBOARD_MOTOR",
45
+ PrimeMover: "PRIME_MOVER",
46
+ RESTAURANTAndCATERINGEQUIPMENT: "RESTAURANT_&_CATERING_EQUIPMENT",
47
+ RideOnMowers: "RIDE_ON_MOWERS",
32
48
  Solar: "SOLAR",
33
- MotorbikesAtvs: "MOTORBIKES_ATVS",
34
- ClassicCar: "CLASSIC_CAR",
49
+ Ssv: "SSV",
50
+ SternDrive: "STERN_DRIVE",
35
51
  TraileredBoats: "TRAILERED_BOATS",
36
- Jetskis: "JETSKIS",
37
- RideOnMowers: "RIDE_ON_MOWERS",
38
- GolfCarts: "GOLF_CARTS",
39
- Other: "OTHER",
52
+ TrailersCar: "TRAILERS_CAR",
53
+ TrailersTruck: "TRAILERS_TRUCK",
54
+ WarehouseEquipmentWheeledOrTracked:
55
+ "WAREHOUSE_EQUIPMENT_(WHEELED_OR_TRACKED)",
40
56
  } as const;
41
57
  export type CommercialSecuredLoanAssetType = ClosedEnum<
42
58
  typeof CommercialSecuredLoanAssetType
@@ -10,16 +10,28 @@ export const ConsumerSecuredLoanAssetType = {
10
10
  ElectricMotorVehicle: "ELECTRIC_MOTOR_VEHICLE",
11
11
  LuxuryVehicle: "LUXURY_VEHICLE",
12
12
  Motorbike: "MOTORBIKE",
13
- AtvOffRoadBike: "ATV_OFF_ROAD_BIKE",
14
- Caravan: "CARAVAN",
13
+ MotorbikeOffroad: "MOTORBIKE_OFFROAD",
14
+ Atv: "ATV",
15
15
  Tractor: "TRACTOR",
16
16
  RideOnMower: "RIDE_ON_MOWER",
17
17
  HorseFloat: "HORSE_FLOAT",
18
18
  Trailer: "TRAILER",
19
+ Caravan: "CARAVAN",
19
20
  MotorHome: "MOTOR_HOME",
20
21
  TraileredBoat: "TRAILERED_BOAT",
21
22
  JetskiPwc: "JETSKI_PWC",
22
- GolfCart: "GOLF_CART",
23
+ JetskiPwcWithTrailer: "JETSKI_PWC_WITH_TRAILER",
24
+ GolfCarts: "GOLF_CARTS",
25
+ Ssv: "SSV",
26
+ OutboardMotor: "OUTBOARD_MOTOR",
27
+ ControlBox: "CONTROL_BOX",
28
+ DieselEngine: "DIESEL_ENGINE",
29
+ AluminiumBoats: "ALUMINIUM_BOATS",
30
+ SternDrive: "STERN_DRIVE",
31
+ ElectricBicycle: "ELECTRIC_BICYCLE",
32
+ MbkBicycle: "MBK_BICYCLE",
33
+ InboardMotors: "INBOARD_MOTORS",
34
+ MarinePackage: "MARINE_PACKAGE",
23
35
  } as const;
24
36
  export type ConsumerSecuredLoanAssetType = ClosedEnum<
25
37
  typeof ConsumerSecuredLoanAssetType
@@ -4,6 +4,10 @@
4
4
 
5
5
  import * as z from "zod/v3";
6
6
  import { AbnStatus, AbnStatus$outboundSchema } from "./abnstatus.js";
7
+ import {
8
+ EmployerEntityType,
9
+ EmployerEntityType$outboundSchema,
10
+ } from "./employerentitytype.js";
7
11
  import {
8
12
  EmploymentStatus,
9
13
  EmploymentStatus$outboundSchema,
@@ -12,7 +16,6 @@ import {
12
16
  EmploymentType,
13
17
  EmploymentType$outboundSchema,
14
18
  } from "./employmenttype.js";
15
- import { EntityType, EntityType$outboundSchema } from "./entitytype.js";
16
19
  import { Industry, Industry$outboundSchema } from "./industry.js";
17
20
  import { Occupation, Occupation$outboundSchema } from "./occupation.js";
18
21
 
@@ -22,7 +25,7 @@ export type EmployerAttributes = {
22
25
  status?: EmploymentStatus | undefined;
23
26
  abn?: string | undefined;
24
27
  acn?: string | undefined;
25
- entityType?: EntityType | undefined;
28
+ entityType?: EmployerEntityType | undefined;
26
29
  /**
27
30
  * Format YYYY-MM-DD
28
31
  */
@@ -76,7 +79,7 @@ export const EmployerAttributes$outboundSchema: z.ZodType<
76
79
  status: EmploymentStatus$outboundSchema.optional(),
77
80
  abn: z.string().optional(),
78
81
  acn: z.string().optional(),
79
- entityType: EntityType$outboundSchema.optional(),
82
+ entityType: EmployerEntityType$outboundSchema.optional(),
80
83
  gstRegistrationDate: z.string().optional(),
81
84
  abnStatus: AbnStatus$outboundSchema.optional(),
82
85
  employmentType: EmploymentType$outboundSchema.optional(),
@@ -5,7 +5,7 @@
5
5
  import * as z from "zod/v3";
6
6
  import { ClosedEnum } from "../../types/enums.js";
7
7
 
8
- export const EntityType = {
8
+ export const EmployerEntityType = {
9
9
  ApprovedDepositFund: "APPROVED_DEPOSIT_FUND",
10
10
  ApraRegulatedFundUnknown: "APRA_REGULATED_FUND_UNKNOWN",
11
11
  Cooperative: "COOPERATIVE",
@@ -208,8 +208,9 @@ export const EntityType = {
208
208
  FirstHomeSaverAccountsTrust: "FIRST_HOME_SAVER_ACCOUNTS_TRUST",
209
209
  CcivSubFund: "CCIV_SUB_FUND",
210
210
  } as const;
211
- export type EntityType = ClosedEnum<typeof EntityType>;
211
+ export type EmployerEntityType = ClosedEnum<typeof EmployerEntityType>;
212
212
 
213
213
  /** @internal */
214
- export const EntityType$outboundSchema: z.ZodNativeEnum<typeof EntityType> = z
215
- .nativeEnum(EntityType);
214
+ export const EmployerEntityType$outboundSchema: z.ZodNativeEnum<
215
+ typeof EmployerEntityType
216
+ > = z.nativeEnum(EmployerEntityType);
@@ -27,7 +27,38 @@ export const State = {
27
27
  export type State = ClosedEnum<typeof State>;
28
28
 
29
29
  /**
30
- * Derived from ABR lookup.
30
+ * Derived from ABR lookup. Mandatory to enable ASIC & Equifax lookups.
31
+ */
32
+ export const EntityType = {
33
+ IndividualSoleTrader: "INDIVIDUAL_SOLE_TRADER",
34
+ AustralianPrivateCompany: "AUSTRALIAN_PRIVATE_COMPANY",
35
+ AustralianPublicCompany: "AUSTRALIAN_PUBLIC_COMPANY",
36
+ CashManagementTrust: "CASH_MANAGEMENT_TRUST",
37
+ CorporateUnitTrust: "CORPORATE_UNIT_TRUST",
38
+ DiscretionaryInvestmentTrust: "DISCRETIONARY_INVESTMENT_TRUST",
39
+ DiscretionaryServicesManagementTrust:
40
+ "DISCRETIONARY_SERVICES_MANAGEMENT_TRUST",
41
+ DiscretionaryTradingTrust: "DISCRETIONARY_TRADING_TRUST",
42
+ FirstHomeSaverAccountsFhsaTrust: "FIRST_HOME_SAVER_ACCOUNTS_FHSA_TRUST",
43
+ FixedTrust: "FIXED_TRUST",
44
+ FixedUnitTrust: "FIXED_UNIT_TRUST",
45
+ HybridTrust: "HYBRID_TRUST",
46
+ ListedPublicUnitTrust: "LISTED_PUBLIC_UNIT_TRUST",
47
+ OtherTrust: "OTHER_TRUST",
48
+ PooledSuperannuationTrust: "POOLED_SUPERANNUATION_TRUST",
49
+ PublicTradingTrust: "PUBLIC_TRADING_TRUST",
50
+ UnlistedPublicUnitTrust: "UNLISTED_PUBLIC_UNIT_TRUST",
51
+ FamilyPartnership: "FAMILY_PARTNERSHIP",
52
+ LimitedPartnership: "LIMITED_PARTNERSHIP",
53
+ OtherPartnership: "OTHER_PARTNERSHIP",
54
+ } as const;
55
+ /**
56
+ * Derived from ABR lookup. Mandatory to enable ASIC & Equifax lookups.
57
+ */
58
+ export type EntityType = ClosedEnum<typeof EntityType>;
59
+
60
+ /**
61
+ * Derived from ABR lookup. Mandatory to enable ASIC & Equifax lookups.
31
62
  */
32
63
  export const EntityAttributesAbnStatus = {
33
64
  Active: "active",
@@ -35,7 +66,7 @@ export const EntityAttributesAbnStatus = {
35
66
  Cancelled: "cancelled",
36
67
  } as const;
37
68
  /**
38
- * Derived from ABR lookup.
69
+ * Derived from ABR lookup. Mandatory to enable ASIC & Equifax lookups.
39
70
  */
40
71
  export type EntityAttributesAbnStatus = ClosedEnum<
41
72
  typeof EntityAttributesAbnStatus
@@ -58,17 +89,17 @@ export type EntityAttributes = {
58
89
  */
59
90
  state?: State | undefined;
60
91
  /**
61
- * Derived from ABR lookup.
92
+ * Derived from ABR lookup. Mandatory to enable ASIC & Equifax lookups.
62
93
  */
63
- entityType?: string | undefined;
94
+ entityType: EntityType;
64
95
  /**
65
96
  * Derived from ABR lookup.
66
97
  */
67
98
  gst?: string | undefined;
68
99
  /**
69
- * Derived from ABR lookup.
100
+ * Derived from ABR lookup. Mandatory to enable ASIC & Equifax lookups.
70
101
  */
71
- abnStatus?: EntityAttributesAbnStatus | undefined;
102
+ abnStatus: EntityAttributesAbnStatus;
72
103
  /**
73
104
  * Derived from ABR lookup. Format YYYY-MM-DD
74
105
  */
@@ -92,6 +123,10 @@ export const State$inboundSchema: z.ZodNativeEnum<typeof State> = z.nativeEnum(
92
123
  State,
93
124
  );
94
125
 
126
+ /** @internal */
127
+ export const EntityType$inboundSchema: z.ZodNativeEnum<typeof EntityType> = z
128
+ .nativeEnum(EntityType);
129
+
95
130
  /** @internal */
96
131
  export const EntityAttributesAbnStatus$inboundSchema: z.ZodNativeEnum<
97
132
  typeof EntityAttributesAbnStatus
@@ -109,9 +144,9 @@ export const EntityAttributes$inboundSchema: z.ZodType<
109
144
  abn: z.string().optional(),
110
145
  acn: z.string().optional(),
111
146
  state: State$inboundSchema.optional(),
112
- entityType: z.string().optional(),
147
+ entityType: EntityType$inboundSchema,
113
148
  gst: z.string().optional(),
114
- abnStatus: EntityAttributesAbnStatus$inboundSchema.optional(),
149
+ abnStatus: EntityAttributesAbnStatus$inboundSchema,
115
150
  abnStatusEffectiveFrom: z.string().optional(),
116
151
  timeInBusiness: z.number().int().optional(),
117
152
  turnover: z.number().int().optional(),
@@ -13,6 +13,7 @@ export * from "./businessapplicationjsonapirelationships.js";
13
13
  export * from "./businessapplicationpayload.js";
14
14
  export * from "./businessapplicationresource.js";
15
15
  export * from "./businessloanbusinessapplicationrelationships.js";
16
+ export * from "./businessloanpurpose.js";
16
17
  export * from "./commercialapplicationjsonapirelationships.js";
17
18
  export * from "./commercialsecuredapplicationpayload.js";
18
19
  export * from "./commercialsecuredapplicationresource.js";
@@ -40,11 +41,11 @@ export * from "./customerliabilitytype.js";
40
41
  export * from "./customertitle.js";
41
42
  export * from "./documenttype.js";
42
43
  export * from "./employerattributes.js";
44
+ export * from "./employerentitytype.js";
43
45
  export * from "./employmentstatus.js";
44
46
  export * from "./employmenttype.js";
45
47
  export * from "./entityattributes.js";
46
48
  export * from "./entityattributesinput.js";
47
- export * from "./entitytype.js";
48
49
  export * from "./errorsource.js";
49
50
  export * from "./expenseattributes.js";
50
51
  export * from "./expensefrequency.js";
@@ -68,6 +69,7 @@ export * from "./personalapplicationjsonapirelationships.js";
68
69
  export * from "./personalapplicationpayload.js";
69
70
  export * from "./personalapplicationresource.js";
70
71
  export * from "./personalloanpersonalapplicationrelationships.js";
72
+ export * from "./personalloanpurpose.js";
71
73
  export * from "./relationshipresourcenotfound.js";
72
74
  export * from "./repaymentstructure.js";
73
75
  export * from "./residencystatus.js";
@@ -6,6 +6,11 @@ import * as z from "zod/v3";
6
6
  import { safeParse } from "../../lib/schemas.js";
7
7
  import { Result as SafeParseResult } from "../../types/fp.js";
8
8
  import { SDKValidationError } from "../errors/sdkvalidationerror.js";
9
+ import {
10
+ BusinessLoanPurpose,
11
+ BusinessLoanPurpose$inboundSchema,
12
+ BusinessLoanPurpose$outboundSchema,
13
+ } from "./businessloanpurpose.js";
9
14
  import {
10
15
  FrequencyType,
11
16
  FrequencyType$inboundSchema,
@@ -23,6 +28,11 @@ import {
23
28
  PercentageQuantity$Outbound,
24
29
  PercentageQuantity$outboundSchema,
25
30
  } from "./percentagequantity.js";
31
+ import {
32
+ PersonalLoanPurpose,
33
+ PersonalLoanPurpose$inboundSchema,
34
+ PersonalLoanPurpose$outboundSchema,
35
+ } from "./personalloanpurpose.js";
26
36
  import {
27
37
  RepaymentStructure,
28
38
  RepaymentStructure$inboundSchema,
@@ -39,6 +49,11 @@ export type Repayments = MonetaryQuantity | string;
39
49
  */
40
50
  export type LoanAmount = MonetaryQuantity | string;
41
51
 
52
+ /**
53
+ * Loan purpose must correspond to application type. For Personal loans, use PersonalLoanPurpose. For Business loans, use BusinessLoanPurpose. For ConsumerSecured and CommercialSecured, any string can be provided.
54
+ */
55
+ export type Purpose = PersonalLoanPurpose | BusinessLoanPurpose | string;
56
+
42
57
  /**
43
58
  * Applicable for Commercial Secured Loans Only. Brokerage quantity as either MonetaryQuantity or PercentageQuantity model. For all other loan types, use 'commission' instead.
44
59
  */
@@ -105,9 +120,9 @@ export type LoanDetailsAttributes = {
105
120
  */
106
121
  requestedLoanAmount?: MonetaryQuantity | undefined;
107
122
  /**
108
- * Loan purpose
123
+ * Loan purpose must correspond to application type. For Personal loans, use PersonalLoanPurpose. For Business loans, use BusinessLoanPurpose. For ConsumerSecured and CommercialSecured, any string can be provided.
109
124
  */
110
- purpose?: string | undefined;
125
+ purpose?: PersonalLoanPurpose | BusinessLoanPurpose | string | undefined;
111
126
  /**
112
127
  * Loan term in integer months
113
128
  */
@@ -220,6 +235,40 @@ export function loanAmountFromJSON(
220
235
  );
221
236
  }
222
237
 
238
+ /** @internal */
239
+ export const Purpose$inboundSchema: z.ZodType<Purpose, z.ZodTypeDef, unknown> =
240
+ z.union([
241
+ PersonalLoanPurpose$inboundSchema,
242
+ BusinessLoanPurpose$inboundSchema,
243
+ z.string(),
244
+ ]);
245
+ /** @internal */
246
+ export type Purpose$Outbound = string | string | string;
247
+
248
+ /** @internal */
249
+ export const Purpose$outboundSchema: z.ZodType<
250
+ Purpose$Outbound,
251
+ z.ZodTypeDef,
252
+ Purpose
253
+ > = z.union([
254
+ PersonalLoanPurpose$outboundSchema,
255
+ BusinessLoanPurpose$outboundSchema,
256
+ z.string(),
257
+ ]);
258
+
259
+ export function purposeToJSON(purpose: Purpose): string {
260
+ return JSON.stringify(Purpose$outboundSchema.parse(purpose));
261
+ }
262
+ export function purposeFromJSON(
263
+ jsonString: string,
264
+ ): SafeParseResult<Purpose, SDKValidationError> {
265
+ return safeParse(
266
+ jsonString,
267
+ (x) => Purpose$inboundSchema.parse(JSON.parse(x)),
268
+ `Failed to parse 'Purpose' from JSON`,
269
+ );
270
+ }
271
+
223
272
  /** @internal */
224
273
  export const Brokerage$inboundSchema: z.ZodType<
225
274
  Brokerage,
@@ -468,7 +517,11 @@ export const LoanDetailsAttributes$inboundSchema: z.ZodType<
468
517
  repaymentStructure: RepaymentStructure$inboundSchema.optional(),
469
518
  loanAmount: z.union([MonetaryQuantity$inboundSchema, z.string()]).optional(),
470
519
  requestedLoanAmount: MonetaryQuantity$inboundSchema.optional(),
471
- purpose: z.string().optional(),
520
+ purpose: z.union([
521
+ PersonalLoanPurpose$inboundSchema,
522
+ BusinessLoanPurpose$inboundSchema,
523
+ z.string(),
524
+ ]).optional(),
472
525
  term: z.number().int().optional(),
473
526
  brokerage: z.union([
474
527
  MonetaryQuantity$inboundSchema,
@@ -500,7 +553,7 @@ export type LoanDetailsAttributes$Outbound = {
500
553
  repaymentStructure?: string | undefined;
501
554
  loanAmount?: MonetaryQuantity$Outbound | string | undefined;
502
555
  requestedLoanAmount?: MonetaryQuantity$Outbound | undefined;
503
- purpose?: string | undefined;
556
+ purpose?: string | string | string | undefined;
504
557
  term?: number | undefined;
505
558
  brokerage?:
506
559
  | MonetaryQuantity$Outbound
@@ -535,7 +588,11 @@ export const LoanDetailsAttributes$outboundSchema: z.ZodType<
535
588
  repaymentStructure: RepaymentStructure$outboundSchema.optional(),
536
589
  loanAmount: z.union([MonetaryQuantity$outboundSchema, z.string()]).optional(),
537
590
  requestedLoanAmount: MonetaryQuantity$outboundSchema.optional(),
538
- purpose: z.string().optional(),
591
+ purpose: z.union([
592
+ PersonalLoanPurpose$outboundSchema,
593
+ BusinessLoanPurpose$outboundSchema,
594
+ z.string(),
595
+ ]).optional(),
539
596
  term: z.number().int().optional(),
540
597
  brokerage: z.union([
541
598
  MonetaryQuantity$outboundSchema,
@@ -0,0 +1,29 @@
1
+ /*
2
+ * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
3
+ */
4
+
5
+ import * as z from "zod/v3";
6
+ import { ClosedEnum } from "../../types/enums.js";
7
+
8
+ export const PersonalLoanPurpose = {
9
+ Vehicle: "VEHICLE",
10
+ DebtConsolidation: "DEBT_CONSOLIDATION",
11
+ HomeImprovements: "HOME_IMPROVEMENTS",
12
+ MedicalAndDental: "MEDICAL_AND_DENTAL",
13
+ HouseholdFurnishings: "HOUSEHOLD_FURNISHINGS",
14
+ Education: "EDUCATION",
15
+ Travel: "TRAVEL",
16
+ Wedding: "WEDDING",
17
+ MortgageCostFunding: "MORTGAGE_COST_FUNDING",
18
+ OtherPersonalUse: "OTHER_PERSONAL_USE",
19
+ } as const;
20
+ export type PersonalLoanPurpose = ClosedEnum<typeof PersonalLoanPurpose>;
21
+
22
+ /** @internal */
23
+ export const PersonalLoanPurpose$inboundSchema: z.ZodNativeEnum<
24
+ typeof PersonalLoanPurpose
25
+ > = z.nativeEnum(PersonalLoanPurpose);
26
+ /** @internal */
27
+ export const PersonalLoanPurpose$outboundSchema: z.ZodNativeEnum<
28
+ typeof PersonalLoanPurpose
29
+ > = PersonalLoanPurpose$inboundSchema;
@@ -1 +0,0 @@
1
- {"version":3,"file":"entitytype.d.ts","sourceRoot":"","sources":["../../src/models/components/entitytype.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0Mb,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEvD,gBAAgB;AAChB,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,aAAa,CAAC,OAAO,UAAU,CAChD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"entitytype.js","sourceRoot":"","sources":["../../src/models/components/entitytype.ts"],"names":[],"mappings":"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"}