42 lines
1.0 KiB
TypeScript

import { KycDocUploadResponse, MyKycResponse } from '@interfaces';
import { apiClient } from '@services';
export interface KycUploadFile {
uri: string;
name: string;
type: string;
}
export interface KycUploadMetadata {
docName: string;
docNumber: string;
}
export interface KycUploadPayload {
files: KycUploadFile[];
metadata: KycUploadMetadata[];
}
export const uploadKycDocuments = async (
payload: KycUploadPayload,
): Promise<KycDocUploadResponse> => {
const formData = new FormData();
payload.files.forEach(file => {
// In React Native, FormData requires appending file objects with uri, name, and type properties
formData.append('files', {
uri: file.uri,
name: file.name,
type: file.type,
} as any);
});
formData.append('metadata', JSON.stringify(payload.metadata));
return await apiClient.post<KycDocUploadResponse>('/kyc/upload', formData);
};
export const getMyKyc = async (): Promise<MyKycResponse> => {
return await apiClient.get<MyKycResponse>('/kyc/my-details');
};