@devizovaburza/mdm-sdk 0.0.14 → 0.0.16

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/dist/v1/index.cjs CHANGED
@@ -98,6 +98,92 @@ const KYC_STATUS$1 = [
98
98
  const TRADER_TYPE$1 = ["PERSON", "COMPANY", "OSVC"];
99
99
  const PRODUCT_TYPE$1 = ["TXS", "CBS"];
100
100
  const TXS_CLIENT_TYPE$1 = ["CLIENT", "PROVIDER"];
101
+ const TRADING_SIDE$1 = ["SELL", "BUY", "BOTH"];
102
+ const EST_TXS_VOLUME_MONTH$1 = ["UP_TO_1M", "1M_TO_5M", "OVER_5M"];
103
+ const EST_TXS_VOLUME_YEAR$1 = [
104
+ "LESS_THAN_12M",
105
+ "12M_TO_50M",
106
+ "OVER_50M"
107
+ ];
108
+ const TARGET_COUNTRY$1 = ["CZ", "EU", "OUTSIDE_EU"];
109
+ const TAX_DOMICILE$1 = ["CZ", "EU", "US", "OTHER"];
110
+ const MONTHLY_INCOME_RANGE$1 = [
111
+ "UP_TO_40K",
112
+ "40K_TO_80K",
113
+ "OVER_80K"
114
+ ];
115
+ const COMPANY_TURNOVER_RANGE$1 = [
116
+ "LESS_THAN_50M",
117
+ "50M_TO_100M",
118
+ "OVER_100M"
119
+ ];
120
+ const YEARLY_INCOME$1 = [
121
+ ...MONTHLY_INCOME_RANGE$1,
122
+ ...COMPANY_TURNOVER_RANGE$1
123
+ ];
124
+ const INCOME_SOURCE$1 = [
125
+ "EMPLOYMENT",
126
+ "PENSION",
127
+ "SAVINGS",
128
+ "INHERITANCE",
129
+ "INVESTMENTS",
130
+ "HOUSE_SALE",
131
+ "CAR_SALE",
132
+ "AUCTION_SALE",
133
+ "OTHER"
134
+ ];
135
+ const FINANCIAL_FUNDS_SOURCE$1 = [
136
+ "BUSINESS_REVENUE",
137
+ "INVESTMENTS",
138
+ "LOAN",
139
+ "OTHER"
140
+ ];
141
+ const SERVICE_PURPOSE_FO$1 = [
142
+ "PURCHASE_OF_GOODS_AND_SERVICES",
143
+ "INVESTMENTS",
144
+ "OTHER"
145
+ ];
146
+ const SERVICE_PURPOSE_COMPANY$1 = [
147
+ "PAYMENTS_TO_CUSTOMERS",
148
+ "PAYMENTS_TO_SUPPLIERS",
149
+ "FOREIGN_INVESTMENTS",
150
+ "OTHER"
151
+ ];
152
+ const SERVICE_PURPOSE$1 = [
153
+ ...SERVICE_PURPOSE_FO$1,
154
+ ...SERVICE_PURPOSE_COMPANY$1
155
+ ];
156
+ const OPERATING_COUNTRY$1 = ["CZ", "EU", "OUTSIDE_EU"];
157
+ const YES_NO_UNKNOWN = ["YES", "NO", "UNKNOWN"];
158
+ const SIGNATURE_METHOD$1 = [
159
+ "IN_PERSON",
160
+ "REMOTE",
161
+ "COURIER",
162
+ "POWER_OF_ATTORNEY"
163
+ ];
164
+ const EXISTENCE_PERIOD$1 = [
165
+ "OVER_24_MONTHS",
166
+ "OVER_16_MONTHS",
167
+ "LESS_THAN_12_MONTHS",
168
+ "LESS_THAN_6_MONTHS"
169
+ ];
170
+ const REPUTATION$1 = [
171
+ "NO_NEGATIVE_RECORDS",
172
+ "BUSINESS_INCREASES_RISK",
173
+ "NEGATIVE_RECORDS",
174
+ "SANCTIONS_LIST_HIT"
175
+ ];
176
+ const RISK_BUSINESS_AREA$1 = [
177
+ "PAWN_SHOPS",
178
+ "USED_CAR_DEALERS",
179
+ "CASINOS",
180
+ "REAL_ESTATE_AGENCIES",
181
+ "PRECIOUS_METALS_AND_GEMS",
182
+ "WEAPONS_AND_AMMUNITION",
183
+ "NON_BANK_CREDIT_INSTITUTIONS",
184
+ "CURRENCY_EXCHANGE",
185
+ "VIRTUAL_ASSET_SERVICES"
186
+ ];
101
187
 
102
188
  const ADDRESS_TYPE = [
103
189
  "PERMANENT_ADDRESS",
@@ -154,6 +240,91 @@ const KYC_STATUS = [
154
240
  ];
155
241
  const TRADER_TYPE = ["PERSON", "COMPANY", "OSVC"];
156
242
  const PRODUCT_TYPE = ["TXS", "CBS"];
243
+ const TRADING_SIDE = ["SELL", "BUY", "BOTH"];
244
+ const EST_TXS_VOLUME_MONTH = ["UP_TO_1M", "1M_TO_5M", "OVER_5M"];
245
+ const EST_TXS_VOLUME_YEAR = [
246
+ "LESS_THAN_12M",
247
+ "12M_TO_50M",
248
+ "OVER_50M"
249
+ ];
250
+ const TARGET_COUNTRY = ["CZ", "EU", "OUTSIDE_EU"];
251
+ const TAX_DOMICILE = ["CZ", "EU", "US", "OTHER"];
252
+ const MONTHLY_INCOME_RANGE = [
253
+ "UP_TO_40K",
254
+ "40K_TO_80K",
255
+ "OVER_80K"
256
+ ];
257
+ const COMPANY_TURNOVER_RANGE = [
258
+ "LESS_THAN_50M",
259
+ "50M_TO_100M",
260
+ "OVER_100M"
261
+ ];
262
+ const YEARLY_INCOME = [
263
+ ...MONTHLY_INCOME_RANGE,
264
+ ...COMPANY_TURNOVER_RANGE
265
+ ];
266
+ const INCOME_SOURCE = [
267
+ "EMPLOYMENT",
268
+ "PENSION",
269
+ "SAVINGS",
270
+ "INHERITANCE",
271
+ "INVESTMENTS",
272
+ "HOUSE_SALE",
273
+ "CAR_SALE",
274
+ "AUCTION_SALE",
275
+ "OTHER"
276
+ ];
277
+ const FINANCIAL_FUNDS_SOURCE = [
278
+ "BUSINESS_REVENUE",
279
+ "INVESTMENTS",
280
+ "LOAN",
281
+ "OTHER"
282
+ ];
283
+ const SERVICE_PURPOSE_FO = [
284
+ "PURCHASE_OF_GOODS_AND_SERVICES",
285
+ "INVESTMENTS",
286
+ "OTHER"
287
+ ];
288
+ const SERVICE_PURPOSE_COMPANY = [
289
+ "PAYMENTS_TO_CUSTOMERS",
290
+ "PAYMENTS_TO_SUPPLIERS",
291
+ "FOREIGN_INVESTMENTS",
292
+ "OTHER"
293
+ ];
294
+ const SERVICE_PURPOSE = [
295
+ ...SERVICE_PURPOSE_FO,
296
+ ...SERVICE_PURPOSE_COMPANY
297
+ ];
298
+ const OPERATING_COUNTRY = ["CZ", "EU", "OUTSIDE_EU"];
299
+ const SIGNATURE_METHOD = [
300
+ "IN_PERSON",
301
+ "REMOTE",
302
+ "COURIER",
303
+ "POWER_OF_ATTORNEY"
304
+ ];
305
+ const EXISTENCE_PERIOD = [
306
+ "OVER_24_MONTHS",
307
+ "OVER_16_MONTHS",
308
+ "LESS_THAN_12_MONTHS",
309
+ "LESS_THAN_6_MONTHS"
310
+ ];
311
+ const REPUTATION = [
312
+ "NO_NEGATIVE_RECORDS",
313
+ "BUSINESS_INCREASES_RISK",
314
+ "NEGATIVE_RECORDS",
315
+ "SANCTIONS_LIST_HIT"
316
+ ];
317
+ const RISK_BUSINESS_AREA = [
318
+ "PAWN_SHOPS",
319
+ "USED_CAR_DEALERS",
320
+ "CASINOS",
321
+ "REAL_ESTATE_AGENCIES",
322
+ "PRECIOUS_METALS_AND_GEMS",
323
+ "WEAPONS_AND_AMMUNITION",
324
+ "NON_BANK_CREDIT_INSTITUTIONS",
325
+ "CURRENCY_EXCHANGE",
326
+ "VIRTUAL_ASSET_SERVICES"
327
+ ];
157
328
 
158
329
  const entityKind = Symbol.for("drizzle:entityKind");
159
330
  function is(value, type) {
@@ -12339,7 +12510,7 @@ const party = sqliteTable("party", {
12339
12510
  partyType: text("party_type", { enum: PARTY_TYPE }).notNull(),
12340
12511
  language: text("language", { enum: generalCodes.LANGUAGE_CODES }).notNull(),
12341
12512
  countryCode: text("country_code", { enum: generalCodes.COUNTRY_CODES_2 }),
12342
- isClient: integer("is_client", { mode: "boolean" }).notNull().default(false),
12513
+ isRoot: integer("is_root", { mode: "boolean" }).notNull().default(false),
12343
12514
  legacyId: text("legacy_id")
12344
12515
  });
12345
12516
 
@@ -12402,7 +12573,7 @@ const individual = sqliteTable("individual", {
12402
12573
  citizenshipOther: text("citizenship_other", { enum: generalCodes.COUNTRY_CODES_2 }),
12403
12574
  employer: text("employer"),
12404
12575
  employerCountry: text("employer_country", { enum: generalCodes.COUNTRY_CODES_2 }),
12405
- registeredNumber: text("registered_number").notNull(),
12576
+ registeredNumber: text("registered_number"),
12406
12577
  isPep: integer("is_pep", { mode: "boolean" }).notNull(),
12407
12578
  titleBefore: text("title_before"),
12408
12579
  titleAfter: text("title_after"),
@@ -12432,8 +12603,7 @@ const organization = sqliteTable("organization", {
12432
12603
  monthlyVolumeOut: integer("monthly_volume_out").notNull(),
12433
12604
  ownedBy: text("owned_by").notNull(),
12434
12605
  // UBO, skutecny majitel, podle Marianovy tabulky by toto mela byt mozna relace na party
12435
- companyObjects: text("company_objects").notNull(),
12436
- // predmet cinnosti
12606
+ companyObjects: text("company_objects", { mode: "json" }).$type().notNull(),
12437
12607
  companyObjectsDescription: text("company_objects_description").notNull(),
12438
12608
  turnover3years: integer("turnover_3_years").notNull(),
12439
12609
  operationCountries: text("operation_countries").notNull(),
@@ -12459,7 +12629,7 @@ const partyRelationship = sqliteTable("party_relationship", {
12459
12629
  internalId: text("internal_id"),
12460
12630
  relationshipType: text("relationship_type", {
12461
12631
  enum: PARTY_RELATIONSHIP_TYPE
12462
- }),
12632
+ }).notNull(),
12463
12633
  fromPartyId: text("from_party_id").references(() => party.id),
12464
12634
  toPartyId: text("to_party_id").references(() => party.id),
12465
12635
  fromDate: integer("from_date", { mode: "timestamp_ms" }),
@@ -12503,24 +12673,37 @@ const aml = sqliteTable("aml", {
12503
12673
  ...base,
12504
12674
  internalId: text("internal_id"),
12505
12675
  partyId: text("party_id").notNull().unique().references(() => party.id),
12506
- sourceOfWealth: text("source_of_wealth").notNull(),
12507
- yearlyIncome: text("yearly_income").notNull(),
12508
- tradesPurpose: text("trades_purpose"),
12509
- sourceOfIncome: text("source_of_income").notNull(),
12676
+ sourceOfWealth: text("source_of_wealth", { mode: "json" }).$type().notNull(),
12677
+ yearlyIncome: text("yearly_income", { enum: YEARLY_INCOME }).notNull(),
12678
+ sourceOfIncome: text("source_of_income", { mode: "json" }).$type().notNull(),
12679
+ incomeSourceOther: text("income_source_other"),
12680
+ servicePurposes: text("service_purposes", { mode: "json" }).$type(),
12681
+ servicePurposesOther: text("service_purposes_other"),
12682
+ taxDomicile: text("tax_domicile", { enum: TAX_DOMICILE }),
12683
+ taxDomicileCountry: text("tax_domicile_country", { enum: generalCodes.COUNTRY_CODES_2 }),
12510
12684
  transactionType: text("transaction_type"),
12511
12685
  transactionTypeExpiry: integer("transaction_type_expiry", {
12512
12686
  mode: "timestamp_ms"
12513
12687
  }),
12514
- estTxsVolumeMonth: text("est_txs_volume_month").notNull(),
12515
- estTxsVolumeYear: text("est_txs_volume_year").notNull(),
12516
- tradingCountries: text("trading_countries").notNull(),
12517
- tradingSide: text("trading_side").notNull(),
12688
+ estTxsVolumeMonth: text("est_txs_volume_month", {
12689
+ enum: EST_TXS_VOLUME_MONTH
12690
+ }).notNull(),
12691
+ estTxsVolumeYear: text("est_txs_volume_year", {
12692
+ enum: EST_TXS_VOLUME_YEAR
12693
+ }).notNull(),
12694
+ estTxsCountMonth: integer("est_txs_count_month"),
12695
+ tradingCountries: text("trading_countries", { mode: "json" }).$type().notNull(),
12696
+ tradingCountriesOther: text("trading_countries_other", {
12697
+ mode: "json"
12698
+ }).$type(),
12699
+ tradingSide: text("trading_side", { enum: TRADING_SIDE }).notNull(),
12518
12700
  acceptedAMLTermsAndConditions: integer("accepted_aml_terms_and_conditions", {
12519
12701
  mode: "boolean"
12520
12702
  }).notNull(),
12521
- signatureMethod: text("signature_method"),
12522
- existencePeriod: text("existence_period"),
12523
- reputation: text("reputation"),
12703
+ signatureMethod: text("signature_method", { enum: SIGNATURE_METHOD }),
12704
+ existencePeriod: text("existence_period", { enum: EXISTENCE_PERIOD }),
12705
+ reputation: text("reputation", { enum: REPUTATION }),
12706
+ riskBusinessAreas: text("risk_business_areas", { mode: "json" }).$type(),
12524
12707
  isDistraint: integer("is_distraint", { mode: "boolean" }).notNull().default(false),
12525
12708
  riskLevel: text("risk_level", { enum: AML_SCORE_TYPE }).notNull(),
12526
12709
  kycStatus: text("kyc_status", { enum: KYC_STATUS })
@@ -12631,51 +12814,148 @@ const addressSelectSchema = zodOpenapi.z.object({
12631
12814
 
12632
12815
  createInsertSchema(aml);
12633
12816
  createUpdateSchema(aml);
12634
- const amlBaseSelectSchema = createSelectSchema(aml);
12817
+ createSelectSchema(aml);
12818
+ const businessPartnerSchema = zodOpenapi.z.object({
12819
+ name: zodOpenapi.z.string(),
12820
+ country: zodOpenapi.z.string(),
12821
+ cooperationReason: zodOpenapi.z.string().nullable()
12822
+ });
12823
+ const foSourceOfWealthSchema = zodOpenapi.z.object({
12824
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
12825
+ incomeSourceOther: zodOpenapi.z.string().nullable(),
12826
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
12827
+ employer: zodOpenapi.z.string().nullable(),
12828
+ employerCountry: zodOpenapi.z.string().nullable()
12829
+ });
12830
+ const businessSourceOfWealthSchema = zodOpenapi.z.object({
12831
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
12832
+ financialFundsSourceOther: zodOpenapi.z.string().nullable(),
12833
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
12834
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
12835
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
12836
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
12837
+ businessPartners: zodOpenapi.z.array(businessPartnerSchema).nullable(),
12838
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
12839
+ });
12840
+ const sourceOfWealthSchema = zodOpenapi.z.union([
12841
+ foSourceOfWealthSchema,
12842
+ businessSourceOfWealthSchema
12843
+ ]);
12844
+ const businessPartnerOutputSchema$1 = zodOpenapi.z.object({
12845
+ name: zodOpenapi.z.string(),
12846
+ country: zodOpenapi.z.string(),
12847
+ cooperationReason: zodOpenapi.z.string().nullable()
12848
+ });
12849
+ const foSourceOfWealthOutputSchema$1 = zodOpenapi.z.object({
12850
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
12851
+ incomeSourceOther: zodOpenapi.z.string().nullable(),
12852
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
12853
+ employer: zodOpenapi.z.string().nullable(),
12854
+ employerCountry: zodOpenapi.z.string().nullable()
12855
+ });
12856
+ const businessSourceOfWealthOutputSchema$1 = zodOpenapi.z.object({
12857
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)),
12858
+ financialFundsSourceOther: zodOpenapi.z.string().nullable(),
12859
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)),
12860
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
12861
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)),
12862
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
12863
+ businessPartners: zodOpenapi.z.array(businessPartnerOutputSchema$1).nullable(),
12864
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
12865
+ });
12866
+ const sourceOfWealthOutputSchema = zodOpenapi.z.union([
12867
+ foSourceOfWealthOutputSchema$1,
12868
+ businessSourceOfWealthOutputSchema$1
12869
+ ]);
12635
12870
  const amlInsertSchema = zodOpenapi.z.object({
12636
12871
  partyId: zodOpenapi.z.uuid(),
12637
- internalId: zodOpenapi.z.string().optional().nullable(),
12638
- sourceOfWealth: zodOpenapi.z.string(),
12639
- yearlyIncome: zodOpenapi.z.string(),
12640
- tradesPurpose: zodOpenapi.z.string().optional().nullable(),
12641
- sourceOfIncome: zodOpenapi.z.string(),
12642
- transactionType: zodOpenapi.z.string().optional().nullable(),
12643
- transactionTypeExpiry: zodOpenapi.z.date().optional().nullable(),
12872
+ internalId: zodOpenapi.z.string().optional(),
12873
+ sourceOfWealth: sourceOfWealthSchema,
12874
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
12875
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
12876
+ incomeSourceOther: zodOpenapi.z.string().optional(),
12877
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
12878
+ servicePurposesOther: zodOpenapi.z.string().optional(),
12879
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
12880
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
12881
+ transactionType: zodOpenapi.z.string().optional(),
12882
+ transactionTypeExpiry: zodOpenapi.z.date().optional(),
12644
12883
  isDistraint: zodOpenapi.z.boolean().default(false),
12645
- estTxsVolumeMonth: zodOpenapi.z.string(),
12646
- estTxsVolumeYear: zodOpenapi.z.string(),
12647
- tradingCountries: zodOpenapi.z.string(),
12648
- tradingSide: zodOpenapi.z.string(),
12884
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
12885
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
12886
+ estTxsCountMonth: zodOpenapi.z.number().int().optional(),
12887
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)).min(1),
12888
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).optional(),
12889
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
12649
12890
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
12650
- signatureMethod: zodOpenapi.z.string().nullable().optional(),
12651
- existencePeriod: zodOpenapi.z.string().nullable().optional(),
12652
- reputation: zodOpenapi.z.string().nullable().optional(),
12653
- riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).nullable().optional(),
12654
- kycStatus: zodOpenapi.z.enum(KYC_STATUS).nullable().optional()
12891
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).optional(),
12892
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).optional(),
12893
+ reputation: zodOpenapi.z.enum(REPUTATION).optional(),
12894
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).optional(),
12895
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).optional(),
12896
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).optional()
12655
12897
  });
