UNPKG

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
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, };