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.

33 lines (32 loc) 1.95 kB
import { DocumentData, OrganizationData, PersonalInfo, ResetUserSecurity, UserData, UserSecurity } from ".."; import type { GiftData } from "../banking/entities/customField/promotionData/giftData"; type TEntity = UserData[keyof Pick<UserData, "addresses" | "bank_account" | "email" | "phone" | "identification">][0]; type TModifyListByEntity = <K extends TEntity>(entityList: K[], entity: K) => K[]; type TModifyByDocumentData = <K extends TEntity>(entityList: K[], entity: DocumentData) => K[]; type TModifyOrganizationByDocumentData = (organizationList: OrganizationData[], documentData: DocumentData) => OrganizationData[]; type TModifyOrganizationList = (organizationList: OrganizationData[], organization: OrganizationData) => OrganizationData[]; type TModifyProfilePicture = (personal_info: PersonalInfo, documentData: DocumentData) => PersonalInfo; type TModifySecurity = <K extends UserSecurity>(userSecurity: K, newUserSecurity: K) => UserSecurity; type TModifySecurityResetUserSecurity = (userSecurity: UserSecurity, resetUserSecurity: ResetUserSecurity) => UserSecurity; export { TEntity, TModifyListByEntity, TModifyByDocumentData, TModifyOrganizationByDocumentData, TModifyOrganizationList, TModifyProfilePicture, TModifySecurityResetUserSecurity, TModifySecurity, }; type BaseEntity = { id: number; is_primary: number; verification_status: number; }; type TSortEntity = <K extends BaseEntity>(entityList: K[]) => K[]; type TBaseSortEntityBy = <K extends BaseEntity>(a: K, b: K) => number; type TSortByIsPrimary = TBaseSortEntityBy; type TSortByVerificationStatus = TBaseSortEntityBy; type TSortByID = TBaseSortEntityBy; export { TSortEntity, TSortByIsPrimary, TSortByVerificationStatus, TSortByID }; type PromotionCustomField = { promotion_data: { gift_data?: GiftData[]; referral_data?: { code: string; type: string; }; }; }; export type { PromotionCustomField };