@devizovaburza/mdm-sdk 0.0.18 → 0.0.20
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 +510 -266
- package/dist/v1/index.d.cts +3379 -2043
- package/dist/v1/index.d.mts +3379 -2043
- package/dist/v1/index.d.ts +3379 -2043
- package/dist/v1/index.mjs +510 -266
- package/package.json +1 -1
package/dist/v1/index.cjs
CHANGED
|
@@ -12639,7 +12639,8 @@ const organization = sqliteTable("organization", {
|
|
|
12639
12639
|
enum: generalCodes.COUNTRY_CODES_2
|
|
12640
12640
|
}),
|
|
12641
12641
|
vatId: text("vat_id"),
|
|
12642
|
-
court: text("court", { enum: COURT })
|
|
12642
|
+
court: text("court", { enum: COURT }),
|
|
12643
|
+
registerUri: text("register_uri")
|
|
12643
12644
|
});
|
|
12644
12645
|
|
|
12645
12646
|
const partyRelationship = sqliteTable("party_relationship", {
|
|
@@ -12684,7 +12685,8 @@ const bankAccount = sqliteTable("bank_account", {
|
|
|
12684
12685
|
...base,
|
|
12685
12686
|
internalId: text("internal_id"),
|
|
12686
12687
|
...bankAccount$1,
|
|
12687
|
-
partyId: text("party_id").notNull().references(() => party.id)
|
|
12688
|
+
partyId: text("party_id").notNull().references(() => party.id),
|
|
12689
|
+
statementUri: text("statement_uri")
|
|
12688
12690
|
});
|
|
12689
12691
|
|
|
12690
12692
|
const aml = sqliteTable("aml", {
|
|
@@ -12996,7 +12998,8 @@ const bankAccountUpsertSchema = bankAccountBaseInsertSchema.required({
|
|
|
12996
12998
|
id: true
|
|
12997
12999
|
});
|
|
12998
13000
|
const bankAccountSelectSchema = bankAccountUpdateSchema.required().extend({
|
|
12999
|
-
bankCode: zodOpenapi.z.string().nullable()
|
|
13001
|
+
bankCode: zodOpenapi.z.string().nullable(),
|
|
13002
|
+
statementUri: zodOpenapi.z.string().nullable()
|
|
13000
13003
|
});
|
|
13001
13004
|
zodOpenapi.z.array(bankAccountSelectSchema);
|
|
13002
13005
|
|
|
@@ -13084,7 +13087,8 @@ const organizationInsertSchema = zodOpenapi.z.object({
|
|
|
13084
13087
|
operationCountries: zodOpenapi.z.string(),
|
|
13085
13088
|
riskyBusinessType: zodOpenapi.z.string().optional().nullable(),
|
|
13086
13089
|
vatId: zodOpenapi.z.string().optional().nullable(),
|
|
13087
|
-
court: zodOpenapi.z.enum(COURT).optional().nullable()
|
|
13090
|
+
court: zodOpenapi.z.enum(COURT).optional().nullable(),
|
|
13091
|
+
registerUri: zodOpenapi.z.string().optional().nullable()
|
|
13088
13092
|
});
|
|
13089
13093
|
const organizationUpdateSchema$1 = zodOpenapi.z.object({
|
|
13090
13094
|
partyId: zodOpenapi.z.uuid().optional(),
|
|
@@ -13112,7 +13116,8 @@ const organizationUpdateSchema$1 = zodOpenapi.z.object({
|
|
|
13112
13116
|
operationCountries: zodOpenapi.z.string(),
|
|
13113
13117
|
riskyBusinessType: zodOpenapi.z.string().optional().nullable(),
|
|
13114
13118
|
vatId: zodOpenapi.z.string().optional().nullable(),
|
|
13115
|
-
court: zodOpenapi.z.enum(COURT).optional().nullable()
|
|
13119
|
+
court: zodOpenapi.z.enum(COURT).optional().nullable(),
|
|
13120
|
+
registerUri: zodOpenapi.z.string().optional().nullable()
|
|
13116
13121
|
});
|
|
13117
13122
|
const organizationOutputSchema = zodOpenapi.z.object({
|
|
13118
13123
|
id: zodOpenapi.z.uuid(),
|
|
@@ -13144,12 +13149,48 @@ const organizationOutputSchema = zodOpenapi.z.object({
|
|
|
13144
13149
|
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
13145
13150
|
vatId: zodOpenapi.z.string().nullable(),
|
|
13146
13151
|
court: zodOpenapi.z.enum(COURT).nullable(),
|
|
13152
|
+
registerUri: zodOpenapi.z.string().nullable(),
|
|
13147
13153
|
createdAt: zodOpenapi.z.coerce.date().nullable(),
|
|
13148
13154
|
updatedAt: zodOpenapi.z.coerce.date().nullable()
|
|
13149
13155
|
});
|
|
13150
13156
|
const organizationSelectSchema = organizationOutputSchema;
|
|
13151
13157
|
zodOpenapi.z.array(organizationOutputSchema);
|
|
13152
13158
|
|
|
13159
|
+
createInsertSchema(idDocument);
|
|
13160
|
+
createUpdateSchema(idDocument);
|
|
13161
|
+
const idDocumentBaseSelectSchema = createSelectSchema(idDocument);
|
|
13162
|
+
const idDocumentInsertSchema = zodOpenapi.z.object({
|
|
13163
|
+
partyId: zodOpenapi.z.uuid(),
|
|
13164
|
+
internalId: zodOpenapi.z.string().optional().nullable(),
|
|
13165
|
+
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
13166
|
+
idDocNumber: zodOpenapi.z.string(),
|
|
13167
|
+
idDocHolderName: zodOpenapi.z.string(),
|
|
13168
|
+
issueDate: zodOpenapi.z.date().optional().nullable(),
|
|
13169
|
+
expirationDate: zodOpenapi.z.date().optional().nullable(),
|
|
13170
|
+
issuer: zodOpenapi.z.string().optional().nullable(),
|
|
13171
|
+
countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
13172
|
+
frontImageUri: zodOpenapi.z.url().optional().nullable(),
|
|
13173
|
+
backImageUri: zodOpenapi.z.url().optional().nullable(),
|
|
13174
|
+
idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional().nullable()
|
|
13175
|
+
});
|
|
13176
|
+
const idDocumentUpdateSchema = zodOpenapi.z.object({
|
|
13177
|
+
id: zodOpenapi.z.uuid(),
|
|
13178
|
+
partyId: zodOpenapi.z.uuid().optional(),
|
|
13179
|
+
internalId: zodOpenapi.z.string().optional().nullable(),
|
|
13180
|
+
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE).optional(),
|
|
13181
|
+
idDocNumber: zodOpenapi.z.string().optional(),
|
|
13182
|
+
idDocHolderName: zodOpenapi.z.string().optional(),
|
|
13183
|
+
issueDate: zodOpenapi.z.date().optional().nullable(),
|
|
13184
|
+
expirationDate: zodOpenapi.z.date().optional().nullable(),
|
|
13185
|
+
issuer: zodOpenapi.z.string().optional().nullable(),
|
|
13186
|
+
countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
13187
|
+
frontImageUri: zodOpenapi.z.url("Invalid URL format").optional().nullable(),
|
|
13188
|
+
backImageUri: zodOpenapi.z.url("Invalid URL format").optional().nullable(),
|
|
13189
|
+
idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional().nullable()
|
|
13190
|
+
});
|
|
13191
|
+
const idDocumentSelectSchema = idDocumentBaseSelectSchema;
|
|
13192
|
+
const idDocumentSyncSchema = idDocumentInsertSchema.omit({ partyId: true }).extend({ id: zodOpenapi.z.uuid().optional(), idDocHolderName: zodOpenapi.z.string().optional() });
|
|
13193
|
+
|
|
13153
13194
|
zodOpenapi.z.discriminatedUnion("partyType", [
|
|
13154
13195
|
zodOpenapi.z.object({
|
|
13155
13196
|
partyType: zodOpenapi.z.literal("INDIVIDUAL"),
|
|
@@ -13164,7 +13205,9 @@ const disponentCreateSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
|
13164
13205
|
zodOpenapi.z.object({
|
|
13165
13206
|
partyType: zodOpenapi.z.literal("INDIVIDUAL"),
|
|
13166
13207
|
relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
|
|
13167
|
-
data: individualInsertSchema$1.omit({ partyId: true })
|
|
13208
|
+
data: individualInsertSchema$1.omit({ partyId: true }).extend({
|
|
13209
|
+
identityDocuments: zodOpenapi.z.array(idDocumentSyncSchema).nullable().optional()
|
|
13210
|
+
})
|
|
13168
13211
|
}),
|
|
13169
13212
|
zodOpenapi.z.object({
|
|
13170
13213
|
partyType: zodOpenapi.z.literal("ORGANIZATION"),
|
|
@@ -13186,7 +13229,10 @@ const disponentSyncSchema$1 = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
|
13186
13229
|
zodOpenapi.z.object({
|
|
13187
13230
|
partyType: zodOpenapi.z.literal("INDIVIDUAL"),
|
|
13188
13231
|
relationshipType: zodOpenapi.z.enum(PARTY_RELATIONSHIP_TYPE).optional(),
|
|
13189
|
-
data: individualInsertSchema$1.omit({ partyId: true }).extend({
|
|
13232
|
+
data: individualInsertSchema$1.omit({ partyId: true }).extend({
|
|
13233
|
+
id: zodOpenapi.z.uuid().optional(),
|
|
13234
|
+
identityDocuments: zodOpenapi.z.array(idDocumentSyncSchema).nullable().optional()
|
|
13235
|
+
})
|
|
13190
13236
|
}),
|
|
13191
13237
|
zodOpenapi.z.object({
|
|
13192
13238
|
partyType: zodOpenapi.z.literal("ORGANIZATION"),
|
|
@@ -13197,7 +13243,9 @@ const disponentSyncSchema$1 = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
|
13197
13243
|
const disponentSelectSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
13198
13244
|
zodOpenapi.z.object({
|
|
13199
13245
|
partyType: zodOpenapi.z.literal("INDIVIDUAL"),
|
|
13200
|
-
data: individualSelectSchema
|
|
13246
|
+
data: individualSelectSchema.extend({
|
|
13247
|
+
identityDocuments: zodOpenapi.z.array(idDocumentSelectSchema).nullable()
|
|
13248
|
+
})
|
|
13201
13249
|
}),
|
|
13202
13250
|
zodOpenapi.z.object({
|
|
13203
13251
|
partyType: zodOpenapi.z.literal("ORGANIZATION"),
|
|
@@ -13207,39 +13255,6 @@ const disponentSelectSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
|
13207
13255
|
zodOpenapi.z.array(disponentSelectSchema).optional();
|
|
13208
13256
|
zodOpenapi.z.array(disponentUpdateSchema).optional();
|
|
13209
13257
|
|
|
13210
|
-
createInsertSchema(idDocument);
|
|
13211
|
-
createUpdateSchema(idDocument);
|
|
13212
|
-
createSelectSchema(idDocument);
|
|
13213
|
-
const idDocumentInsertSchema = zodOpenapi.z.object({
|
|
13214
|
-
partyId: zodOpenapi.z.uuid(),
|
|
13215
|
-
internalId: zodOpenapi.z.string().optional().nullable(),
|
|
13216
|
-
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
13217
|
-
idDocNumber: zodOpenapi.z.string(),
|
|
13218
|
-
idDocHolderName: zodOpenapi.z.string(),
|
|
13219
|
-
issueDate: zodOpenapi.z.date().optional().nullable(),
|
|
13220
|
-
expirationDate: zodOpenapi.z.date().optional().nullable(),
|
|
13221
|
-
issuer: zodOpenapi.z.string().optional().nullable(),
|
|
13222
|
-
countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
13223
|
-
frontImageUri: zodOpenapi.z.url().optional().nullable(),
|
|
13224
|
-
backImageUri: zodOpenapi.z.url().optional().nullable(),
|
|
13225
|
-
idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional().nullable()
|
|
13226
|
-
});
|
|
13227
|
-
const idDocumentUpdateSchema = zodOpenapi.z.object({
|
|
13228
|
-
id: zodOpenapi.z.uuid(),
|
|
13229
|
-
partyId: zodOpenapi.z.uuid().optional(),
|
|
13230
|
-
internalId: zodOpenapi.z.string().optional().nullable(),
|
|
13231
|
-
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE).optional(),
|
|
13232
|
-
idDocNumber: zodOpenapi.z.string().optional(),
|
|
13233
|
-
idDocHolderName: zodOpenapi.z.string().optional(),
|
|
13234
|
-
issueDate: zodOpenapi.z.date().optional().nullable(),
|
|
13235
|
-
expirationDate: zodOpenapi.z.date().optional().nullable(),
|
|
13236
|
-
issuer: zodOpenapi.z.string().optional().nullable(),
|
|
13237
|
-
countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional().nullable(),
|
|
13238
|
-
frontImageUri: zodOpenapi.z.url("Invalid URL format").optional().nullable(),
|
|
13239
|
-
backImageUri: zodOpenapi.z.url("Invalid URL format").optional().nullable(),
|
|
13240
|
-
idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional().nullable()
|
|
13241
|
-
});
|
|
13242
|
-
|
|
13243
13258
|
const recipientBaseInsertSchema = createInsertSchema(recipient);
|
|
13244
13259
|
const recipientBaseUpdateSchema = createUpdateSchema(recipient);
|
|
13245
13260
|
createSelectSchema(recipient);
|
|
@@ -13250,7 +13265,9 @@ const recipientInsertSchema = bankAccountInsertSchema;
|
|
|
13250
13265
|
const recipientUpdateSchema = recipientBaseUpdateSchema.required({
|
|
13251
13266
|
id: true
|
|
13252
13267
|
});
|
|
13253
|
-
const recipientSelectSchema = bankAccountSelectSchema
|
|
13268
|
+
const recipientSelectSchema = bankAccountSelectSchema.omit({
|
|
13269
|
+
statementUri: true
|
|
13270
|
+
});
|
|
13254
13271
|
|
|
13255
13272
|
const productTxsConfigSchema = zodOpenapi.z.object({
|
|
13256
13273
|
fee: zodOpenapi.z.number(),
|
|
@@ -13295,7 +13312,6 @@ const productsOutputSchema$1 = zodOpenapi.z.object({
|
|
|
13295
13312
|
cbs: productCbsConfigSchema.nullable()
|
|
13296
13313
|
});
|
|
13297
13314
|
|
|
13298
|
-
const idDocumentSyncSchema = idDocumentInsertSchema.omit({ partyId: true }).extend({ id: zodOpenapi.z.uuid().optional(), idDocHolderName: zodOpenapi.z.string().optional() });
|
|
13299
13315
|
const legalRepresentativeSyncSchema$1 = individualInsertSchema$1.omit({ partyId: true }).extend({
|
|
13300
13316
|
id: zodOpenapi.z.uuid().optional(),
|
|
13301
13317
|
dateOfEstablishment: zodOpenapi.z.string(),
|
|
@@ -13344,20 +13360,24 @@ const partyOutputSchema$1 = zodOpenapi.z.object({
|
|
|
13344
13360
|
const createPartySchema = partySchema$2.omit({ id: true });
|
|
13345
13361
|
zodOpenapi.z.object({
|
|
13346
13362
|
party: createPartySchema,
|
|
13347
|
-
personalData: individualInsertSchema$1.omit({ partyId: true }).
|
|
13363
|
+
personalData: individualInsertSchema$1.omit({ partyId: true }).extend({
|
|
13364
|
+
identityDocuments: zodOpenapi.z.array(idDocumentSyncSchema).nullable().optional()
|
|
13365
|
+
}).nullable(),
|
|
13348
13366
|
organizationData: organizationInsertSchema.omit({ partyId: true }).nullable(),
|
|
13349
13367
|
bankAccounts: zodOpenapi.z.array(bankAccountInsertSchema.omit({ partyId: true })).nullable(),
|
|
13350
13368
|
recipients: zodOpenapi.z.array(recipientInsertSchema.omit({ partyId: true })).nullable(),
|
|
13351
13369
|
disponents: zodOpenapi.z.array(disponentCreateSchema).nullable(),
|
|
13352
13370
|
addresses: zodOpenapi.z.array(addressInsertSchema.omit({ partyId: true })),
|
|
13353
|
-
aml: amlInsertSchema.omit({ partyId: true }),
|
|
13371
|
+
aml: amlInsertSchema.omit({ partyId: true }).optional().nullable(),
|
|
13354
13372
|
products: productsInputSchema$2.optional(),
|
|
13355
13373
|
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).optional()
|
|
13356
13374
|
});
|
|
13357
13375
|
zodOpenapi.z.object({
|
|
13358
13376
|
partyId: zodOpenapi.z.uuid(),
|
|
13359
13377
|
party: partySchema$2,
|
|
13360
|
-
personalData: individualUpdateSchema$1.
|
|
13378
|
+
personalData: individualUpdateSchema$1.extend({
|
|
13379
|
+
identityDocuments: zodOpenapi.z.array(idDocumentSyncSchema).nullable().optional()
|
|
13380
|
+
}).optional(),
|
|
13361
13381
|
organizationData: organizationUpdateSchema$1.optional(),
|
|
13362
13382
|
bankAccounts: zodOpenapi.z.array(bankAccountUpsertSchema.partial({ id: true })).optional(),
|
|
13363
13383
|
recipients: zodOpenapi.z.array(recipientUpsertSchema.partial({ id: true })).optional(),
|
|
@@ -13371,7 +13391,9 @@ zodOpenapi.z.object({
|
|
|
13371
13391
|
});
|
|
13372
13392
|
const partySelectOutputSchema = zodOpenapi.z.object({
|
|
13373
13393
|
party: partyOutputSchema$1.nullable(),
|
|
13374
|
-
personalData: individualSelectSchema.
|
|
13394
|
+
personalData: individualSelectSchema.extend({
|
|
13395
|
+
identityDocuments: zodOpenapi.z.array(idDocumentSelectSchema).nullable()
|
|
13396
|
+
}).nullable(),
|
|
13375
13397
|
organizationData: organizationSelectSchema.nullable(),
|
|
13376
13398
|
aml: amlSelectSchema.nullable(),
|
|
13377
13399
|
bankAccounts: zodOpenapi.z.array(bankAccountSelectSchema).nullable(),
|
|
@@ -13386,7 +13408,9 @@ const partySelectOutputSchema = zodOpenapi.z.object({
|
|
|
13386
13408
|
zodOpenapi.z.array(partySelectOutputSchema);
|
|
13387
13409
|
const partySelectDataSchema = zodOpenapi.z.object({
|
|
13388
13410
|
party: partyOutputSchema$1.nullable(),
|
|
13389
|
-
personalData: individualSelectSchema.
|
|
13411
|
+
personalData: individualSelectSchema.extend({
|
|
13412
|
+
identityDocuments: zodOpenapi.z.array(idDocumentSelectSchema).nullable()
|
|
13413
|
+
}).nullable(),
|
|
13390
13414
|
organizationData: organizationSelectSchema.nullable(),
|
|
13391
13415
|
aml: amlSelectSchema.nullable()
|
|
13392
13416
|
});
|
|
@@ -13741,6 +13765,15 @@ const partySchema$1 = zodOpenapi.z.object({
|
|
|
13741
13765
|
note: zodOpenapi.z.string().optional(),
|
|
13742
13766
|
countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional()
|
|
13743
13767
|
});
|
|
13768
|
+
const idDocumentInputSchema$1 = zodOpenapi.z.object({
|
|
13769
|
+
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
13770
|
+
idDocNumber: zodOpenapi.z.string(),
|
|
13771
|
+
issueDate: zodOpenapi.z.date().optional(),
|
|
13772
|
+
expirationDate: zodOpenapi.z.date().optional(),
|
|
13773
|
+
issuer: zodOpenapi.z.string().optional(),
|
|
13774
|
+
frontImageUri: zodOpenapi.z.string().optional(),
|
|
13775
|
+
backImageUri: zodOpenapi.z.string().optional()
|
|
13776
|
+
});
|
|
13744
13777
|
const individualInsertSchema = zodOpenapi.z.object({
|
|
13745
13778
|
internalId: zodOpenapi.z.string().optional(),
|
|
13746
13779
|
name: zodOpenapi.z.string().min(1, "Jm\xE9no je povinn\xE9"),
|
|
@@ -13766,7 +13799,8 @@ const individualInsertSchema = zodOpenapi.z.object({
|
|
|
13766
13799
|
deathNotification: zodOpenapi.z.date().optional(),
|
|
13767
13800
|
pin: zodOpenapi.z.string().optional(),
|
|
13768
13801
|
stayAbroad: zodOpenapi.z.boolean().optional(),
|
|
13769
|
-
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional()
|
|
13802
|
+
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
13803
|
+
identityDocuments: zodOpenapi.z.array(idDocumentInputSchema$1).optional()
|
|
13770
13804
|
});
|
|
13771
13805
|
const createOrganizationInputSchema = zodOpenapi.z.object({
|
|
13772
13806
|
internalId: zodOpenapi.z.string().optional(),
|
|
@@ -13793,7 +13827,8 @@ const createOrganizationInputSchema = zodOpenapi.z.object({
|
|
|
13793
13827
|
operationCountries: zodOpenapi.z.string(),
|
|
13794
13828
|
riskyBusinessType: zodOpenapi.z.string().optional(),
|
|
13795
13829
|
vatId: zodOpenapi.z.string().optional(),
|
|
13796
|
-
court: zodOpenapi.z.enum(COURT).optional()
|
|
13830
|
+
court: zodOpenapi.z.enum(COURT).optional(),
|
|
13831
|
+
registerUri: zodOpenapi.z.string().optional()
|
|
13797
13832
|
});
|
|
13798
13833
|
const updateBankAccountSchema = zodOpenapi.z.object({
|
|
13799
13834
|
...bankAccountMetadataSchema.shape,
|
|
@@ -13806,7 +13841,8 @@ const updateBankAccountSchema = zodOpenapi.z.object({
|
|
|
13806
13841
|
number: zodOpenapi.z.string().min(1, "\u010C\xEDslo \xFA\u010Dtu je povinn\xE9").optional(),
|
|
13807
13842
|
currency: zodOpenapi.z.enum(generalCodes.CURRENCY_CODES, "M\u011Bna je povinn\xE1"),
|
|
13808
13843
|
countryCode: bankAccountMetadataSchema.shape.countryCode.nonoptional(),
|
|
13809
|
-
id: bankAccountMetadataSchema.shape.id.nonoptional()
|
|
13844
|
+
id: bankAccountMetadataSchema.shape.id.nonoptional(),
|
|
13845
|
+
statementUri: zodOpenapi.z.string().optional()
|
|
13810
13846
|
});
|
|
13811
13847
|
const bankAccountInputSchema = updateBankAccountSchema.required({
|
|
13812
13848
|
holderName: true,
|
|
@@ -13934,15 +13970,6 @@ const ownerInputSchema = zodOpenapi.z.object({
|
|
|
13934
13970
|
sharePercentage: zodOpenapi.z.number({ error: "Pod\xEDl na spole\u010Dnosti je povinn\xFD" }).min(1, "Pod\xEDl na spole\u010Dnosti je povinn\xFD").max(100),
|
|
13935
13971
|
shareEstablishedAt: zodOpenapi.z.string().min(1, "Datum vzniku pod\xEDlu je povinn\xFD")
|
|
13936
13972
|
});
|
|
13937
|
-
const idDocumentInputSchema$1 = zodOpenapi.z.object({
|
|
13938
|
-
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
13939
|
-
idDocNumber: zodOpenapi.z.string(),
|
|
13940
|
-
issueDate: zodOpenapi.z.date().optional(),
|
|
13941
|
-
expirationDate: zodOpenapi.z.date().optional(),
|
|
13942
|
-
issuer: zodOpenapi.z.string().optional(),
|
|
13943
|
-
frontImageUri: zodOpenapi.z.string().optional(),
|
|
13944
|
-
backImageUri: zodOpenapi.z.string().optional()
|
|
13945
|
-
});
|
|
13946
13973
|
const legalRepresentativeInputSchema = zodOpenapi.z.object({
|
|
13947
13974
|
titleBefore: zodOpenapi.z.string().optional(),
|
|
13948
13975
|
name: zodOpenapi.z.string().min(1, "Jm\xE9no je povinn\xE9"),
|
|
@@ -14022,8 +14049,15 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
14022
14049
|
createPartyRoute,
|
|
14023
14050
|
async (context) => {
|
|
14024
14051
|
const { owners, legalRepresentatives, ...partyInput } = context.req.valid("json");
|
|
14052
|
+
const disponentsWithDocs = (partyInput.disponents ?? []).filter(
|
|
14053
|
+
(d) => d.partyType === "INDIVIDUAL" && !!d.data.identityDocuments?.length
|
|
14054
|
+
);
|
|
14055
|
+
const disponentsForBatch = (partyInput.disponents ?? []).filter(
|
|
14056
|
+
(d) => !(d.partyType === "INDIVIDUAL" && !!d.data.identityDocuments?.length)
|
|
14057
|
+
);
|
|
14025
14058
|
const { data: partyData, error } = await context.env.MASTER_DATA_MANAGEMENT_SERVICE.createParty({
|
|
14026
14059
|
...partyInput,
|
|
14060
|
+
disponents: disponentsForBatch,
|
|
14027
14061
|
party: { ...partyInput.party, isRoot: true }
|
|
14028
14062
|
});
|
|
14029
14063
|
if (!partyData || error) {
|
|
@@ -14035,6 +14069,104 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
14035
14069
|
);
|
|
14036
14070
|
}
|
|
14037
14071
|
const mdm = context.env.MASTER_DATA_MANAGEMENT_SERVICE;
|
|
14072
|
+
const docService = context.env.DOCUMENT_SERVICE;
|
|
14073
|
+
if (partyInput.organizationData?.registerUri) {
|
|
14074
|
+
await docService.acknowledgeDocument({
|
|
14075
|
+
storageUrl: partyInput.organizationData.registerUri,
|
|
14076
|
+
entityId: partyData.id
|
|
14077
|
+
});
|
|
14078
|
+
}
|
|
14079
|
+
for (const ba of partyInput.bankAccounts ?? []) {
|
|
14080
|
+
if (ba.statementUri) {
|
|
14081
|
+
await docService.acknowledgeDocument({
|
|
14082
|
+
storageUrl: ba.statementUri,
|
|
14083
|
+
entityId: partyData.id
|
|
14084
|
+
});
|
|
14085
|
+
}
|
|
14086
|
+
}
|
|
14087
|
+
for (const [i, doc] of (partyInput.personalData?.identityDocuments ?? []).entries()) {
|
|
14088
|
+
const idDocId = partyData.personalIdDocIds?.[i] ?? partyData.id;
|
|
14089
|
+
if (doc.frontImageUri) {
|
|
14090
|
+
await docService.acknowledgeDocument({
|
|
14091
|
+
storageUrl: doc.frontImageUri,
|
|
14092
|
+
entityId: idDocId
|
|
14093
|
+
});
|
|
14094
|
+
}
|
|
14095
|
+
if (doc.backImageUri) {
|
|
14096
|
+
await docService.acknowledgeDocument({
|
|
14097
|
+
storageUrl: doc.backImageUri,
|
|
14098
|
+
entityId: idDocId
|
|
14099
|
+
});
|
|
14100
|
+
}
|
|
14101
|
+
}
|
|
14102
|
+
for (const disponent of disponentsWithDocs) {
|
|
14103
|
+
const { identityDocuments, ...individualData } = disponent.data;
|
|
14104
|
+
const { data: disponentParty, error: disponentError } = await mdm.createParty({
|
|
14105
|
+
party: {
|
|
14106
|
+
partyType: "INDIVIDUAL",
|
|
14107
|
+
language: partyInput.party.language,
|
|
14108
|
+
customerStatus: "NEW"
|
|
14109
|
+
},
|
|
14110
|
+
personalData: individualData,
|
|
14111
|
+
organizationData: null,
|
|
14112
|
+
bankAccounts: null,
|
|
14113
|
+
recipients: null,
|
|
14114
|
+
disponents: null,
|
|
14115
|
+
addresses: [],
|
|
14116
|
+
aml: null
|
|
14117
|
+
});
|
|
14118
|
+
if (!disponentParty || disponentError) {
|
|
14119
|
+
return context.json(
|
|
14120
|
+
{ message: "Could not create disponent party" },
|
|
14121
|
+
500
|
|
14122
|
+
);
|
|
14123
|
+
}
|
|
14124
|
+
const { error: linkDisponentError } = await mdm.linkPartyToParty({
|
|
14125
|
+
fromPartyId: disponentParty.id,
|
|
14126
|
+
toPartyId: partyData.id,
|
|
14127
|
+
relationshipType: "AUTHORIZED_SIGNATORY"
|
|
14128
|
+
});
|
|
14129
|
+
if (linkDisponentError) {
|
|
14130
|
+
return context.json(
|
|
14131
|
+
{ message: "Could not link disponent to party" },
|
|
14132
|
+
500
|
|
14133
|
+
);
|
|
14134
|
+
}
|
|
14135
|
+
for (const doc of identityDocuments ?? []) {
|
|
14136
|
+
const { data: createdIdDoc, error: idDocError } = await mdm.createIdDocument({
|
|
14137
|
+
partyId: disponentParty.id,
|
|
14138
|
+
idDocument: {
|
|
14139
|
+
partyId: disponentParty.id,
|
|
14140
|
+
idDocType: doc.idDocType,
|
|
14141
|
+
idDocNumber: doc.idDocNumber,
|
|
14142
|
+
idDocHolderName: `${individualData.name} ${individualData.surname}`,
|
|
14143
|
+
issueDate: doc.issueDate,
|
|
14144
|
+
expirationDate: doc.expirationDate,
|
|
14145
|
+
issuer: doc.issuer,
|
|
14146
|
+
frontImageUri: doc.frontImageUri,
|
|
14147
|
+
backImageUri: doc.backImageUri
|
|
14148
|
+
}
|
|
14149
|
+
});
|
|
14150
|
+
if (!createdIdDoc || idDocError) {
|
|
14151
|
+
return context.json(
|
|
14152
|
+
{ message: "Could not create disponent identity document" },
|
|
14153
|
+
500
|
|
14154
|
+
);
|
|
14155
|
+
}
|
|
14156
|
+
if (doc.frontImageUri) {
|
|
14157
|
+
await docService.acknowledgeDocument({
|
|
14158
|
+
storageUrl: doc.frontImageUri,
|
|
14159
|
+
entityId: createdIdDoc.id
|
|
14160
|
+
});
|
|
14161
|
+
}
|
|
14162
|
+
if (doc.backImageUri) {
|
|
14163
|
+
await docService.acknowledgeDocument({
|
|
14164
|
+
storageUrl: doc.backImageUri,
|
|
14165
|
+
entityId: createdIdDoc.id
|
|
14166
|
+
});
|
|
14167
|
+
}
|
|
14168
|
+
}
|
|
14169
|
+
}
|
|
14038
14170
|
if (owners?.length) {
|
|
14039
14171
|
for (const owner of owners) {
|
|
14040
14172
|
const { address, sharePercentage, shareEstablishedAt, ...individual } = owner;
|
|
@@ -14050,7 +14182,7 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
14050
14182
|
recipients: null,
|
|
14051
14183
|
disponents: null,
|
|
14052
14184
|
addresses: [{ ...address, addressType: "PERMANENT_ADDRESS" }],
|
|
14053
|
-
aml:
|
|
14185
|
+
aml: null
|
|
14054
14186
|
});
|
|
14055
14187
|
if (ownerParty && !ownerError) {
|
|
14056
14188
|
await mdm.linkPartyToParty({
|
|
@@ -14083,32 +14215,60 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
14083
14215
|
recipients: null,
|
|
14084
14216
|
disponents: null,
|
|
14085
14217
|
addresses: [{ ...address, addressType: "PERMANENT_ADDRESS" }],
|
|
14086
|
-
aml:
|
|
14218
|
+
aml: null
|
|
14087
14219
|
});
|
|
14088
|
-
if (repParty
|
|
14089
|
-
|
|
14090
|
-
|
|
14091
|
-
|
|
14092
|
-
|
|
14093
|
-
|
|
14094
|
-
|
|
14095
|
-
|
|
14096
|
-
|
|
14097
|
-
|
|
14098
|
-
|
|
14099
|
-
|
|
14100
|
-
|
|
14101
|
-
|
|
14102
|
-
|
|
14103
|
-
|
|
14104
|
-
|
|
14105
|
-
|
|
14106
|
-
|
|
14107
|
-
|
|
14108
|
-
|
|
14109
|
-
|
|
14110
|
-
|
|
14220
|
+
if (!repParty || repError) {
|
|
14221
|
+
return context.json(
|
|
14222
|
+
{ message: "Could not create legal representative party" },
|
|
14223
|
+
500
|
|
14224
|
+
);
|
|
14225
|
+
}
|
|
14226
|
+
const { error: linkRepError } = await mdm.linkPartyToParty({
|
|
14227
|
+
fromPartyId: repParty.id,
|
|
14228
|
+
toPartyId: partyData.id,
|
|
14229
|
+
relationshipType: "BOARD_MEMBER",
|
|
14230
|
+
fromDate: new Date(dateOfEstablishment)
|
|
14231
|
+
});
|
|
14232
|
+
if (linkRepError) {
|
|
14233
|
+
return context.json(
|
|
14234
|
+
{ message: "Could not link legal representative to party" },
|
|
14235
|
+
500
|
|
14236
|
+
);
|
|
14237
|
+
}
|
|
14238
|
+
for (const doc of identityDocuments ?? []) {
|
|
14239
|
+
const { data: createdIdDoc, error: idDocError } = await mdm.createIdDocument({
|
|
14240
|
+
partyId: repParty.id,
|
|
14241
|
+
idDocument: {
|
|
14242
|
+
partyId: repParty.id,
|
|
14243
|
+
idDocType: doc.idDocType,
|
|
14244
|
+
idDocNumber: doc.idDocNumber,
|
|
14245
|
+
idDocHolderName: `${individual.name} ${individual.surname}`,
|
|
14246
|
+
issueDate: doc.issueDate,
|
|
14247
|
+
expirationDate: doc.expirationDate,
|
|
14248
|
+
issuer: doc.issuer,
|
|
14249
|
+
frontImageUri: doc.frontImageUri,
|
|
14250
|
+
backImageUri: doc.backImageUri
|
|
14111
14251
|
}
|
|
14252
|
+
});
|
|
14253
|
+
if (!createdIdDoc || idDocError) {
|
|
14254
|
+
return context.json(
|
|
14255
|
+
{
|
|
14256
|
+
message: "Could not create legal representative identity document"
|
|
14257
|
+
},
|
|
14258
|
+
500
|
|
14259
|
+
);
|
|
14260
|
+
}
|
|
14261
|
+
if (doc.frontImageUri) {
|
|
14262
|
+
await docService.acknowledgeDocument({
|
|
14263
|
+
storageUrl: doc.frontImageUri,
|
|
14264
|
+
entityId: createdIdDoc.id
|
|
14265
|
+
});
|
|
14266
|
+
}
|
|
14267
|
+
if (doc.backImageUri) {
|
|
14268
|
+
await docService.acknowledgeDocument({
|
|
14269
|
+
storageUrl: doc.backImageUri,
|
|
14270
|
+
entityId: createdIdDoc.id
|
|
14271
|
+
});
|
|
14112
14272
|
}
|
|
14113
14273
|
}
|
|
14114
14274
|
}
|
|
@@ -14131,6 +14291,16 @@ const partySchema = zodOpenapi.z.object({
|
|
|
14131
14291
|
note: zodOpenapi.z.string().optional(),
|
|
14132
14292
|
countryCode: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional()
|
|
14133
14293
|
});
|
|
14294
|
+
const idDocumentInputSchema = zodOpenapi.z.object({
|
|
14295
|
+
id: zodOpenapi.z.uuid().optional(),
|
|
14296
|
+
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
14297
|
+
idDocNumber: zodOpenapi.z.string(),
|
|
14298
|
+
issueDate: zodOpenapi.z.date().optional(),
|
|
14299
|
+
expirationDate: zodOpenapi.z.date().optional(),
|
|
14300
|
+
issuer: zodOpenapi.z.string().optional(),
|
|
14301
|
+
frontImageUri: zodOpenapi.z.string().optional(),
|
|
14302
|
+
backImageUri: zodOpenapi.z.string().optional()
|
|
14303
|
+
});
|
|
14134
14304
|
const individualUpdateSchema = zodOpenapi.z.object({
|
|
14135
14305
|
id: zodOpenapi.z.uuid(),
|
|
14136
14306
|
partyId: zodOpenapi.z.uuid(),
|
|
@@ -14158,7 +14328,8 @@ const individualUpdateSchema = zodOpenapi.z.object({
|
|
|
14158
14328
|
deathNotification: zodOpenapi.z.date().optional(),
|
|
14159
14329
|
pin: zodOpenapi.z.string().optional(),
|
|
14160
14330
|
stayAbroad: zodOpenapi.z.boolean().optional(),
|
|
14161
|
-
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional()
|
|
14331
|
+
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
14332
|
+
identityDocuments: zodOpenapi.z.array(idDocumentInputSchema).optional()
|
|
14162
14333
|
});
|
|
14163
14334
|
const organizationUpdateSchema = zodOpenapi.z.object({
|
|
14164
14335
|
id: zodOpenapi.z.uuid(),
|
|
@@ -14187,7 +14358,8 @@ const organizationUpdateSchema = zodOpenapi.z.object({
|
|
|
14187
14358
|
operationCountries: zodOpenapi.z.string(),
|
|
14188
14359
|
riskyBusinessType: zodOpenapi.z.string().optional(),
|
|
14189
14360
|
vatId: zodOpenapi.z.string().nullable().optional(),
|
|
14190
|
-
court: zodOpenapi.z.enum(COURT).nullable().optional()
|
|
14361
|
+
court: zodOpenapi.z.enum(COURT).nullable().optional(),
|
|
14362
|
+
registerUri: zodOpenapi.z.string().optional()
|
|
14191
14363
|
});
|
|
14192
14364
|
const syncBankAccountSchema = zodOpenapi.z.object({
|
|
14193
14365
|
...bankAccountMetadataSchema.shape,
|
|
@@ -14197,7 +14369,8 @@ const syncBankAccountSchema = zodOpenapi.z.object({
|
|
|
14197
14369
|
number: zodOpenapi.z.string().optional(),
|
|
14198
14370
|
currency: bankAccountMetadataSchema.shape.currency.nonoptional(),
|
|
14199
14371
|
countryCode: bankAccountMetadataSchema.shape.countryCode.nonoptional(),
|
|
14200
|
-
id: zodOpenapi.z.uuid().optional()
|
|
14372
|
+
id: zodOpenapi.z.uuid().optional(),
|
|
14373
|
+
statementUri: zodOpenapi.z.string().optional()
|
|
14201
14374
|
});
|
|
14202
14375
|
const disponentIndividualSyncDataSchema = zodOpenapi.z.object({
|
|
14203
14376
|
id: zodOpenapi.z.uuid().optional(),
|
|
@@ -14224,7 +14397,8 @@ const disponentIndividualSyncDataSchema = zodOpenapi.z.object({
|
|
|
14224
14397
|
deathNotification: zodOpenapi.z.date().optional(),
|
|
14225
14398
|
pin: zodOpenapi.z.string().optional(),
|
|
14226
14399
|
stayAbroad: zodOpenapi.z.boolean().optional(),
|
|
14227
|
-
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional()
|
|
14400
|
+
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
14401
|
+
identityDocuments: zodOpenapi.z.array(idDocumentInputSchema).optional()
|
|
14228
14402
|
});
|
|
14229
14403
|
const disponentOrganizationSyncDataSchema = zodOpenapi.z.object({
|
|
14230
14404
|
id: zodOpenapi.z.uuid().optional(),
|
|
@@ -14249,7 +14423,8 @@ const disponentOrganizationSyncDataSchema = zodOpenapi.z.object({
|
|
|
14249
14423
|
companyObjectsDescription: zodOpenapi.z.string(),
|
|
14250
14424
|
turnover3years: zodOpenapi.z.number(),
|
|
14251
14425
|
operationCountries: zodOpenapi.z.string(),
|
|
14252
|
-
riskyBusinessType: zodOpenapi.z.string().optional()
|
|
14426
|
+
riskyBusinessType: zodOpenapi.z.string().optional(),
|
|
14427
|
+
registerUri: zodOpenapi.z.string().optional()
|
|
14253
14428
|
});
|
|
14254
14429
|
const disponentSyncSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
14255
14430
|
zodOpenapi.z.object({
|
|
@@ -14364,15 +14539,6 @@ const ownerSyncSchema = zodOpenapi.z.object({
|
|
|
14364
14539
|
sharePercentage: zodOpenapi.z.number().max(100),
|
|
14365
14540
|
shareEstablishedAt: zodOpenapi.z.string().min(1, "Datum vzniku pod\xEDlu je povinn\xFD")
|
|
14366
14541
|
});
|
|
14367
|
-
const idDocumentInputSchema = zodOpenapi.z.object({
|
|
14368
|
-
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
14369
|
-
idDocNumber: zodOpenapi.z.string(),
|
|
14370
|
-
issueDate: zodOpenapi.z.date().optional(),
|
|
14371
|
-
expirationDate: zodOpenapi.z.date().optional(),
|
|
14372
|
-
issuer: zodOpenapi.z.string().optional(),
|
|
14373
|
-
frontImageUri: zodOpenapi.z.string().optional(),
|
|
14374
|
-
backImageUri: zodOpenapi.z.string().optional()
|
|
14375
|
-
});
|
|
14376
14542
|
const legalRepresentativeSyncSchema = zodOpenapi.z.object({
|
|
14377
14543
|
id: zodOpenapi.z.uuid().optional(),
|
|
14378
14544
|
titleBefore: zodOpenapi.z.string().optional(),
|
|
@@ -14475,6 +14641,78 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
14475
14641
|
if (!updatedParty || partyError) {
|
|
14476
14642
|
return context.json({ message: "Could not update a Party" }, 404);
|
|
14477
14643
|
}
|
|
14644
|
+
const docService = context.env.DOCUMENT_SERVICE;
|
|
14645
|
+
if (party.organizationData?.registerUri) {
|
|
14646
|
+
await docService.acknowledgeDocument({
|
|
14647
|
+
storageUrl: party.organizationData.registerUri,
|
|
14648
|
+
entityId: partyId
|
|
14649
|
+
});
|
|
14650
|
+
}
|
|
14651
|
+
for (const ba of party.bankAccounts ?? []) {
|
|
14652
|
+
if (ba.statementUri) {
|
|
14653
|
+
await docService.acknowledgeDocument({
|
|
14654
|
+
storageUrl: ba.statementUri,
|
|
14655
|
+
entityId: partyId
|
|
14656
|
+
});
|
|
14657
|
+
}
|
|
14658
|
+
}
|
|
14659
|
+
if (party.personalData?.identityDocuments?.length) {
|
|
14660
|
+
let newDocIdx = 0;
|
|
14661
|
+
for (const doc of party.personalData.identityDocuments) {
|
|
14662
|
+
const idDocEntityId = doc.id ? doc.id : updatedParty.newPersonalIdDocIds?.[newDocIdx++] ?? partyId;
|
|
14663
|
+
if (doc.frontImageUri) {
|
|
14664
|
+
await docService.acknowledgeDocument({
|
|
14665
|
+
storageUrl: doc.frontImageUri,
|
|
14666
|
+
entityId: idDocEntityId
|
|
14667
|
+
});
|
|
14668
|
+
}
|
|
14669
|
+
if (doc.backImageUri) {
|
|
14670
|
+
await docService.acknowledgeDocument({
|
|
14671
|
+
storageUrl: doc.backImageUri,
|
|
14672
|
+
entityId: idDocEntityId
|
|
14673
|
+
});
|
|
14674
|
+
}
|
|
14675
|
+
}
|
|
14676
|
+
}
|
|
14677
|
+
if (party.legalRepresentatives?.length) {
|
|
14678
|
+
let newBmDocIdx = 0;
|
|
14679
|
+
for (const rep of party.legalRepresentatives) {
|
|
14680
|
+
if (rep.id) continue;
|
|
14681
|
+
for (const doc of rep.identityDocuments ?? []) {
|
|
14682
|
+
const idDocEntityId = updatedParty.newBoardMemberIdDocIds?.[newBmDocIdx++] ?? partyId;
|
|
14683
|
+
if (doc.frontImageUri) {
|
|
14684
|
+
await docService.acknowledgeDocument({
|
|
14685
|
+
storageUrl: doc.frontImageUri,
|
|
14686
|
+
entityId: idDocEntityId
|
|
14687
|
+
});
|
|
14688
|
+
}
|
|
14689
|
+
if (doc.backImageUri) {
|
|
14690
|
+
await docService.acknowledgeDocument({
|
|
14691
|
+
storageUrl: doc.backImageUri,
|
|
14692
|
+
entityId: idDocEntityId
|
|
14693
|
+
});
|
|
14694
|
+
}
|
|
14695
|
+
}
|
|
14696
|
+
}
|
|
14697
|
+
for (const rep of party.legalRepresentatives) {
|
|
14698
|
+
if (!rep.id) continue;
|
|
14699
|
+
for (const doc of rep.identityDocuments ?? []) {
|
|
14700
|
+
const idDocEntityId = doc.id ? doc.id : updatedParty.newBoardMemberIdDocIds?.[newBmDocIdx++] ?? partyId;
|
|
14701
|
+
if (doc.frontImageUri) {
|
|
14702
|
+
await docService.acknowledgeDocument({
|
|
14703
|
+
storageUrl: doc.frontImageUri,
|
|
14704
|
+
entityId: idDocEntityId
|
|
14705
|
+
});
|
|
14706
|
+
}
|
|
14707
|
+
if (doc.backImageUri) {
|
|
14708
|
+
await docService.acknowledgeDocument({
|
|
14709
|
+
storageUrl: doc.backImageUri,
|
|
14710
|
+
entityId: idDocEntityId
|
|
14711
|
+
});
|
|
14712
|
+
}
|
|
14713
|
+
}
|
|
14714
|
+
}
|
|
14715
|
+
}
|
|
14478
14716
|
return context.json(
|
|
14479
14717
|
{
|
|
14480
14718
|
message: "Party updated successfully",
|
|
@@ -14485,6 +14723,167 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
14485
14723
|
}
|
|
14486
14724
|
);
|
|
14487
14725
|
|
|
14726
|
+
const DOCUMENT_SIDE = ["front", "back"];
|
|
14727
|
+
const paramsSchema$2 = zodOpenapi.z.object({
|
|
14728
|
+
partyId: zodOpenapi.z.uuid()
|
|
14729
|
+
});
|
|
14730
|
+
const idDocumentCreateInputSchema = zodOpenapi.z.object({
|
|
14731
|
+
partyId: zodOpenapi.z.uuid(),
|
|
14732
|
+
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
14733
|
+
idDocNumber: zodOpenapi.z.string(),
|
|
14734
|
+
idDocHolderName: zodOpenapi.z.string(),
|
|
14735
|
+
issueDate: zodOpenapi.z.coerce.date().optional(),
|
|
14736
|
+
expirationDate: zodOpenapi.z.coerce.date().optional(),
|
|
14737
|
+
issuer: zodOpenapi.z.string().optional(),
|
|
14738
|
+
countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
14739
|
+
idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional()
|
|
14740
|
+
});
|
|
14741
|
+
const idDocumentMultipartSchema = zodOpenapi.z.object({
|
|
14742
|
+
idDocument: zodOpenapi.z.string(),
|
|
14743
|
+
documentSide: zodOpenapi.z.enum(DOCUMENT_SIDE),
|
|
14744
|
+
file: zodOpenapi.z.any()
|
|
14745
|
+
});
|
|
14746
|
+
const multipartOpenApiSchema = zodOpenapi.z.object({
|
|
14747
|
+
idDocument: zodOpenapi.z.string().openapi({
|
|
14748
|
+
description: "JSON stringified IdDocument payload"
|
|
14749
|
+
}),
|
|
14750
|
+
documentSide: zodOpenapi.z.enum(DOCUMENT_SIDE),
|
|
14751
|
+
file: zodOpenapi.z.any().openapi({
|
|
14752
|
+
type: "string",
|
|
14753
|
+
format: "binary"
|
|
14754
|
+
})
|
|
14755
|
+
});
|
|
14756
|
+
const idDocumentOutputSchema = zodOpenapi.z.object({
|
|
14757
|
+
id: zodOpenapi.z.uuid(),
|
|
14758
|
+
createdAt: zodOpenapi.z.iso.datetime().nullable(),
|
|
14759
|
+
updatedAt: zodOpenapi.z.iso.datetime().nullable(),
|
|
14760
|
+
deletedAt: zodOpenapi.z.iso.datetime().nullable(),
|
|
14761
|
+
partyId: zodOpenapi.z.uuid(),
|
|
14762
|
+
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
14763
|
+
idDocNumber: zodOpenapi.z.string(),
|
|
14764
|
+
idDocHolderName: zodOpenapi.z.string(),
|
|
14765
|
+
issueDate: zodOpenapi.z.iso.datetime().nullable(),
|
|
14766
|
+
expirationDate: zodOpenapi.z.iso.datetime().nullable(),
|
|
14767
|
+
issuer: zodOpenapi.z.string().nullable(),
|
|
14768
|
+
countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
14769
|
+
frontImageUri: zodOpenapi.z.string().nullable(),
|
|
14770
|
+
backImageUri: zodOpenapi.z.string().nullable(),
|
|
14771
|
+
idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).nullable()
|
|
14772
|
+
});
|
|
14773
|
+
const responseBodySchema$3 = zodOpenapi.z.object({
|
|
14774
|
+
message: zodOpenapi.z.string(),
|
|
14775
|
+
idDocument: idDocumentOutputSchema
|
|
14776
|
+
});
|
|
14777
|
+
const createDocumentRoute = zodOpenapi.createRoute({
|
|
14778
|
+
method: "post",
|
|
14779
|
+
path: "/",
|
|
14780
|
+
summary: "Create ID Document",
|
|
14781
|
+
tags: ["ID Documents"],
|
|
14782
|
+
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.",
|
|
14783
|
+
// middleware: [jwt, signature(), idempotency()],
|
|
14784
|
+
// security: [{ JwtAuth: [] }],
|
|
14785
|
+
request: {
|
|
14786
|
+
// headers: z.object({
|
|
14787
|
+
// 'X-Idempotency-Key': XIdempotencyKeyHeaderSchema,
|
|
14788
|
+
// 'X-Signature': XSignatureHeaderSchema,
|
|
14789
|
+
// 'X-Signature-Key': XSignatureKeyHeaderSchema,
|
|
14790
|
+
// }),
|
|
14791
|
+
body: {
|
|
14792
|
+
content: {
|
|
14793
|
+
"multipart/form-data": {
|
|
14794
|
+
schema: multipartOpenApiSchema
|
|
14795
|
+
}
|
|
14796
|
+
},
|
|
14797
|
+
required: true
|
|
14798
|
+
},
|
|
14799
|
+
params: paramsSchema$2
|
|
14800
|
+
},
|
|
14801
|
+
responses: {
|
|
14802
|
+
200: {
|
|
14803
|
+
description: "Document created and file uploaded",
|
|
14804
|
+
content: {
|
|
14805
|
+
"application/json": {
|
|
14806
|
+
schema: responseBodySchema$3
|
|
14807
|
+
}
|
|
14808
|
+
}
|
|
14809
|
+
},
|
|
14810
|
+
400: {
|
|
14811
|
+
description: "Invalid request",
|
|
14812
|
+
content: {
|
|
14813
|
+
"application/json": {
|
|
14814
|
+
schema: zodOpenapi.z.object({ message: zodOpenapi.z.string() })
|
|
14815
|
+
}
|
|
14816
|
+
}
|
|
14817
|
+
},
|
|
14818
|
+
500: {
|
|
14819
|
+
description: "Internal server error",
|
|
14820
|
+
content: {
|
|
14821
|
+
"application/json": {
|
|
14822
|
+
schema: zodOpenapi.z.object({ message: zodOpenapi.z.string() })
|
|
14823
|
+
}
|
|
14824
|
+
}
|
|
14825
|
+
}
|
|
14826
|
+
}
|
|
14827
|
+
});
|
|
14828
|
+
new zodOpenapi.OpenAPIHono().openapi(
|
|
14829
|
+
createDocumentRoute,
|
|
14830
|
+
async (context) => {
|
|
14831
|
+
const rawBody = await context.req.parseBody();
|
|
14832
|
+
const { partyId } = context.req.valid("param");
|
|
14833
|
+
const idDocumentRaw = rawBody.idDocument;
|
|
14834
|
+
const documentSide = rawBody.documentSide;
|
|
14835
|
+
const file = rawBody.file;
|
|
14836
|
+
if (typeof idDocumentRaw !== "string" || !DOCUMENT_SIDE.includes(documentSide) || !(file instanceof File)) {
|
|
14837
|
+
return context.json({ message: "Invalid multipart payload" }, 400);
|
|
14838
|
+
}
|
|
14839
|
+
const idDocumentJson = JSON.parse(JSON.parse(idDocumentRaw));
|
|
14840
|
+
const idDocumentResult = idDocumentCreateInputSchema.safeParse(idDocumentJson);
|
|
14841
|
+
if (!idDocumentResult.success) {
|
|
14842
|
+
console.error(idDocumentResult.error);
|
|
14843
|
+
return context.json({ message: "Could not parse IdDocument" }, 400);
|
|
14844
|
+
}
|
|
14845
|
+
const {
|
|
14846
|
+
data: createdIdDocument,
|
|
14847
|
+
error: createError,
|
|
14848
|
+
message
|
|
14849
|
+
} = await context.env.MASTER_DATA_MANAGEMENT_SERVICE.createIdDocument({
|
|
14850
|
+
idDocument: idDocumentResult.data,
|
|
14851
|
+
partyId
|
|
14852
|
+
});
|
|
14853
|
+
if (!createdIdDocument || createError) {
|
|
14854
|
+
console.error(message);
|
|
14855
|
+
return context.json({ message: "Could not create IdDocument" }, 500);
|
|
14856
|
+
}
|
|
14857
|
+
const bytes = new Uint8Array(await file.arrayBuffer());
|
|
14858
|
+
const { data: uploadResult, error: uploadError } = await context.env.DOCUMENT_SERVICE.uploadDocument({
|
|
14859
|
+
entityType: "client",
|
|
14860
|
+
entityId: createdIdDocument.id,
|
|
14861
|
+
type: "kyc",
|
|
14862
|
+
metadata: {},
|
|
14863
|
+
file: {
|
|
14864
|
+
bytes,
|
|
14865
|
+
type: file.type,
|
|
14866
|
+
name: file.name,
|
|
14867
|
+
size: file.size
|
|
14868
|
+
}
|
|
14869
|
+
});
|
|
14870
|
+
if (!uploadResult || uploadError) {
|
|
14871
|
+
return context.json({ message: "File upload failed" }, 500);
|
|
14872
|
+
}
|
|
14873
|
+
return context.json(
|
|
14874
|
+
{
|
|
14875
|
+
message: "IdDocument created successfully",
|
|
14876
|
+
idDocument: {
|
|
14877
|
+
...createdIdDocument,
|
|
14878
|
+
frontImageUri: documentSide === "front" ? uploadResult.storageUrl : createdIdDocument.frontImageUri,
|
|
14879
|
+
backImageUri: documentSide === "back" ? uploadResult.storageUrl : createdIdDocument.backImageUri
|
|
14880
|
+
}
|
|
14881
|
+
},
|
|
14882
|
+
200
|
|
14883
|
+
);
|
|
14884
|
+
}
|
|
14885
|
+
);
|
|
14886
|
+
|
|
14488
14887
|
const partyBaseOutputSchema = zodOpenapi.z.object({
|
|
14489
14888
|
customerStatus: zodOpenapi.z.enum(CUSTOMER_STATUS),
|
|
14490
14889
|
partyType: zodOpenapi.z.enum(PARTY_TYPE),
|
|
@@ -14526,7 +14925,8 @@ const individualOutputSchema = zodOpenapi.z.object({
|
|
|
14526
14925
|
stayAbroad: zodOpenapi.z.boolean().nullable(),
|
|
14527
14926
|
stayAbroadCountries: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
14528
14927
|
createdAt: zodOpenapi.z.coerce.date().nullable(),
|
|
14529
|
-
updatedAt: zodOpenapi.z.coerce.date().nullable()
|
|
14928
|
+
updatedAt: zodOpenapi.z.coerce.date().nullable(),
|
|
14929
|
+
identityDocuments: zodOpenapi.z.array(idDocumentOutputSchema).nullable()
|
|
14530
14930
|
});
|
|
14531
14931
|
const createOrganizationOutputSchema = zodOpenapi.z.object({
|
|
14532
14932
|
partyId: zodOpenapi.z.uuid(),
|
|
@@ -14554,7 +14954,8 @@ const createOrganizationOutputSchema = zodOpenapi.z.object({
|
|
|
14554
14954
|
operationCountries: zodOpenapi.z.string(),
|
|
14555
14955
|
riskyBusinessType: zodOpenapi.z.string().nullable(),
|
|
14556
14956
|
vatId: zodOpenapi.z.string().nullable(),
|
|
14557
|
-
court: zodOpenapi.z.enum(COURT).nullable()
|
|
14957
|
+
court: zodOpenapi.z.enum(COURT).nullable(),
|
|
14958
|
+
registerUri: zodOpenapi.z.string().nullable()
|
|
14558
14959
|
});
|
|
14559
14960
|
const bankAccountOutputSchema = zodOpenapi.z.object({
|
|
14560
14961
|
id: zodOpenapi.z.string(),
|
|
@@ -14574,7 +14975,8 @@ const bankAccountOutputSchema = zodOpenapi.z.object({
|
|
|
14574
14975
|
clabe: zodOpenapi.z.string().nullable(),
|
|
14575
14976
|
bsb: zodOpenapi.z.string().nullable(),
|
|
14576
14977
|
brBankNumber: zodOpenapi.z.string().nullable(),
|
|
14577
|
-
updatedAt: zodOpenapi.z.coerce.date().nullable()
|
|
14978
|
+
updatedAt: zodOpenapi.z.coerce.date().nullable(),
|
|
14979
|
+
statementUri: zodOpenapi.z.string().nullable()
|
|
14578
14980
|
});
|
|
14579
14981
|
const disponentOutputSchema = zodOpenapi.z.discriminatedUnion("partyType", [
|
|
14580
14982
|
zodOpenapi.z.object({
|
|
@@ -14711,6 +15113,9 @@ const productsOutputSchema = zodOpenapi.z.object({
|
|
|
14711
15113
|
}).nullable(),
|
|
14712
15114
|
cbs: zodOpenapi.z.object({}).nullable()
|
|
14713
15115
|
});
|
|
15116
|
+
const recipientOutputSchema = bankAccountOutputSchema.omit({
|
|
15117
|
+
statementUri: true
|
|
15118
|
+
});
|
|
14714
15119
|
const partyOutputSchema = zodOpenapi.z.object({
|
|
14715
15120
|
party: partyBaseOutputSchema.nullable(),
|
|
14716
15121
|
personalData: individualOutputSchema.nullable(),
|
|
@@ -14719,13 +15124,13 @@ const partyOutputSchema = zodOpenapi.z.object({
|
|
|
14719
15124
|
disponents: zodOpenapi.z.array(disponentOutputSchema).nullable(),
|
|
14720
15125
|
addresses: zodOpenapi.z.array(createAddressOutputSchema).nullable(),
|
|
14721
15126
|
aml: createAmlOutputSchema.nullable(),
|
|
14722
|
-
recipients: zodOpenapi.z.array(
|
|
15127
|
+
recipients: zodOpenapi.z.array(recipientOutputSchema).nullable(),
|
|
14723
15128
|
products: productsOutputSchema.nullable(),
|
|
14724
15129
|
traderIds: zodOpenapi.z.array(zodOpenapi.z.uuid()).nullable(),
|
|
14725
15130
|
owners: zodOpenapi.z.array(ownerOutputSchema).nullable(),
|
|
14726
15131
|
legalRepresentatives: zodOpenapi.z.array(legalRepresentativeOutputSchema).nullable()
|
|
14727
15132
|
});
|
|
14728
|
-
const responseBodySchema$
|
|
15133
|
+
const responseBodySchema$2 = zodOpenapi.z.object({
|
|
14729
15134
|
message: zodOpenapi.z.string(),
|
|
14730
15135
|
party: partyOutputSchema
|
|
14731
15136
|
});
|
|
@@ -14742,7 +15147,7 @@ const getPartyByPartyIdRoute = zodOpenapi.createRoute({
|
|
|
14742
15147
|
200: {
|
|
14743
15148
|
content: {
|
|
14744
15149
|
"application/json": {
|
|
14745
|
-
schema: responseBodySchema$
|
|
15150
|
+
schema: responseBodySchema$2
|
|
14746
15151
|
}
|
|
14747
15152
|
},
|
|
14748
15153
|
description: "Get party by party Id"
|
|
@@ -14859,167 +15264,6 @@ new zodOpenapi.OpenAPIHono().openapi(
|
|
|
14859
15264
|
}
|
|
14860
15265
|
);
|
|
14861
15266
|
|
|
14862
|
-
const DOCUMENT_SIDE = ["front", "back"];
|
|
14863
|
-
const paramsSchema$2 = zodOpenapi.z.object({
|
|
14864
|
-
partyId: zodOpenapi.z.uuid()
|
|
14865
|
-
});
|
|
14866
|
-
const idDocumentCreateInputSchema = zodOpenapi.z.object({
|
|
14867
|
-
partyId: zodOpenapi.z.uuid(),
|
|
14868
|
-
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
14869
|
-
idDocNumber: zodOpenapi.z.string(),
|
|
14870
|
-
idDocHolderName: zodOpenapi.z.string(),
|
|
14871
|
-
issueDate: zodOpenapi.z.coerce.date().optional(),
|
|
14872
|
-
expirationDate: zodOpenapi.z.coerce.date().optional(),
|
|
14873
|
-
issuer: zodOpenapi.z.string().optional(),
|
|
14874
|
-
countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).optional(),
|
|
14875
|
-
idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).optional()
|
|
14876
|
-
});
|
|
14877
|
-
const idDocumentMultipartSchema = zodOpenapi.z.object({
|
|
14878
|
-
idDocument: zodOpenapi.z.string(),
|
|
14879
|
-
documentSide: zodOpenapi.z.enum(DOCUMENT_SIDE),
|
|
14880
|
-
file: zodOpenapi.z.any()
|
|
14881
|
-
});
|
|
14882
|
-
const multipartOpenApiSchema = zodOpenapi.z.object({
|
|
14883
|
-
idDocument: zodOpenapi.z.string().openapi({
|
|
14884
|
-
description: "JSON stringified IdDocument payload"
|
|
14885
|
-
}),
|
|
14886
|
-
documentSide: zodOpenapi.z.enum(DOCUMENT_SIDE),
|
|
14887
|
-
file: zodOpenapi.z.any().openapi({
|
|
14888
|
-
type: "string",
|
|
14889
|
-
format: "binary"
|
|
14890
|
-
})
|
|
14891
|
-
});
|
|
14892
|
-
const idDocumentOutputSchema = zodOpenapi.z.object({
|
|
14893
|
-
id: zodOpenapi.z.uuid(),
|
|
14894
|
-
createdAt: zodOpenapi.z.iso.datetime().nullable(),
|
|
14895
|
-
updatedAt: zodOpenapi.z.iso.datetime().nullable(),
|
|
14896
|
-
deletedAt: zodOpenapi.z.iso.datetime().nullable(),
|
|
14897
|
-
partyId: zodOpenapi.z.uuid(),
|
|
14898
|
-
idDocType: zodOpenapi.z.enum(ID_DOC_TYPE),
|
|
14899
|
-
idDocNumber: zodOpenapi.z.string(),
|
|
14900
|
-
idDocHolderName: zodOpenapi.z.string(),
|
|
14901
|
-
issueDate: zodOpenapi.z.iso.datetime().nullable(),
|
|
14902
|
-
expirationDate: zodOpenapi.z.iso.datetime().nullable(),
|
|
14903
|
-
issuer: zodOpenapi.z.string().nullable(),
|
|
14904
|
-
countryOfIssue: zodOpenapi.z.enum(generalCodes.COUNTRY_CODES_2).nullable(),
|
|
14905
|
-
frontImageUri: zodOpenapi.z.string().nullable(),
|
|
14906
|
-
backImageUri: zodOpenapi.z.string().nullable(),
|
|
14907
|
-
idDocStatus: zodOpenapi.z.enum(ID_DOC_STATUS).nullable()
|
|
14908
|
-
});
|
|
14909
|
-
const responseBodySchema$2 = zodOpenapi.z.object({
|
|
14910
|
-
message: zodOpenapi.z.string(),
|
|
14911
|
-
idDocument: idDocumentOutputSchema
|
|
14912
|
-
});
|
|
14913
|
-
const createDocumentRoute = zodOpenapi.createRoute({
|
|
14914
|
-
method: "post",
|
|
14915
|
-
path: "/",
|
|
14916
|
-
summary: "Create ID Document",
|
|
14917
|
-
tags: ["ID Documents"],
|
|
14918
|
-
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.",
|
|
14919
|
-
// middleware: [jwt, signature(), idempotency()],
|
|
14920
|
-
// security: [{ JwtAuth: [] }],
|
|
14921
|
-
request: {
|
|
14922
|
-
// headers: z.object({
|
|
14923
|
-
// 'X-Idempotency-Key': XIdempotencyKeyHeaderSchema,
|
|
14924
|
-
// 'X-Signature': XSignatureHeaderSchema,
|
|
14925
|
-
// 'X-Signature-Key': XSignatureKeyHeaderSchema,
|
|
14926
|
-
// }),
|
|
14927
|
-
body: {
|
|
14928
|
-
content: {
|
|
14929
|
-
"multipart/form-data": {
|
|
14930
|
-
schema: multipartOpenApiSchema
|
|
14931
|
-
}
|
|
14932
|
-
},
|
|
14933
|
-
required: true
|
|
14934
|
-
},
|
|
14935
|
-
params: paramsSchema$2
|
|
14936
|
-
},
|
|
14937
|
-
responses: {
|
|
14938
|
-
200: {
|
|
14939
|
-
description: "Document created and file uploaded",
|
|
14940
|
-
content: {
|
|
14941
|
-
"application/json": {
|
|
14942
|
-
schema: responseBodySchema$2
|
|
14943
|
-
}
|
|
14944
|
-
}
|
|
14945
|
-
},
|
|
14946
|
-
400: {
|
|
14947
|
-
description: "Invalid request",
|
|
14948
|
-
content: {
|
|
14949
|
-
"application/json": {
|
|
14950
|
-
schema: zodOpenapi.z.object({ message: zodOpenapi.z.string() })
|
|
14951
|
-
}
|
|
14952
|
-
}
|
|
14953
|
-
},
|
|
14954
|
-
500: {
|
|
14955
|
-
description: "Internal server error",
|
|
14956
|
-
content: {
|
|
14957
|
-
"application/json": {
|
|
14958
|
-
schema: zodOpenapi.z.object({ message: zodOpenapi.z.string() })
|
|
14959
|
-
}
|
|
14960
|
-
}
|
|
14961
|
-
}
|
|
14962
|
-
}
|
|
14963
|
-
});
|
|
14964
|
-
new zodOpenapi.OpenAPIHono().openapi(
|
|
14965
|
-
createDocumentRoute,
|
|
14966
|
-
async (context) => {
|
|
14967
|
-
const rawBody = await context.req.parseBody();
|
|
14968
|
-
const { partyId } = context.req.valid("param");
|
|
14969
|
-
const idDocumentRaw = rawBody.idDocument;
|
|
14970
|
-
const documentSide = rawBody.documentSide;
|
|
14971
|
-
const file = rawBody.file;
|
|
14972
|
-
if (typeof idDocumentRaw !== "string" || !DOCUMENT_SIDE.includes(documentSide) || !(file instanceof File)) {
|
|
14973
|
-
return context.json({ message: "Invalid multipart payload" }, 400);
|
|
14974
|
-
}
|
|
14975
|
-
const idDocumentJson = JSON.parse(JSON.parse(idDocumentRaw));
|
|
14976
|
-
const idDocumentResult = idDocumentCreateInputSchema.safeParse(idDocumentJson);
|
|
14977
|
-
if (!idDocumentResult.success) {
|
|
14978
|
-
console.error(idDocumentResult.error);
|
|
14979
|
-
return context.json({ message: "Could not parse IdDocument" }, 400);
|
|
14980
|
-
}
|
|
14981
|
-
const {
|
|
14982
|
-
data: createdIdDocument,
|
|
14983
|
-
error: createError,
|
|
14984
|
-
message
|
|
14985
|
-
} = await context.env.MASTER_DATA_MANAGEMENT_SERVICE.createIdDocument({
|
|
14986
|
-
idDocument: idDocumentResult.data,
|
|
14987
|
-
partyId
|
|
14988
|
-
});
|
|
14989
|
-
if (!createdIdDocument || createError) {
|
|
14990
|
-
console.error(message);
|
|
14991
|
-
return context.json({ message: "Could not create IdDocument" }, 500);
|
|
14992
|
-
}
|
|
14993
|
-
const bytes = new Uint8Array(await file.arrayBuffer());
|
|
14994
|
-
const { data: uploadResult, error: uploadError } = await context.env.DOCUMENT_SERVICE.uploadDocument({
|
|
14995
|
-
entityType: "client",
|
|
14996
|
-
entityId: createdIdDocument.id,
|
|
14997
|
-
type: "kyc",
|
|
14998
|
-
metadata: {},
|
|
14999
|
-
file: {
|
|
15000
|
-
bytes,
|
|
15001
|
-
type: file.type,
|
|
15002
|
-
name: file.name,
|
|
15003
|
-
size: file.size
|
|
15004
|
-
}
|
|
15005
|
-
});
|
|
15006
|
-
if (!uploadResult || uploadError) {
|
|
15007
|
-
return context.json({ message: "File upload failed" }, 500);
|
|
15008
|
-
}
|
|
15009
|
-
return context.json(
|
|
15010
|
-
{
|
|
15011
|
-
message: "IdDocument created successfully",
|
|
15012
|
-
idDocument: {
|
|
15013
|
-
...createdIdDocument,
|
|
15014
|
-
frontImageUri: documentSide === "front" ? uploadResult.storageUrl : createdIdDocument.frontImageUri,
|
|
15015
|
-
backImageUri: documentSide === "back" ? uploadResult.storageUrl : createdIdDocument.backImageUri
|
|
15016
|
-
}
|
|
15017
|
-
},
|
|
15018
|
-
200
|
|
15019
|
-
);
|
|
15020
|
-
}
|
|
15021
|
-
);
|
|
15022
|
-
|
|
15023
15267
|
const XIdempotencyKeyHeaderSchema = zodOpenapi.z.string().openapi({
|
|
15024
15268
|
description: "Unique identifier header to ensure the request is processed only once.",
|
|
15025
15269
|
example: "4ac15c22-2bd3-426f-b915-bfd5febdb7df"
|