12656
12898
  const amlUpdateSchema = zodOpenapi.z.object({
12657
12899
  id: zodOpenapi.z.uuid(),
12658
12900
  partyId: zodOpenapi.z.uuid().optional(),
12659
- internalId: zodOpenapi.z.string().optional().nullable(),
12660
- sourceOfWealth: zodOpenapi.z.string().optional(),
12661
- yearlyIncome: zodOpenapi.z.string().optional(),
12662
- tradesPurpose: zodOpenapi.z.string().optional().nullable(),
12663
- sourceOfIncome: zodOpenapi.z.string().optional(),
12664
- transactionType: zodOpenapi.z.string().optional().nullable(),
12665
- transactionTypeExpiry: zodOpenapi.z.date().optional().nullable(),
12901
+ internalId: zodOpenapi.z.string().optional(),
12902
+ sourceOfWealth: sourceOfWealthSchema.optional(),
12903
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME).optional(),
12904
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1).optional(),
12905
+ incomeSourceOther: zodOpenapi.z.string().optional(),
12906
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
12907
+ servicePurposesOther: zodOpenapi.z.string().optional(),
12908
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
12909
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
12910
+ transactionType: zodOpenapi.z.string().optional(),
12911
+ transactionTypeExpiry: zodOpenapi.z.date().optional(),
12666
12912
  isDistraint: zodOpenapi.z.boolean().optional(),
