lombongo-api-client 0.0.136 → 0.0.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/base.js CHANGED
@@ -1 +1 @@
1
- class t{constructor(t){this.client=t,this.endpoint="/accounts"}async getAccounts(){return await this.client.request("get",this.endpoint)}async createAoaAccount(){return await this.client.request("post",this.endpoint,{currency:"aoa"},{})}async createEurAccount(){return await this.client.request("post",this.endpoint,{currency:"eur"},{})}}class s{constructor(t){this.observers=[],this.authState={authenticated:!1},this.client=t}_notifyObservers(){for(const t of this.observers)t(this.authState)}onAuthStateChange(t){this.observers.push(t)}isAuthenticated(){return Boolean(this.client.token)}async signUp(t){const s=(await this.client.request("post","/api/auth/sign-up/email",t)).data;return this.authState={authenticated:!0,user:s.user,token:s.token},this._notifyObservers(),s}async login(t){const s=(await this.client.request("post","/api/auth/sign-in/email",t)).data;return this.authState={authenticated:!0,user:s.user,token:s.token},this._notifyObservers(),s}async signOut(){await this.client.request("post","/api/auth/sign-out"),delete this.client.token,this.authState={authenticated:!1,user:void 0,token:void 0},this._notifyObservers()}async getSession(){return await this.client.request("get","/api/auth/get-session")}async checkUsernameAvailability(t){const s=`/auth/users/${t}/check-availability`;return await this.client.request("get",s)}async getSocialSignInUrl(t,s){return(await this.client.request("post","/api/auth/sign-in/social",{provider:t,callbackURL:s,disableRedirect:!0})).data.url}async signInWithSocialToken(t,s){const e=(await this.client.request("post","/api/auth/sign-in/social",{provider:t,idToken:s})).data;return this.authState={authenticated:!0,user:e.user,token:e.token},this._notifyObservers(),e}async handleSocialCallback(t){const s=new URL(t).searchParams.get("token");if(!s)throw new Error("No token found in callback URL");this.client.setToken(s);const e=(await this.getSession()).data;return this.authState={authenticated:!0,user:e.user,token:s},this._notifyObservers(),e}}class e{constructor(t){this.client=t,this.endpoint="/beneficiaries"}async getBeneficiaries(){return await this.client.request("get",this.endpoint)}async getBeneficiary(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}async getBeneficiariesByType(t){const s=`${this.endpoint}?type=${t}`;return await this.client.request("get",s)}async getMyOwnBeneficiaries(t){let s;return s=t?`${this.endpoint}/my-own?type=${t}`:`${this.endpoint}/my-own`,await this.client.request("get",s)}async createBeneficiary(t,s,e,i,n,r=!1){return await this.client.request("post",this.endpoint,{name:t,iban:s,type:e,phoneNumber:i,address:n,isMe:r})}async setAddress(t,s){const e=`${this.endpoint}/${t}/address`;return await this.client.request("patch",e,{address:s})}async setPhoneNumber(t,s){const e=`${this.endpoint}/${t}/phone-number`;return await this.client.request("patch",e,{phoneNumber:s})}async setNickname(t,s){const e=`${this.endpoint}/${t}/nickname`;return await this.client.request("patch",e,{nickname:s})}}class i{constructor(t){this.client=t,this.endpoint="/commissions"}async get(){const t=`${this.endpoint}`;return await this.client.request("get",t)}async getHighCommission(){const t=`${this.endpoint}/high`;return await this.client.request("get",t)}}class n{constructor(t){this.client=t,this.endpoint="/current-commission"}async getCurrentCommission(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}}class r{constructor(t){this.client=t,this.endpoint="/cross-currency-transfer-types"}async getCrossCurrencyTypes(){return await this.client.request("get",this.endpoint)}async getCrossCurrencyType(t,s){const e=`${this.endpoint}?origin_currency=${t}&final_currency=${s}`;return await this.client.request("get",e)}}class a{constructor(t){this.client=t,this.endpoint="/cross-currency-transfer-limits"}async getCrossCurrencyTransferLimits(){return await this.client.request("get",this.endpoint)}async getCrossCurrencyTransferLimitsById(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}}class h{constructor(t){this.client=t,this.endpoint="/currencies"}async getCurrencies(){return await this.client.request("get",this.endpoint)}}class c{constructor(t){this.client=t,this.endpoint="/fx-rates"}async getFxRates(){return await this.client.request("get",this.endpoint)}async getFxRate(t,s){return await this.client.request("get",`${this.endpoint}/${t}/${s}`)}async getFxRateHistory(t,s,e){const i=e?`?limit=${e}`:"";return await this.client.request("get",`${this.endpoint}/${t}/${s}/history${i}`)}async getFxRateAtDate(t,s,e){return await this.client.request("get",`${this.endpoint}/${t}/${s}/at-date?date=${e}`)}async getBaseFxRates(){return await this.client.request("get",`${this.endpoint}/base-rates`)}async getBaseFxRate(t,s){return await this.client.request("get",`${this.endpoint}/base-rates/${t}/${s}`)}async getFxSpreads(){return await this.client.request("get",`${this.endpoint}/spreads`)}async getFxSpread(t,s){return await this.client.request("get",`${this.endpoint}/spreads/${t}/${s}`)}async getFxSpreadHistory(t,s,e){const i=e?`?limit=${e}`:"";return await this.client.request("get",`${this.endpoint}/spreads/${t}/${s}/history${i}`)}}class o{constructor(t){this.client=t,this.endpoint="/invitation-codes"}async generateNew(){return await this.client.request("get",`${this.endpoint}/new`)}async sendCodeTo(t,s){return await this.client.request("post",`${this.endpoint}/send`,{code:t,username:s})}async getMyInvitationCodes(){return await this.client.request("get",this.endpoint)}async redeemInvitationCode(t){return await this.client.request("get",`${this.endpoint}/${t}/redeem`)}}class u{constructor(t){this.client=t,this.endpoint="/liquidity-pools"}async getLiquidityPools(){return await this.client.request("get",this.endpoint)}async getLiquidityRatio(t){const s=`${this.endpoint}/${t}/liquidity-ratio`;return await this.client.request("get",s)}}class y{constructor(t,s){let e;if("string"==typeof t){if(!/^-?\d+$/.test(t))throw new Error(`Amount string "${t}" is not parseable as an integer`);e=parseInt(t,10)}else e=t;if(e<0)throw new Error("Amount cannot be negative");if(!Number.isInteger(e))throw new Error(`Amount must be in smallest currency unit (cents) and be an integer, received: ${e} (${typeof t})`);this.amount=e,this.currencyCode=s.toUpperCase()}static fromDecimal(t,s){if(t<0)throw new Error("Amount cannot be negative");return new y(Math.round(100*t),s)}static fromCents(t,s){return new y(t,s)}static fromClientInput(t,s){return new y(t,s)}add(t){return this.ensureSameCurrency(t),new y(this.amount+t.amount,this.currencyCode)}subtract(t){if(this.ensureSameCurrency(t),this.amount<t.amount)throw new Error("Insufficient funds: cannot subtract larger amount");return new y(this.amount-t.amount,this.currencyCode)}multiply(t){if(t<0)throw new Error("Multiplication factor cannot be negative");return new y(Math.round(this.amount*t),this.currencyCode)}applyPercentage(t){if(t<0)throw new Error("Percentage cannot be negative");return this.multiply(t/100)}toDecimal(){const t=this.amount/100;return"AOA"===this.currencyCode?Math.round(t):t}toCents(){return this.amount}getCurrencyCode(){return this.currencyCode}isZero(){return 0===this.amount}equals(t){return this.amount===t.amount&&this.currencyCode===t.currencyCode}isGreaterThan(t){return this.ensureSameCurrency(t),this.amount>t.amount}toString(){return`${this.toDecimal().toFixed(2)} ${this.currencyCode}`}ensureSameCurrency(t){if(this.currencyCode!==t.currencyCode)throw new Error(`Cannot operate on different currencies: ${this.currencyCode} vs ${t.currencyCode}`)}}class w{constructor(t){this.client=t,this.endpoint="/transactions"}async get(){return await this.client.request("get",this.endpoint)}async getTransaction(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}async doCrossCurrency(t){const s=`${this.endpoint}/cross-currency`;return await this.client.request("post",s,t)}async doP2P(t){const s=`${this.endpoint}/p2p`;return await this.client.request("post",s,t)}async getFXConfig(t,s,e){const i=`${this.endpoint}/sepa/config`;return await this.client.request("post",i,{originalCurrencyId:t,finalCurrencyId:s,amount:e})}async generatePdfReceipt(t){const s=`${this.endpoint}/${t}/receipt`;return await this.client.request("get",s)}}var g=(t=>(t.NOT_VERIFIED="NOT_VERIFIED",t.VERIFICATION_PENDING="VERIFICATION_PENDING",t.VERIFICATION_FAILED="VERIFICATION_FAILED",t.VERIFIED="VERIFIED",t))(g||{});class l{constructor(t){this.client=t,this.endpoint="/users"}async getInvitedStatus(){const t=await this.client.request("get",`${this.endpoint}/me/check-if-invited`);if(null===t.data||void 0===t.data)throw new Error(`Invalid response for invited status: ${t.status} ${t.statusText}`);if("boolean"==typeof t.data)return t.data;if("string"==typeof t.data){const s=t.data.trim().toLowerCase();if("true"===s)return!0;if("false"===s)return!1}throw new Error(`Invalid invited status received: "${t.data}". Expected boolean or "true"/"false" string.`)}async verifyKyc(){const t=`${this.endpoint}/me/check-kyc-status`,s=await this.client.request("get",t);if(null===s.data||void 0===s.data)throw new Error(`Invalid response for KYC status: ${s.status} ${s.statusText}`);const e="string"==typeof s.data?s.data.trim():String(s.data).trim(),i=Object.values(g);if(i.includes(e))return e;throw new Error(`Invalid KYC status received: "${e}". Expected one of: ${i.join(", ")}`)}}class ${constructor(t){this.client=t,this.endpoint="/veriff/sessions"}async createSession(t){return await this.client.request("post",this.endpoint,{userId:t})}}class d{constructor(t){this.client=t,this.endpoint="/offers"}async createOffer(t){return await this.client.request("post",this.endpoint,{...t})}async getOffers(){return await this.client.request("get",this.endpoint)}async getMyOffers(){const t=`${this.endpoint}/me`;return await this.client.request("get",t)}async getOffer(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}}class p{constructor(t){this.client=t,this.endpoint="/payment-methods"}async getPaymentMethods(){return await this.client.request("get",this.endpoint)}async getPaymentMethodsByCurrency(t){const s=`${this.endpoint}/currency/${t}`;return await this.client.request("get",s)}}class f{constructor(t){this.client=t,this.endpoint="/payments"}async getPaymentByTransactionId(t){const s=`${this.endpoint}?transaction_id=${t}`;return await this.client.request("get",s)}}class m{constructor(t){this.client=t,this.endpoint="/api/plaid/"}async createPaymentInitiationLinkToken(t){const s=this.endpoint+"create_link_token";return await this.client.request("post",s,{payment_id:t})}async createPaymentInitiation(t){const s=this.endpoint+"payment_initiation/payment/create";return await this.client.request("post",s,{amount:t})}}class C{constructor({baseUrl:g,token:C}){this.unauthorizedListeners=[],this.baseUrl=g,this.token=C,this.auth=new s(this),this.accounts=new t(this),this.beneficiaries=new e(this),this.commissions=new i(this),this.currencies=new h(this),this.currentCommision=new n(this),this.crossCurrencyTransferType=new r(this),this.crossCurrencyTransferLimits=new a(this),this.fxRates=new c(this),this.invitationCodes=new o(this),this.liquidityPools=new u(this),this.money=y,this.paymentMethods=new p(this),this.payments=new f(this),this.transactions=new w(this),this.users=new l(this),this.offers=new d(this),this.plaid=new m(this),this.veriff=new $(this),this.setupInterceptors()}static init(t){return C.instance?(t?.token&&(C.instance.token=t.token),t?.baseUrl&&(C.instance.baseUrl=t.baseUrl),C.instance):(C.instance=new C(t),C.instance)}setupInterceptors(){}async request(t,s,e={},i={}){const n=`${this.baseUrl}${s}`,r={...i,method:t.toUpperCase(),headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.token}`,...i.headers}};"GET"!==t.toUpperCase()&&e&&Object.keys(e).length>0&&(r.body=JSON.stringify(e));const a=await fetch(n,r);if(401===a.status&&this.emit401Event(n),!a.ok)throw new Error(`HTTP ${a.status}: ${a.statusText}`);return await async function(t){let s;try{const e=await t.text();if(""===e)s=null;else if(""===e.trim())s=null;else try{s=JSON.parse(e)}catch(t){s=e}}catch(t){s=null}return{data:s,status:t.status,statusText:t.statusText,headers:t.headers}}(a)}setToken(t){this.token=t}getToken(){return this.token}onUnauthorized(t){this.unauthorizedListeners.push(t)}offUnauthorized(t){const s=this.unauthorizedListeners.indexOf(t);s>-1&&this.unauthorizedListeners.splice(s,1)}emit401Event(t){for(const s of this.unauthorizedListeners)s(t)}}export{g as KycVerified,y as Money,C as default};
1
+ class t{constructor(t){this.client=t,this.endpoint="/accounts"}async getAccounts(){return await this.client.request("get",this.endpoint)}async createAoaAccount(){return await this.client.request("post",this.endpoint,{currency:"aoa"},{})}async createEurAccount(){return await this.client.request("post",this.endpoint,{currency:"eur"},{})}}class s{constructor(t){this.observers=[],this.authState={authenticated:!1},this.client=t}_notifyObservers(){for(const t of this.observers)t(this.authState)}onAuthStateChange(t){this.observers.push(t)}isAuthenticated(){return Boolean(this.client.token)}async signUp(t){const s=(await this.client.request("post","/api/auth/sign-up/email",t)).data;return this.authState={authenticated:!0,user:s.user,token:s.token},this._notifyObservers(),s}async login(t){const s=(await this.client.request("post","/api/auth/sign-in/email",t)).data;return this.authState={authenticated:!0,user:s.user,token:s.token},this._notifyObservers(),s}async signOut(){await this.client.request("post","/api/auth/sign-out"),delete this.client.token,this.authState={authenticated:!1,user:void 0,token:void 0},this._notifyObservers()}async getSession(){return await this.client.request("get","/api/auth/get-session")}async checkUsernameAvailability(t){const s=`/auth/users/${t}/check-availability`;return await this.client.request("get",s)}async getSocialSignInUrl(t,s){return(await this.client.request("post","/api/auth/sign-in/social",{provider:t,callbackURL:s,disableRedirect:!0})).data.url}async signInWithSocialToken(t,s){const e=(await this.client.request("post","/api/auth/sign-in/social",{provider:t,idToken:{token:s}})).data;return this.authState={authenticated:!0,user:e.user,token:e.token},this._notifyObservers(),e}async handleSocialCallback(t){const s=new URL(t).searchParams.get("token");if(!s)throw new Error("No token found in callback URL");this.client.setToken(s);const e=(await this.getSession()).data;return this.authState={authenticated:!0,user:e.user,token:s},this._notifyObservers(),e}}class e{constructor(t){this.client=t,this.endpoint="/beneficiaries"}async getBeneficiaries(){return await this.client.request("get",this.endpoint)}async getBeneficiary(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}async getBeneficiariesByType(t){const s=`${this.endpoint}?type=${t}`;return await this.client.request("get",s)}async getMyOwnBeneficiaries(t){let s;return s=t?`${this.endpoint}/my-own?type=${t}`:`${this.endpoint}/my-own`,await this.client.request("get",s)}async createBeneficiary(t,s,e,i,n,r=!1){return await this.client.request("post",this.endpoint,{name:t,iban:s,type:e,phoneNumber:i,address:n,isMe:r})}async setAddress(t,s){const e=`${this.endpoint}/${t}/address`;return await this.client.request("patch",e,{address:s})}async setPhoneNumber(t,s){const e=`${this.endpoint}/${t}/phone-number`;return await this.client.request("patch",e,{phoneNumber:s})}async setNickname(t,s){const e=`${this.endpoint}/${t}/nickname`;return await this.client.request("patch",e,{nickname:s})}}class i{constructor(t){this.client=t,this.endpoint="/commissions"}async get(){const t=`${this.endpoint}`;return await this.client.request("get",t)}async getHighCommission(){const t=`${this.endpoint}/high`;return await this.client.request("get",t)}}class n{constructor(t){this.client=t,this.endpoint="/current-commission"}async getCurrentCommission(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}}class r{constructor(t){this.client=t,this.endpoint="/cross-currency-transfer-types"}async getCrossCurrencyTypes(){return await this.client.request("get",this.endpoint)}async getCrossCurrencyType(t,s){const e=`${this.endpoint}?origin_currency=${t}&final_currency=${s}`;return await this.client.request("get",e)}}class a{constructor(t){this.client=t,this.endpoint="/cross-currency-transfer-limits"}async getCrossCurrencyTransferLimits(){return await this.client.request("get",this.endpoint)}async getCrossCurrencyTransferLimitsById(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}}class c{constructor(t){this.client=t,this.endpoint="/currencies"}async getCurrencies(){return await this.client.request("get",this.endpoint)}}class h{constructor(t){this.client=t,this.endpoint="/fx-rates"}async getFxRates(){return await this.client.request("get",this.endpoint)}async getFxRate(t,s){return await this.client.request("get",`${this.endpoint}/${t}/${s}`)}async getFxRateHistory(t,s,e){const i=e?`?limit=${e}`:"";return await this.client.request("get",`${this.endpoint}/${t}/${s}/history${i}`)}async getFxRateAtDate(t,s,e){return await this.client.request("get",`${this.endpoint}/${t}/${s}/at-date?date=${e}`)}async getBaseFxRates(){return await this.client.request("get",`${this.endpoint}/base-rates`)}async getBaseFxRate(t,s){return await this.client.request("get",`${this.endpoint}/base-rates/${t}/${s}`)}async getFxSpreads(){return await this.client.request("get",`${this.endpoint}/spreads`)}async getFxSpread(t,s){return await this.client.request("get",`${this.endpoint}/spreads/${t}/${s}`)}async getFxSpreadHistory(t,s,e){const i=e?`?limit=${e}`:"";return await this.client.request("get",`${this.endpoint}/spreads/${t}/${s}/history${i}`)}}class o{constructor(t){this.client=t,this.endpoint="/invitation-codes"}async generateNew(){return await this.client.request("get",`${this.endpoint}/new`)}async sendCodeTo(t,s){return await this.client.request("post",`${this.endpoint}/send`,{code:t,username:s})}async getMyInvitationCodes(){return await this.client.request("get",this.endpoint)}async redeemInvitationCode(t){return await this.client.request("get",`${this.endpoint}/${t}/redeem`)}}class u{constructor(t){this.client=t,this.endpoint="/liquidity-pools"}async getLiquidityPools(){return await this.client.request("get",this.endpoint)}async getLiquidityRatio(t){const s=`${this.endpoint}/${t}/liquidity-ratio`;return await this.client.request("get",s)}}class y{constructor(t,s){let e;if("string"==typeof t){if(!/^-?\d+$/.test(t))throw new Error(`Amount string "${t}" is not parseable as an integer`);e=parseInt(t,10)}else e=t;if(e<0)throw new Error("Amount cannot be negative");if(!Number.isInteger(e))throw new Error(`Amount must be in smallest currency unit (cents) and be an integer, received: ${e} (${typeof t})`);this.amount=e,this.currencyCode=s.toUpperCase()}static fromDecimal(t,s){if(t<0)throw new Error("Amount cannot be negative");return new y(Math.round(100*t),s)}static fromCents(t,s){return new y(t,s)}static fromClientInput(t,s){return new y(t,s)}add(t){return this.ensureSameCurrency(t),new y(this.amount+t.amount,this.currencyCode)}subtract(t){if(this.ensureSameCurrency(t),this.amount<t.amount)throw new Error("Insufficient funds: cannot subtract larger amount");return new y(this.amount-t.amount,this.currencyCode)}multiply(t){if(t<0)throw new Error("Multiplication factor cannot be negative");return new y(Math.round(this.amount*t),this.currencyCode)}applyPercentage(t){if(t<0)throw new Error("Percentage cannot be negative");return this.multiply(t/100)}toDecimal(){const t=this.amount/100;return"AOA"===this.currencyCode?Math.round(t):t}toCents(){return this.amount}getCurrencyCode(){return this.currencyCode}isZero(){return 0===this.amount}equals(t){return this.amount===t.amount&&this.currencyCode===t.currencyCode}isGreaterThan(t){return this.ensureSameCurrency(t),this.amount>t.amount}toString(){return`${this.toDecimal().toFixed(2)} ${this.currencyCode}`}ensureSameCurrency(t){if(this.currencyCode!==t.currencyCode)throw new Error(`Cannot operate on different currencies: ${this.currencyCode} vs ${t.currencyCode}`)}}class w{constructor(t){this.client=t,this.endpoint="/transactions"}async get(){return await this.client.request("get",this.endpoint)}async getTransaction(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}async doCrossCurrency(t){const s=`${this.endpoint}/cross-currency`;return await this.client.request("post",s,t)}async doP2P(t){const s=`${this.endpoint}/p2p`;return await this.client.request("post",s,t)}async getFXConfig(t,s,e){const i=`${this.endpoint}/sepa/config`;return await this.client.request("post",i,{originalCurrencyId:t,finalCurrencyId:s,amount:e})}async generatePdfReceipt(t){const s=`${this.endpoint}/${t}/receipt`;return await this.client.request("get",s)}}var g=(t=>(t.NOT_VERIFIED="NOT_VERIFIED",t.VERIFICATION_PENDING="VERIFICATION_PENDING",t.VERIFICATION_FAILED="VERIFICATION_FAILED",t.VERIFIED="VERIFIED",t))(g||{});class l{constructor(t){this.client=t,this.endpoint="/users"}async getInvitedStatus(){const t=await this.client.request("get",`${this.endpoint}/me/check-if-invited`);if(null===t.data||void 0===t.data)throw new Error(`Invalid response for invited status: ${t.status} ${t.statusText}`);if("boolean"==typeof t.data)return t.data;if("string"==typeof t.data){const s=t.data.trim().toLowerCase();if("true"===s)return!0;if("false"===s)return!1}throw new Error(`Invalid invited status received: "${t.data}". Expected boolean or "true"/"false" string.`)}async updateOccupation(t,s){return this.client.request("patch",`${this.endpoint}/me/occupation`,{occupation_id:t,occupation_description:s})}async getOccupation(){return this.client.request("get",`${this.endpoint}/me/occupation`)}async verifyKyc(){const t=`${this.endpoint}/me/check-kyc-status`,s=await this.client.request("get",t);if(null===s.data||void 0===s.data)throw new Error(`Invalid response for KYC status: ${s.status} ${s.statusText}`);const e="string"==typeof s.data?s.data.trim():String(s.data).trim(),i=Object.values(g);if(i.includes(e))return e;throw new Error(`Invalid KYC status received: "${e}". Expected one of: ${i.join(", ")}`)}}class d{constructor(t){this.client=t,this.endpoint="/veriff/sessions"}async createSession(t){return await this.client.request("post",this.endpoint,{userId:t})}}class ${constructor(t){this.client=t,this.endpoint="/offers"}async createOffer(t){return await this.client.request("post",this.endpoint,{...t})}async getOffers(){return await this.client.request("get",this.endpoint)}async getMyOffers(){const t=`${this.endpoint}/me`;return await this.client.request("get",t)}async getOffer(t){const s=`${this.endpoint}/${t}`;return await this.client.request("get",s)}}class p{constructor(t){this.client=t,this.endpoint="/payment-methods"}async getPaymentMethods(){return await this.client.request("get",this.endpoint)}async getPaymentMethodsByCurrency(t){const s=`${this.endpoint}/currency/${t}`;return await this.client.request("get",s)}}class f{constructor(t){this.client=t,this.endpoint="/payments"}async getPaymentByTransactionId(t){const s=`${this.endpoint}?transaction_id=${t}`;return await this.client.request("get",s)}}class m{constructor(t){this.client=t,this.endpoint="/api/plaid/"}async createPaymentInitiationLinkToken(t){const s=this.endpoint+"create_link_token";return await this.client.request("post",s,{payment_id:t})}async createPaymentInitiation(t){const s=this.endpoint+"payment_initiation/payment/create";return await this.client.request("post",s,{amount:t})}}class C{constructor({baseUrl:g,token:C}){this.unauthorizedListeners=[],this.baseUrl=g,this.token=C,this.auth=new s(this),this.accounts=new t(this),this.beneficiaries=new e(this),this.commissions=new i(this),this.currencies=new c(this),this.currentCommision=new n(this),this.crossCurrencyTransferType=new r(this),this.crossCurrencyTransferLimits=new a(this),this.fxRates=new h(this),this.invitationCodes=new o(this),this.liquidityPools=new u(this),this.money=y,this.paymentMethods=new p(this),this.payments=new f(this),this.transactions=new w(this),this.users=new l(this),this.offers=new $(this),this.plaid=new m(this),this.veriff=new d(this),this.setupInterceptors()}static init(t){return C.instance?(t?.token&&(C.instance.token=t.token),t?.baseUrl&&(C.instance.baseUrl=t.baseUrl),C.instance):(C.instance=new C(t),C.instance)}setupInterceptors(){}async request(t,s,e={},i={}){const n=`${this.baseUrl}${s}`,r={...i,method:t.toUpperCase(),headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.token}`,...i.headers}};"GET"!==t.toUpperCase()&&e&&Object.keys(e).length>0&&(r.body=JSON.stringify(e));const a=await fetch(n,r);if(401===a.status&&this.emit401Event(n),!a.ok)throw new Error(`HTTP ${a.status}: ${a.statusText}`);return await async function(t){let s;try{const e=await t.text();if(""===e)s=null;else if(""===e.trim())s=null;else try{s=JSON.parse(e)}catch(t){s=e}}catch(t){s=null}return{data:s,status:t.status,statusText:t.statusText,headers:t.headers}}(a)}setToken(t){this.token=t}getToken(){return this.token}onUnauthorized(t){this.unauthorizedListeners.push(t)}offUnauthorized(t){const s=this.unauthorizedListeners.indexOf(t);s>-1&&this.unauthorizedListeners.splice(s,1)}emit401Event(t){for(const s of this.unauthorizedListeners)s(t)}}export{g as KycVerified,y as Money,C as default};
package/dist/types.d.ts CHANGED
@@ -210,6 +210,8 @@ declare class Users {
210
210
  private endpoint;
211
211
  constructor(client: ApiClient);
212
212
  getInvitedStatus(): Promise<boolean>;
213
+ updateOccupation(occupationId: number, occupationDescription?: string): Promise<ApiResponse>;
214
+ getOccupation(): Promise<ApiResponse>;
213
215
  verifyKyc(): Promise<KycVerified>;
214
216
  }
215
217
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "lombongo-api-client",
3
- "version": "0.0.136",
3
+ "version": "0.0.138",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "dist/esm/base.js",