react-native-unit-components
Version:
Unit React Native components
118 lines (110 loc) • 2.65 kB
text/typescript
import { Permissible, UNAddress, UNBusinessContact, UNFullName, UNPhone } from './types';
export type UNCustomer = UNIndividualCustomer | UNBusinessCustomer
export type UNBusinessCustomer = {
type: UNCustomerType.BusinessCustomer
id: string
attributes: {
createdAt: Date
name: UNFullName
dba?: string
address: UNAddress
phone: UNPhone
dateOfIncorporation: Date
stateOfIncorporation: string
email: string
ein: Permissible<string>
entityType: 'Corporation' | 'LLC'
contact: UNBusinessContact
purpose: string
tags: { [key: string]: string }
riskRate: UNRiskRate
authorizedUsers: UNAuthorizedUser[]
status: UNCustomerStatus
archiveReason?: UNArchiveReason
}
relationships: {
org: {
data: {
type: 'org'
id: string
}
}
application?: {
data: {
type: string
id: string
}
}
}
}
export type UNIndividualCustomer = {
type: UNCustomerType.IndividualCustomer
id: string
attributes: {
createdAt: Date
fullName: UNFullName
ssn: Permissible<string>
passport: Permissible<string>
nationality: Permissible<string>
matriculaConsular: Permissible<string>
address: UNAddress
dateOfBirth: Date
email: string
phone: UNPhone
tin?: string
ip?: string
ein: Permissible<string>
dba?: string
soleProprietorship: boolean
tags: { [key: string]: string }
riskRate: UNRiskRate
maskedSSN?: string
maskedPassport?: string
maskedMatriculaConsular?: string
authorizedUsers: UNAuthorizedUser[]
status: UNCustomerStatus
archiveReason?: UNArchiveReason
}
relationships: {
org: {
data: {
type: 'org'
id: string
}
}
application?: {
data: {
type: string
id: string
}
}
}
}
export enum UNCustomerType {
IndividualCustomer = 'individualCustomer',
BusinessCustomer = 'businessCustomer',
}
export enum UNCustomerStatus {
Active = 'Active',
Archived = 'Archived',
}
export enum UNArchiveReason {
Inactive = 'Inactive',
FraudACHActivity = 'FraudACHActivity',
FraudCardActivity = 'FraudCardActivity',
FraudCheckActivity = 'FraudCheckActivity',
FraudApplicationHistory = 'FraudApplicationHistory',
FraudAccountActivity = 'FraudAccountActivity',
FraudClientIdentified = 'FraudClientIdentified',
FraudLinkedToFraudulentCustomer = 'FraudLinkedToFraudulentCustomer',
}
export enum UNRiskRate {
Low = 'low',
Medium = 'medium',
High = 'high',
}
export type UNAuthorizedUser = {
fullName: UNFullName
email: string
phone: UNPhone
}