12667
- estTxsVolumeMonth: zodOpenapi.z.string(),
12668
- estTxsVolumeYear: zodOpenapi.z.string(),
12669
- tradingCountries: zodOpenapi.z.string(),
12670
- tradingSide: zodOpenapi.z.string(),
12913
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH).optional(),
12914
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR).optional(),
12915
+ estTxsCountMonth: zodOpenapi.z.number().int().optional(),
12916
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)).min(1).optional(),
12917
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).optional(),
12918
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE).optional(),
12919
+ acceptedAMLTermsAndConditions: zodOpenapi.z.boolean().optional(),
12920
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).optional(),
12921
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).optional(),
12922
+ reputation: zodOpenapi.z.enum(REPUTATION).optional(),
12923
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).optional(),
12924
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).optional(),
12925
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).optional()
12926
+ });
12927
+ const amlSelectSchema = zodOpenapi.z.object({
12928
+ id: zodOpenapi.z.string(),
12929
+ partyId: zodOpenapi.z.string(),
12930
+ internalId: zodOpenapi.z.string().nullable(),
12931
+ sourceOfWealth: sourceOfWealthOutputSchema,
12932
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
12933
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
12934
+ incomeSourceOther: zodOpenapi.z.string().nullable(),
12935
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).nullable(),
12936
+ servicePurposesOther: zodOpenapi.z.string().nullable(),
12937
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).nullable(),
12938
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
12939
+ transactionType: zodOpenapi.z.string().nullable(),
12940
+ transactionTypeExpiry: zodOpenapi.z.date().nullable(),
12941
+ isDistraint: zodOpenapi.z.boolean(),
12942
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
12943
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
12944
+ estTxsCountMonth: zodOpenapi.z.number().int().nullable(),
12945
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)),
12946
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
12947
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
12671
12948
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
12672
- signatureMethod: zodOpenapi.z.string().nullable().optional(),
12673
- existencePeriod: zodOpenapi.z.string().nullable().optional(),
12674
- reputation: zodOpenapi.z.string().nullable().optional(),
12675
- riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).nullable().optional(),
12676
- kycStatus: zodOpenapi.z.enum(KYC_STATUS).nullable().optional()
12949
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).nullable(),
12950
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).nullable(),
12951
+ reputation: zodOpenapi.z.enum(REPUTATION).nullable(),
12952
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).nullable(),
12953
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE),
12954
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).nullable(),
12955
+ createdAt: zodOpenapi.z.date().nullable(),
12956
+ updatedAt: zodOpenapi.z.date().nullable(),
12957
+ deletedAt: zodOpenapi.z.date().nullable()
12677
12958
  });
12678
- const amlSelectSchema = amlBaseSelectSchema;
12679
12959
 
12680
12960
  const bankAccountBaseInsertSchema = createInsertSchema(bankAccount);
12681
12961
  createUpdateSchema(bankAccount);
@@ -12709,95 +12989,42 @@ const contactUpdateSchema = zodOpenapi.z.object({
12709
12989
  phoneNumber: zodOpenapi.z.string().optional()
12710
12990
  });
12711
12991
 
