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.
113 lines (112 loc) • 3.71 kB
JavaScript
import { AddressType, Entity, DocumentType, EntityStatus, EntityVerificationStatus, OrganizationType, } from "../../constant";
import { createDefaultDocumentData } from "./user/document";
const createDefaultOrganizationData = (overrides) => ({
result: null,
notes: null,
last_activity: null,
authentication: null,
validate: null,
function_code: null,
response_time: null,
time_zone: null,
time_zone_name: null,
info: null,
details: null,
address: [],
email: [],
phone: [],
social_media: [],
ownership_json: "",
classification: null,
working_hours: null,
json: "",
geo_coordinates: null,
history: [],
relationship: [],
documents: [],
users: [],
accounts: [],
picture: [],
ticket: [],
...overrides,
});
const fillCreateOrganizationData = (data, userId) => {
return createDefaultOrganizationData({
info: {
name: data.name,
local_name: data.localName,
status: EntityStatus.Active,
verification_status: EntityVerificationStatus.Not_Verified,
type: OrganizationType.Individual_Group,
business_type: data.businessType,
entity: Entity.User,
entity_id: userId,
},
details: {
established_date: data.establishedDate,
registration_number: data.registrationNumber,
trade_license_number: data.tradeLicenseNumber,
},
address: [
{
type: AddressType.Work,
is_primary: 1,
is_billing: data.isBilling,
address_line1: data.addressLine1,
address_line2: data.addressLine2,
postal_zip_code: data.postalZipCode,
country_code: data.countryCode,
state_region: data.stateRegion,
city_town: data.cityTown,
status: EntityStatus.Active,
},
],
});
};
const fillUploadOrganizationDocumentData = (data) => {
return createDefaultDocumentData({
info: {
type: DocumentType.Organization_Document,
language: "en",
subject: data.subject,
},
attachment: data.attachment,
custom_field: {
"custom notes": "Organization Document",
},
validate: "0",
});
};
const fillUpdateOrganizationData = (data, userId) => {
return createDefaultOrganizationData({
info: {
name: data.name,
local_name: data.localName,
verification_status: EntityVerificationStatus.Not_Verified,
type: OrganizationType.Individual_Group,
business_type: data.businessType,
entity: Entity.User,
entity_id: userId,
},
details: {
registration_number: data.registrationNumber,
trade_license_number: data.tradeLicenseNumber,
},
address: [
{
id: data.addressId,
type: AddressType.Work,
is_primary: 1,
is_billing: data.isBilling,
address_line1: data.addressLine1,
address_line2: data.addressLine2,
postal_zip_code: data.postalZipCode,
country_code: data.countryCode,
state_region: data.stateRegion,
city_town: data.cityTown,
status: EntityStatus.Active,
},
],
});
};
export { createDefaultOrganizationData, fillCreateOrganizationData, fillUploadOrganizationDocumentData as fillCreateOrganizationDocumentData, fillUpdateOrganizationData, };