refactor: remove all any types, add strict GraphQL scalar typing
All checks were successful
Build Docker Image / build (push) Successful in 4m3s
All checks were successful
Build Docker Image / build (push) Successful in 4m3s
- Add strictScalars: true to codegen.ts with proper scalar mappings (Date, Decimal, JSONString, JSON, UUID, BigInt → string/Record) - Replace all ref<any[]> with proper GraphQL-derived types - Add type guards for null filtering in arrays - Fix bugs exposed by typing (locationLatitude vs latitude, etc.) - Add interfaces for external components (MapboxSearchBox) This enables end-to-end type safety from GraphQL schema to frontend.
This commit is contained in:
@@ -57,24 +57,39 @@ const submitting = ref(false)
|
||||
const submitError = ref<string | null>(null)
|
||||
const submitSuccess = ref(false)
|
||||
|
||||
const handleSubmit = async (formData: any) => {
|
||||
interface KycFormData {
|
||||
company_name?: string
|
||||
company_full_name?: string
|
||||
inn?: string
|
||||
kpp?: string
|
||||
ogrn?: string
|
||||
address?: string
|
||||
bank_name?: string
|
||||
bik?: string
|
||||
correspondent_account?: string
|
||||
contact_person?: string
|
||||
contact_email?: string
|
||||
contact_phone?: string
|
||||
}
|
||||
|
||||
const handleSubmit = async (formData: KycFormData) => {
|
||||
try {
|
||||
submitting.value = true
|
||||
submitError.value = null
|
||||
|
||||
const submitData = {
|
||||
companyName: formData.company_name,
|
||||
companyFullName: formData.company_full_name,
|
||||
inn: formData.inn,
|
||||
companyName: formData.company_name || '',
|
||||
companyFullName: formData.company_full_name || '',
|
||||
inn: formData.inn || '',
|
||||
kpp: formData.kpp || '',
|
||||
ogrn: formData.ogrn || '',
|
||||
address: formData.address,
|
||||
bankName: formData.bank_name,
|
||||
bik: formData.bik,
|
||||
address: formData.address || '',
|
||||
bankName: formData.bank_name || '',
|
||||
bik: formData.bik || '',
|
||||
correspondentAccount: formData.correspondent_account || '',
|
||||
contactPerson: formData.contact_person,
|
||||
contactEmail: formData.contact_email,
|
||||
contactPhone: formData.contact_phone,
|
||||
contactPerson: formData.contact_person || '',
|
||||
contactEmail: formData.contact_email || '',
|
||||
contactPhone: formData.contact_phone || '',
|
||||
}
|
||||
|
||||
const result = await mutate(CreateKycApplicationRussiaDocument, { input: submitData }, 'user', 'kyc')
|
||||
@@ -85,8 +100,8 @@ const handleSubmit = async (formData: any) => {
|
||||
} else {
|
||||
throw new Error(t('kycRussia.errors.create_failed'))
|
||||
}
|
||||
} catch (err: any) {
|
||||
submitError.value = err.message || t('kycRussia.errors.submit_failed')
|
||||
} catch (err: unknown) {
|
||||
submitError.value = err instanceof Error ? err.message : t('kycRussia.errors.submit_failed')
|
||||
} finally {
|
||||
submitting.value = false
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user