12712
- createInsertSchema(individual);
12713
- createUpdateSchema(individual);
12714
- createSelectSchema(individual);
12715
- const individualInsertSchema$1 = zodOpenapi.z.object({
12716
- partyId: zodOpenapi.z.uuid(),
12717
- name: zodOpenapi.z.string(),
12718
- surname: zodOpenapi.z.string(),
12719
- email: zodOpenapi.z.email("Invalid email format").optional().nullable(),
12720
- phone: zodOpenapi.z.string().optional().nullable(),
12721
- birthDate: zodOpenapi.z.string().optional().nullable(),
12722
- birthPlace: zodOpenapi.z.string(),
12723
- countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12724
- personalId: zodOpenapi.z.string(),
12725
- gender: zodOpenapi.z.enum(GENDER),
12726
- citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
12727
- citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12728
- employer: zodOpenapi.z.string().optional().nullable(),
12729
- employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12730
- registeredNumber: zodOpenapi.z.string(),
12731
- isPep: zodOpenapi.z.boolean(),
12732
- titleBefore: zodOpenapi.z.string().optional().nullable(),
12733
- titleAfter: zodOpenapi.z.string().optional().nullable(),
12734
- birthSurname: zodOpenapi.z.string().optional().nullable(),
12735
- vocativeTitle: zodOpenapi.z.string().optional().nullable(),
12736
- deathDate: zodOpenapi.z.date().optional().nullable(),
12737
- deathNotification: zodOpenapi.z.date().optional().nullable(),
12738
- pin: zodOpenapi.z.string().optional().nullable(),
12739
- stayAbroad: zodOpenapi.z.boolean().optional().nullable(),
12740
- stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable()
12741
- });
12742
- const individualUpdateSchema$1 = zodOpenapi.z.object({
12743
- partyId: zodOpenapi.z.uuid(),
12992
+ const insertOverrides = {
12744
12993
  id: zodOpenapi.z.uuid(),
12745
- name: zodOpenapi.z.string().optional(),
12746
- surname: zodOpenapi.z.string().optional(),
12747
- email: zodOpenapi.z.email("Invalid email format").optional().nullable(),
12748
- phone: zodOpenapi.z.string().optional().nullable(),
12749
- birthDate: zodOpenapi.z.string().optional().nullable(),
12750
- birthPlace: zodOpenapi.z.string().optional(),
12751
- countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12752
- personalId: zodOpenapi.z.string().optional(),
12753
- gender: zodOpenapi.z.enum(GENDER).optional(),
12754
- citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
12755
- citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12756
- employer: zodOpenapi.z.string().optional().nullable(),
12757
- employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12758
- registeredNumber: zodOpenapi.z.string().optional(),
12759
- isPep: zodOpenapi.z.boolean().optional(),
12760
- titleBefore: zodOpenapi.z.string().optional().nullable(),
12761
- titleAfter: zodOpenapi.z.string().optional().nullable(),
12762
- birthSurname: zodOpenapi.z.string().optional().nullable(),
12763
- vocativeTitle: zodOpenapi.z.string().optional().nullable(),
12764
- deathDate: zodOpenapi.z.date().optional().nullable(),
12765
- deathNotification: zodOpenapi.z.date().optional().nullable(),
12766
- pin: zodOpenapi.z.string().optional().nullable(),
12767
- stayAbroad: zodOpenapi.z.boolean().optional().nullable(),
12768
- stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable()
12769
- });
12770
- const individualSelectSchema = zodOpenapi.z.object({
12994
+ partyId: zodOpenapi.z.uuid(),
12995
+ email: zodOpenapi.z.email("Invalid email format").optional()
12996
+ };
12997
+ const selectOverrides = {
12771
12998
  id: zodOpenapi.z.uuid(),
12772
12999
  partyId: zodOpenapi.z.uuid(),
12773
- internalId: zodOpenapi.z.string().nullable(),
12774
- name: zodOpenapi.z.string(),
12775
- surname: zodOpenapi.z.string(),
12776
- email: zodOpenapi.z.string().nullable(),
12777
- phone: zodOpenapi.z.string().nullable(),
12778
- birthDate: zodOpenapi.z.string().nullable(),
12779
- birthPlace: zodOpenapi.z.string(),
12780
- countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
12781
- personalId: zodOpenapi.z.string(),
12782
- gender: zodOpenapi.z.enum(GENDER),
12783
- citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
12784
- citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
12785
- employer: zodOpenapi.z.string().nullable(),
12786
- employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
12787
- registeredNumber: zodOpenapi.z.string(),
12788
- isPep: zodOpenapi.z.boolean(),
12789
- titleBefore: zodOpenapi.z.string().nullable(),
12790
- titleAfter: zodOpenapi.z.string().nullable(),
12791
- birthSurname: zodOpenapi.z.string().nullable(),
12792
- vocativeTitle: zodOpenapi.z.string().nullable(),
12793
13000
  deathDate: zodOpenapi.z.coerce.date().nullable(),
12794
13001
  deathNotification: zodOpenapi.z.coerce.date().nullable(),
12795
- pin: zodOpenapi.z.string().nullable(),
12796
- stayAbroad: zodOpenapi.z.boolean().nullable(),
12797
- stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
12798
13002
  createdAt: zodOpenapi.z.coerce.date().nullable(),
12799
13003
  updatedAt: zodOpenapi.z.coerce.date().nullable()
13004
+ };
13005
+ const individualBaseInsertSchema = createInsertSchema(
13006
+ individual,
13007
+ insertOverrides
13008
+ );
13009
+ createUpdateSchema(
13010
+ individual,
13011
+ insertOverrides
13012
+ );
13013
+ const individualBaseSelectSchema = createSelectSchema(
13014
+ individual,
13015
+ selectOverrides
13016
+ );
13017
+ const individualInsertSchema$1 = individualBaseInsertSchema.omit({
13018
+ id: true,
13019
+ internalId: true,
13020
+ createdAt: true,
13021
+ updatedAt: true
12800
13022
  });
13023
+ const individualUpdateSchema$1 = individualInsertSchema$1.partial().extend({
13024
+ partyId: zodOpenapi.z.uuid(),
13025
+ id: zodOpenapi.z.uuid()
13026
+ });
13027
+ const individualSelectSchema = individualBaseSelectSchema;
12801
13028
 
12802
13029
  createInsertSchema(organization);
12803
13030
  createUpdateSchema(organization);
@@ -12814,7 +13041,7 @@ const organizationInsertSchema = zodOpenapi.z.object({
12814
13041
  monthlyVolumeIn: zodOpenapi.z.number(),
12815
13042
  monthlyVolumeOut: zodOpenapi.z.number(),
12816
13043
  ownedBy: zodOpenapi.z.string(),
12817
- companyObjects: zodOpenapi.z.string(),
13044
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1),
12818
13045
  annualTurnover: zodOpenapi.z.number(),
12819
13046
  numberOfEmployees: zodOpenapi.z.number().optional().nullable(),
12820
13047
  prosecuted: zodOpenapi.z.string().optional().nullable(),
@@ -12840,7 +13067,7 @@ const organizationUpdateSchema$1 = zodOpenapi.z.object({
12840
13067
  monthlyVolumeIn: zodOpenapi.z.number().optional(),
12841
13068
  monthlyVolumeOut: zodOpenapi.z.number().optional(),
12842
13069
  ownedBy: zodOpenapi.z.string().optional(),
12843
- companyObjects: zodOpenapi.z.string().optional(),
13070
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1).optional(),
12844
13071
  annualTurnover: zodOpenapi.z.number().optional(),
12845
13072
  numberOfEmployees: zodOpenapi.z.number().optional().nullable(),
12846
13073
  prosecuted: zodOpenapi.z.string().optional().nullable(),
@@ -12867,7 +13094,7 @@ const organizationOutputSchema = zodOpenapi.z.object({
12867
13094
  monthlyVolumeIn: zodOpenapi.z.number(),
12868
13095
  monthlyVolumeOut: zodOpenapi.z.number(),
12869
13096
  ownedBy: zodOpenapi.z.string(),
12870
- companyObjects: zodOpenapi.z.string(),
13097
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)),
12871
13098
  annualTurnover: zodOpenapi.z.number(),
12872
13099
  numberOfEmployees: zodOpenapi.z.number().nullable(),
12873
13100
  prosecuted: zodOpenapi.z.string().nullable(),
@@ -12900,14 +13127,16 @@ zodOpenapi.z.discriminatedUnion("partyType", [
12900
13127
  const disponentCreateSchema = zodOpenapi.z.discriminatedUnion("partyType", [
12901
13128
  zodOpenapi.z.object({
12902
13129
  partyType: zodOpenapi.z.literal("INDIVIDUAL"),
13130
+ relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
12903
13131
  data: individualInsertSchema$1.omit({ partyId: true })
12904
13132
  }),
12905
13133
  zodOpenapi.z.object({
12906
13134
  partyType: zodOpenapi.z.literal("ORGANIZATION"),
13135
+ relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
12907
13136
  data: organizationInsertSchema.omit({ partyId: true })
12908
13137
  })
12909
13138
  ]);
12910
- const disponentUpdateSchema$1 = zodOpenapi.z.discriminatedUnion("partyType", [
13139
+ const disponentUpdateSchema = zodOpenapi.z.discriminatedUnion("partyType", [
12911
13140
  zodOpenapi.z.object({
12912
13141
  partyType: zodOpenapi.z.literal("INDIVIDUAL"),
12913
13142
  data: individualUpdateSchema$1
@@ -12917,6 +13146,18 @@ const disponentUpdateSchema$1 = zodOpenapi.z.discriminatedUnion("partyType", [
12917
13146
  data: organizationUpdateSchema$1
12918
13147
  })
12919
13148
  ]);
13149
+ const disponentSyncSchema$1 = zodOpenapi.z.discriminatedUnion("partyType", [
13150
+ zodOpenapi.z.object({
13151
+ partyType: zodOpenapi.z.literal("INDIVIDUAL"),
13152
+ relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
13153
+ data: individualInsertSchema$1.omit({ partyId: true }).extend({ id: zodOpenapi.z.uuid().optional() })
13154
+ }),
13155
+ zodOpenapi.z.object({
13156
+ partyType: zodOpenapi.z.literal("ORGANIZATION"),
13157
+ relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
13158
+ data: organizationInsertSchema.omit({ partyId: true }).extend({ id: zodOpenapi.z.uuid().optional() })
13159
+ })
13160
+ ]);
12920
13161
  const disponentSelectSchema = zodOpenapi.z.discriminatedUnion("partyType", [
12921
13162
  zodOpenapi.z.object({
12922
13163
  partyType: zodOpenapi.z.literal("INDIVIDUAL"),
@@ -12928,7 +13169,7 @@ const disponentSelectSchema = zodOpenapi.z.discriminatedUnion("partyType", [
12928
13169
  })
12929
13170
  ]);
12930
13171
  zodOpenapi.z.array(disponentSelectSchema).optional();
12931
- zodOpenapi.z.array(disponentUpdateSchema$1).optional();
13172
+ zodOpenapi.z.array(disponentUpdateSchema).optional();
12932
13173
 
12933
13174
  createInsertSchema(idDocument);
12934
13175
  createUpdateSchema(idDocument);
@@ -13025,6 +13266,7 @@ const partySchema$2 = zodOpenapi.z.object({
13025
13266
  note: zodOpenapi.z.string().optional(),
13026
13267
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13027
13268
  customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS).optional(),
13269
+ isRoot: zodOpenapi.z.boolean().optional(),
13028
13270
  legacyId: zodOpenapi.z.string().optional()
13029
13271
  });
13030
13272
  const partyOutputSchema$1 = zodOpenapi.z.object({
@@ -13035,7 +13277,7 @@ const partyOutputSchema$1 = zodOpenapi.z.object({
13035
13277
  id: zodOpenapi.z.uuid(),
13036
13278
  note: zodOpenapi.z.string().nullable(),
13037
13279
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
13038
- isClient: zodOpenapi.z.boolean(),
13280
+ isRoot: zodOpenapi.z.boolean(),
13039
13281
  createdAt: zodOpenapi.z.date().nullable(),
13040
13282
  updatedAt: zodOpenapi.z.date().nullable()
13041
13283
  });
@@ -13049,19 +13291,21 @@ zodOpenapi.z.object({
13049
13291
  disponents: zodOpenapi.z.array(disponentCreateSchema).nullable(),
13050
13292
  addresses: zodOpenapi.z.array(addressInsertSchema.omit({ partyId: true })),
13051
13293
  aml: amlInsertSchema.omit({ partyId: true }),
13052
- products: productsInputSchema$2.optional()
13294
+ products: productsInputSchema$2.optional(),
13295
+ traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
13053
13296
  });
13054
13297
  zodOpenapi.z.object({
13055
13298
  partyId: zodOpenapi.z.uuid(),
13056
13299
  party: partySchema$2,
13057
13300
  personalData: individualUpdateSchema$1.optional(),
13058
13301
  organizationData: organizationUpdateSchema$1.optional(),
13059
- bankAccounts: zodOpenapi.z.array(bankAccountUpsertSchema).optional(),
13060
- recipients: zodOpenapi.z.array(recipientUpsertSchema).optional(),
13061
- disponents: zodOpenapi.z.array(disponentUpdateSchema$1).optional(),
13062
- addresses: zodOpenapi.z.array(addressUpdateSchema).optional(),
13302
+ bankAccounts: zodOpenapi.z.array(bankAccountUpsertSchema.partial({ id: true })).optional(),
13303
+ recipients: zodOpenapi.z.array(recipientUpsertSchema.partial({ id: true })).optional(),
13304
+ disponents: zodOpenapi.z.array(disponentSyncSchema$1).optional(),
13305
+ addresses: zodOpenapi.z.array(addressInsertSchema).optional(),
13063
13306
  aml: amlUpdateSchema.optional(),
13064
- products: productsInputSchema$2.optional()
13307
+ products: productsInputSchema$2.optional(),
13308
+ traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
13065
13309
  });
13066
13310
  const partySelectOutputSchema = zodOpenapi.z.object({
13067
13311
  party: partyOutputSchema$1.nullable(),
@@ -13072,7 +13316,8 @@ const partySelectOutputSchema = zodOpenapi.z.object({
13072
13316
  disponents: zodOpenapi.z.array(disponentSelectSchema).nullable(),
13073
13317
  addresses: zodOpenapi.z.array(addressSelectSchema).nullable(),
13074
13318
  recipients: zodOpenapi.z.array(recipientSelectSchema).nullable(),
13075
- products: productsOutputSchema$1.nullable()
13319
+ products: productsOutputSchema$1.nullable(),
13320
+ traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).nullable()
13076
13321
  });
13077
13322
  zodOpenapi.z.array(partySelectOutputSchema);
13078
13323
  const partySelectDataSchema = zodOpenapi.z.object({
@@ -13090,7 +13335,8 @@ const partySelectArrayDataSchema = zodOpenapi.z.object({
13090
13335
  zodOpenapi.z.object({
13091
13336
  ...partySelectDataSchema.shape,
13092
13337
  ...partySelectArrayDataSchema.shape,
13093
- products: productsOutputSchema$1.nullable()
13338
+ products: productsOutputSchema$1.nullable(),
13339
+ traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).nullable()
13094
13340
  });
13095
13341
 
13096
13342
  createInsertSchema(partyChange);
@@ -13444,7 +13690,7 @@ const individualInsertSchema = zodOpenapi.z.object({
13444
13690
  citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13445
13691
  employer: zodOpenapi.z.string().optional(),
13446
13692
  employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13447
- registeredNumber: zodOpenapi.z.string(),
13693
+ registeredNumber: zodOpenapi.z.string().optional(),
13448
13694
  isPep: zodOpenapi.z.boolean(),
13449
13695
  titleBefore: zodOpenapi.z.string().optional(),
13450
13696
  titleAfter: zodOpenapi.z.string().optional(),
@@ -13468,7 +13714,7 @@ const createOrganizationInputSchema = zodOpenapi.z.object({
13468
13714
  monthlyVolumeIn: zodOpenapi.z.number(),
13469
13715
  monthlyVolumeOut: zodOpenapi.z.number(),
13470
13716
  ownedBy: zodOpenapi.z.string(),
13471
- companyObjects: zodOpenapi.z.string(),
13717
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1),
13472
13718
  annualTurnover: zodOpenapi.z.number(),
13473
13719
  numberOfEmployees: zodOpenapi.z.number(),
13474
13720
  prosecuted: zodOpenapi.z.string().optional(),
@@ -13481,7 +13727,7 @@ const createOrganizationInputSchema = zodOpenapi.z.object({
13481
13727
  operationCountries: zodOpenapi.z.string(),
13482
13728
  riskyBusinessType: zodOpenapi.z.string().optional()
13483
13729
  });
13484
- const updateBankAccountSchema$1 = zodOpenapi.z.object({
13730
+ const updateBankAccountSchema = zodOpenapi.z.object({
13485
13731
  ...bankAccountMetadataSchema.shape,
13486
13732
  partyId: zodOpenapi.z.uuid(),
13487
13733
  internalId: zodOpenapi.z.string().optional(),
@@ -13491,7 +13737,7 @@ const updateBankAccountSchema$1 = zodOpenapi.z.object({
13491
13737
  countryCode: bankAccountMetadataSchema.shape.countryCode.nonoptional(),
13492
13738
  id: bankAccountMetadataSchema.shape.id.nonoptional()
13493
13739
  });
13494
- const bankAccountInputSchema = updateBankAccountSchema$1.required({
13740
+ const bankAccountInputSchema = updateBankAccountSchema.required({
13495
13741
  holderName: true,
13496
13742
  currency: true,
13497
13743
  countryCode: true
@@ -13520,23 +13766,55 @@ const createAddressInputSchema = zodOpenapi.z.object({
13520
13766
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
13521
13767
  ruianCode: zodOpenapi.z.string().optional()
13522
13768
  });
13769
+ const businessPartnerInputSchema$1 = zodOpenapi.z.object({
13770
+ name: zodOpenapi.z.string(),
13771
+ country: zodOpenapi.z.string(),
13772
+ cooperationReason: zodOpenapi.z.string().nullable()
13773
+ });
13774
+ const foSourceOfWealthInputSchema$1 = zodOpenapi.z.object({
13775
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
13776
+ incomeSourceOther: zodOpenapi.z.string().nullable(),
13777
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
13778
+ employer: zodOpenapi.z.string().nullable(),
13779
+ employerCountry: zodOpenapi.z.string().nullable()
13780
+ });
13781
+ const businessSourceOfWealthInputSchema$1 = zodOpenapi.z.object({
13782
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
13783
+ financialFundsSourceOther: zodOpenapi.z.string().nullable(),
13784
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
13785
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
13786
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
13787
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
13788
+ businessPartners: zodOpenapi.z.array(businessPartnerInputSchema$1).nullable(),
13789
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
13790
+ });
13523
13791
  const createAmlInputSchema = zodOpenapi.z.object({
13524
13792
  internalId: zodOpenapi.z.string().optional(),
13525
- sourceOfWealth: zodOpenapi.z.string(),
13526
- yearlyIncome: zodOpenapi.z.string(),
13527
- tradesPurpose: zodOpenapi.z.string().optional(),
13528
- sourceOfIncome: zodOpenapi.z.string(),
13793
+ sourceOfWealth: zodOpenapi.z.union([
13794
+ foSourceOfWealthInputSchema$1,
13795
+ businessSourceOfWealthInputSchema$1
13796
+ ]),
13797
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
13798
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
13799
+ incomeSourceOther: zodOpenapi.z.string().optional(),
13800
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
13801
+ servicePurposesOther: zodOpenapi.z.string().optional(),
13802
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
13803
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13529
13804
  transactionType: zodOpenapi.z.string().optional(),
13530
13805
  transactionTypeExpiry: zodOpenapi.z.date().optional(),
13531
13806
  isDistraint: zodOpenapi.z.boolean().default(false),
13532
- estTxsVolumeMonth: zodOpenapi.z.string(),
13533
- estTxsVolumeYear: zodOpenapi.z.string(),
13534
- tradingCountries: zodOpenapi.z.string(),
13535
- tradingSide: zodOpenapi.z.string(),
13807
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
13808
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
13809
+ estTxsCountMonth: zodOpenapi.z.number().int().optional(),
13810
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)).min(1),
13811
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).optional(),
13812
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
13536
13813
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
13537
- signatureMethod: zodOpenapi.z.string().optional(),
13538
- existencePeriod: zodOpenapi.z.string().optional(),
13539
- reputation: zodOpenapi.z.string().optional(),
13814
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).optional(),
13815
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).optional(),
13816
+ reputation: zodOpenapi.z.enum(REPUTATION).optional(),
13817
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).optional(),
13540
13818
  riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).optional(),
13541
13819
  kycStatus: zodOpenapi.z.enum(KYC_STATUS).optional()
13542
13820
  });
@@ -13549,6 +13827,48 @@ const productsInputSchema$1 = zodOpenapi.z.object({
13549
13827
  }).optional(),
13550
13828
  cbs: zodOpenapi.z.object({}).optional()
13551
13829
  });
13830
+ const ownerInputSchema = zodOpenapi.z.object({
13831
+ titleBefore: zodOpenapi.z.string().optional(),
13832
+ name: zodOpenapi.z.string(),
13833
+ surname: zodOpenapi.z.string(),
13834
+ titleAfter: zodOpenapi.z.string().optional(),
13835
+ birthDate: zodOpenapi.z.string(),
13836
+ birthPlace: zodOpenapi.z.string(),
13837
+ personalId: zodOpenapi.z.string(),
13838
+ gender: zodOpenapi.z.enum(GENDER),
13839
+ citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
13840
+ isPep: zodOpenapi.z.boolean(),
13841
+ address: createAddressInputSchema,
13842
+ sharePercentage: zodOpenapi.z.number().max(100),
13843
+ shareEstablishedAt: zodOpenapi.z.date()
13844
+ });
13845
+ const idDocumentInputSchema$1 = zodOpenapi.z.object({
13846
+ idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
13847
+ idDocNumber: zodOpenapi.z.string(),
13848
+ issueDate: zodOpenapi.z.date().optional(),
13849
+ expirationDate: zodOpenapi.z.date().optional(),
13850
+ issuer: zodOpenapi.z.string().optional(),
13851
+ frontImageUri: zodOpenapi.z.string().optional(),
13852
+ backImageUri: zodOpenapi.z.string().optional()
13853
+ });
13854
+ const legalRepresentativeInputSchema = zodOpenapi.z.object({
13855
+ titleBefore: zodOpenapi.z.string().optional(),
13856
+ name: zodOpenapi.z.string(),
13857
+ surname: zodOpenapi.z.string(),
13858
+ titleAfter: zodOpenapi.z.string().optional(),
13859
+ birthDate: zodOpenapi.z.string(),
13860
+ birthPlace: zodOpenapi.z.string(),
13861
+ personalId: zodOpenapi.z.string(),
13862
+ gender: zodOpenapi.z.enum(GENDER),
13863
+ citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
13864
+ isPep: zodOpenapi.z.boolean(),
13865
+ phone: zodOpenapi.z.string().optional(),
13866
+ email: zodOpenapi.z.string().optional(),
13867
+ pin: zodOpenapi.z.string().optional(),
13868
+ identityDocuments: zodOpenapi.z.array(idDocumentInputSchema$1).optional(),
13869
+ address: createAddressInputSchema,
13870
+ dateOfEstablishment: zodOpenapi.z.date()
13871
+ });
13552
13872
  const createPartyInputSchema = zodOpenapi.z.object({
13553
13873
  party: partySchema$1.omit({ id: true }),
13554
13874
  personalData: individualInsertSchema.nullable(),
@@ -13556,9 +13876,12 @@ const createPartyInputSchema = zodOpenapi.z.object({
13556
13876
  bankAccounts: zodOpenapi.z.array(bankAccountInputSchema),
13557
13877
  disponents: zodOpenapi.z.array(disponentSchema),
13558
13878
  addresses: zodOpenapi.z.array(createAddressInputSchema),
13879
+ owners: zodOpenapi.z.array(ownerInputSchema).optional(),
13880
+ legalRepresentatives: zodOpenapi.z.array(legalRepresentativeInputSchema).optional(),
13559
13881
  aml: createAmlInputSchema,
13560
13882
  recipients: zodOpenapi.z.array(bankAccountInputSchema),
13561
- products: productsInputSchema$1.optional()
13883
+ products: productsInputSchema$1.optional(),
13884
+ traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
13562
13885
  });
13563
13886
  const partyCreateOutputSchema = zodOpenapi.z.object({
13564
13887
  customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS),
@@ -13578,8 +13901,9 @@ const responseBodySchema$5 = zodOpenapi.z.object({
13578
13901
  const createPartyRoute = zodOpenapi.createRoute({
13579
13902
  method: "post",
13580
13903
  path: "/",
13581
- summary: "Create party",
13904
+ summary: "Create Party",
13582
13905
  tags: ["Parties"],
13906
+ description: "Creates a new party with all associated data \u2014 personal/organization data, bank accounts, addresses, disponents, AML records, recipients, and product configuration. The party type determines whether individual or organization data is required.",
13583
13907
  request: {
13584
13908
  body: {
13585
13909
  content: {
@@ -13605,8 +13929,11 @@ const createPartyRoute = zodOpenapi.createRoute({
13605
13929
  new zodOpenapi.OpenAPIHono().openapi(
13606
13930
  createPartyRoute,
13607
13931
  async (context) => {
13608
- const party = context.req.valid("json");
13609
- const { data: partyData, error } = await context.env.MASTER_DATA_MANAGEMENT_SERVICE.createParty(party);
13932
+ const { owners, legalRepresentatives, ...partyInput } = context.req.valid("json");
13933
+ const { data: partyData, error } = await context.env.MASTER_DATA_MANAGEMENT_SERVICE.createParty({
13934
+ ...partyInput,
13935
+ party: { ...partyInput.party, isRoot: true }
13936
+ });
13610
13937
  if (!partyData || error) {
13611
13938
  return context.json(
13612
13939
  {
@@ -13615,6 +13942,85 @@ new zodOpenapi.OpenAPIHono().openapi(
13615
13942
  500
13616
13943
  );
13617
13944
  }
13945
+ const mdm = context.env.MASTER_DATA_MANAGEMENT_SERVICE;
13946
+ if (owners?.length) {
13947
+ for (const owner of owners) {
13948
+ const { address, sharePercentage, shareEstablishedAt, ...individual } = owner;
13949
+ const { data: ownerParty, error: ownerError } = await mdm.createParty({
13950
+ party: {
13951
+ partyType: "INDIVIDUAL",
13952
+ language: partyInput.party.language,
13953
+ customerStatus: "NEW"
13954
+ },
13955
+ personalData: individual,
13956
+ organizationData: null,
13957
+ bankAccounts: null,
13958
+ recipients: null,
13959
+ disponents: null,
13960
+ addresses: [{ ...address, addressType: "PERMANENT_ADDRESS" }],
13961
+ aml: partyInput.aml
13962
+ });
13963
+ if (ownerParty && !ownerError) {
13964
+ await mdm.linkPartyToParty({
13965
+ fromPartyId: ownerParty.id,
13966
+ toPartyId: partyData.id,
13967
+ relationshipType: "UBO",
13968
+ sharePercentage,
13969
+ fromDate: shareEstablishedAt
13970
+ });
13971
+ }
13972
+ }
13973
+ }
13974
+ if (legalRepresentatives?.length) {
13975
+ for (const rep of legalRepresentatives) {
13976
+ const {
13977
+ address,
13978
+ identityDocuments,
13979
+ dateOfEstablishment,
13980
+ ...individual
13981
+ } = rep;
13982
+ const { data: repParty, error: repError } = await mdm.createParty({
13983
+ party: {
13984
+ partyType: "INDIVIDUAL",
13985
+ language: partyInput.party.language,
13986
+ customerStatus: "NEW"
13987
+ },
13988
+ personalData: individual,
13989
+ organizationData: null,
13990
+ bankAccounts: null,
13991
+ recipients: null,
13992
+ disponents: null,
13993
+ addresses: [{ ...address, addressType: "PERMANENT_ADDRESS" }],
13994
+ aml: partyInput.aml
13995
+ });
13996
+ if (repParty && !repError) {
13997
+ await mdm.linkPartyToParty({
13998
+ fromPartyId: repParty.id,
13999
+ toPartyId: partyData.id,
14000
+ relationshipType: "BOARD_MEMBER",
14001
+ fromDate: dateOfEstablishment
14002
+ });
14003
+ if (identityDocuments?.length) {
14004
+ for (const doc of identityDocuments) {
14005
+ await mdm.createIdDocument({
14006
+ partyId: repParty.id,
14007
+ idDocument: {
14008
+ partyId: repParty.id,
14009
+ idDocType: doc.idDocType,
14010
+ idDocNumber: doc.idDocNumber,
14011
+ idDocHolderName: `${individual.name} ${individual.surname}`,
14012
+ issueDate: doc.issueDate,
14013
+ expirationDate: doc.expirationDate,
14014
+ issuer: doc.issuer,
14015
+ frontImageUri: doc.frontImageUri,
14016
+ backImageUri: doc.backImageUri
14017
+ }
14018
+ });
14019
+ }
14020
+ }
14021
+ }
14022
+ }
14023
+ }
13618
14024
  return context.json(
13619
14025
  {
13620
14026
  message: "party created",
@@ -13676,7 +14082,7 @@ const organizationUpdateSchema = zodOpenapi.z.object({
13676
14082
  monthlyVolumeIn: zodOpenapi.z.number().optional(),
13677
14083
  monthlyVolumeOut: zodOpenapi.z.number().optional(),
13678
14084
  ownedBy: zodOpenapi.z.string().optional(),
13679
- companyObjects: zodOpenapi.z.string().optional(),
14085
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1).optional(),
13680
14086
  annualTurnover: zodOpenapi.z.number().optional(),
13681
14087
  numberOfEmployees: zodOpenapi.z.number().optional(),
13682
14088
  prosecuted: zodOpenapi.z.string().optional(),
@@ -13689,7 +14095,7 @@ const organizationUpdateSchema = zodOpenapi.z.object({
13689
14095
  operationCountries: zodOpenapi.z.string(),
13690
14096
  riskyBusinessType: zodOpenapi.z.string().optional()
13691
14097
  });
13692
- const updateBankAccountSchema = zodOpenapi.z.object({
14098
+ const syncBankAccountSchema = zodOpenapi.z.object({
13693
14099
  ...bankAccountMetadataSchema.shape,
13694
14100
  partyId: zodOpenapi.z.uuid(),
13695
14101
  internalId: zodOpenapi.z.string().optional(),
@@ -13697,20 +14103,72 @@ const updateBankAccountSchema = zodOpenapi.z.object({
13697
14103
  number: zodOpenapi.z.string().optional(),
13698
14104
  currency: bankAccountMetadataSchema.shape.currency.nonoptional(),
13699
14105
  countryCode: bankAccountMetadataSchema.shape.countryCode.nonoptional(),
13700
- id: bankAccountMetadataSchema.shape.id.nonoptional()
14106
+ id: zodOpenapi.z.uuid().optional()
13701
14107
  });
13702
- const disponentUpdateSchema = zodOpenapi.z.discriminatedUnion("partyType", [
14108
+ const disponentIndividualSyncDataSchema = zodOpenapi.z.object({
14109
+ id: zodOpenapi.z.uuid().optional(),
14110
+ name: zodOpenapi.z.string(),
14111
+ surname: zodOpenapi.z.string(),
14112
+ email: zodOpenapi.z.string().optional(),
14113
+ phone: zodOpenapi.z.string().optional(),
14114
+ birthDate: zodOpenapi.z.string().optional(),
14115
+ birthPlace: zodOpenapi.z.string(),
14116
+ countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
14117
+ personalId: zodOpenapi.z.string(),
14118
+ gender: zodOpenapi.z.enum(GENDER),
14119
+ citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
14120
+ citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
14121
+ employer: zodOpenapi.z.string().optional(),
14122
+ employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
14123
+ registeredNumber: zodOpenapi.z.string().optional(),
14124
+ isPep: zodOpenapi.z.boolean(),
14125
+ titleBefore: zodOpenapi.z.string().optional(),
14126
+ titleAfter: zodOpenapi.z.string().optional(),
14127
+ birthSurname: zodOpenapi.z.string().optional(),
14128
+ vocativeTitle: zodOpenapi.z.string().optional(),
14129
+ deathDate: zodOpenapi.z.date().optional(),
14130
+ deathNotification: zodOpenapi.z.date().optional(),
14131
+ pin: zodOpenapi.z.string().optional(),
14132
+ stayAbroad: zodOpenapi.z.boolean().optional(),
14133
+ stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional()
14134
+ });
14135
+ const disponentOrganizationSyncDataSchema = zodOpenapi.z.object({
14136
+ id: zodOpenapi.z.uuid().optional(),
14137
+ businessName: zodOpenapi.z.string(),
14138
+ email: zodOpenapi.z.email("Invalid email format").optional(),
14139
+ phone: zodOpenapi.z.string().optional(),
14140
+ registeredNumber: zodOpenapi.z.string(),
14141
+ registeredIn: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
14142
+ operatesIn: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
14143
+ presentIn: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
14144
+ monthlyVolumeIn: zodOpenapi.z.number(),
14145
+ monthlyVolumeOut: zodOpenapi.z.number(),
14146
+ ownedBy: zodOpenapi.z.string(),
14147
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1),
14148
+ annualTurnover: zodOpenapi.z.number(),
14149
+ numberOfEmployees: zodOpenapi.z.number().optional(),
14150
+ prosecuted: zodOpenapi.z.string().optional(),
14151
+ location: zodOpenapi.z.string().optional(),
14152
+ fileNumber: zodOpenapi.z.string().optional(),
14153
+ websiteUrl: zodOpenapi.z.url("Invalid website URL").optional(),
14154
+ vatPayer: zodOpenapi.z.boolean(),
14155
+ companyObjectsDescription: zodOpenapi.z.string(),
14156
+ turnover3years: zodOpenapi.z.number(),
14157
+ operationCountries: zodOpenapi.z.string(),
14158
+ riskyBusinessType: zodOpenapi.z.string().optional()
14159
+ });
14160
+ const disponentSyncSchema = zodOpenapi.z.discriminatedUnion("partyType", [
13703
14161
  zodOpenapi.z.object({
13704
14162
  partyType: zodOpenapi.z.literal("INDIVIDUAL"),
13705
- data: individualUpdateSchema
14163
+ data: disponentIndividualSyncDataSchema
13706
14164
  }),
13707
14165
  zodOpenapi.z.object({
13708
14166
  partyType: zodOpenapi.z.literal("ORGANIZATION"),
13709
- data: organizationUpdateSchema
14167
+ data: disponentOrganizationSyncDataSchema
13710
14168
  })
13711
14169
  ]);
13712
- const updateAddressInputSchema = zodOpenapi.z.object({
13713
- id: zodOpenapi.z.uuid(),
14170
+ const syncAddressInputSchema = zodOpenapi.z.object({
14171
+ id: zodOpenapi.z.uuid().optional(),
13714
14172
  partyId: zodOpenapi.z.uuid(),
13715
14173
  internalId: zodOpenapi.z.string().optional(),
13716
14174
  addressType: zodOpenapi.z.enum(ADDRESS_TYPE),
@@ -13725,25 +14183,54 @@ const updateAddressInputSchema = zodOpenapi.z.object({
13725
14183
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
13726
14184
  ruianCode: zodOpenapi.z.string().optional()
13727
14185
  });
14186
+ const businessPartnerInputSchema = zodOpenapi.z.object({
14187
+ name: zodOpenapi.z.string(),
14188
+ country: zodOpenapi.z.string(),
14189
+ cooperationReason: zodOpenapi.z.string().nullable()
14190
+ });
14191
+ const foSourceOfWealthInputSchema = zodOpenapi.z.object({
14192
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
14193
+ incomeSourceOther: zodOpenapi.z.string().nullable(),
14194
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
14195
+ employer: zodOpenapi.z.string().nullable(),
14196
+ employerCountry: zodOpenapi.z.string().nullable()
14197
+ });
14198
+ const businessSourceOfWealthInputSchema = zodOpenapi.z.object({
14199
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
14200
+ financialFundsSourceOther: zodOpenapi.z.string().nullable(),
14201
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
14202
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
14203
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
14204
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
14205
+ businessPartners: zodOpenapi.z.array(businessPartnerInputSchema).nullable(),
14206
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
14207
+ });
13728
14208
  const updateAmlInputSchema = zodOpenapi.z.object({
13729
14209
  id: zodOpenapi.z.uuid(),
13730
14210
  partyId: zodOpenapi.z.uuid().optional(),
13731
14211
  internalId: zodOpenapi.z.string().optional(),
13732
- sourceOfWealth: zodOpenapi.z.string().optional(),
13733
- yearlyIncome: zodOpenapi.z.string().optional(),
13734
- tradesPurpose: zodOpenapi.z.string().optional(),
13735
- sourceOfIncome: zodOpenapi.z.string().optional(),
14212
+ sourceOfWealth: zodOpenapi.z.union([foSourceOfWealthInputSchema, businessSourceOfWealthInputSchema]).optional(),
14213
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME).optional(),
14214
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1).optional(),
14215
+ incomeSourceOther: zodOpenapi.z.string().optional(),
14216
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
14217
+ servicePurposesOther: zodOpenapi.z.string().optional(),
14218
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
14219
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13736
14220
  transactionType: zodOpenapi.z.string().optional(),
13737
14221
  transactionTypeExpiry: zodOpenapi.z.date().optional(),
13738
14222
  isDistraint: zodOpenapi.z.boolean().optional(),
13739
- estTxsVolumeMonth: zodOpenapi.z.string(),
13740
- estTxsVolumeYear: zodOpenapi.z.string(),
13741
- tradingCountries: zodOpenapi.z.string(),
13742
- tradingSide: zodOpenapi.z.string(),
14223
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
14224
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
14225
+ estTxsCountMonth: zodOpenapi.z.number().int().optional(),
14226
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)).min(1),
14227
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).optional(),
14228
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
13743
14229
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
13744
- signatureMethod: zodOpenapi.z.string().optional(),
13745
- existencePeriod: zodOpenapi.z.string().optional(),
13746
- reputation: zodOpenapi.z.string().optional(),
14230
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).optional(),
14231
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).optional(),
14232
+ reputation: zodOpenapi.z.enum(REPUTATION).optional(),
14233
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).optional(),
13747
14234
  riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).optional(),
13748
14235
  kycStatus: zodOpenapi.z.enum(KYC_STATUS).optional()
13749
14236
  });
@@ -13756,16 +14243,63 @@ const productsInputSchema = zodOpenapi.z.object({
13756
14243
  }).optional(),
13757
14244
  cbs: zodOpenapi.z.object({}).optional()
13758
14245
  });
14246
+ const ownerSyncSchema = zodOpenapi.z.object({
14247
+ id: zodOpenapi.z.uuid().optional(),
14248
+ titleBefore: zodOpenapi.z.string().optional(),
14249
+ name: zodOpenapi.z.string(),
14250
+ surname: zodOpenapi.z.string(),
14251
+ titleAfter: zodOpenapi.z.string().optional(),
14252
+ birthDate: zodOpenapi.z.string(),
14253
+ birthPlace: zodOpenapi.z.string(),
14254
+ personalId: zodOpenapi.z.string(),
14255
+ gender: zodOpenapi.z.enum(GENDER),
14256
+ citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
14257
+ isPep: zodOpenapi.z.boolean(),
14258
+ address: syncAddressInputSchema,
14259
+ sharePercentage: zodOpenapi.z.number().max(100),
14260
+ shareEstablishedAt: zodOpenapi.z.date()
14261
+ });
14262
+ const idDocumentInputSchema = zodOpenapi.z.object({
14263
+ idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
14264
+ idDocNumber: zodOpenapi.z.string(),
14265
+ issueDate: zodOpenapi.z.date().optional(),
14266
+ expirationDate: zodOpenapi.z.date().optional(),
14267
+ issuer: zodOpenapi.z.string().optional(),
14268
+ frontImageUri: zodOpenapi.z.string().optional(),
14269
+ backImageUri: zodOpenapi.z.string().optional()
14270
+ });
14271
+ const legalRepresentativeSyncSchema = zodOpenapi.z.object({
14272
+ id: zodOpenapi.z.uuid().optional(),
14273
+ titleBefore: zodOpenapi.z.string().optional(),
14274
+ name: zodOpenapi.z.string(),
14275
+ surname: zodOpenapi.z.string(),
14276
+ titleAfter: zodOpenapi.z.string().optional(),
14277
+ birthDate: zodOpenapi.z.string(),
14278
+ birthPlace: zodOpenapi.z.string(),
14279
+ personalId: zodOpenapi.z.string(),
14280
+ gender: zodOpenapi.z.enum(GENDER),
14281
+ citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
14282
+ isPep: zodOpenapi.z.boolean(),
14283
+ phone: zodOpenapi.z.string().optional(),
14284
+ email: zodOpenapi.z.string().optional(),
14285
+ pin: zodOpenapi.z.string().optional(),
14286
+ identityDocuments: zodOpenapi.z.array(idDocumentInputSchema).optional(),
14287
+ address: syncAddressInputSchema,
14288
+ dateOfEstablishment: zodOpenapi.z.date()
14289
+ });
13759
14290
  const partyUpdateInputSchema = zodOpenapi.z.object({
13760
14291
  party: partySchema,
13761
14292
  personalData: individualUpdateSchema.nullable(),
13762
14293
  organizationData: organizationUpdateSchema.nullable(),
13763
- bankAccounts: zodOpenapi.z.array(updateBankAccountSchema),
13764
- disponents: zodOpenapi.z.array(disponentUpdateSchema).optional(),
13765
- addresses: zodOpenapi.z.array(updateAddressInputSchema),
13766
- recipients: zodOpenapi.z.array(updateBankAccountSchema).nullable(),
14294
+ bankAccounts: zodOpenapi.z.array(syncBankAccountSchema),
14295
+ disponents: zodOpenapi.z.array(disponentSyncSchema).optional(),
14296
+ addresses: zodOpenapi.z.array(syncAddressInputSchema),
14297
+ owners: zodOpenapi.z.array(ownerSyncSchema).optional(),
14298
+ legalRepresentatives: zodOpenapi.z.array(legalRepresentativeSyncSchema).optional(),
14299
+ recipients: zodOpenapi.z.array(syncBankAccountSchema).nullable(),
13767
14300
  aml: updateAmlInputSchema.optional(),
13768
- products: productsInputSchema.optional()
14301
+ products: productsInputSchema.optional(),
14302
+ traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
13769
14303
  });
13770
14304
  const updatePartyOuputSchema = zodOpenapi.z.object({
13771
14305
  id: zodOpenapi.z.uuid(),
@@ -13781,9 +14315,10 @@ const responseBodySchema$4 = zodOpenapi.z.object({
13781
14315
  });
13782
14316
  const updatePartyRoute = zodOpenapi.createRoute({
13783
14317
  method: "put",
13784
- path: "/{partyId}",
13785
- summary: "Update party",
14318
+ path: "/",
14319
+ summary: "Update Party",
13786
14320
  tags: ["Parties"],
14321
+ description: "Updates an existing party and its associated child entities. All updatable fields can be provided \u2014 personal/organization data, bank accounts, addresses, disponents, AML, recipients, and products.",
13787
14322
  security: [
13788
14323
  {
13789
14324
  JwtAuth: []
@@ -13827,7 +14362,8 @@ new zodOpenapi.OpenAPIHono().openapi(
13827
14362
  addresses: party.addresses ?? void 0,
13828
14363
  recipients: party.recipients ?? void 0,
13829
14364
  aml: party.aml ?? void 0,
13830
- products: party.products ?? void 0
14365
+ products: party.products ?? void 0,
14366
+ traderIds: party.traderIds ?? void 0
13831
14367
  });
13832
14368
  if (!updatedParty || partyError) {
13833
14369
  return context.json({ message: "Could not update a Party" }, 404);
@@ -13852,7 +14388,7 @@ const partyBaseOutputSchema = zodOpenapi.z.object({
13852
14388
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
13853
14389
  createdAt: zodOpenapi.z.date().nullable(),
13854
14390
  updatedAt: zodOpenapi.z.date().nullable(),
13855
- isClient: zodOpenapi.z.boolean()
14391
+ isRoot: zodOpenapi.z.boolean()
13856
14392
  });
13857
14393
  const individualOutputSchema = zodOpenapi.z.object({
13858
14394
  id: zodOpenapi.z.uuid(),
@@ -13871,7 +14407,7 @@ const individualOutputSchema = zodOpenapi.z.object({
13871
14407
  citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
13872
14408
  employer: zodOpenapi.z.string().nullable(),
13873
14409
  employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
13874
- registeredNumber: zodOpenapi.z.string(),
14410
+ registeredNumber: zodOpenapi.z.string().nullable(),
13875
14411
  isPep: zodOpenapi.z.boolean(),
13876
14412
  titleBefore: zodOpenapi.z.string().nullable(),
13877
14413
  titleAfter: zodOpenapi.z.string().nullable(),
@@ -13898,7 +14434,7 @@ const createOrganizationOutputSchema = zodOpenapi.z.object({
13898
14434
  monthlyVolumeIn: zodOpenapi.z.number(),
13899
14435
  monthlyVolumeOut: zodOpenapi.z.number(),
13900
14436
  ownedBy: zodOpenapi.z.string(),
13901
- companyObjects: zodOpenapi.z.string(),
14437
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)),
13902
14438
  annualTurnover: zodOpenapi.z.number(),
13903
14439
  numberOfEmployees: zodOpenapi.z.number().nullable(),
13904
14440
  prosecuted: zodOpenapi.z.string().nullable(),
@@ -13959,25 +14495,57 @@ const createAddressOutputSchema = zodOpenapi.z.object({
13959
14495
  createdAt: zodOpenapi.z.date().nullable(),
13960
14496
  updatedAt: zodOpenapi.z.date().nullable()
13961
14497
  });
14498
+ const businessPartnerOutputSchema = zodOpenapi.z.object({
14499
+ name: zodOpenapi.z.string(),
14500
+ country: zodOpenapi.z.string(),
14501
+ cooperationReason: zodOpenapi.z.string().nullable()
14502
+ });
14503
+ const foSourceOfWealthOutputSchema = zodOpenapi.z.object({
14504
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
14505
+ incomeSourceOther: zodOpenapi.z.string().nullable(),
14506
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
14507
+ employer: zodOpenapi.z.string().nullable(),
14508
+ employerCountry: zodOpenapi.z.string().nullable()
14509
+ });
14510
+ const businessSourceOfWealthOutputSchema = zodOpenapi.z.object({
14511
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)),
14512
+ financialFundsSourceOther: zodOpenapi.z.string().nullable(),
14513
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)),
14514
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
14515
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)),
14516
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
14517
+ businessPartners: zodOpenapi.z.array(businessPartnerOutputSchema).nullable(),
14518
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
14519
+ });
13962
14520
  const createAmlOutputSchema = zodOpenapi.z.object({
13963
14521
  id: zodOpenapi.z.uuid(),
13964
14522
  partyId: zodOpenapi.z.uuid(),
13965
14523
  internalId: zodOpenapi.z.string().nullable(),
13966
- sourceOfWealth: zodOpenapi.z.string(),
13967
- yearlyIncome: zodOpenapi.z.string(),
13968
- tradesPurpose: zodOpenapi.z.string().nullable(),
13969
- sourceOfIncome: zodOpenapi.z.string(),
14524
+ sourceOfWealth: zodOpenapi.z.union([
14525
+ foSourceOfWealthOutputSchema,
14526
+ businessSourceOfWealthOutputSchema
14527
+ ]),
14528
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
14529
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
14530
+ incomeSourceOther: zodOpenapi.z.string().nullable(),
14531
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).nullable(),
14532
+ servicePurposesOther: zodOpenapi.z.string().nullable(),
14533
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).nullable(),
14534
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
13970
14535
  transactionType: zodOpenapi.z.string().nullable(),
13971
14536
  transactionTypeExpiry: zodOpenapi.z.date().nullable(),
13972
14537
  isDistraint: zodOpenapi.z.boolean(),
13973
- estTxsVolumeMonth: zodOpenapi.z.string(),
13974
- estTxsVolumeYear: zodOpenapi.z.string(),
13975
- tradingCountries: zodOpenapi.z.string(),
13976
- tradingSide: zodOpenapi.z.string(),
14538
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
14539
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
14540
+ estTxsCountMonth: zodOpenapi.z.number().int().nullable(),
14541
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)),
14542
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
14543
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
13977
14544
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
13978
- signatureMethod: zodOpenapi.z.string().nullable(),
13979
- existencePeriod: zodOpenapi.z.string().nullable(),
13980
- reputation: zodOpenapi.z.string().nullable(),
14545
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).nullable(),
14546
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).nullable(),
14547
+ reputation: zodOpenapi.z.enum(REPUTATION).nullable(),
14548
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).nullable(),
13981
14549
  riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE),
13982
14550
  kycStatus: zodOpenapi.z.enum(KYC_STATUS).nullable(),
13983
14551
  createdAt: zodOpenapi.z.date().nullable(),
@@ -14001,7 +14569,8 @@ const partyOutputSchema = zodOpenapi.z.object({
14001
14569
  addresses: zodOpenapi.z.array(createAddressOutputSchema).nullable(),
14002
14570
  aml: createAmlOutputSchema.nullable(),
14003
14571
  recipients: zodOpenapi.z.array(bankAccountOutputSchema).nullable(),
14004
- products: productsOutputSchema.nullable()
14572
+ products: productsOutputSchema.nullable(),
14573
+ traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).nullable()
14005
14574
  });
14006
14575
  const responseBodySchema$3 = zodOpenapi.z.object({
14007
14576
  message: zodOpenapi.z.string(),
@@ -14009,9 +14578,10 @@ const responseBodySchema$3 = zodOpenapi.z.object({
14009
14578
  });
14010
14579
  const getPartyByPartyIdRoute = zodOpenapi.createRoute({
14011
14580
  method: "get",
14012
- path: "/{partyId}",
14013
- summary: "Get party",
14581
+ path: "/",
14582
+ summary: "Get Party",
14014
14583
  tags: ["Parties"],
14584
+ description: "Retrieves a single party aggregate by its ID, including all related data \u2014 personal/organization info, bank accounts, addresses, disponents, AML, recipients, and products.",
14015
14585
  request: {
14016
14586
  params: zodOpenapi.z.object({ partyId: zodOpenapi.z.uuid() })
14017
14587
  },
@@ -14069,8 +14639,9 @@ const partiesOutputDataSchema = zodOpenapi.z.array(partyOutputSchema);
14069
14639
  const getPartiesRoute = zodOpenapi.createRoute({
14070
14640
  method: "get",
14071
14641
  path: "/",
14072
- summary: "List parties",
14642
+ summary: "List Parties",
14073
14643
  tags: ["Parties"],
14644
+ description: "Returns a paginated list of all parties. Supports sorting, pagination, filtering by IDs, and full-text search.",
14074
14645
  request: { query: paginationAndSearchSchema },
14075
14646
  responses: {
14076
14647
  500: {
@@ -14188,9 +14759,10 @@ const responseBodySchema$2 = zodOpenapi.z.object({
14188
14759
  });
14189
14760
  const createDocumentRoute = zodOpenapi.createRoute({
14190
14761
  method: "post",
14191
- path: "/{partyId}/id-documents",
14192
- summary: "Create ID document and upload file",
14193
- tags: ["Documents"],
14762
+ path: "/",
14763
+ summary: "Create ID Document",
14764
+ tags: ["ID Documents"],
14765
+ description: "Creates a new identification document for the specified party and uploads the document image (front or back side). Accepts multipart form data with the document metadata as a JSON string and the file as a binary attachment.",
14194
14766
  // middleware: [jwt, signature(), idempotency()],
14195
14767
  // security: [{ JwtAuth: [] }],
14196
14768
  request: {
@@ -14240,7 +14812,7 @@ new zodOpenapi.OpenAPIHono().openapi(
14240
14812
  createDocumentRoute,
14241
14813
  async (context) => {
14242
14814
  const rawBody = await context.req.parseBody();
14243
- const { partyId } = await context.req.param();
14815
+ const { partyId } = context.req.valid("param");
14244
14816
  const idDocumentRaw = rawBody.idDocument;
14245
14817
  const documentSide = rawBody.documentSide;
14246
14818
  const file = rawBody.file;
@@ -14340,9 +14912,10 @@ const responseBodySchema$1 = zodOpenapi.z.object({
14340
14912
  });
14341
14913
  const getIdDocumentsListRoute = zodOpenapi.createRoute({
14342
14914
  method: "get",
14343
- path: "/{partyId}/id-documents",
14344
- summary: "List party ID documents",
14345
- tags: ["Documents"],
14915
+ path: "/",
14916
+ summary: "List ID Documents",
14917
+ tags: ["ID Documents"],
14918
+ description: "Returns a paginated list of identification documents for the specified party. Supports filtering by party ID and issuer.",
14346
14919
  request: {
14347
14920
  params: paramsSchema$1,
14348
14921
  query: querySchema
@@ -14618,9 +15191,10 @@ const responseBodySchema = zodOpenapi.z.object({
14618
15191
  });
14619
15192
  const updateIdDocumentRoute = zodOpenapi.createRoute({
14620
15193
  method: "put",
14621
- path: "/{partyId}/id-documents/{id}",
14622
- summary: "Update party document",
14623
- tags: ["Documents"],
15194
+ path: "/",
15195
+ summary: "Update ID Document",
15196
+ tags: ["ID Documents"],
15197
+ description: "Updates an existing identification document. Supports partial updates \u2014 only provided fields are changed. Merges the patch with the existing document data.",
14624
15198
  middleware: [jwt, signature(), idempotency()],
14625
15199
  security: [{ JwtAuth: [] }],
14626
15200
  request: {
@@ -14703,19 +15277,38 @@ const messageResponseSchema = zodOpenapi.z.object({
14703
15277
  exports.ADDRESS_TYPE = ADDRESS_TYPE$1;
14704
15278
  exports.AML_SCORE_TYPE = AML_SCORE_TYPE$1;
14705
15279
  exports.CLIENT_STATUS_ACTION = CLIENT_STATUS_ACTION;
15280
+ exports.COMPANY_TURNOVER_RANGE = COMPANY_TURNOVER_RANGE$1;
14706
15281
  exports.CONTACT_TYPE = CONTACT_TYPE$1;
14707
15282
  exports.CUSTOMER_STATUS = CUSTOMER_STATUS$1;
14708
15283
  exports.DOCUMENT_SIDE = DOCUMENT_SIDE;
15284
+ exports.EST_TXS_VOLUME_MONTH = EST_TXS_VOLUME_MONTH$1;
15285
+ exports.EST_TXS_VOLUME_YEAR = EST_TXS_VOLUME_YEAR$1;
15286
+ exports.EXISTENCE_PERIOD = EXISTENCE_PERIOD$1;
15287
+ exports.FINANCIAL_FUNDS_SOURCE = FINANCIAL_FUNDS_SOURCE$1;
14709
15288
  exports.GENDER = GENDER$1;
14710
15289
  exports.IDENTIFICATION_TYPE = IDENTIFICATION_TYPE;
14711
15290
  exports.ID_DOC_STATUS = ID_DOC_STATUS$1;
14712
15291
  exports.ID_DOC_TYPE = ID_DOC_TYPE$1;
15292
+ exports.INCOME_SOURCE = INCOME_SOURCE$1;
14713
15293
  exports.KYC_STATUS = KYC_STATUS$1;
15294
+ exports.MONTHLY_INCOME_RANGE = MONTHLY_INCOME_RANGE$1;
15295
+ exports.OPERATING_COUNTRY = OPERATING_COUNTRY$1;
14714
15296
  exports.PARTY_RELATIONSHIP_TYPE = PARTY_RELATIONSHIP_TYPE$1;
14715
15297
  exports.PARTY_TYPE = PARTY_TYPE$1;
14716
15298
  exports.PRODUCT_TYPE = PRODUCT_TYPE$1;
15299
+ exports.REPUTATION = REPUTATION$1;
15300
+ exports.RISK_BUSINESS_AREA = RISK_BUSINESS_AREA$1;
15301
+ exports.SERVICE_PURPOSE = SERVICE_PURPOSE$1;
15302
+ exports.SERVICE_PURPOSE_COMPANY = SERVICE_PURPOSE_COMPANY$1;
15303
+ exports.SERVICE_PURPOSE_FO = SERVICE_PURPOSE_FO$1;
15304
+ exports.SIGNATURE_METHOD = SIGNATURE_METHOD$1;
15305
+ exports.TARGET_COUNTRY = TARGET_COUNTRY$1;
15306
+ exports.TAX_DOMICILE = TAX_DOMICILE$1;
14717
15307
  exports.TRADER_TYPE = TRADER_TYPE$1;
15308
+ exports.TRADING_SIDE = TRADING_SIDE$1;
14718
15309
  exports.TXS_CLIENT_TYPE = TXS_CLIENT_TYPE$1;
15310
+ exports.YEARLY_INCOME = YEARLY_INCOME$1;
15311
+ exports.YES_NO_UNKNOWN = YES_NO_UNKNOWN;
14719
15312
  exports.createMdmClient = createMdmClient;
14720
15313
  exports.createPartyInputSchema = createPartyInputSchema;
14721
15314
  exports.idDocumentCreateInputSchema = idDocumentCreateInputSchema;