UNPKG

rba-widget

Version:

An embeddable Risk Based Authentication - Login & Transaction

181 lines (180 loc) 4.8 kB
export type UserDetails = { userId: string; secret: string; accountId?: string | null; transactionId?: string | null; transaction_amount?: string | number | null; transaction_type?: string | null; recipient_details?: string | null; recipient_bank_name?: string | null; transaction_category?: string | null; transaction_currency?: string | null; transaction_frequency?: string | null; recipient_account_no?: string | number; wallet_id?: string; payment_mode?: string; upi_id?: string; recipient_ifsc_code?: string; ifsc_code?: string; sender_upi_id?: string; account_no?: number | string; bank_name?: number | string; debit_card_no?: number | string; debit_card_expiry?: string; debit_card_cvv?: number | string; credit_card_no?: number | string; credit_card_expiry?: string; credit_card_cvv?: number | string; device_fingerprint?: string; device_id?: string; device_model?: string; device_type?: string; ip_address?: string; isp_name?: string; latitude?: string; longitude?: string; network_type?: string; operating_system_and_version?: string; time_zone?: string; timestamp?: string; type?: string; vpn_check?: string; }; export type LogMessage = { action: string; message: string; code: number; data?: unknown; }; export type RBAWidgetProps = { baseUrl: string; ipInfoToken: string; type: "login" | "transaction"; userDetails: UserDetails; onMessage: (arg: LogMessage) => void; pageLoadTime?: number; jwt?: undefined | string; }; export type UserInfo = { userid?: string; accountid?: string; email?: string; phone?: string; }; export type LoginResultData = { actionNeeded?: string; trackingId?: string; jwt?: string; userId?: string; authType?: string; user?: UserInfo; }; export type DeviceResultData = { deviceId?: string; }; export type ApiResponse = { resultCode?: number; resultData?: LoginResultData; resultMessage?: string; timestamp?: Date | string; transaction_currency: string; }; export interface User { userid: string; accountid: string; } export interface MFADialogProps { open: boolean; onClose: () => void; baseUrl: string; handleFinalCall: (status: number) => void; responseData: LoginResultData | undefined; deviceData: DeviceInfo | null; logAction: (action: string, message: string, code: number, data?: unknown) => void; } export interface CircularProgressWithLabelProps { value: number; } export interface DataJSONBodyProps { type: number; device_id?: string; device_type?: string; operating_system_and_version?: string; browser_version?: string; ip_address?: string; latitude?: string | number; longitude?: string | number; timestamp: string; time_taken_to_login?: number; time_taken_to_complete_transaction?: number; screen_resolution?: string; transaction_amount?: string; transaction_type?: string; recipient_details?: string; recipient_bank_name?: string; transaction_category?: string; transaction_currency?: string; transaction_frequency?: string; recipient_account_no?: string | number; wallet_id?: string; payment_mode?: string; upi_id?: string; recipient_ifsc_code?: string; ifsc_code?: string; sender_upi_id?: string; account_no?: number | string; bank_name?: number | string; debit_card_no?: number | string; debit_card_expiry?: string; debit_card_cvv?: number | string; credit_card_no?: number | string; credit_card_expiry?: string; credit_card_cvv?: number | string; device_fingerprint?: string; device_model?: string; isp_name?: string; network_type?: string; time_zone?: string; vpn_check?: string; } export interface DeviceInfo { ip: string; loc: string; latitude: string; longitude: string; postal: string; timeZone: string; timeZoneArea: string; carrierName: string; browserName: string; browserVersion: string; deviceType: string; engineName: string; engineVersion: string; fullBrowserVersion: string; mobileModel: string; mobileVendor: string; osName: string; osVersion: string; screenResolution: string; defaultLanguage: string; isVpnUsed: boolean; deviceId: string; [key: string]: unknown; } export interface GeolocationData { ip?: string; loc?: string; latitude?: string; longitude?: string; postal?: string; org?: string; privacy?: { vpn?: boolean; }; [key: string]: unknown; } export type MimeType = { pattern: string; mime: string; };