@devizovaburza/mdm-sdk 0.0.15 → 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 +352 -127
- package/dist/v1/index.d.cts +2804 -427
- package/dist/v1/index.d.mts +2804 -427
- package/dist/v1/index.d.ts +2804 -427
- package/dist/v1/index.mjs +352 -127
- package/package.json +1 -1
package/dist/v1/index.cjs
CHANGED
|
@@ -12510,7 +12510,7 @@ const party = sqliteTable("party", {
|
|
|
12510
12510
|
partyType: text("party_type", { enum: PARTY_TYPE }).notNull(),
|
|
12511
12511
|
language: text("language", { enum: generalCodes.LANGUAGE_CODES }).notNull(),
|
|
12512
12512
|
countryCode: text("country_code", { enum: generalCodes.COUNTRY_CODES_2 }),
|
|
12513
|
-
|
|
12513
|
+
isRoot: integer("is_root", { mode: "boolean" }).notNull().default(false),
|
|
12514
12514
|
legacyId: text("legacy_id")
|
|
12515
12515
|
});
|
|
12516
12516
|
|
|
@@ -12573,7 +12573,7 @@ const individual = sqliteTable("individual", {
|
|
|
12573
12573
|
citizenshipOther: text("citizenship_other", { enum: generalCodes.COUNTRY_CODES_2 }),
|
|
12574
12574
|
employer: text("employer"),
|
|
12575
12575
|
employerCountry: text("employer_country", { enum: generalCodes.COUNTRY_CODES_2 }),
|
|
12576
|
-
registeredNumber: text("registered_number")
|
|
12576
|
+
registeredNumber: text("registered_number"),
|
|
12577
12577
|
isPep: integer("is_pep", { mode: "boolean" }).notNull(),
|
|
12578
12578
|
titleBefore: text("title_before"),
|
|
12579
12579
|
titleAfter: text("title_after"),
|
|
@@ -12629,7 +12629,7 @@ const partyRelationship = sqliteTable("party_relationship", {
|
|
|
12629
12629
|
internalId: text("internal_id"),
|
|
12630
12630
|
relationshipType: text("relationship_type", {
|
|
12631
12631
|
enum: PARTY_RELATIONSHIP_TYPE
|
|
12632
|
-
}),
|
|
12632
|
+
}).notNull(),
|
|
12633
12633
|
fromPartyId: text("from_party_id").references(() => party.id),
|
|
12634
12634
|
toPartyId: text("to_party_id").references(() => party.id),
|
|
12635
12635
|
fromDate: integer("from_date", { mode: "timestamp_ms" }),
|
|
@@ -12676,7 +12676,9 @@ const aml = sqliteTable("aml", {
|
|
|
12676
12676
|
sourceOfWealth: text("source_of_wealth", { mode: "json" }).$type().notNull(),
|
|
12677
12677
|
yearlyIncome: text("yearly_income", { enum: YEARLY_INCOME }).notNull(),
|
|
12678
12678
|
sourceOfIncome: text("source_of_income", { mode: "json" }).$type().notNull(),
|
|
12679
|
+
incomeSourceOther: text("income_source_other"),
|
|
12679
12680
|
servicePurposes: text("service_purposes", { mode: "json" }).$type(),
|
|
12681
|
+
servicePurposesOther: text("service_purposes_other"),
|
|
12680
12682
|
taxDomicile: text("tax_domicile", { enum: TAX_DOMICILE }),
|
|
12681
12683
|
taxDomicileCountry: text("tax_domicile_country", { enum: generalCodes.COUNTRY_CODES_2 }),
|
|
12682
12684
|
transactionType: text("transaction_type"),
|
|
@@ -12820,12 +12822,14 @@ const businessPartnerSchema = zodOpenapi.z.object({
|
|
|
12820
12822
|
});
|
|
12821
12823
|
const foSourceOfWealthSchema = zodOpenapi.z.object({
|
|
12822
12824
|
incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
|
|
12825
|
+
incomeSourceOther: zodOpenapi.z.string().nullable(),
|
|
12823
12826
|
monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
|
|
12824
12827
|
employer: zodOpenapi.z.string().nullable(),
|
|
12825
12828
|
employerCountry: zodOpenapi.z.string().nullable()
|
|
12826
12829
|
});
|
|
12827
12830
|
const businessSourceOfWealthSchema = zodOpenapi.z.object({
|
|
12828
12831
|
financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
|
|
12832
|
+
financialFundsSourceOther: zodOpenapi.z.string().nullable(),
|
|
12829
12833
|
mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
|
|
12830
12834
|
companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
|
|
12831
12835
|
operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
|
|
@@ -12844,12 +12848,14 @@ const businessPartnerOutputSchema$1 = zodOpenapi.z.object({
|
|
|
12844
12848
|
});
|
|
12845
12849
|
const foSourceOfWealthOutputSchema$1 = zodOpenapi.z.object({
|
|
12846
12850
|
incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
|
|
12851
|
+
incomeSourceOther: zodOpenapi.z.string().nullable(),
|
|
12847
12852
|
monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
|
|
12848
12853
|
employer: zodOpenapi.z.string().nullable(),
|
|
12849
12854
|
employerCountry: zodOpenapi.z.string().nullable()
|
|
12850
12855
|
});
|
|
12851
12856
|
const businessSourceOfWealthOutputSchema$1 = zodOpenapi.z.object({
|
|
12852
12857
|
financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)),
|
|
12858
|
+
financialFundsSourceOther: zodOpenapi.z.string().nullable(),
|
|
12853
12859
|
mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)),
|
|
12854
12860
|
companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
|
|
12855
12861
|
operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)),
|
|
@@ -12867,7 +12873,9 @@ const amlInsertSchema = zodOpenapi.z.object({
|
|
|
12867
12873
|
sourceOfWealth: sourceOfWealthSchema,
|
|
12868
12874
|
yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
|
|
12869
12875
|
sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
|
|
12876
|
+
incomeSourceOther: zodOpenapi.z.string().optional(),
|
|
12870
12877
|
servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
|
|
12878
|
+
servicePurposesOther: zodOpenapi.z.string().optional(),
|
|
12871
12879
|
taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
|
|
12872
12880
|
taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
12873
12881
|
transactionType: zodOpenapi.z.string().optional(),
|
|
@@ -12894,7 +12902,9 @@ const amlUpdateSchema = zodOpenapi.z.object({
|
|
|
12894
12902
|
sourceOfWealth: sourceOfWealthSchema.optional(),
|
|
12895
12903
|
yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME).optional(),
|
|
12896
12904
|
sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1).optional(),
|
|
12905
|
+
incomeSourceOther: zodOpenapi.z.string().optional(),
|
|
12897
12906
|
servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
|
|
12907
|
+
servicePurposesOther: zodOpenapi.z.string().optional(),
|
|
12898
12908
|
taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
|
|
12899
12909
|
taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
12900
12910
|
transactionType: zodOpenapi.z.string().optional(),
|
|
@@ -12921,7 +12931,9 @@ const amlSelectSchema = zodOpenapi.z.object({
|
|
|
12921
12931
|
sourceOfWealth: sourceOfWealthOutputSchema,
|
|
12922
12932
|
yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
|
|
12923
12933
|
sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
|
|
12934
|
+
incomeSourceOther: zodOpenapi.z.string().nullable(),
|
|
12924
12935
|
servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).nullable(),
|
|
12936
|
+
servicePurposesOther: zodOpenapi.z.string().nullable(),
|
|
12925
12937
|
taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).nullable(),
|
|
12926
12938
|
taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
12927
12939
|
transactionType: zodOpenapi.z.string().nullable(),
|
|
@@ -12977,95 +12989,42 @@ const contactUpdateSchema = zodOpenapi.z.object({
|
|
|
12977
12989
|
phoneNumber: zodOpenapi.z.string().optional()
|
|
12978
12990
|
});
|
|
12979
12991
|
|
|
12980
|
-
|
|
12981
|
-
createUpdateSchema(individual);
|
|
12982
|
-
createSelectSchema(individual);
|
|
12983
|
-
const individualInsertSchema$1 = zodOpenapi.z.object({
|
|
12984
|
-
partyId: zodOpenapi.z.uuid(),
|
|
12985
|
-
name: zodOpenapi.z.string(),
|
|
12986
|
-
surname: zodOpenapi.z.string(),
|
|
12987
|
-
email: zodOpenapi.z.email("Invalid email format").optional().nullable(),
|
|
12988
|
-
phone: zodOpenapi.z.string().optional().nullable(),
|
|
12989
|
-
birthDate: zodOpenapi.z.string().optional().nullable(),
|
|
12990
|
-
birthPlace: zodOpenapi.z.string(),
|
|
12991
|
-
countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
12992
|
-
personalId: zodOpenapi.z.string(),
|
|
12993
|
-
gender: zodOpenapi.z.enum(GENDER),
|
|
12994
|
-
citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
|
|
12995
|
-
citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
12996
|
-
employer: zodOpenapi.z.string().optional().nullable(),
|
|
12997
|
-
employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
12998
|
-
registeredNumber: zodOpenapi.z.string(),
|
|
12999
|
-
isPep: zodOpenapi.z.boolean(),
|
|
13000
|
-
titleBefore: zodOpenapi.z.string().optional().nullable(),
|
|
13001
|
-
titleAfter: zodOpenapi.z.string().optional().nullable(),
|
|
13002
|
-
birthSurname: zodOpenapi.z.string().optional().nullable(),
|
|
13003
|
-
vocativeTitle: zodOpenapi.z.string().optional().nullable(),
|
|
13004
|
-
deathDate: zodOpenapi.z.date().optional().nullable(),
|
|
13005
|
-
deathNotification: zodOpenapi.z.date().optional().nullable(),
|
|
13006
|
-
pin: zodOpenapi.z.string().optional().nullable(),
|
|
13007
|
-
stayAbroad: zodOpenapi.z.boolean().optional().nullable(),
|
|
13008
|
-
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable()
|
|
13009
|
-
});
|
|
13010
|
-
const individualUpdateSchema$1 = zodOpenapi.z.object({
|
|
13011
|
-
partyId: zodOpenapi.z.uuid(),
|
|
12992
|
+
const insertOverrides = {
|
|
13012
12993
|
id: zodOpenapi.z.uuid(),
|
|
13013
|
-
|
|
13014
|
-
|
|
13015
|
-
|
|
13016
|
-
|
|
13017
|
-
birthDate: zodOpenapi.z.string().optional().nullable(),
|
|
13018
|
-
birthPlace: zodOpenapi.z.string().optional(),
|
|
13019
|
-
countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
13020
|
-
personalId: zodOpenapi.z.string().optional(),
|
|
13021
|
-
gender: zodOpenapi.z.enum(GENDER).optional(),
|
|
13022
|
-
citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
13023
|
-
citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
13024
|
-
employer: zodOpenapi.z.string().optional().nullable(),
|
|
13025
|
-
employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
13026
|
-
registeredNumber: zodOpenapi.z.string().optional(),
|
|
13027
|
-
isPep: zodOpenapi.z.boolean().optional(),
|
|
13028
|
-
titleBefore: zodOpenapi.z.string().optional().nullable(),
|
|
13029
|
-
titleAfter: zodOpenapi.z.string().optional().nullable(),
|
|
13030
|
-
birthSurname: zodOpenapi.z.string().optional().nullable(),
|
|
13031
|
-
vocativeTitle: zodOpenapi.z.string().optional().nullable(),
|
|
13032
|
-
deathDate: zodOpenapi.z.date().optional().nullable(),
|
|
13033
|
-
deathNotification: zodOpenapi.z.date().optional().nullable(),
|
|
13034
|
-
pin: zodOpenapi.z.string().optional().nullable(),
|
|
13035
|
-
stayAbroad: zodOpenapi.z.boolean().optional().nullable(),
|
|
13036
|
-
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable()
|
|
13037
|
-
});
|
|
13038
|
-
const individualSelectSchema = zodOpenapi.z.object({
|
|
12994
|
+
partyId: zodOpenapi.z.uuid(),
|
|
12995
|
+
email: zodOpenapi.z.email("Invalid email format").optional()
|
|
12996
|
+
};
|
|
12997
|
+
const selectOverrides = {
|
|
13039
12998
|
id: zodOpenapi.z.uuid(),
|
|
13040
12999
|
partyId: zodOpenapi.z.uuid(),
|
|
13041
|
-
internalId: zodOpenapi.z.string().nullable(),
|
|
13042
|
-
name: zodOpenapi.z.string(),
|
|
13043
|
-
surname: zodOpenapi.z.string(),
|
|
13044
|
-
email: zodOpenapi.z.string().nullable(),
|
|
13045
|
-
phone: zodOpenapi.z.string().nullable(),
|
|
13046
|
-
birthDate: zodOpenapi.z.string().nullable(),
|
|
13047
|
-
birthPlace: zodOpenapi.z.string(),
|
|
13048
|
-
countryOfBirth: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
13049
|
-
personalId: zodOpenapi.z.string(),
|
|
13050
|
-
gender: zodOpenapi.z.enum(GENDER),
|
|
13051
|
-
citizenship: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2),
|
|
13052
|
-
citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
13053
|
-
employer: zodOpenapi.z.string().nullable(),
|
|
13054
|
-
employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
13055
|
-
registeredNumber: zodOpenapi.z.string(),
|
|
13056
|
-
isPep: zodOpenapi.z.boolean(),
|
|
13057
|
-
titleBefore: zodOpenapi.z.string().nullable(),
|
|
13058
|
-
titleAfter: zodOpenapi.z.string().nullable(),
|
|
13059
|
-
birthSurname: zodOpenapi.z.string().nullable(),
|
|
13060
|
-
vocativeTitle: zodOpenapi.z.string().nullable(),
|
|
13061
13000
|
deathDate: zodOpenapi.z.coerce.date().nullable(),
|
|
13062
13001
|
deathNotification: zodOpenapi.z.coerce.date().nullable(),
|
|
13063
|
-
pin: zodOpenapi.z.string().nullable(),
|
|
13064
|
-
stayAbroad: zodOpenapi.z.boolean().nullable(),
|
|
13065
|
-
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
13066
13002
|
createdAt: zodOpenapi.z.coerce.date().nullable(),
|
|
13067
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
|
|
13022
|
+
});
|
|
13023
|
+
const individualUpdateSchema$1 = individualInsertSchema$1.partial().extend({
|
|
13024
|
+
partyId: zodOpenapi.z.uuid(),
|
|
13025
|
+
id: zodOpenapi.z.uuid()
|
|
13068
13026
|
});
|
|
13027
|
+
const individualSelectSchema = individualBaseSelectSchema;
|
|
13069
13028
|
|
|
13070
13029
|
createInsertSchema(organization);
|
|
13071
13030
|
createUpdateSchema(organization);
|
|
@@ -13168,14 +13127,16 @@ zodOpenapi.z.discriminatedUnion("partyType", [
|
|
|
13168
13127
|
const disponentCreateSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
13169
13128
|
zodOpenapi.z.object({
|
|
13170
13129
|
partyType: zodOpenapi.z.literal("INDIVIDUAL"),
|
|
13130
|
+
relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
|
|
13171
13131
|
data: individualInsertSchema$1.omit({ partyId: true })
|
|
13172
13132
|
}),
|
|
13173
13133
|
zodOpenapi.z.object({
|
|
13174
13134
|
partyType: zodOpenapi.z.literal("ORGANIZATION"),
|
|
13135
|
+
relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
|
|
13175
13136
|
data: organizationInsertSchema.omit({ partyId: true })
|
|
13176
13137
|
})
|
|
13177
13138
|
]);
|
|
13178
|
-
const disponentUpdateSchema
|
|
13139
|
+
const disponentUpdateSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
13179
13140
|
zodOpenapi.z.object({
|
|
13180
13141
|
partyType: zodOpenapi.z.literal("INDIVIDUAL"),
|
|
13181
13142
|
data: individualUpdateSchema$1
|
|
@@ -13185,6 +13146,18 @@ const disponentUpdateSchema$1 = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
|
13185
13146
|
data: organizationUpdateSchema$1
|
|
13186
13147
|
})
|
|
13187
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
|
+
]);
|
|
13188
13161
|
const disponentSelectSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
13189
13162
|
zodOpenapi.z.object({
|
|
13190
13163
|
partyType: zodOpenapi.z.literal("INDIVIDUAL"),
|
|
@@ -13196,7 +13169,7 @@ const disponentSelectSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
|
13196
13169
|
})
|
|
13197
13170
|
]);
|
|
13198
13171
|
zodOpenapi.z.array(disponentSelectSchema).optional();
|
|
13199
|
-
zodOpenapi.z.array(disponentUpdateSchema
|
|
13172
|
+
zodOpenapi.z.array(disponentUpdateSchema).optional();
|
|
13200
13173
|
|
|
13201
13174
|
createInsertSchema(idDocument);
|
|
13202
13175
|
createUpdateSchema(idDocument);
|
|
@@ -13293,6 +13266,7 @@ const partySchema$2 = zodOpenapi.z.object({
|
|
|
13293
13266
|
note: zodOpenapi.z.string().optional(),
|
|
13294
13267
|
countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
13295
13268
|
customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS).optional(),
|
|
13269
|
+
isRoot: zodOpenapi.z.boolean().optional(),
|
|
13296
13270
|
legacyId: zodOpenapi.z.string().optional()
|
|
13297
13271
|
});
|
|
13298
13272
|
const partyOutputSchema$1 = zodOpenapi.z.object({
|
|
@@ -13303,7 +13277,7 @@ const partyOutputSchema$1 = zodOpenapi.z.object({
|
|
|
13303
13277
|
id: zodOpenapi.z.uuid(),
|
|
13304
13278
|
note: zodOpenapi.z.string().nullable(),
|
|
13305
13279
|
countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
13306
|
-
|
|
13280
|
+
isRoot: zodOpenapi.z.boolean(),
|
|
13307
13281
|
createdAt: zodOpenapi.z.date().nullable(),
|
|
13308
13282
|
updatedAt: zodOpenapi.z.date().nullable()
|
|
13309
13283
|
});
|
|
@@ -13317,19 +13291,21 @@ zodOpenapi.z.object({
|
|
|
13317
13291
|
disponents: zodOpenapi.z.array(disponentCreateSchema).nullable(),
|
|
13318
13292
|
addresses: zodOpenapi.z.array(addressInsertSchema.omit({ partyId: true })),
|
|
13319
13293
|
aml: amlInsertSchema.omit({ partyId: true }),
|
|
13320
|
-
products: productsInputSchema$2.optional()
|
|
13294
|
+
products: productsInputSchema$2.optional(),
|
|
13295
|
+
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
|
|
13321
13296
|
});
|
|
13322
13297
|
zodOpenapi.z.object({
|
|
13323
13298
|
partyId: zodOpenapi.z.uuid(),
|
|
13324
13299
|
party: partySchema$2,
|
|
13325
13300
|
personalData: individualUpdateSchema$1.optional(),
|
|
13326
13301
|
organizationData: organizationUpdateSchema$1.optional(),
|
|
13327
|
-
bankAccounts: zodOpenapi.z.array(bankAccountUpsertSchema).optional(),
|
|
13328
|
-
recipients: zodOpenapi.z.array(recipientUpsertSchema).optional(),
|
|
13329
|
-
disponents: zodOpenapi.z.array(
|
|
13330
|
-
addresses: zodOpenapi.z.array(
|
|
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(),
|
|
13331
13306
|
aml: amlUpdateSchema.optional(),
|
|
13332
|
-
products: productsInputSchema$2.optional()
|
|
13307
|
+
products: productsInputSchema$2.optional(),
|
|
13308
|
+
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
|
|
13333
13309
|
});
|
|
13334
13310
|
const partySelectOutputSchema = zodOpenapi.z.object({
|
|
13335
13311
|
party: partyOutputSchema$1.nullable(),
|
|
@@ -13340,7 +13316,8 @@ const partySelectOutputSchema = zodOpenapi.z.object({
|
|
|
13340
13316
|
disponents: zodOpenapi.z.array(disponentSelectSchema).nullable(),
|
|
13341
13317
|
addresses: zodOpenapi.z.array(addressSelectSchema).nullable(),
|
|
13342
13318
|
recipients: zodOpenapi.z.array(recipientSelectSchema).nullable(),
|
|
13343
|
-
products: productsOutputSchema$1.nullable()
|
|
13319
|
+
products: productsOutputSchema$1.nullable(),
|
|
13320
|
+
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).nullable()
|
|
13344
13321
|
});
|
|
13345
13322
|
zodOpenapi.z.array(partySelectOutputSchema);
|
|
13346
13323
|
const partySelectDataSchema = zodOpenapi.z.object({
|
|
@@ -13358,7 +13335,8 @@ const partySelectArrayDataSchema = zodOpenapi.z.object({
|
|
|
13358
13335
|
zodOpenapi.z.object({
|
|
13359
13336
|
...partySelectDataSchema.shape,
|
|
13360
13337
|
...partySelectArrayDataSchema.shape,
|
|
13361
|
-
products: productsOutputSchema$1.nullable()
|
|
13338
|
+
products: productsOutputSchema$1.nullable(),
|
|
13339
|
+
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).nullable()
|
|
13362
13340
|
});
|
|
13363
13341
|
|
|
13364
13342
|
createInsertSchema(partyChange);
|
|
@@ -13712,7 +13690,7 @@ const individualInsertSchema = zodOpenapi.z.object({
|
|
|
13712
13690
|
citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
13713
13691
|
employer: zodOpenapi.z.string().optional(),
|
|
13714
13692
|
employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
13715
|
-
registeredNumber: zodOpenapi.z.string(),
|
|
13693
|
+
registeredNumber: zodOpenapi.z.string().optional(),
|
|
13716
13694
|
isPep: zodOpenapi.z.boolean(),
|
|
13717
13695
|
titleBefore: zodOpenapi.z.string().optional(),
|
|
13718
13696
|
titleAfter: zodOpenapi.z.string().optional(),
|
|
@@ -13749,7 +13727,7 @@ const createOrganizationInputSchema = zodOpenapi.z.object({
|
|
|
13749
13727
|
operationCountries: zodOpenapi.z.string(),
|
|
13750
13728
|
riskyBusinessType: zodOpenapi.z.string().optional()
|
|
13751
13729
|
});
|
|
13752
|
-
const updateBankAccountSchema
|
|
13730
|
+
const updateBankAccountSchema = zodOpenapi.z.object({
|
|
13753
13731
|
...bankAccountMetadataSchema.shape,
|
|
13754
13732
|
partyId: zodOpenapi.z.uuid(),
|
|
13755
13733
|
internalId: zodOpenapi.z.string().optional(),
|
|
@@ -13759,7 +13737,7 @@ const updateBankAccountSchema$1 = zodOpenapi.z.object({
|
|
|
13759
13737
|
countryCode: bankAccountMetadataSchema.shape.countryCode.nonoptional(),
|
|
13760
13738
|
id: bankAccountMetadataSchema.shape.id.nonoptional()
|
|
13761
13739
|
});
|
|
13762
|
-
const bankAccountInputSchema = updateBankAccountSchema
|
|
13740
|
+
const bankAccountInputSchema = updateBankAccountSchema.required({
|
|
13763
13741
|
holderName: true,
|
|
13764
13742
|
currency: true,
|
|
13765
13743
|
countryCode: true
|
|
@@ -13795,12 +13773,14 @@ const businessPartnerInputSchema$1 = zodOpenapi.z.object({
|
|
|
13795
13773
|
});
|
|
13796
13774
|
const foSourceOfWealthInputSchema$1 = zodOpenapi.z.object({
|
|
13797
13775
|
incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
|
|
13776
|
+
incomeSourceOther: zodOpenapi.z.string().nullable(),
|
|
13798
13777
|
monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
|
|
13799
13778
|
employer: zodOpenapi.z.string().nullable(),
|
|
13800
13779
|
employerCountry: zodOpenapi.z.string().nullable()
|
|
13801
13780
|
});
|
|
13802
13781
|
const businessSourceOfWealthInputSchema$1 = zodOpenapi.z.object({
|
|
13803
13782
|
financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
|
|
13783
|
+
financialFundsSourceOther: zodOpenapi.z.string().nullable(),
|
|
13804
13784
|
mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
|
|
13805
13785
|
companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
|
|
13806
13786
|
operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
|
|
@@ -13816,7 +13796,9 @@ const createAmlInputSchema = zodOpenapi.z.object({
|
|
|
13816
13796
|
]),
|
|
13817
13797
|
yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
|
|
13818
13798
|
sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
|
|
13799
|
+
incomeSourceOther: zodOpenapi.z.string().optional(),
|
|
13819
13800
|
servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
|
|
13801
|
+
servicePurposesOther: zodOpenapi.z.string().optional(),
|
|
13820
13802
|
taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
|
|
13821
13803
|
taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
13822
13804
|
transactionType: zodOpenapi.z.string().optional(),
|
|
@@ -13845,6 +13827,48 @@ const productsInputSchema$1 = zodOpenapi.z.object({
|
|
|
13845
13827
|
}).optional(),
|
|
13846
13828
|
cbs: zodOpenapi.z.object({}).optional()
|
|
13847
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
|
+
});
|
|
13848
13872
|
const createPartyInputSchema = zodOpenapi.z.object({
|
|
13849
13873
|
party: partySchema$1.omit({ id: true }),
|
|
13850
13874
|
personalData: individualInsertSchema.nullable(),
|
|
@@ -13852,9 +13876,12 @@ const createPartyInputSchema = zodOpenapi.z.object({
|
|
|
13852
13876
|
bankAccounts: zodOpenapi.z.array(bankAccountInputSchema),
|
|
13853
13877
|
disponents: zodOpenapi.z.array(disponentSchema),
|
|
13854
13878
|
addresses: zodOpenapi.z.array(createAddressInputSchema),
|
|
13879
|
+
owners: zodOpenapi.z.array(ownerInputSchema).optional(),
|
|
13880
|
+
legalRepresentatives: zodOpenapi.z.array(legalRepresentativeInputSchema).optional(),
|
|
13855
13881
|
aml: createAmlInputSchema,
|
|
13856
13882
|
recipients: zodOpenapi.z.array(bankAccountInputSchema),
|
|
13857
|
-
products: productsInputSchema$1.optional()
|
|
13883
|
+
products: productsInputSchema$1.optional(),
|
|
13884
|
+
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
|
|
13858
13885
|
});
|
|
13859
13886
|
const partyCreateOutputSchema = zodOpenapi.z.object({
|
|
13860
13887
|
customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS),
|
|
@@ -13874,8 +13901,9 @@ const responseBodySchema$5 = zodOpenapi.z.object({
|
|
|
13874
13901
|
const createPartyRoute = zodOpenapi.createRoute({
|
|
13875
13902
|
method: "post",
|
|
13876
13903
|
path: "/",
|
|
13877
|
-
summary: "Create
|
|
13904
|
+
summary: "Create Party",
|
|
13878
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.",
|
|
13879
13907
|
request: {
|
|
13880
13908
|
body: {
|
|
13881
13909
|
content: {
|
|
@@ -13901,8 +13929,11 @@ const createPartyRoute = zodOpenapi.createRoute({
|
|
|
13901
13929
|
new zodOpenapi.OpenAPIHono().openapi(
|
|
13902
13930
|
createPartyRoute,
|
|
13903
13931
|
async (context) => {
|
|
13904
|
-
const
|
|
13905
|
-
const { data: partyData, error } = await context.env.MASTER_DATA_MANAGEMENT_SERVICE.createParty(
|
|
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
|
+
});
|
|
13906
13937
|
if (!partyData || error) {
|
|
13907
13938
|
return context.json(
|
|
13908
13939
|
{
|
|
@@ -13911,6 +13942,85 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
13911
13942
|
500
|
|
13912
13943
|
);
|
|
13913
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
|
+
}
|
|
13914
14024
|
return context.json(
|
|
13915
14025
|
{
|
|
13916
14026
|
message: "party created",
|
|
@@ -13985,7 +14095,7 @@ const organizationUpdateSchema = zodOpenapi.z.object({
|
|
|
13985
14095
|
operationCountries: zodOpenapi.z.string(),
|
|
13986
14096
|
riskyBusinessType: zodOpenapi.z.string().optional()
|
|
13987
14097
|
});
|
|
13988
|
-
const
|
|
14098
|
+
const syncBankAccountSchema = zodOpenapi.z.object({
|
|
13989
14099
|
...bankAccountMetadataSchema.shape,
|
|
13990
14100
|
partyId: zodOpenapi.z.uuid(),
|
|
13991
14101
|
internalId: zodOpenapi.z.string().optional(),
|
|
@@ -13993,20 +14103,72 @@ const updateBankAccountSchema = zodOpenapi.z.object({
|
|
|
13993
14103
|
number: zodOpenapi.z.string().optional(),
|
|
13994
14104
|
currency: bankAccountMetadataSchema.shape.currency.nonoptional(),
|
|
13995
14105
|
countryCode: bankAccountMetadataSchema.shape.countryCode.nonoptional(),
|
|
13996
|
-
id:
|
|
14106
|
+
id: zodOpenapi.z.uuid().optional()
|
|
13997
14107
|
});
|
|
13998
|
-
const
|
|
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", [
|
|
13999
14161
|
zodOpenapi.z.object({
|
|
14000
14162
|
partyType: zodOpenapi.z.literal("INDIVIDUAL"),
|
|
14001
|
-
data:
|
|
14163
|
+
data: disponentIndividualSyncDataSchema
|
|
14002
14164
|
}),
|
|
14003
14165
|
zodOpenapi.z.object({
|
|
14004
14166
|
partyType: zodOpenapi.z.literal("ORGANIZATION"),
|
|
14005
|
-
data:
|
|
14167
|
+
data: disponentOrganizationSyncDataSchema
|
|
14006
14168
|
})
|
|
14007
14169
|
]);
|
|
14008
|
-
const
|
|
14009
|
-
id: zodOpenapi.z.uuid(),
|
|
14170
|
+
const syncAddressInputSchema = zodOpenapi.z.object({
|
|
14171
|
+
id: zodOpenapi.z.uuid().optional(),
|
|
14010
14172
|
partyId: zodOpenapi.z.uuid(),
|
|
14011
14173
|
internalId: zodOpenapi.z.string().optional(),
|
|
14012
14174
|
addressType: zodOpenapi.z.enum(ADDRESS_TYPE),
|
|
@@ -14028,12 +14190,14 @@ const businessPartnerInputSchema = zodOpenapi.z.object({
|
|
|
14028
14190
|
});
|
|
14029
14191
|
const foSourceOfWealthInputSchema = zodOpenapi.z.object({
|
|
14030
14192
|
incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1),
|
|
14193
|
+
incomeSourceOther: zodOpenapi.z.string().nullable(),
|
|
14031
14194
|
monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
|
|
14032
14195
|
employer: zodOpenapi.z.string().nullable(),
|
|
14033
14196
|
employerCountry: zodOpenapi.z.string().nullable()
|
|
14034
14197
|
});
|
|
14035
14198
|
const businessSourceOfWealthInputSchema = zodOpenapi.z.object({
|
|
14036
14199
|
financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)).min(1),
|
|
14200
|
+
financialFundsSourceOther: zodOpenapi.z.string().nullable(),
|
|
14037
14201
|
mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)).min(1),
|
|
14038
14202
|
companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
|
|
14039
14203
|
operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)).min(1),
|
|
@@ -14048,7 +14212,9 @@ const updateAmlInputSchema = zodOpenapi.z.object({
|
|
|
14048
14212
|
sourceOfWealth: zodOpenapi.z.union([foSourceOfWealthInputSchema, businessSourceOfWealthInputSchema]).optional(),
|
|
14049
14213
|
yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME).optional(),
|
|
14050
14214
|
sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)).min(1).optional(),
|
|
14215
|
+
incomeSourceOther: zodOpenapi.z.string().optional(),
|
|
14051
14216
|
servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).optional(),
|
|
14217
|
+
servicePurposesOther: zodOpenapi.z.string().optional(),
|
|
14052
14218
|
taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).optional(),
|
|
14053
14219
|
taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
14054
14220
|
transactionType: zodOpenapi.z.string().optional(),
|
|
@@ -14077,16 +14243,63 @@ const productsInputSchema = zodOpenapi.z.object({
|
|
|
14077
14243
|
}).optional(),
|
|
14078
14244
|
cbs: zodOpenapi.z.object({}).optional()
|
|
14079
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
|
+
});
|
|
14080
14290
|
const partyUpdateInputSchema = zodOpenapi.z.object({
|
|
14081
14291
|
party: partySchema,
|
|
14082
14292
|
personalData: individualUpdateSchema.nullable(),
|
|
14083
14293
|
organizationData: organizationUpdateSchema.nullable(),
|
|
14084
|
-
bankAccounts: zodOpenapi.z.array(
|
|
14085
|
-
disponents: zodOpenapi.z.array(
|
|
14086
|
-
addresses: zodOpenapi.z.array(
|
|
14087
|
-
|
|
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(),
|
|
14088
14300
|
aml: updateAmlInputSchema.optional(),
|
|
14089
|
-
products: productsInputSchema.optional()
|
|
14301
|
+
products: productsInputSchema.optional(),
|
|
14302
|
+
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
|
|
14090
14303
|
});
|
|
14091
14304
|
const updatePartyOuputSchema = zodOpenapi.z.object({
|
|
14092
14305
|
id: zodOpenapi.z.uuid(),
|
|
@@ -14103,8 +14316,9 @@ const responseBodySchema$4 = zodOpenapi.z.object({
|
|
|
14103
14316
|
const updatePartyRoute = zodOpenapi.createRoute({
|
|
14104
14317
|
method: "put",
|
|
14105
14318
|
path: "/",
|
|
14106
|
-
summary: "Update
|
|
14319
|
+
summary: "Update Party",
|
|
14107
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.",
|
|
14108
14322
|
security: [
|
|
14109
14323
|
{
|
|
14110
14324
|
JwtAuth: []
|
|
@@ -14148,7 +14362,8 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
14148
14362
|
addresses: party.addresses ?? void 0,
|
|
14149
14363
|
recipients: party.recipients ?? void 0,
|
|
14150
14364
|
aml: party.aml ?? void 0,
|
|
14151
|
-
products: party.products ?? void 0
|
|
14365
|
+
products: party.products ?? void 0,
|
|
14366
|
+
traderIds: party.traderIds ?? void 0
|
|
14152
14367
|
});
|
|
14153
14368
|
if (!updatedParty || partyError) {
|
|
14154
14369
|
return context.json({ message: "Could not update a Party" }, 404);
|
|
@@ -14173,7 +14388,7 @@ const partyBaseOutputSchema = zodOpenapi.z.object({
|
|
|
14173
14388
|
countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
14174
14389
|
createdAt: zodOpenapi.z.date().nullable(),
|
|
14175
14390
|
updatedAt: zodOpenapi.z.date().nullable(),
|
|
14176
|
-
|
|
14391
|
+
isRoot: zodOpenapi.z.boolean()
|
|
14177
14392
|
});
|
|
14178
14393
|
const individualOutputSchema = zodOpenapi.z.object({
|
|
14179
14394
|
id: zodOpenapi.z.uuid(),
|
|
@@ -14192,7 +14407,7 @@ const individualOutputSchema = zodOpenapi.z.object({
|
|
|
14192
14407
|
citizenshipOther: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
14193
14408
|
employer: zodOpenapi.z.string().nullable(),
|
|
14194
14409
|
employerCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
14195
|
-
registeredNumber: zodOpenapi.z.string(),
|
|
14410
|
+
registeredNumber: zodOpenapi.z.string().nullable(),
|
|
14196
14411
|
isPep: zodOpenapi.z.boolean(),
|
|
14197
14412
|
titleBefore: zodOpenapi.z.string().nullable(),
|
|
14198
14413
|
titleAfter: zodOpenapi.z.string().nullable(),
|
|
@@ -14287,12 +14502,14 @@ const businessPartnerOutputSchema = zodOpenapi.z.object({
|
|
|
14287
14502
|
});
|
|
14288
14503
|
const foSourceOfWealthOutputSchema = zodOpenapi.z.object({
|
|
14289
14504
|
incomeSources: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
|
|
14505
|
+
incomeSourceOther: zodOpenapi.z.string().nullable(),
|
|
14290
14506
|
monthlyIncome: zodOpenapi.z.enum(MONTHLY_INCOME_RANGE),
|
|
14291
14507
|
employer: zodOpenapi.z.string().nullable(),
|
|
14292
14508
|
employerCountry: zodOpenapi.z.string().nullable()
|
|
14293
14509
|
});
|
|
14294
14510
|
const businessSourceOfWealthOutputSchema = zodOpenapi.z.object({
|
|
14295
14511
|
financialFundsSources: zodOpenapi.z.array(zodOpenapi.z.enum(FINANCIAL_FUNDS_SOURCE)),
|
|
14512
|
+
financialFundsSourceOther: zodOpenapi.z.string().nullable(),
|
|
14296
14513
|
mainBusinessSubjects: zodOpenapi.z.array(zodOpenapi.z.enum(generalCodes.CZ_TRADE_LICENSE_CODES)),
|
|
14297
14514
|
companyTurnover: zodOpenapi.z.enum(COMPANY_TURNOVER_RANGE),
|
|
14298
14515
|
operatingCountries: zodOpenapi.z.array(zodOpenapi.z.enum(OPERATING_COUNTRY)),
|
|
@@ -14310,7 +14527,9 @@ const createAmlOutputSchema = zodOpenapi.z.object({
|
|
|
14310
14527
|
]),
|
|
14311
14528
|
yearlyIncome: zodOpenapi.z.enum(YEARLY_INCOME),
|
|
14312
14529
|
sourceOfIncome: zodOpenapi.z.array(zodOpenapi.z.enum(INCOME_SOURCE)),
|
|
14530
|
+
incomeSourceOther: zodOpenapi.z.string().nullable(),
|
|
14313
14531
|
servicePurposes: zodOpenapi.z.array(zodOpenapi.z.enum(SERVICE_PURPOSE)).nullable(),
|
|
14532
|
+
servicePurposesOther: zodOpenapi.z.string().nullable(),
|
|
14314
14533
|
taxDomicile: zodOpenapi.z.enum(TAX_DOMICILE).nullable(),
|
|
14315
14534
|
taxDomicileCountry: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
14316
14535
|
transactionType: zodOpenapi.z.string().nullable(),
|
|
@@ -14350,7 +14569,8 @@ const partyOutputSchema = zodOpenapi.z.object({
|
|
|
14350
14569
|
addresses: zodOpenapi.z.array(createAddressOutputSchema).nullable(),
|
|
14351
14570
|
aml: createAmlOutputSchema.nullable(),
|
|
14352
14571
|
recipients: zodOpenapi.z.array(bankAccountOutputSchema).nullable(),
|
|
14353
|
-
products: productsOutputSchema.nullable()
|
|
14572
|
+
products: productsOutputSchema.nullable(),
|
|
14573
|
+
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).nullable()
|
|
14354
14574
|
});
|
|
14355
14575
|
const responseBodySchema$3 = zodOpenapi.z.object({
|
|
14356
14576
|
message: zodOpenapi.z.string(),
|
|
@@ -14359,8 +14579,9 @@ const responseBodySchema$3 = zodOpenapi.z.object({
|
|
|
14359
14579
|
const getPartyByPartyIdRoute = zodOpenapi.createRoute({
|
|
14360
14580
|
method: "get",
|
|
14361
14581
|
path: "/",
|
|
14362
|
-
summary: "Get
|
|
14582
|
+
summary: "Get Party",
|
|
14363
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.",
|
|
14364
14585
|
request: {
|
|
14365
14586
|
params: zodOpenapi.z.object({ partyId: zodOpenapi.z.uuid() })
|
|
14366
14587
|
},
|
|
@@ -14418,8 +14639,9 @@ const partiesOutputDataSchema = zodOpenapi.z.array(partyOutputSchema);
|
|
|
14418
14639
|
const getPartiesRoute = zodOpenapi.createRoute({
|
|
14419
14640
|
method: "get",
|
|
14420
14641
|
path: "/",
|
|
14421
|
-
summary: "List
|
|
14642
|
+
summary: "List Parties",
|
|
14422
14643
|
tags: ["Parties"],
|
|
14644
|
+
description: "Returns a paginated list of all parties. Supports sorting, pagination, filtering by IDs, and full-text search.",
|
|
14423
14645
|
request: { query: paginationAndSearchSchema },
|
|
14424
14646
|
responses: {
|
|
14425
14647
|
500: {
|
|
@@ -14538,8 +14760,9 @@ const responseBodySchema$2 = zodOpenapi.z.object({
|
|
|
14538
14760
|
const createDocumentRoute = zodOpenapi.createRoute({
|
|
14539
14761
|
method: "post",
|
|
14540
14762
|
path: "/",
|
|
14541
|
-
summary: "Create ID
|
|
14542
|
-
tags: ["Documents"],
|
|
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.",
|
|
14543
14766
|
// middleware: [jwt, signature(), idempotency()],
|
|
14544
14767
|
// security: [{ JwtAuth: [] }],
|
|
14545
14768
|
request: {
|
|
@@ -14690,8 +14913,9 @@ const responseBodySchema$1 = zodOpenapi.z.object({
|
|
|
14690
14913
|
const getIdDocumentsListRoute = zodOpenapi.createRoute({
|
|
14691
14914
|
method: "get",
|
|
14692
14915
|
path: "/",
|
|
14693
|
-
summary: "List
|
|
14694
|
-
tags: ["Documents"],
|
|
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.",
|
|
14695
14919
|
request: {
|
|
14696
14920
|
params: paramsSchema$1,
|
|
14697
14921
|
query: querySchema
|
|
@@ -14968,8 +15192,9 @@ const responseBodySchema = zodOpenapi.z.object({
|
|
|
14968
15192
|
const updateIdDocumentRoute = zodOpenapi.createRoute({
|
|
14969
15193
|
method: "put",
|
|
14970
15194
|
path: "/",
|
|
14971
|
-
summary: "Update
|
|
14972
|
-
tags: ["Documents"],
|
|
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.",
|
|
14973
15198
|
middleware: [jwt, signature(), idempotency()],
|
|
14974
15199
|
security: [{ JwtAuth: [] }],
|
|
14975
15200
|
request: {
|