@devizovaburza/mdm-sdk 0.0.13 → 0.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/v1/index.cjs CHANGED
@@ -30,31 +30,31 @@ const createMdmClient = (baseUrl, options) => {
30
30
  return client.hc(baseUrl, options);
31
31
  };
32
32
 
33
- const AddressTypeZod$1 = [
33
+ const ADDRESS_TYPE$1 = [
34
34
  "PERMANENT_ADDRESS",
35
35
  "REGISTERED_OFFICE",
36
36
  "CONTACT_ADDRESS"
37
37
  ];
38
- const ContactTypeZod$1 = [
38
+ const CONTACT_TYPE$1 = [
39
39
  "EMAIL",
40
40
  "PHONE_AUTH",
41
41
  "PHONE_CONTACT",
42
42
  "PHONE_WORK"
43
43
  ];
44
- const IdDocTypeZod$1 = ["PASSPORT", "ID", "DRIVING_LICENSE"];
45
- const IdDocStatusZod$1 = [
44
+ const ID_DOC_TYPE$1 = ["PASSPORT", "ID", "DRIVING_LICENSE"];
45
+ const ID_DOC_STATUS$1 = [
46
46
  "ACTIVE",
47
47
  "EXPIRED",
48
48
  "EXPIRE_SOON",
49
49
  "REVOKED"
50
50
  ];
51
- const PartyRelationshipTypeZod$1 = [
51
+ const PARTY_RELATIONSHIP_TYPE$1 = [
52
52
  "AUTHORIZED_SIGNATORY",
53
53
  "POA_HOLDER",
54
54
  "BOARD_MEMBER",
55
55
  "UBO"
56
56
  ];
57
- const CustomerStatusZod$1 = [
57
+ const CUSTOMER_STATUS$1 = [
58
58
  // 'LEAD',
59
59
  "NEW",
60
60
  "ACTIVE",
@@ -63,7 +63,7 @@ const CustomerStatusZod$1 = [
63
63
  // 'FORMER',
64
64
  // 'DECEASED',
65
65
  ];
66
- const ClientStatusActionZod = [
66
+ const CLIENT_STATUS_ACTION = [
67
67
  "ON_CUSTOMER_FORM_COMPLETED",
68
68
  "ON_MANUAL_KYC_VERIFICATION_COMPLETED",
69
69
  "ON_MANUAL_RISK_ASSESSMENT_COMPLETED",
@@ -71,12 +71,12 @@ const ClientStatusActionZod = [
71
71
  "ON_CLOSE_CLIENT",
72
72
  "ON_UNBLOCK_CLIENT"
73
73
  ];
74
- const PartyTypeZod$1 = [
74
+ const PARTY_TYPE$1 = [
75
75
  "INDIVIDUAL",
76
76
  "SELF_EMPLOYED",
77
77
  "ORGANIZATION"
78
78
  ];
79
- const AmlScoreTypeZod$1 = [
79
+ const AML_SCORE_TYPE$1 = [
80
80
  "LOW",
81
81
  "MEDIUM",
82
82
  "HIGH",
@@ -84,44 +84,132 @@ const AmlScoreTypeZod$1 = [
84
84
  "UNVERIFIED",
85
85
  "UNCLASSIFIED"
86
86
  ];
87
- const IdentificationTypeZod = [
87
+ const IDENTIFICATION_TYPE = [
88
88
  "FACE_TO_FACE",
89
89
  "REMOTE_IDENTIFICATION"
90
90
  ];
91
- const GenderZod$1 = ["M", "F", "OTHER"];
92
- const KycStatusZod$1 = [
91
+ const GENDER$1 = ["M", "F", "OTHER"];
92
+ const KYC_STATUS$1 = [
93
93
  "NOT_APPROVED",
94
94
  "VERIFIED",
95
95
  "UNVERIFIED",
96
96
  "REJECTED"
97
97
  ];
98
98
  const TRADER_TYPE$1 = ["PERSON", "COMPANY", "OSVC"];
99
+ const PRODUCT_TYPE$1 = ["TXS", "CBS"];
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
+ ];
99
187
 
100
- const AddressTypeZod = [
188
+ const ADDRESS_TYPE = [
101
189
  "PERMANENT_ADDRESS",
102
190
  "REGISTERED_OFFICE",
103
191
  "CONTACT_ADDRESS"
104
192
  ];
105
- const ContactTypeZod = [
193
+ const CONTACT_TYPE = [
106
194
  "EMAIL",
107
195
  "PHONE_AUTH",
108
196
  "PHONE_CONTACT",
109
197
  "PHONE_WORK"
110
198
  ];
111
- const IdDocTypeZod = ["PASSPORT", "ID", "DRIVING_LICENSE"];
112
- const IdDocStatusZod = [
199
+ const ID_DOC_TYPE = ["PASSPORT", "ID", "DRIVING_LICENSE"];
200
+ const ID_DOC_STATUS = [
113
201
  "ACTIVE",
114
202
  "EXPIRED",
115
203
  "EXPIRE_SOON",
116
204
  "REVOKED"
117
205
  ];
118
- const PartyRelationshipTypeZod = [
206
+ const PARTY_RELATIONSHIP_TYPE = [
119
207
  "AUTHORIZED_SIGNATORY",
120
208
  "POA_HOLDER",
121
209
  "BOARD_MEMBER",
122
210
  "UBO"
123
211
  ];
124
- const CustomerStatusZod = [
212
+ const CUSTOMER_STATUS = [
125
213
  // 'LEAD',
126
214
  "NEW",
127
215
  "ACTIVE",
@@ -130,12 +218,12 @@ const CustomerStatusZod = [
130
218
  // 'FORMER',
131
219
  // 'DECEASED',
132
220
  ];
133
- const PartyTypeZod = [
221
+ const PARTY_TYPE = [
134
222
  "INDIVIDUAL",
135
223
  "SELF_EMPLOYED",
136
224
  "ORGANIZATION"
137
225
  ];
138
- const AmlScoreTypeZod = [
226
+ const AML_SCORE_TYPE = [
139
227
  "LOW",
140
228
  "MEDIUM",
141
229
  "HIGH",
@@ -143,14 +231,100 @@ const AmlScoreTypeZod = [
143
231
  "UNVERIFIED",
144
232
  "UNCLASSIFIED"
145
233
  ];
146
- const GenderZod = ["M", "F", "OTHER"];
147
- const KycStatusZod = [
234
+ const GENDER = ["M", "F", "OTHER"];
235
+ const KYC_STATUS = [
148
236
  "NOT_APPROVED",
149
237
  "VERIFIED",
150
238
  "UNVERIFIED",
151
239
  "REJECTED"
152
240
  ];
153
241
  const TRADER_TYPE = ["PERSON", "COMPANY", "OSVC"];
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
+ ];
154
328
 
155
329
  const entityKind = Symbol.for("drizzle:entityKind");
156
330
  function is(value, type) {
@@ -1354,12 +1528,60 @@ function sqliteTableBase(name, columns, extraConfig, schema, baseName = name) {
1354
1528
  const table = Object.assign(rawTable, builtColumns);
1355
1529
  table[Table.Symbol.Columns] = builtColumns;
1356
1530
  table[Table.Symbol.ExtraConfigColumns] = builtColumns;
1531
+ if (extraConfig) {
1532
+ table[SQLiteTable.Symbol.ExtraConfigBuilder] = extraConfig;
1533
+ }
1357
1534
  return table;
1358
1535
  }
1359
1536
  const sqliteTable = (name, columns, extraConfig) => {
1360
- return sqliteTableBase(name, columns);
1537
+ return sqliteTableBase(name, columns, extraConfig);
1361
1538
  };
1362
1539
 
1540
+ class IndexBuilderOn {
1541
+ constructor(name, unique) {
1542
+ this.name = name;
1543
+ this.unique = unique;
1544
+ }
1545
+ static [entityKind] = "SQLiteIndexBuilderOn";
1546
+ on(...columns) {
1547
+ return new IndexBuilder(this.name, columns, this.unique);
1548
+ }
1549
+ }
1550
+ class IndexBuilder {
1551
+ static [entityKind] = "SQLiteIndexBuilder";
1552
+ /** @internal */
1553
+ config;
1554
+ constructor(name, columns, unique) {
1555
+ this.config = {
1556
+ name,
1557
+ columns,
1558
+ unique,
1559
+ where: void 0
1560
+ };
1561
+ }
1562
+ /**
1563
+ * Condition for partial index.
1564
+ */
1565
+ where(condition) {
1566
+ this.config.where = condition;
1567
+ return this;
1568
+ }
1569
+ /** @internal */
1570
+ build(table) {
1571
+ return new Index(this.config, table);
1572
+ }
1573
+ }
1574
+ class Index {
1575
+ static [entityKind] = "SQLiteIndex";
1576
+ config;
1577
+ constructor(config, table) {
1578
+ this.config = { ...config, table };
1579
+ }
1580
+ }
1581
+ function uniqueIndex(name) {
1582
+ return new IndexBuilderOn(name, true);
1583
+ }
1584
+
1363
1585
  const CONSTANTS = {
1364
1586
  INT8_MIN: -128,
1365
1587
  INT8_MAX: 127,
@@ -1656,15 +1878,15 @@ const createSelectSchema = (entity, refine) => {
1656
1878
  return handleEnum(entity);
1657
1879
  }
1658
1880
  const columns = getColumns(entity);
1659
- return handleColumns(columns, {}, selectConditions);
1881
+ return handleColumns(columns, refine ?? {}, selectConditions);
1660
1882
  };
1661
1883
  const createInsertSchema = (entity, refine) => {
1662
1884
  const columns = getColumns(entity);
1663
- return handleColumns(columns, {}, insertConditions);
1885
+ return handleColumns(columns, refine ?? {}, insertConditions);
1664
1886
  };
1665
1887
  const createUpdateSchema = (entity, refine) => {
1666
1888
  const columns = getColumns(entity);
1667
- return handleColumns(columns, {}, updateConditions);
1889
+ return handleColumns(columns, refine ?? {}, updateConditions);
1668
1890
  };
1669
1891
 
1670
1892
  var esprima$1 = {exports: {}};
@@ -12283,9 +12505,9 @@ const party = sqliteTable("party", {
12283
12505
  internalId: text("internal_id"),
12284
12506
  note: text("note"),
12285
12507
  customerStatus: text("customer_status", {
12286
- enum: CustomerStatusZod
12508
+ enum: CUSTOMER_STATUS
12287
12509
  }).notNull(),
12288
- partyType: text("party_type", { enum: PartyTypeZod }).notNull(),
12510
+ partyType: text("party_type", { enum: PARTY_TYPE }).notNull(),
12289
12511
  language: text("language", { enum: generalCodes.LANGUAGE_CODES }).notNull(),
12290
12512
  countryCode: text("country_code", { enum: generalCodes.COUNTRY_CODES_2 }),
12291
12513
  isClient: integer("is_client", { mode: "boolean" }).notNull().default(false),
@@ -12297,7 +12519,7 @@ const address = sqliteTable("address", {
12297
12519
  internalId: text("internal_id"),
12298
12520
  partyId: text("party_id").notNull().references(() => party.id),
12299
12521
  ruianCode: text("ruian_code"),
12300
- addressType: text("address_type", { enum: AddressTypeZod }).notNull(),
12522
+ addressType: text("address_type", { enum: ADDRESS_TYPE }).notNull(),
12301
12523
  street: text("street"),
12302
12524
  orientationNumber: text("orientation_number"),
12303
12525
  descriptiveNumber: text("descriptive_number"),
@@ -12313,7 +12535,7 @@ const contact = sqliteTable("contact", {
12313
12535
  ...base,
12314
12536
  internalId: text("internal_id"),
12315
12537
  partyId: text("party_id").notNull().references(() => party.id),
12316
- contactType: text("contact_type", { enum: ContactTypeZod }),
12538
+ contactType: text("contact_type", { enum: CONTACT_TYPE }),
12317
12539
  email: text("email").notNull(),
12318
12540
  phoneNumber: text("phone_number").notNull()
12319
12541
  });
@@ -12322,7 +12544,7 @@ const idDocument = sqliteTable("id_document", {
12322
12544
  ...base,
12323
12545
  internalId: text("internal_id"),
12324
12546
  partyId: text("party_id").notNull().references(() => party.id),
12325
- idDocType: text("id_doc_type", { enum: IdDocTypeZod }).notNull(),
12547
+ idDocType: text("id_doc_type", { enum: ID_DOC_TYPE }).notNull(),
12326
12548
  idDocNumber: text("id_doc_number").notNull(),
12327
12549
  idDocHolderName: text("id_doc_holder_name").notNull(),
12328
12550
  issueDate: integer("issue_date", { mode: "timestamp_ms" }),
@@ -12331,7 +12553,7 @@ const idDocument = sqliteTable("id_document", {
12331
12553
  countryOfIssue: text("country_of_issue", { enum: generalCodes.COUNTRY_CODES_2 }),
12332
12554
  frontImageUri: text("front_image_uri"),
12333
12555
  backImageUri: text("back_image_uri"),
12334
- idDocStatus: text("id_doc_status", { enum: IdDocStatusZod })
12556
+ idDocStatus: text("id_doc_status", { enum: ID_DOC_STATUS })
12335
12557
  });
12336
12558
 
12337
12559
  const individual = sqliteTable("individual", {
@@ -12346,7 +12568,7 @@ const individual = sqliteTable("individual", {
12346
12568
  birthPlace: text("birth_place").notNull(),
12347
12569
  countryOfBirth: text("country_of_birth", { enum: generalCodes.COUNTRY_CODES_2 }),
12348
12570
  personalId: text("personal_id").notNull(),
12349
- gender: text("gender", { enum: GenderZod }).notNull(),
12571
+ gender: text("gender", { enum: GENDER }).notNull(),
12350
12572
  citizenship: text("citizenship", { enum: generalCodes.COUNTRY_CODES_2 }).notNull(),
12351
12573
  citizenshipOther: text("citizenship_other", { enum: generalCodes.COUNTRY_CODES_2 }),
12352
12574
  employer: text("employer"),
@@ -12381,8 +12603,7 @@ const organization = sqliteTable("organization", {
12381
12603
  monthlyVolumeOut: integer("monthly_volume_out").notNull(),
12382
12604
  ownedBy: text("owned_by").notNull(),
12383
12605
  // UBO, skutecny majitel, podle Marianovy tabulky by toto mela byt mozna relace na party
12384
- companyObjects: text("company_objects").notNull(),
12385
- // predmet cinnosti
12606
+ companyObjects: text("company_objects", { mode: "json" }).$type().notNull(),
12386
12607
  companyObjectsDescription: text("company_objects_description").notNull(),
12387
12608
  turnover3years: integer("turnover_3_years").notNull(),
12388
12609
  operationCountries: text("operation_countries").notNull(),
@@ -12407,7 +12628,7 @@ const partyRelationship = sqliteTable("party_relationship", {
12407
12628
  ...base,
12408
12629
  internalId: text("internal_id"),
12409
12630
  relationshipType: text("relationship_type", {
12410
- enum: PartyRelationshipTypeZod
12631
+ enum: PARTY_RELATIONSHIP_TYPE
12411
12632
  }),
12412
12633
  fromPartyId: text("from_party_id").references(() => party.id),
12413
12634
  toPartyId: text("to_party_id").references(() => party.id),
@@ -12452,27 +12673,38 @@ const aml = sqliteTable("aml", {
12452
12673
  ...base,
12453
12674
  internalId: text("internal_id"),
12454
12675
  partyId: text("party_id").notNull().unique().references(() => party.id),
12455
- sourceOfWealth: text("source_of_wealth").notNull(),
12456
- yearlyIncome: text("yearly_income").notNull(),
12457
- tradesPurpose: text("trades_purpose"),
12458
- 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
+ servicePurposes: text("service_purposes", { mode: "json" }).$type(),
12680
+ taxDomicile: text("tax_domicile", { enum: TAX_DOMICILE }),
12681
+ taxDomicileCountry: text("tax_domicile_country", { enum: generalCodes.COUNTRY_CODES_2 }),
12459
12682
  transactionType: text("transaction_type"),
12460
12683
  transactionTypeExpiry: integer("transaction_type_expiry", {
12461
12684
  mode: "timestamp_ms"
12462
12685
  }),
12463
- estTxsVolumeMonth: text("est_txs_volume_month").notNull(),
12464
- estTxsVolumeYear: text("est_txs_volume_year").notNull(),
12465
- tradingCountries: text("trading_countries").notNull(),
12466
- tradingSide: text("trading_side").notNull(),
12686
+ estTxsVolumeMonth: text("est_txs_volume_month", {
12687
+ enum: EST_TXS_VOLUME_MONTH
12688
+ }).notNull(),
12689
+ estTxsVolumeYear: text("est_txs_volume_year", {
12690
+ enum: EST_TXS_VOLUME_YEAR
12691
+ }).notNull(),
12692
+ estTxsCountMonth: integer("est_txs_count_month"),
12693
+ tradingCountries: text("trading_countries", { mode: "json" }).$type().notNull(),
12694
+ tradingCountriesOther: text("trading_countries_other", {
12695
+ mode: "json"
12696
+ }).$type(),
12697
+ tradingSide: text("trading_side", { enum: TRADING_SIDE }).notNull(),
12467
12698
  acceptedAMLTermsAndConditions: integer("accepted_aml_terms_and_conditions", {
12468
12699
  mode: "boolean"
12469
12700
  }).notNull(),
12470
- signatureMethod: text("signature_method"),
12471
- existencePeriod: text("existence_period"),
12472
- reputation: text("reputation"),
12701
+ signatureMethod: text("signature_method", { enum: SIGNATURE_METHOD }),
12702
+ existencePeriod: text("existence_period", { enum: EXISTENCE_PERIOD }),
12703
+ reputation: text("reputation", { enum: REPUTATION }),
12704
+ riskBusinessAreas: text("risk_business_areas", { mode: "json" }).$type(),
12473
12705
  isDistraint: integer("is_distraint", { mode: "boolean" }).notNull().default(false),
12474
- riskLevel: text("risk_level", { enum: AmlScoreTypeZod }).notNull(),
12475
- kycStatus: text("kyc_status", { enum: KycStatusZod })
12706
+ riskLevel: text("risk_level", { enum: AML_SCORE_TYPE }).notNull(),
12707
+ kycStatus: text("kyc_status", { enum: KYC_STATUS })
12476
12708
  });
12477
12709
 
12478
12710
  const recipient = sqliteTable("recipient", {
@@ -12503,8 +12735,26 @@ sqliteTable("trader_client", {
12503
12735
  legacyId: text("legacy_id")
12504
12736
  });
12505
12737
 
12738
+ const partyProduct = sqliteTable(
12739
+ "party_product",
12740
+ {
12741
+ ...base,
12742
+ partyId: text("party_id").notNull().references(() => party.id),
12743
+ product: text("product", { enum: PRODUCT_TYPE }).notNull(),
12744
+ config: text("config", { mode: "json" }).$type()
12745
+ },
12746
+ (table) => [
12747
+ uniqueIndex("party_product_party_id_product_unique").on(
12748
+ table.partyId,
12749
+ table.product
12750
+ )
12751
+ ]
12752
+ );
12753
+
12506
12754
  sqliteTable("base", baseMdmSqlite);
12507
12755
 
12756
+ const TXS_CLIENT_TYPE = ["CLIENT", "PROVIDER"];
12757
+
12508
12758
  createInsertSchema(address);
12509
12759
  createUpdateSchema(address);
12510
12760
  createSelectSchema(address);
@@ -12513,7 +12763,7 @@ const addressInsertSchema = zodOpenapi.z.object({
12513
12763
  partyId: zodOpenapi.z.uuid(),
12514
12764
  internalId: zodOpenapi.z.string().optional().nullable(),
12515
12765
  ruianCode: zodOpenapi.z.string().optional().nullable(),
12516
- addressType: zodOpenapi.z.enum(AddressTypeZod),
12766
+ addressType: zodOpenapi.z.enum(ADDRESS_TYPE),
12517
12767
  street: zodOpenapi.z.string().optional().nullable(),
12518
12768
  orientationNumber: zodOpenapi.z.string().optional().nullable(),
12519
12769
  descriptiveNumber: zodOpenapi.z.string().optional().nullable(),
@@ -12529,7 +12779,7 @@ const addressUpdateSchema = zodOpenapi.z.object({
12529
12779
  partyId: zodOpenapi.z.uuid().optional(),
12530
12780
  internalId: zodOpenapi.z.string().optional().nullable(),
12531
12781
  ruianCode: zodOpenapi.z.string().optional().nullable(),
12532
- addressType: zodOpenapi.z.enum(AddressTypeZod).optional(),
12782
+ addressType: zodOpenapi.z.enum(ADDRESS_TYPE).optional(),
12533
12783
  street: zodOpenapi.z.string().optional().nullable(),
12534
12784
  orientationNumber: zodOpenapi.z.string().optional().nullable(),
12535
12785
  descriptiveNumber: zodOpenapi.z.string().optional().nullable(),
@@ -12546,7 +12796,7 @@ const addressSelectSchema = zodOpenapi.z.object({
12546
12796
  partyId: zodOpenapi.z.uuid(),
12547
12797
  internalId: zodOpenapi.z.string().nullable(),
12548
12798
  ruianCode: zodOpenapi.z.string().nullable(),
12549
- addressType: zodOpenapi.z.enum(AddressTypeZod),
12799
+ addressType: zodOpenapi.z.enum(ADDRESS_TYPE),
12550
12800
  street: zodOpenapi.z.string().nullable(),
12551
12801
  orientationNumber: zodOpenapi.z.string().nullable(),
12552
12802
  descriptiveNumber: zodOpenapi.z.string().nullable(),
@@ -12562,51 +12812,138 @@ const addressSelectSchema = zodOpenapi.z.object({
12562
12812
 
12563
12813
  createInsertSchema(aml);
12564
12814
  createUpdateSchema(aml);
12565
- const amlBaseSelectSchema = createSelectSchema(aml);
12815
+ createSelectSchema(aml);
12816
+ const businessPartnerSchema = zodOpenapi.z.object({
12817
+ name: zodOpenapi.z.string(),
12818
+ country: zodOpenapi.z.string(),
12819
+ cooperationReason: zodOpenapi.z.string().nullable()
12820
+ });
12821
+ const foSourceOfWealthSchema = zodOpenapi.z.object({
12822
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
12823
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
12824
+ employer: zodOpenapi.z.string().nullable(),
12825
+ employerCountry: zodOpenapi.z.string().nullable()
12826
+ });
12827
+ const businessSourceOfWealthSchema = zodOpenapi.z.object({
12828
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
12829
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
12830
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
12831
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
12832
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
12833
+ businessPartners: zodOpenapi.z.array(businessPartnerSchema).nullable(),
12834
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
12835
+ });
12836
+ const sourceOfWealthSchema = zodOpenapi.z.union([
12837
+ foSourceOfWealthSchema,
12838
+ businessSourceOfWealthSchema
12839
+ ]);
12840
+ const businessPartnerOutputSchema$1 = zodOpenapi.z.object({
12841
+ name: zodOpenapi.z.string(),
12842
+ country: zodOpenapi.z.string(),
12843
+ cooperationReason: zodOpenapi.z.string().nullable()
12844
+ });
12845
+ const foSourceOfWealthOutputSchema$1 = zodOpenapi.z.object({
12846
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
12847
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
12848
+ employer: zodOpenapi.z.string().nullable(),
12849
+ employerCountry: zodOpenapi.z.string().nullable()
12850
+ });
12851
+ const businessSourceOfWealthOutputSchema$1 = zodOpenapi.z.object({
12852
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)),
12853
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)),
12854
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
12855
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)),
12856
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
12857
+ businessPartners: zodOpenapi.z.array(businessPartnerOutputSchema$1).nullable(),
12858
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
12859
+ });
12860
+ const sourceOfWealthOutputSchema = zodOpenapi.z.union([
12861
+ foSourceOfWealthOutputSchema$1,
12862
+ businessSourceOfWealthOutputSchema$1
12863
+ ]);
12566
12864
  const amlInsertSchema = zodOpenapi.z.object({
12567
12865
  partyId: zodOpenapi.z.uuid(),
12568
- internalId: zodOpenapi.z.string().optional().nullable(),
12569
- sourceOfWealth: zodOpenapi.z.string(),
12570
- yearlyIncome: zodOpenapi.z.string(),
12571
- tradesPurpose: zodOpenapi.z.string().optional().nullable(),
12572
- sourceOfIncome: zodOpenapi.z.string(),
12573
- transactionType: zodOpenapi.z.string().optional().nullable(),
12574
- transactionTypeExpiry: zodOpenapi.z.date().optional().nullable(),
12866
+ internalId: zodOpenapi.z.string().optional(),
12867
+ sourceOfWealth: sourceOfWealthSchema,
12868
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
12869
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
12870
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
12871
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
12872
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
12873
+ transactionType: zodOpenapi.z.string().optional(),
12874
+ transactionTypeExpiry: zodOpenapi.z.date().optional(),
12575
12875
  isDistraint: zodOpenapi.z.boolean().default(false),
12576
- estTxsVolumeMonth: zodOpenapi.z.string(),
12577
- estTxsVolumeYear: zodOpenapi.z.string(),
12578
- tradingCountries: zodOpenapi.z.string(),
12579
- tradingSide: zodOpenapi.z.string(),
12876
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
12877
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
12878
+ estTxsCountMonth: zodOpenapi.z.number().int().optional(),
12879
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)).min(1),
12880
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).optional(),
12881
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
12580
12882
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
12581
- signatureMethod: zodOpenapi.z.string().nullable().optional(),
12582
- existencePeriod: zodOpenapi.z.string().nullable().optional(),
12583
- reputation: zodOpenapi.z.string().nullable().optional(),
12584
- riskLevel: zodOpenapi.z.enum(AmlScoreTypeZod).nullable().optional(),
12585
- kycStatus: zodOpenapi.z.enum(KycStatusZod).nullable().optional()
12883
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).optional(),
12884
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).optional(),
12885
+ reputation: zodOpenapi.z.enum(REPUTATION).optional(),
12886
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).optional(),
12887
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).optional(),
12888
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).optional()
12586
12889
  });
12587
12890
  const amlUpdateSchema = zodOpenapi.z.object({
12588
12891
  id: zodOpenapi.z.uuid(),
12589
12892
  partyId: zodOpenapi.z.uuid().optional(),
12590
- internalId: zodOpenapi.z.string().optional().nullable(),
12591
- sourceOfWealth: zodOpenapi.z.string().optional(),
12592
- yearlyIncome: zodOpenapi.z.string().optional(),
12593
- tradesPurpose: zodOpenapi.z.string().optional().nullable(),
12594
- sourceOfIncome: zodOpenapi.z.string().optional(),
12595
- transactionType: zodOpenapi.z.string().optional().nullable(),
12596
- transactionTypeExpiry: zodOpenapi.z.date().optional().nullable(),
12893
+ internalId: zodOpenapi.z.string().optional(),
12894
+ sourceOfWealth: sourceOfWealthSchema.optional(),
12895
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME).optional(),
12896
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1).optional(),
12897
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
12898
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
12899
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
12900
+ transactionType: zodOpenapi.z.string().optional(),
12901
+ transactionTypeExpiry: zodOpenapi.z.date().optional(),
12597
12902
  isDistraint: zodOpenapi.z.boolean().optional(),
12598
- estTxsVolumeMonth: zodOpenapi.z.string(),
12599
- estTxsVolumeYear: zodOpenapi.z.string(),
12600
- tradingCountries: zodOpenapi.z.string(),
12601
- tradingSide: zodOpenapi.z.string(),
12903
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH).optional(),
12904
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR).optional(),
12905
+ estTxsCountMonth: zodOpenapi.z.number().int().optional(),
12906
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)).min(1).optional(),
12907
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).optional(),
12908
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE).optional(),
12909
+ acceptedAMLTermsAndConditions: zodOpenapi.z.boolean().optional(),
12910
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).optional(),
12911
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).optional(),
12912
+ reputation: zodOpenapi.z.enum(REPUTATION).optional(),
12913
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).optional(),
12914
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).optional(),
12915
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).optional()
12916
+ });
12917
+ const amlSelectSchema = zodOpenapi.z.object({
12918
+ id: zodOpenapi.z.string(),
12919
+ partyId: zodOpenapi.z.string(),
12920
+ internalId: zodOpenapi.z.string().nullable(),
12921
+ sourceOfWealth: sourceOfWealthOutputSchema,
12922
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
12923
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
12924
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).nullable(),
12925
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).nullable(),
12926
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
12927
+ transactionType: zodOpenapi.z.string().nullable(),
12928
+ transactionTypeExpiry: zodOpenapi.z.date().nullable(),
12929
+ isDistraint: zodOpenapi.z.boolean(),
12930
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
12931
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
12932
+ estTxsCountMonth: zodOpenapi.z.number().int().nullable(),
12933
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)),
12934
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
12935
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
12602
12936
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
12603
- signatureMethod: zodOpenapi.z.string().nullable().optional(),
12604
- existencePeriod: zodOpenapi.z.string().nullable().optional(),
12605
- reputation: zodOpenapi.z.string().nullable().optional(),
12606
- riskLevel: zodOpenapi.z.enum(AmlScoreTypeZod).nullable().optional(),
12607
- kycStatus: zodOpenapi.z.enum(KycStatusZod).nullable().optional()
12937
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).nullable(),
12938
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).nullable(),
12939
+ reputation: zodOpenapi.z.enum(REPUTATION).nullable(),
12940
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).nullable(),
12941
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE),
12942
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).nullable(),
12943
+ createdAt: zodOpenapi.z.date().nullable(),
12944
+ updatedAt: zodOpenapi.z.date().nullable(),
12945
+ deletedAt: zodOpenapi.z.date().nullable()
12608
12946
  });
12609
- const amlSelectSchema = amlBaseSelectSchema;
12610
12947
 
12611
12948
  const bankAccountBaseInsertSchema = createInsertSchema(bankAccount);
12612
12949
  createUpdateSchema(bankAccount);
@@ -12627,7 +12964,7 @@ createSelectSchema(contact);
12627
12964
  const contactInsertSchema = zodOpenapi.z.object({
12628
12965
  partyId: zodOpenapi.z.uuid(),
12629
12966
  internalId: zodOpenapi.z.string().optional().nullable(),
12630
- contactType: zodOpenapi.z.enum(ContactTypeZod).optional(),
12967
+ contactType: zodOpenapi.z.enum(CONTACT_TYPE).optional(),
12631
12968
  email: zodOpenapi.z.email("Invalid email format"),
12632
12969
  phoneNumber: zodOpenapi.z.string()
12633
12970
  });
@@ -12635,7 +12972,7 @@ const contactUpdateSchema = zodOpenapi.z.object({
12635
12972
  id: zodOpenapi.z.uuid(),
12636
12973
  partyId: zodOpenapi.z.uuid().optional(),
12637
12974
  internalId: zodOpenapi.z.string().optional().nullable(),
12638
- contactType: zodOpenapi.z.enum(ContactTypeZod).optional(),
12975
+ contactType: zodOpenapi.z.enum(CONTACT_TYPE).optional(),
12639
12976
  email: zodOpenapi.z.email("Invalid email format").optional(),
12640
12977
  phoneNumber: zodOpenapi.z.string().optional()
12641
12978
  });
@@ -12653,7 +12990,7 @@ const individualInsertSchema$1 = zodOpenapi.z.object({
12653
12990
  birthPlace: zodOpenapi.z.string(),
12654
12991
  countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12655
12992
  personalId: zodOpenapi.z.string(),
12656
- gender: zodOpenapi.z.enum(GenderZod),
12993
+ gender: zodOpenapi.z.enum(GENDER),
12657
12994
  citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
12658
12995
  citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12659
12996
  employer: zodOpenapi.z.string().optional().nullable(),
@@ -12681,7 +13018,7 @@ const individualUpdateSchema$1 = zodOpenapi.z.object({
12681
13018
  birthPlace: zodOpenapi.z.string().optional(),
12682
13019
  countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12683
13020
  personalId: zodOpenapi.z.string().optional(),
12684
- gender: zodOpenapi.z.enum(GenderZod).optional(),
13021
+ gender: zodOpenapi.z.enum(GENDER).optional(),
12685
13022
  citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
12686
13023
  citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12687
13024
  employer: zodOpenapi.z.string().optional().nullable(),
@@ -12710,7 +13047,7 @@ const individualSelectSchema = zodOpenapi.z.object({
12710
13047
  birthPlace: zodOpenapi.z.string(),
12711
13048
  countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
12712
13049
  personalId: zodOpenapi.z.string(),
12713
- gender: zodOpenapi.z.enum(GenderZod),
13050
+ gender: zodOpenapi.z.enum(GENDER),
12714
13051
  citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
12715
13052
  citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
12716
13053
  employer: zodOpenapi.z.string().nullable(),
@@ -12745,7 +13082,7 @@ const organizationInsertSchema = zodOpenapi.z.object({
12745
13082
  monthlyVolumeIn: zodOpenapi.z.number(),
12746
13083
  monthlyVolumeOut: zodOpenapi.z.number(),
12747
13084
  ownedBy: zodOpenapi.z.string(),
12748
- companyObjects: zodOpenapi.z.string(),
13085
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1),
12749
13086
  annualTurnover: zodOpenapi.z.number(),
12750
13087
  numberOfEmployees: zodOpenapi.z.number().optional().nullable(),
12751
13088
  prosecuted: zodOpenapi.z.string().optional().nullable(),
@@ -12771,7 +13108,7 @@ const organizationUpdateSchema$1 = zodOpenapi.z.object({
12771
13108
  monthlyVolumeIn: zodOpenapi.z.number().optional(),
12772
13109
  monthlyVolumeOut: zodOpenapi.z.number().optional(),
12773
13110
  ownedBy: zodOpenapi.z.string().optional(),
12774
- companyObjects: zodOpenapi.z.string().optional(),
13111
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1).optional(),
12775
13112
  annualTurnover: zodOpenapi.z.number().optional(),
12776
13113
  numberOfEmployees: zodOpenapi.z.number().optional().nullable(),
12777
13114
  prosecuted: zodOpenapi.z.string().optional().nullable(),
@@ -12798,7 +13135,7 @@ const organizationOutputSchema = zodOpenapi.z.object({
12798
13135
  monthlyVolumeIn: zodOpenapi.z.number(),
12799
13136
  monthlyVolumeOut: zodOpenapi.z.number(),
12800
13137
  ownedBy: zodOpenapi.z.string(),
12801
- companyObjects: zodOpenapi.z.string(),
13138
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)),
12802
13139
  annualTurnover: zodOpenapi.z.number(),
12803
13140
  numberOfEmployees: zodOpenapi.z.number().nullable(),
12804
13141
  prosecuted: zodOpenapi.z.string().nullable(),
@@ -12867,7 +13204,7 @@ createSelectSchema(idDocument);
12867
13204
  const idDocumentInsertSchema = zodOpenapi.z.object({
12868
13205
  partyId: zodOpenapi.z.uuid(),
12869
13206
  internalId: zodOpenapi.z.string().optional().nullable(),
12870
- idDocType: zodOpenapi.z.enum(IdDocTypeZod),
13207
+ idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
12871
13208
  idDocNumber: zodOpenapi.z.string(),
12872
13209
  idDocHolderName: zodOpenapi.z.string(),
12873
13210
  issueDate: zodOpenapi.z.date().optional().nullable(),
@@ -12876,13 +13213,13 @@ const idDocumentInsertSchema = zodOpenapi.z.object({
12876
13213
  countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12877
13214
  frontImageUri: zodOpenapi.z.url().optional().nullable(),
12878
13215
  backImageUri: zodOpenapi.z.url().optional().nullable(),
12879
- idDocStatus: zodOpenapi.z.enum(IdDocStatusZod).optional().nullable()
13216
+ idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional().nullable()
12880
13217
  });
12881
13218
  const idDocumentUpdateSchema = zodOpenapi.z.object({
12882
13219
  id: zodOpenapi.z.uuid(),
12883
13220
  partyId: zodOpenapi.z.uuid().optional(),
12884
13221
  internalId: zodOpenapi.z.string().optional().nullable(),
12885
- idDocType: zodOpenapi.z.enum(IdDocTypeZod).optional(),
13222
+ idDocType: zodOpenapi.z.enum(ID_DOC_TYPE).optional(),
12886
13223
  idDocNumber: zodOpenapi.z.string().optional(),
12887
13224
  idDocHolderName: zodOpenapi.z.string().optional(),
12888
13225
  issueDate: zodOpenapi.z.date().optional().nullable(),
@@ -12891,7 +13228,7 @@ const idDocumentUpdateSchema = zodOpenapi.z.object({
12891
13228
  countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
12892
13229
  frontImageUri: zodOpenapi.z.url("Invalid URL format").optional().nullable(),
12893
13230
  backImageUri: zodOpenapi.z.url("Invalid URL format").optional().nullable(),
12894
- idDocStatus: zodOpenapi.z.enum(IdDocStatusZod).optional().nullable()
13231
+ idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional().nullable()
12895
13232
  });
12896
13233
 
12897
13234
  const recipientBaseInsertSchema = createInsertSchema(recipient);
@@ -12904,21 +13241,64 @@ const recipientInsertSchema = bankAccountInsertSchema;
12904
13241
  const recipientUpdateSchema = bankAccountUpdateSchema;
12905
13242
  const recipientSelectSchema = bankAccountSelectSchema;
12906
13243
 
13244
+ const productTxsConfigSchema = zodOpenapi.z.object({
13245
+ fee: zodOpenapi.z.number(),
13246
+ margin: zodOpenapi.z.number(),
13247
+ reportingEmail: zodOpenapi.z.string().optional(),
13248
+ clientType: zodOpenapi.z.enum(TXS_CLIENT_TYPE).optional()
13249
+ });
13250
+ const productCbsConfigSchema = zodOpenapi.z.object({});
13251
+ const productConfigSchema = zodOpenapi.z.union([
13252
+ productTxsConfigSchema,
13253
+ productCbsConfigSchema
13254
+ ]);
13255
+ const partyProductBaseInsertSchema = createInsertSchema(partyProduct, {
13256
+ config: () => productConfigSchema.nullable()
13257
+ });
13258
+ createUpdateSchema(partyProduct, {
13259
+ config: () => productConfigSchema.nullable()
13260
+ });
13261
+ createSelectSchema(partyProduct, {
13262
+ config: () => productConfigSchema.nullable()
13263
+ });
13264
+ const partyProductUpdateSchema = partyProductBaseInsertSchema.extend({
13265
+ partyId: zodOpenapi.z.uuid()
13266
+ });
13267
+ partyProductUpdateSchema.omit({
13268
+ id: true
13269
+ });
13270
+ const partyProductSelectSchema = partyProductUpdateSchema.required();
13271
+ zodOpenapi.z.array(partyProductSelectSchema);
13272
+ const productsInputSchema$2 = zodOpenapi.z.object({
13273
+ txs: productTxsConfigSchema.optional(),
13274
+ cbs: productCbsConfigSchema.optional()
13275
+ });
13276
+ const productTxsConfigOutputSchema = zodOpenapi.z.object({
13277
+ fee: zodOpenapi.z.number(),
13278
+ margin: zodOpenapi.z.number(),
13279
+ reportingEmail: zodOpenapi.z.string().nullable(),
13280
+ clientType: zodOpenapi.z.enum(TXS_CLIENT_TYPE).nullable()
13281
+ });
13282
+ const productsOutputSchema$1 = zodOpenapi.z.object({
13283
+ txs: productTxsConfigOutputSchema.nullable(),
13284
+ cbs: productCbsConfigSchema.nullable()
13285
+ });
13286
+
12907
13287
  createInsertSchema(party);
12908
13288
  createUpdateSchema(party);
12909
13289
  const partySchema$2 = zodOpenapi.z.object({
12910
- partyType: zodOpenapi.z.enum(PartyTypeZod),
13290
+ partyType: zodOpenapi.z.enum(PARTY_TYPE),
12911
13291
  language: zodOpenapi.z.enum(generalCodes.LANGUAGE_CODES),
12912
13292
  id: zodOpenapi.z.uuid().nullable(),
12913
13293
  note: zodOpenapi.z.string().optional(),
12914
13294
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
12915
- customerStatus: zodOpenapi.z.enum(CustomerStatusZod).optional(),
13295
+ customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS).optional(),
12916
13296
  legacyId: zodOpenapi.z.string().optional()
12917
13297
  });
12918
13298
  const partyOutputSchema$1 = zodOpenapi.z.object({
12919
13299
  internalId: zodOpenapi.z.string().nullable(),
12920
- customerStatus: zodOpenapi.z.enum(CustomerStatusZod),
12921
- partyType: zodOpenapi.z.enum(PartyTypeZod),
13300
+ customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS),
13301
+ partyType: zodOpenapi.z.enum(PARTY_TYPE),
12922
13302
  language: zodOpenapi.z.enum(generalCodes.LANGUAGE_CODES),
12923
13303
  id: zodOpenapi.z.uuid(),
12924
13304
  note: zodOpenapi.z.string().nullable(),
@@ -12936,7 +13316,8 @@ zodOpenapi.z.object({
12936
13316
  recipients: zodOpenapi.z.array(recipientInsertSchema.omit({ partyId: true })).nullable(),
12937
13317
  disponents: zodOpenapi.z.array(disponentCreateSchema).nullable(),
12938
13318
  addresses: zodOpenapi.z.array(addressInsertSchema.omit({ partyId: true })),
12939
- aml: amlInsertSchema.omit({ partyId: true })
13319
+ aml: amlInsertSchema.omit({ partyId: true }),
13320
+ products: productsInputSchema$2.optional()
12940
13321
  });
12941
13322
  zodOpenapi.z.object({
12942
13323
  partyId: zodOpenapi.z.uuid(),
@@ -12947,7 +13328,8 @@ zodOpenapi.z.object({
12947
13328
  recipients: zodOpenapi.z.array(recipientUpsertSchema).optional(),
12948
13329
  disponents: zodOpenapi.z.array(disponentUpdateSchema$1).optional(),
12949
13330
  addresses: zodOpenapi.z.array(addressUpdateSchema).optional(),
12950
- aml: amlUpdateSchema.optional()
13331
+ aml: amlUpdateSchema.optional(),
13332
+ products: productsInputSchema$2.optional()
12951
13333
  });
12952
13334
  const partySelectOutputSchema = zodOpenapi.z.object({
12953
13335
  party: partyOutputSchema$1.nullable(),
@@ -12957,7 +13339,8 @@ const partySelectOutputSchema = zodOpenapi.z.object({
12957
13339
  bankAccounts: zodOpenapi.z.array(bankAccountSelectSchema).nullable(),
12958
13340
  disponents: zodOpenapi.z.array(disponentSelectSchema).nullable(),
12959
13341
  addresses: zodOpenapi.z.array(addressSelectSchema).nullable(),
12960
- recipients: zodOpenapi.z.array(recipientSelectSchema).nullable()
13342
+ recipients: zodOpenapi.z.array(recipientSelectSchema).nullable(),
13343
+ products: productsOutputSchema$1.nullable()
12961
13344
  });
12962
13345
  zodOpenapi.z.array(partySelectOutputSchema);
12963
13346
  const partySelectDataSchema = zodOpenapi.z.object({
@@ -12974,7 +13357,8 @@ const partySelectArrayDataSchema = zodOpenapi.z.object({
12974
13357
  });
12975
13358
  zodOpenapi.z.object({
12976
13359
  ...partySelectDataSchema.shape,
12977
- ...partySelectArrayDataSchema.shape
13360
+ ...partySelectArrayDataSchema.shape,
13361
+ products: productsOutputSchema$1.nullable()
12978
13362
  });
12979
13363
 
12980
13364
  createInsertSchema(partyChange);
@@ -13002,7 +13386,7 @@ createInsertSchema(partyRelationship);
13002
13386
  createUpdateSchema(partyRelationship);
13003
13387
  createSelectSchema(partyRelationship);
13004
13388
  zodOpenapi.z.object({
13005
- relationshipType: zodOpenapi.z.enum(PartyRelationshipTypeZod).optional(),
13389
+ relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
13006
13390
  frompartyId: zodOpenapi.z.uuid().optional().nullable(),
13007
13391
  internalId: zodOpenapi.z.string().optional().nullable(),
13008
13392
  topartyId: zodOpenapi.z.uuid().optional().nullable(),
@@ -13011,7 +13395,7 @@ zodOpenapi.z.object({
13011
13395
  });
13012
13396
  zodOpenapi.z.object({
13013
13397
  id: zodOpenapi.z.uuid(),
13014
- relationshipType: zodOpenapi.z.enum(PartyRelationshipTypeZod).optional(),
13398
+ relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
13015
13399
  frompartyId: zodOpenapi.z.uuid().optional().nullable(),
13016
13400
  internalId: zodOpenapi.z.string().optional().nullable(),
13017
13401
  topartyId: zodOpenapi.z.uuid().optional().nullable(),
@@ -13306,7 +13690,7 @@ const errorResponse = (entityName, action = "creation") => ({
13306
13690
  });
13307
13691
 
13308
13692
  const partySchema$1 = zodOpenapi.z.object({
13309
- partyType: zodOpenapi.z.enum(PartyTypeZod),
13693
+ partyType: zodOpenapi.z.enum(PARTY_TYPE),
13310
13694
  language: zodOpenapi.z.enum(generalCodes.LANGUAGE_CODES),
13311
13695
  id: zodOpenapi.z.uuid(),
13312
13696
  internalId: zodOpenapi.z.string().optional(),
@@ -13323,7 +13707,7 @@ const individualInsertSchema = zodOpenapi.z.object({
13323
13707
  birthPlace: zodOpenapi.z.string(),
13324
13708
  countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13325
13709
  personalId: zodOpenapi.z.string(),
13326
- gender: zodOpenapi.z.enum(GenderZod),
13710
+ gender: zodOpenapi.z.enum(GENDER),
13327
13711
  citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
13328
13712
  citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13329
13713
  employer: zodOpenapi.z.string().optional(),
@@ -13352,7 +13736,7 @@ const createOrganizationInputSchema = zodOpenapi.z.object({
13352
13736
  monthlyVolumeIn: zodOpenapi.z.number(),
13353
13737
  monthlyVolumeOut: zodOpenapi.z.number(),
13354
13738
  ownedBy: zodOpenapi.z.string(),
13355
- companyObjects: zodOpenapi.z.string(),
13739
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1),
13356
13740
  annualTurnover: zodOpenapi.z.number(),
13357
13741
  numberOfEmployees: zodOpenapi.z.number(),
13358
13742
  prosecuted: zodOpenapi.z.string().optional(),
@@ -13391,7 +13775,7 @@ const disponentSchema = zodOpenapi.z.discriminatedUnion("partyType", [
13391
13775
  })
13392
13776
  ]);
13393
13777
  const createAddressInputSchema = zodOpenapi.z.object({
13394
- addressType: zodOpenapi.z.enum(AddressTypeZod),
13778
+ addressType: zodOpenapi.z.enum(ADDRESS_TYPE),
13395
13779
  internalId: zodOpenapi.z.string().optional(),
13396
13780
  street: zodOpenapi.z.string(),
13397
13781
  orientationNumber: zodOpenapi.z.string().optional(),
@@ -13404,25 +13788,62 @@ const createAddressInputSchema = zodOpenapi.z.object({
13404
13788
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
13405
13789
  ruianCode: zodOpenapi.z.string().optional()
13406
13790
  });
13791
+ const businessPartnerInputSchema$1 = zodOpenapi.z.object({
13792
+ name: zodOpenapi.z.string(),
13793
+ country: zodOpenapi.z.string(),
13794
+ cooperationReason: zodOpenapi.z.string().nullable()
13795
+ });
13796
+ const foSourceOfWealthInputSchema$1 = zodOpenapi.z.object({
13797
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
13798
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
13799
+ employer: zodOpenapi.z.string().nullable(),
13800
+ employerCountry: zodOpenapi.z.string().nullable()
13801
+ });
13802
+ const businessSourceOfWealthInputSchema$1 = zodOpenapi.z.object({
13803
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
13804
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
13805
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
13806
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
13807
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
13808
+ businessPartners: zodOpenapi.z.array(businessPartnerInputSchema$1).nullable(),
13809
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
13810
+ });
13407
13811
  const createAmlInputSchema = zodOpenapi.z.object({
13408
13812
  internalId: zodOpenapi.z.string().optional(),
13409
- sourceOfWealth: zodOpenapi.z.string(),
13410
- yearlyIncome: zodOpenapi.z.string(),
13411
- tradesPurpose: zodOpenapi.z.string().optional(),
13412
- sourceOfIncome: zodOpenapi.z.string(),
13813
+ sourceOfWealth: zodOpenapi.z.union([
13814
+ foSourceOfWealthInputSchema$1,
13815
+ businessSourceOfWealthInputSchema$1
13816
+ ]),
13817
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
13818
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
13819
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
13820
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
13821
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13413
13822
  transactionType: zodOpenapi.z.string().optional(),
13414
13823
  transactionTypeExpiry: zodOpenapi.z.date().optional(),
13415
13824
  isDistraint: zodOpenapi.z.boolean().default(false),
13416
- estTxsVolumeMonth: zodOpenapi.z.string(),
13417
- estTxsVolumeYear: zodOpenapi.z.string(),
13418
- tradingCountries: zodOpenapi.z.string(),
13419
- tradingSide: zodOpenapi.z.string(),
13825
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
13826
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
13827
+ estTxsCountMonth: zodOpenapi.z.number().int().optional(),
13828
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)).min(1),
13829
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).optional(),
13830
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
13420
13831
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
13421
- signatureMethod: zodOpenapi.z.string().optional(),
13422
- existencePeriod: zodOpenapi.z.string().optional(),
13423
- reputation: zodOpenapi.z.string().optional(),
13424
- riskLevel: zodOpenapi.z.enum(AmlScoreTypeZod).optional(),
13425
- kycStatus: zodOpenapi.z.enum(KycStatusZod).optional()
13832
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).optional(),
13833
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).optional(),
13834
+ reputation: zodOpenapi.z.enum(REPUTATION).optional(),
13835
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).optional(),
13836
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).optional(),
13837
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).optional()
13838
+ });
13839
+ const productsInputSchema$1 = zodOpenapi.z.object({
13840
+ txs: zodOpenapi.z.object({
13841
+ fee: zodOpenapi.z.number(),
13842
+ margin: zodOpenapi.z.number(),
13843
+ reportingEmail: zodOpenapi.z.string().optional(),
13844
+ clientType: zodOpenapi.z.enum(TXS_CLIENT_TYPE).optional()
13845
+ }).optional(),
13846
+ cbs: zodOpenapi.z.object({}).optional()
13426
13847
  });
13427
13848
  const createPartyInputSchema = zodOpenapi.z.object({
13428
13849
  party: partySchema$1.omit({ id: true }),
@@ -13432,11 +13853,12 @@ const createPartyInputSchema = zodOpenapi.z.object({
13432
13853
  disponents: zodOpenapi.z.array(disponentSchema),
13433
13854
  addresses: zodOpenapi.z.array(createAddressInputSchema),
13434
13855
  aml: createAmlInputSchema,
13435
- recipients: zodOpenapi.z.array(bankAccountInputSchema)
13856
+ recipients: zodOpenapi.z.array(bankAccountInputSchema),
13857
+ products: productsInputSchema$1.optional()
13436
13858
  });
13437
13859
  const partyCreateOutputSchema = zodOpenapi.z.object({
13438
- customerStatus: zodOpenapi.z.enum(CustomerStatusZod),
13439
- partyType: zodOpenapi.z.enum(PartyTypeZod),
13860
+ customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS),
13861
+ partyType: zodOpenapi.z.enum(PARTY_TYPE),
13440
13862
  language: zodOpenapi.z.enum(generalCodes.LANGUAGE_CODES),
13441
13863
  id: zodOpenapi.z.uuid(),
13442
13864
  internalId: zodOpenapi.z.string().nullable(),
@@ -13500,7 +13922,7 @@ new zodOpenapi.OpenAPIHono().openapi(
13500
13922
  );
13501
13923
 
13502
13924
  const partySchema = zodOpenapi.z.object({
13503
- partyType: zodOpenapi.z.enum(PartyTypeZod),
13925
+ partyType: zodOpenapi.z.enum(PARTY_TYPE),
13504
13926
  language: zodOpenapi.z.enum(generalCodes.LANGUAGE_CODES),
13505
13927
  id: zodOpenapi.z.uuid(),
13506
13928
  internalId: zodOpenapi.z.string().optional(),
@@ -13519,7 +13941,7 @@ const individualUpdateSchema = zodOpenapi.z.object({
13519
13941
  birthPlace: zodOpenapi.z.string().optional(),
13520
13942
  countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13521
13943
  personalId: zodOpenapi.z.string().optional(),
13522
- gender: zodOpenapi.z.enum(GenderZod).optional(),
13944
+ gender: zodOpenapi.z.enum(GENDER).optional(),
13523
13945
  citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13524
13946
  citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13525
13947
  employer: zodOpenapi.z.string().optional(),
@@ -13550,7 +13972,7 @@ const organizationUpdateSchema = zodOpenapi.z.object({
13550
13972
  monthlyVolumeIn: zodOpenapi.z.number().optional(),
13551
13973
  monthlyVolumeOut: zodOpenapi.z.number().optional(),
13552
13974
  ownedBy: zodOpenapi.z.string().optional(),
13553
- companyObjects: zodOpenapi.z.string().optional(),
13975
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)).min(1).optional(),
13554
13976
  annualTurnover: zodOpenapi.z.number().optional(),
13555
13977
  numberOfEmployees: zodOpenapi.z.number().optional(),
13556
13978
  prosecuted: zodOpenapi.z.string().optional(),
@@ -13587,7 +14009,7 @@ const updateAddressInputSchema = zodOpenapi.z.object({
13587
14009
  id: zodOpenapi.z.uuid(),
13588
14010
  partyId: zodOpenapi.z.uuid(),
13589
14011
  internalId: zodOpenapi.z.string().optional(),
13590
- addressType: zodOpenapi.z.enum(AddressTypeZod),
14012
+ addressType: zodOpenapi.z.enum(ADDRESS_TYPE),
13591
14013
  street: zodOpenapi.z.string(),
13592
14014
  orientationNumber: zodOpenapi.z.string().optional(),
13593
14015
  descriptiveNumber: zodOpenapi.z.string().optional(),
@@ -13599,27 +14021,61 @@ const updateAddressInputSchema = zodOpenapi.z.object({
13599
14021
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
13600
14022
  ruianCode: zodOpenapi.z.string().optional()
13601
14023
  });
14024
+ const businessPartnerInputSchema = zodOpenapi.z.object({
14025
+ name: zodOpenapi.z.string(),
14026
+ country: zodOpenapi.z.string(),
14027
+ cooperationReason: zodOpenapi.z.string().nullable()
14028
+ });
14029
+ const foSourceOfWealthInputSchema = zodOpenapi.z.object({
14030
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
14031
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
14032
+ employer: zodOpenapi.z.string().nullable(),
14033
+ employerCountry: zodOpenapi.z.string().nullable()
14034
+ });
14035
+ const businessSourceOfWealthInputSchema = zodOpenapi.z.object({
14036
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
14037
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
14038
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
14039
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
14040
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
14041
+ businessPartners: zodOpenapi.z.array(businessPartnerInputSchema).nullable(),
14042
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
14043
+ });
13602
14044
  const updateAmlInputSchema = zodOpenapi.z.object({
13603
14045
  id: zodOpenapi.z.uuid(),
13604
14046
  partyId: zodOpenapi.z.uuid().optional(),
13605
14047
  internalId: zodOpenapi.z.string().optional(),
13606
- sourceOfWealth: zodOpenapi.z.string().optional(),
13607
- yearlyIncome: zodOpenapi.z.string().optional(),
13608
- tradesPurpose: zodOpenapi.z.string().optional(),
13609
- sourceOfIncome: zodOpenapi.z.string().optional(),
14048
+ sourceOfWealth: zodOpenapi.z.union([foSourceOfWealthInputSchema, businessSourceOfWealthInputSchema]).optional(),
14049
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME).optional(),
14050
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1).optional(),
14051
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
14052
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
14053
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
13610
14054
  transactionType: zodOpenapi.z.string().optional(),
13611
14055
  transactionTypeExpiry: zodOpenapi.z.date().optional(),
13612
14056
  isDistraint: zodOpenapi.z.boolean().optional(),
13613
- estTxsVolumeMonth: zodOpenapi.z.string(),
13614
- estTxsVolumeYear: zodOpenapi.z.string(),
13615
- tradingCountries: zodOpenapi.z.string(),
13616
- tradingSide: zodOpenapi.z.string(),
14057
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
14058
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
14059
+ estTxsCountMonth: zodOpenapi.z.number().int().optional(),
14060
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)).min(1),
14061
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).optional(),
14062
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
13617
14063
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
13618
- signatureMethod: zodOpenapi.z.string().optional(),
13619
- existencePeriod: zodOpenapi.z.string().optional(),
13620
- reputation: zodOpenapi.z.string().optional(),
13621
- riskLevel: zodOpenapi.z.enum(AmlScoreTypeZod).optional(),
13622
- kycStatus: zodOpenapi.z.enum(KycStatusZod).optional()
14064
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).optional(),
14065
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).optional(),
14066
+ reputation: zodOpenapi.z.enum(REPUTATION).optional(),
14067
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).optional(),
14068
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE).optional(),
14069
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).optional()
14070
+ });
14071
+ const productsInputSchema = zodOpenapi.z.object({
14072
+ txs: zodOpenapi.z.object({
14073
+ fee: zodOpenapi.z.number(),
14074
+ margin: zodOpenapi.z.number(),
14075
+ reportingEmail: zodOpenapi.z.string().optional(),
14076
+ clientType: zodOpenapi.z.enum(TXS_CLIENT_TYPE).optional()
14077
+ }).optional(),
14078
+ cbs: zodOpenapi.z.object({}).optional()
13623
14079
  });
13624
14080
  const partyUpdateInputSchema = zodOpenapi.z.object({
13625
14081
  party: partySchema,
@@ -13629,12 +14085,13 @@ const partyUpdateInputSchema = zodOpenapi.z.object({
13629
14085
  disponents: zodOpenapi.z.array(disponentUpdateSchema).optional(),
13630
14086
  addresses: zodOpenapi.z.array(updateAddressInputSchema),
13631
14087
  recipients: zodOpenapi.z.array(updateBankAccountSchema).nullable(),
13632
- aml: updateAmlInputSchema.optional()
14088
+ aml: updateAmlInputSchema.optional(),
14089
+ products: productsInputSchema.optional()
13633
14090
  });
13634
14091
  const updatePartyOuputSchema = zodOpenapi.z.object({
13635
14092
  id: zodOpenapi.z.uuid(),
13636
- customerStatus: zodOpenapi.z.enum(CustomerStatusZod),
13637
- partyType: zodOpenapi.z.enum(PartyTypeZod),
14093
+ customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS),
14094
+ partyType: zodOpenapi.z.enum(PARTY_TYPE),
13638
14095
  language: zodOpenapi.z.enum(generalCodes.LANGUAGE_CODES),
13639
14096
  note: zodOpenapi.z.string().nullable(),
13640
14097
  countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable()
@@ -13645,7 +14102,7 @@ const responseBodySchema$4 = zodOpenapi.z.object({
13645
14102
  });
13646
14103
  const updatePartyRoute = zodOpenapi.createRoute({
13647
14104
  method: "put",
13648
- path: "/{partyId}",
14105
+ path: "/",
13649
14106
  summary: "Update party",
13650
14107
  tags: ["Parties"],
13651
14108
  security: [
@@ -13690,7 +14147,8 @@ new zodOpenapi.OpenAPIHono().openapi(
13690
14147
  disponents: party.disponents ?? void 0,
13691
14148
  addresses: party.addresses ?? void 0,
13692
14149
  recipients: party.recipients ?? void 0,
13693
- aml: party.aml ?? void 0
14150
+ aml: party.aml ?? void 0,
14151
+ products: party.products ?? void 0
13694
14152
  });
13695
14153
  if (!updatedParty || partyError) {
13696
14154
  return context.json({ message: "Could not update a Party" }, 404);
@@ -13706,8 +14164,8 @@ new zodOpenapi.OpenAPIHono().openapi(
13706
14164
  );
13707
14165
 
13708
14166
  const partyBaseOutputSchema = zodOpenapi.z.object({
13709
- customerStatus: zodOpenapi.z.enum(CustomerStatusZod),
13710
- partyType: zodOpenapi.z.enum(PartyTypeZod),
14167
+ customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS),
14168
+ partyType: zodOpenapi.z.enum(PARTY_TYPE),
13711
14169
  language: zodOpenapi.z.enum(generalCodes.LANGUAGE_CODES),
13712
14170
  id: zodOpenapi.z.uuid(),
13713
14171
  internalId: zodOpenapi.z.string().nullable(),
@@ -13729,7 +14187,7 @@ const individualOutputSchema = zodOpenapi.z.object({
13729
14187
  birthPlace: zodOpenapi.z.string(),
13730
14188
  countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
13731
14189
  personalId: zodOpenapi.z.string(),
13732
- gender: zodOpenapi.z.enum(GenderZod),
14190
+ gender: zodOpenapi.z.enum(GENDER),
13733
14191
  citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
13734
14192
  citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
13735
14193
  employer: zodOpenapi.z.string().nullable(),
@@ -13761,7 +14219,7 @@ const createOrganizationOutputSchema = zodOpenapi.z.object({
13761
14219
  monthlyVolumeIn: zodOpenapi.z.number(),
13762
14220
  monthlyVolumeOut: zodOpenapi.z.number(),
13763
14221
  ownedBy: zodOpenapi.z.string(),
13764
- companyObjects: zodOpenapi.z.string(),
14222
+ companyObjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_NACE_CODES)),
13765
14223
  annualTurnover: zodOpenapi.z.number(),
13766
14224
  numberOfEmployees: zodOpenapi.z.number().nullable(),
13767
14225
  prosecuted: zodOpenapi.z.string().nullable(),
@@ -13808,7 +14266,7 @@ const createAddressOutputSchema = zodOpenapi.z.object({
13808
14266
  id: zodOpenapi.z.uuid(),
13809
14267
  partyId: zodOpenapi.z.uuid(),
13810
14268
  internalId: zodOpenapi.z.string().nullable(),
13811
- addressType: zodOpenapi.z.enum(AddressTypeZod),
14269
+ addressType: zodOpenapi.z.enum(ADDRESS_TYPE),
13812
14270
  street: zodOpenapi.z.string().nullable(),
13813
14271
  orientationNumber: zodOpenapi.z.string().nullable(),
13814
14272
  descriptiveNumber: zodOpenapi.z.string().nullable(),
@@ -13822,30 +14280,67 @@ const createAddressOutputSchema = zodOpenapi.z.object({
13822
14280
  createdAt: zodOpenapi.z.date().nullable(),
13823
14281
  updatedAt: zodOpenapi.z.date().nullable()
13824
14282
  });
14283
+ const businessPartnerOutputSchema = zodOpenapi.z.object({
14284
+ name: zodOpenapi.z.string(),
14285
+ country: zodOpenapi.z.string(),
14286
+ cooperationReason: zodOpenapi.z.string().nullable()
14287
+ });
14288
+ const foSourceOfWealthOutputSchema = zodOpenapi.z.object({
14289
+ incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
14290
+ monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
14291
+ employer: zodOpenapi.z.string().nullable(),
14292
+ employerCountry: zodOpenapi.z.string().nullable()
14293
+ });
14294
+ const businessSourceOfWealthOutputSchema = zodOpenapi.z.object({
14295
+ financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)),
14296
+ mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)),
14297
+ companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
14298
+ operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)),
14299
+ operatingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
14300
+ businessPartners: zodOpenapi.z.array(businessPartnerOutputSchema).nullable(),
14301
+ businessActivitiesNote: zodOpenapi.z.string().nullable()
14302
+ });
13825
14303
  const createAmlOutputSchema = zodOpenapi.z.object({
13826
14304
  id: zodOpenapi.z.uuid(),
13827
14305
  partyId: zodOpenapi.z.uuid(),
13828
14306
  internalId: zodOpenapi.z.string().nullable(),
13829
- sourceOfWealth: zodOpenapi.z.string(),
13830
- yearlyIncome: zodOpenapi.z.string(),
13831
- tradesPurpose: zodOpenapi.z.string().nullable(),
13832
- sourceOfIncome: zodOpenapi.z.string(),
14307
+ sourceOfWealth: zodOpenapi.z.union([
14308
+ foSourceOfWealthOutputSchema,
14309
+ businessSourceOfWealthOutputSchema
14310
+ ]),
14311
+ yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
14312
+ sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
14313
+ servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).nullable(),
14314
+ taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).nullable(),
14315
+ taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
13833
14316
  transactionType: zodOpenapi.z.string().nullable(),
13834
14317
  transactionTypeExpiry: zodOpenapi.z.date().nullable(),
13835
14318
  isDistraint: zodOpenapi.z.boolean(),
13836
- estTxsVolumeMonth: zodOpenapi.z.string(),
13837
- estTxsVolumeYear: zodOpenapi.z.string(),
13838
- tradingCountries: zodOpenapi.z.string(),
13839
- tradingSide: zodOpenapi.z.string(),
14319
+ estTxsVolumeMonth: zodOpenapi.z.enum(EST_TXS_VOLUME_MONTH),
14320
+ estTxsVolumeYear: zodOpenapi.z.enum(EST_TXS_VOLUME_YEAR),
14321
+ estTxsCountMonth: zodOpenapi.z.number().int().nullable(),
14322
+ tradingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(TARGET_COUNTRY)),
14323
+ tradingCountriesOther: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2)).nullable(),
14324
+ tradingSide: zodOpenapi.z.enum(TRADING_SIDE),
13840
14325
  acceptedAMLTermsAndConditions: zodOpenapi.z.boolean(),
13841
- signatureMethod: zodOpenapi.z.string().nullable(),
13842
- existencePeriod: zodOpenapi.z.string().nullable(),
13843
- reputation: zodOpenapi.z.string().nullable(),
13844
- riskLevel: zodOpenapi.z.enum(AmlScoreTypeZod),
13845
- kycStatus: zodOpenapi.z.enum(KycStatusZod).nullable(),
14326
+ signatureMethod: zodOpenapi.z.enum(SIGNATURE_METHOD).nullable(),
14327
+ existencePeriod: zodOpenapi.z.enum(EXISTENCE_PERIOD).nullable(),
14328
+ reputation: zodOpenapi.z.enum(REPUTATION).nullable(),
14329
+ riskBusinessAreas: zodOpenapi.z.array(zodOpenapi.z.enum(RISK_BUSINESS_AREA)).nullable(),
14330
+ riskLevel: zodOpenapi.z.enum(AML_SCORE_TYPE),
14331
+ kycStatus: zodOpenapi.z.enum(KYC_STATUS).nullable(),
13846
14332
  createdAt: zodOpenapi.z.date().nullable(),
13847
14333
  updatedAt: zodOpenapi.z.date().nullable()
13848
14334
  });
14335
+ const productsOutputSchema = zodOpenapi.z.object({
14336
+ txs: zodOpenapi.z.object({
14337
+ fee: zodOpenapi.z.number(),
14338
+ margin: zodOpenapi.z.number(),
14339
+ reportingEmail: zodOpenapi.z.string().nullable(),
14340
+ clientType: zodOpenapi.z.enum(TXS_CLIENT_TYPE).nullable()
14341
+ }).nullable(),
14342
+ cbs: zodOpenapi.z.object({}).nullable()
14343
+ });
13849
14344
  const partyOutputSchema = zodOpenapi.z.object({
13850
14345
  party: partyBaseOutputSchema.nullable(),
13851
14346
  personalData: individualOutputSchema.nullable(),
@@ -13854,7 +14349,8 @@ const partyOutputSchema = zodOpenapi.z.object({
13854
14349
  disponents: zodOpenapi.z.array(disponentOutputSchema).nullable(),
13855
14350
  addresses: zodOpenapi.z.array(createAddressOutputSchema).nullable(),
13856
14351
  aml: createAmlOutputSchema.nullable(),
13857
- recipients: zodOpenapi.z.array(bankAccountOutputSchema).nullable()
14352
+ recipients: zodOpenapi.z.array(bankAccountOutputSchema).nullable(),
14353
+ products: productsOutputSchema.nullable()
13858
14354
  });
13859
14355
  const responseBodySchema$3 = zodOpenapi.z.object({
13860
14356
  message: zodOpenapi.z.string(),
@@ -13862,7 +14358,7 @@ const responseBodySchema$3 = zodOpenapi.z.object({
13862
14358
  });
13863
14359
  const getPartyByPartyIdRoute = zodOpenapi.createRoute({
13864
14360
  method: "get",
13865
- path: "/{partyId}",
14361
+ path: "/",
13866
14362
  summary: "Get party",
13867
14363
  tags: ["Parties"],
13868
14364
  request: {
@@ -13994,14 +14490,14 @@ const paramsSchema$2 = zodOpenapi.z.object({
13994
14490
  });
13995
14491
  const idDocumentCreateInputSchema = zodOpenapi.z.object({
13996
14492
  partyId: zodOpenapi.z.uuid(),
13997
- idDocType: zodOpenapi.z.enum(IdDocTypeZod),
14493
+ idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
13998
14494
  idDocNumber: zodOpenapi.z.string(),
13999
14495
  idDocHolderName: zodOpenapi.z.string(),
14000
14496
  issueDate: zodOpenapi.z.coerce.date().optional(),
14001
14497
  expirationDate: zodOpenapi.z.coerce.date().optional(),
14002
14498
  issuer: zodOpenapi.z.string().optional(),
14003
14499
  countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
14004
- idDocStatus: zodOpenapi.z.enum(IdDocStatusZod).optional()
14500
+ idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional()
14005
14501
  });
14006
14502
  const idDocumentMultipartSchema = zodOpenapi.z.object({
14007
14503
  idDocument: zodOpenapi.z.string(),
@@ -14024,7 +14520,7 @@ const idDocumentOutputSchema = zodOpenapi.z.object({
14024
14520
  updatedAt: zodOpenapi.z.iso.datetime().nullable(),
14025
14521
  deletedAt: zodOpenapi.z.iso.datetime().nullable(),
14026
14522
  partyId: zodOpenapi.z.uuid(),
14027
- idDocType: zodOpenapi.z.enum(IdDocTypeZod),
14523
+ idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
14028
14524
  idDocNumber: zodOpenapi.z.string(),
14029
14525
  idDocHolderName: zodOpenapi.z.string(),
14030
14526
  issueDate: zodOpenapi.z.iso.datetime().nullable(),
@@ -14033,7 +14529,7 @@ const idDocumentOutputSchema = zodOpenapi.z.object({
14033
14529
  countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
14034
14530
  frontImageUri: zodOpenapi.z.string().nullable(),
14035
14531
  backImageUri: zodOpenapi.z.string().nullable(),
14036
- idDocStatus: zodOpenapi.z.enum(IdDocStatusZod).nullable()
14532
+ idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).nullable()
14037
14533
  });
14038
14534
  const responseBodySchema$2 = zodOpenapi.z.object({
14039
14535
  message: zodOpenapi.z.string(),
@@ -14041,7 +14537,7 @@ const responseBodySchema$2 = zodOpenapi.z.object({
14041
14537
  });
14042
14538
  const createDocumentRoute = zodOpenapi.createRoute({
14043
14539
  method: "post",
14044
- path: "/{partyId}/id-documents",
14540
+ path: "/",
14045
14541
  summary: "Create ID document and upload file",
14046
14542
  tags: ["Documents"],
14047
14543
  // middleware: [jwt, signature(), idempotency()],
@@ -14093,7 +14589,7 @@ new zodOpenapi.OpenAPIHono().openapi(
14093
14589
  createDocumentRoute,
14094
14590
  async (context) => {
14095
14591
  const rawBody = await context.req.parseBody();
14096
- const { partyId } = await context.req.param();
14592
+ const { partyId } = context.req.valid("param");
14097
14593
  const idDocumentRaw = rawBody.idDocument;
14098
14594
  const documentSide = rawBody.documentSide;
14099
14595
  const file = rawBody.file;
@@ -14193,7 +14689,7 @@ const responseBodySchema$1 = zodOpenapi.z.object({
14193
14689
  });
14194
14690
  const getIdDocumentsListRoute = zodOpenapi.createRoute({
14195
14691
  method: "get",
14196
- path: "/{partyId}/id-documents",
14692
+ path: "/",
14197
14693
  summary: "List party ID documents",
14198
14694
  tags: ["Documents"],
14199
14695
  request: {
@@ -14454,7 +14950,7 @@ const paramsSchema = zodOpenapi.z.object({
14454
14950
  });
14455
14951
  const idDocumentUpdateInputSchema = zodOpenapi.z.object({
14456
14952
  partyId: zodOpenapi.z.uuid().optional(),
14457
- idDocType: zodOpenapi.z.enum(IdDocTypeZod).optional(),
14953
+ idDocType: zodOpenapi.z.enum(ID_DOC_TYPE).optional(),
14458
14954
  idDocNumber: zodOpenapi.z.string().optional(),
14459
14955
  idDocHolderName: zodOpenapi.z.string().optional(),
14460
14956
  issueDate: zodOpenapi.z.coerce.date().optional(),
@@ -14463,7 +14959,7 @@ const idDocumentUpdateInputSchema = zodOpenapi.z.object({
14463
14959
  countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
14464
14960
  frontImageUri: zodOpenapi.z.string().optional(),
14465
14961
  backImageUri: zodOpenapi.z.string().optional(),
14466
- idDocStatus: zodOpenapi.z.enum(IdDocStatusZod).optional()
14962
+ idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional()
14467
14963
  });
14468
14964
  const responseBodySchema = zodOpenapi.z.object({
14469
14965
  message: zodOpenapi.z.string(),
@@ -14471,7 +14967,7 @@ const responseBodySchema = zodOpenapi.z.object({
14471
14967
  });
14472
14968
  const updateIdDocumentRoute = zodOpenapi.createRoute({
14473
14969
  method: "put",
14474
- path: "/{partyId}/id-documents/{id}",
14970
+ path: "/",
14475
14971
  summary: "Update party document",
14476
14972
  tags: ["Documents"],
14477
14973
  middleware: [jwt, signature(), idempotency()],
@@ -14553,20 +15049,41 @@ const messageResponseSchema = zodOpenapi.z.object({
14553
15049
  message: zodOpenapi.z.string()
14554
15050
  });
14555
15051
 
14556
- exports.AddressTypeZod = AddressTypeZod$1;
14557
- exports.AmlScoreTypeZod = AmlScoreTypeZod$1;
14558
- exports.ClientStatusActionZod = ClientStatusActionZod;
14559
- exports.ContactTypeZod = ContactTypeZod$1;
14560
- exports.CustomerStatusZod = CustomerStatusZod$1;
15052
+ exports.ADDRESS_TYPE = ADDRESS_TYPE$1;
15053
+ exports.AML_SCORE_TYPE = AML_SCORE_TYPE$1;
15054
+ exports.CLIENT_STATUS_ACTION = CLIENT_STATUS_ACTION;
15055
+ exports.COMPANY_TURNOVER_RANGE = COMPANY_TURNOVER_RANGE$1;
15056
+ exports.CONTACT_TYPE = CONTACT_TYPE$1;
15057
+ exports.CUSTOMER_STATUS = CUSTOMER_STATUS$1;
14561
15058
  exports.DOCUMENT_SIDE = DOCUMENT_SIDE;
14562
- exports.GenderZod = GenderZod$1;
14563
- exports.IdDocStatusZod = IdDocStatusZod$1;
14564
- exports.IdDocTypeZod = IdDocTypeZod$1;
14565
- exports.IdentificationTypeZod = IdentificationTypeZod;
14566
- exports.KycStatusZod = KycStatusZod$1;
14567
- exports.PartyRelationshipTypeZod = PartyRelationshipTypeZod$1;
14568
- exports.PartyTypeZod = PartyTypeZod$1;
15059
+ exports.EST_TXS_VOLUME_MONTH = EST_TXS_VOLUME_MONTH$1;
15060
+ exports.EST_TXS_VOLUME_YEAR = EST_TXS_VOLUME_YEAR$1;
15061
+ exports.EXISTENCE_PERIOD = EXISTENCE_PERIOD$1;
15062
+ exports.FINANCIAL_FUNDS_SOURCE = FINANCIAL_FUNDS_SOURCE$1;
15063
+ exports.GENDER = GENDER$1;
15064
+ exports.IDENTIFICATION_TYPE = IDENTIFICATION_TYPE;
15065
+ exports.ID_DOC_STATUS = ID_DOC_STATUS$1;
15066
+ exports.ID_DOC_TYPE = ID_DOC_TYPE$1;
15067
+ exports.INCOME_SOURCE = INCOME_SOURCE$1;
15068
+ exports.KYC_STATUS = KYC_STATUS$1;
15069
+ exports.MONTHLY_INCOME_RANGE = MONTHLY_INCOME_RANGE$1;
15070
+ exports.OPERATING_COUNTRY = OPERATING_COUNTRY$1;
15071
+ exports.PARTY_RELATIONSHIP_TYPE = PARTY_RELATIONSHIP_TYPE$1;
15072
+ exports.PARTY_TYPE = PARTY_TYPE$1;
15073
+ exports.PRODUCT_TYPE = PRODUCT_TYPE$1;
15074
+ exports.REPUTATION = REPUTATION$1;
15075
+ exports.RISK_BUSINESS_AREA = RISK_BUSINESS_AREA$1;
15076
+ exports.SERVICE_PURPOSE = SERVICE_PURPOSE$1;
15077
+ exports.SERVICE_PURPOSE_COMPANY = SERVICE_PURPOSE_COMPANY$1;
15078
+ exports.SERVICE_PURPOSE_FO = SERVICE_PURPOSE_FO$1;
15079
+ exports.SIGNATURE_METHOD = SIGNATURE_METHOD$1;
15080
+ exports.TARGET_COUNTRY = TARGET_COUNTRY$1;
15081
+ exports.TAX_DOMICILE = TAX_DOMICILE$1;
14569
15082
  exports.TRADER_TYPE = TRADER_TYPE$1;
15083
+ exports.TRADING_SIDE = TRADING_SIDE$1;
15084
+ exports.TXS_CLIENT_TYPE = TXS_CLIENT_TYPE$1;
15085
+ exports.YEARLY_INCOME = YEARLY_INCOME$1;
15086
+ exports.YES_NO_UNKNOWN = YES_NO_UNKNOWN;
14570
15087
  exports.createMdmClient = createMdmClient;
14571
15088
  exports.createPartyInputSchema = createPartyInputSchema;
14572
15089
  exports.idDocumentCreateInputSchema = idDocumentCreateInputSchema;
@@ -14580,4 +15097,6 @@ exports.partyCreateOutputSchema = partyCreateOutputSchema;
14580
15097
  exports.partyOutputSchema = partyOutputSchema;
14581
15098
  exports.partySchema = partySchema$1;
14582
15099
  exports.partyUpdateInputSchema = partyUpdateInputSchema;
15100
+ exports.productsInputSchema = productsInputSchema$1;
15101
+ exports.productsOutputSchema = productsOutputSchema;
14583
15102
  exports.updatePartyOuputSchema = updatePartyOuputSchema;