ggez-banking-sdk
Version:
A Node.js package to handle GGEZ Banking API endpoints, Simplify the process of managing CRUD operations with this efficient and easy-to-use package.
579 lines (578 loc) • 14.4 kB
TypeScript
import { ExternalHostMessageType, ExternalHostMode } from "../constants/enum";
import { IOrganization } from "./organizationInterface";
import { CustomField } from "./signInterface";
export type UserInfo = {
result: IResult;
info: IInfo;
personal_info: IPersonalInfo;
address: IAddress;
addresses: IAddresses[];
email: IEmail[];
phone: IPhone[];
security: ISecurity;
preferences: IPreferences;
identification: IIdentification[];
bank_account: IBankAccount[];
credit_card: any;
notification: any;
documents: any;
currency: ICurrency[];
credit_limit: any;
account: IAccount[];
group: any;
terms_conditions: ITermsConditions;
device_info: IDeviceInfo;
device: IDevice[] | null;
device_history: IDeviceHistory[] | null;
commerce: any;
external_auth: any;
validation_data: any;
relationship: any;
geo_coordinates: IGeoCoordinates | any;
custom_field: CustomField | null;
history: string;
access_rule: string;
ticket: ITicket[] | null;
general_requirements: IGeneralRequirements;
organization: IOrganization[];
notes: any;
last_activity: ILastActivity;
authentication: string | null;
authentication_data: IAuthenticationData[] | null;
validate: string;
function_code: string;
time_zone: string;
time_zone_name: string;
response_time: string;
};
export interface ITicket {
info: ITicketInfo;
content: ITicketContent;
history: ITicketHistory[];
ExternalHostInfo: ITicketExternalHostInfo;
ticket_json: string;
}
export interface ITicketInfo {
id: number;
cluster_id: number;
program_id: number;
parent_id: number;
entity: number;
entity_id: number;
sub_entity: ITicketSubEntity[];
by_entity: number;
by_entity_id: number;
assigned_to_entity: number;
assigned_to_entity_id: number;
entity_data: number;
status: number;
description_code: string;
category: number;
type: number;
scope: number;
priority: number;
service_provider: number;
service_method: number;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
source_time_zone: string;
original_source_id: string;
}
export interface ITicketSubEntity {
sub_entity: number;
sub_entity_id: number;
verification_status: number;
status: number;
}
export interface ITicketContent {
subject: string;
content: string;
}
export interface ITicketHistory {
info: ITicketInfo;
content: ITicketContent;
}
export interface ITicketExternalHostInfo {
ExternalHostMessageType: ExternalHostMessageType;
ExternalHostMode: ExternalHostMode;
MessageDescription: string;
MessageDescriptionCode: string;
OldAccountStatus: string;
}
export interface IDeviceHistory {
id: number;
type: number;
brand: string;
os: string;
extended_info: {
sim_info: null;
culture_info: null;
user_agent: string;
fingerprint: string;
cpu: string;
system_language: string;
};
activity_type: number;
application_version: null | string;
serial_number: null | string;
source_ip_address: null | string;
geo_coordinates: null | string;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
client_time_zone: string;
}
export interface IGeoCoordinates {
latitude: string;
longitude: string;
position_description: string;
}
export interface InfoChain {
isKeplerConnect: boolean;
address: string;
ugz: number;
uggezOne: number;
}
export interface InfoUser {
name: string;
email: string;
avatar: string;
}
export interface Data {
infoChain: any;
infoUser: InfoUser;
}
export interface AppState {
data: Data[];
error: string | null;
}
export interface IDevice {
id: number;
type: number;
brand: string;
os: string;
unique_id: null;
installation_id: string;
extended_info: {
sim_info: null;
culture_info: null;
user_agent: string;
fingerprint: string;
cpu: string;
system_language: string;
};
status: number;
verification_status: number;
is_online: boolean | null;
encryption_key: string;
application_version: string | null;
serial_number: string;
source_ip_address: string | null;
geo_coordinates: null | GeoCoordinates | any;
original_source_id: string;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
client_time_zone: string;
}
export interface GeoCoordinates {
latitude: string;
longitude: string;
position_description: string;
}
export interface ISecurity {
trust_level: string;
password: string;
security_code: string | null;
signup_code: string | null;
secret_question_1: string;
secret_answer_1: string | null;
secret_question_2: string;
secret_answer_2: string | null;
}
export interface IAuthenticationData {
code: string | null;
is_enabled: 0 | 1;
issuer: string;
manual_entry_key: string | null;
qr_image_url: string | null;
secret_key: string | null;
title: string;
type: number;
}
export interface IPreferences {
preferred_language_code: string;
enable_facebook_account: string;
enable_promotion_notification: string;
enable_email_notification: string;
enable_sms_notification: string;
enable_push_notification: string;
enable_device_authentication: string;
time_zone: string;
time_zone_name: string;
is_agent: string;
is_reseller: string;
is_seller: string;
}
export interface IPhone {
id: string;
type: string;
country_code: string;
number: string;
is_primary: string;
status: string;
verification_status: string;
original_source_id: string;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
custom_field: string;
}
export interface IIdentification {
result: string;
id: string;
type: string;
country_of_issue: string;
country_of_residence: string;
number: string;
issue_date: string;
expiry_date: string;
status: string;
verification_status: string;
original_source_id: string;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
extra_data: string;
custom_field: string;
ticket: any;
}
export interface IEmail {
id: number | null;
type: number | null;
address: string;
is_primary: number | null;
status: number | null;
original_source_id: string;
date_utc: string;
server_date: string;
client_date: string;
update_date_utc: string;
custom_field: any;
verification_status: number | null;
}
export interface IResult {
code: string;
message: string;
friendly_message: string;
}
export interface IInfo {
id: string;
program_id: string;
status: string;
type: number;
risk_rate: string;
server_date: string;
date_utc: string;
client_date: string;
source_time_zone: string;
original_source_id: string;
}
export interface IPersonalInfo {
title: string;
first_name: string;
last_name: string;
nick_name: string;
job_title: string;
gender: string;
date_of_birth: string;
verification_status: string;
picture: string;
custom_field: string;
}
export interface IAddress {
type: string;
is_billing: number;
address_line1: string;
address_line2: string;
postal_zip_code: string;
country_code: string;
state_region: string;
city_town: string;
status: string;
verification_status: string;
original_source_id: string;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
custom_field: string | null;
}
export interface IAddresses {
id: string;
type: string;
is_primary: string;
is_billing: number;
address_line1: string;
address_line2: string;
postal_zip_code: string;
country_code: string;
state_region: string;
city_town: string;
status: string;
verification_status: string;
original_source_id: string;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
custom_field: string;
ticket: any;
}
export interface IBankAccount {
id: string;
linked_account_id: string;
name: string;
beneficiary_name: string;
holder_name: string;
country_code: string;
currency_code: string;
type: string;
payment_type: string;
beneficiary_type: string;
number: string;
swift_code: string;
iban: string;
transit_number: string;
institution_number: string;
routing_number: string;
phone_id: string;
address_id: string;
bank_address: string;
state_region: string;
is_primary: string;
status: string;
verification_status: string;
city_town: string;
postal_zip_code: string;
extended_data: string;
sort_code: string;
original_source_id: string;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
service_provider: string;
custom_field: string;
ticket: any;
settlement_currency_code: string;
}
export interface IAccount {
result: string;
info: {
activation_date_time: string;
available_balance: string;
balance: string;
bin_id: string;
card_image: null;
client_date: null;
currency: string;
date_utc: string;
external_available_balance: null;
external_balance: null;
id: number;
is_multi_currency: null;
name: string;
nick_name: null;
number: string;
original_source_id: string;
program_id: number;
replace_account: null;
security: null;
server_date: string;
source_time_zone: string;
status: string;
supplied_id: number;
type: string;
usage_status: string;
user_id: number;
user_name: null;
account_id: number;
update_date_utc: string;
};
chain_data: any;
limits: string;
archive: string;
custom_field: string;
geo_coordinates: string;
options: string;
bank_account: string;
history: string;
fulfilment: string;
access_rule: string;
provision: string;
credit_limit: string;
tokenization: string;
notes: string;
last_activity: string;
authentication: string;
validate: string;
function_code: string;
time_zone: string;
time_zone_name: string;
response_time: string;
}
export interface ICurrency {
id: string;
code: string;
number: string;
is_primary: string;
}
export interface ITermsConditions {
id: string;
acceptance: string;
title: string;
version_name: string;
server_date: string;
}
export interface IDeviceInfo {
id: string;
type: string;
brand: string;
os: string;
unique_id: string;
installation_id: string;
extended_info: string;
status: string;
verification_status: string;
encryption_key: string;
application_version: string;
serial_number: string;
source_ip_address: string;
geo_coordinates: string;
original_source_id: string;
server_date: string;
date_utc: string;
client_date: string;
update_date_utc: string;
client_time_zone: string;
}
export interface IGeneralRequirements {
id: string;
entity: string;
entity_id: string;
verification_status: string;
name: string;
description: string;
notes: string;
}
export interface ILastActivity {
entity: string;
entity_id: string;
entity_data: string;
activity_type: string;
notes: {
user_notes: string;
admin_notes: string;
};
update_date_utc: string;
}
export interface IInfo {
id: string;
program_id: string;
status: string;
type: number;
risk_rate: string;
server_date: string;
date_utc: string;
client_date: string;
source_time_zone: string;
original_source_id: string;
}
export interface IDetails {
established_date?: string | null;
formatted_established_date?: string | null;
size?: number | null;
registration_number: string;
trade_license_number: string;
}
export interface IRelationship {
id?: number;
entity?: number | null;
entity_id?: number | null;
entity_name?: string;
entity_email?: string;
entity_phone?: string;
on_entity?: number | null;
on_entity_id?: number | null;
on_entity_name?: string;
on_entity_email?: string;
on_entity_phone?: string;
type?: number | null;
status?: number | null;
verification_status?: number | null;
order?: number | null;
original_source_id: string;
formatted_server_date: string;
formatted_date_utc: string;
formatted_client_date: string;
formatted_update_date_utc: string;
custom_field: Record<string, any>;
}
export interface IDocumentData {
info?: any;
attachment?: any[];
custom_field?: Record<string, any>;
geo_coordinates?: any;
}
export interface IUserData {
name: string;
email: string;
avatar?: string;
token: string;
expiresIn: string;
jwtToken: string;
encryptedJwt: string;
userId: string;
programId: string;
userType: string;
userTypeId?: string;
deviceId: string;
exp?: string;
role: string;
hostName: string;
fingerPrint: string;
rememberedEmail?: string;
sessionId: string;
expireDate: string;
deviceStatus: number;
deviceVerificationStatus: number;
installationId: string;
}
export interface IUserDataSlice {
user: IUserData;
geoCoordinates: IGeoCoordinates | undefined;
ipAddress: string;
}
export interface IIPAddressAndLocation {
ip_address: string;
country: string;
city: string;
latitude: number;
longitude: number;
}
export interface IGeoCoordinates {
latitude: string;
longitude: string;
position_description: string;
}
export interface IGeoCoordinatesAndIPAddress {
geo_coordinates: IGeoCoordinates | null;
ip_address: string;
}