@cuenca-mx/cuenca-js 0.0.1-dev.4 → 0.0.1-dev.40
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/README.md +157 -2
- package/build/data-69952249.mjs +330 -0
- package/build/{queries-b8f29837.js → data-efb53250.cjs} +62 -285
- package/build/errors/{index.js → index.cjs} +0 -0
- package/build/errors/index.mjs +64 -0
- package/build/identities-5e48f342.mjs +337 -0
- package/build/identities-93faf1ed.cjs +354 -0
- package/build/{index.js → index.cjs} +276 -96
- package/build/index.mjs +1689 -0
- package/build/jwt/index.cjs +55 -0
- package/build/jwt/{index.js → index.mjs} +5 -8
- package/build/requests/{index.js → index.cjs} +6 -3
- package/build/requests/index.mjs +3 -0
- package/build/types/index.cjs +47 -0
- package/build/types/index.mjs +3 -0
- package/build/umd/cuenca.umd.js +1 -1
- package/build/{walletTransactionRequest-17132eb5.js → walletTransactionRequest-3b0c406d.mjs} +128 -5
- package/build/{walletTransactionRequest-b588cc52.js → walletTransactionRequest-832088b1.cjs} +130 -4
- package/package.json +26 -12
- package/build/README.md +0 -7
- package/build/data-7d3d5fcc.js +0 -11
- package/build/data-c53f1052.js +0 -14
- package/build/package.json +0 -37
- package/build/queries-395c7467.js +0 -546
- package/build/types/index.js +0 -40
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var Buffer = require('buffer');
|
|
6
|
+
var errors_index = require('../errors/index.cjs');
|
|
7
|
+
|
|
8
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
9
|
+
|
|
10
|
+
var Buffer__default = /*#__PURE__*/_interopDefaultLegacy(Buffer);
|
|
11
|
+
|
|
12
|
+
class Jwt {
|
|
13
|
+
constructor(expiresAt, token) {
|
|
14
|
+
this.expiresAt = expiresAt;
|
|
15
|
+
this.token = token;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
get isExpired() {
|
|
19
|
+
const today = new Date();
|
|
20
|
+
return (this.expiresAt.valueOf() - today.valueOf()) / 60000 <= 5;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
static getExpirationDate = (token) => {
|
|
24
|
+
let payload;
|
|
25
|
+
try {
|
|
26
|
+
const [, payloadEncoded] = token.split('.');
|
|
27
|
+
payload = JSON.parse(
|
|
28
|
+
Buffer__default["default"].Buffer.from(`${payloadEncoded}==`, 'base64').toString(),
|
|
29
|
+
);
|
|
30
|
+
} catch (error) {
|
|
31
|
+
throw new errors_index.MalformedJwtToken();
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
const { exp } = payload;
|
|
35
|
+
return new Date(new Date(exp * 1000).toUTCString());
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
static create = async (client) => {
|
|
39
|
+
const currentClient = client;
|
|
40
|
+
currentClient.jwtToken = null;
|
|
41
|
+
// Intercepts requests and removes the header if it includes it
|
|
42
|
+
const tokenInterceptor =
|
|
43
|
+
currentClient.deleteRequestHeader('X-Cuenca-Token');
|
|
44
|
+
|
|
45
|
+
const { token } = await client.post('token', {});
|
|
46
|
+
|
|
47
|
+
// Remove the interceptor to avoid removing the header on all requests
|
|
48
|
+
tokenInterceptor.eject();
|
|
49
|
+
|
|
50
|
+
const expiresAt = Jwt.getExpirationDate(token);
|
|
51
|
+
return new Jwt(expiresAt, token);
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
exports.Jwt = Jwt;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var errors_index = require('../errors/index.js');
|
|
1
|
+
import Buffer from 'buffer';
|
|
2
|
+
import { MalformedJwtToken } from '../errors/index.mjs';
|
|
6
3
|
|
|
7
4
|
class Jwt {
|
|
8
5
|
constructor(expiresAt, token) {
|
|
@@ -20,10 +17,10 @@ class Jwt {
|
|
|
20
17
|
try {
|
|
21
18
|
const [, payloadEncoded] = token.split('.');
|
|
22
19
|
payload = JSON.parse(
|
|
23
|
-
Buffer.from(`${payloadEncoded}==`, 'base64').toString(),
|
|
20
|
+
Buffer.Buffer.from(`${payloadEncoded}==`, 'base64').toString(),
|
|
24
21
|
);
|
|
25
22
|
} catch (error) {
|
|
26
|
-
throw new
|
|
23
|
+
throw new MalformedJwtToken();
|
|
27
24
|
}
|
|
28
25
|
|
|
29
26
|
const { exp } = payload;
|
|
@@ -47,4 +44,4 @@ class Jwt {
|
|
|
47
44
|
};
|
|
48
45
|
}
|
|
49
46
|
|
|
50
|
-
|
|
47
|
+
export { Jwt };
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var walletTransactionRequest = require('../walletTransactionRequest-
|
|
6
|
-
require('../errors/index.
|
|
7
|
-
require('../data-
|
|
5
|
+
var walletTransactionRequest = require('../walletTransactionRequest-832088b1.cjs');
|
|
6
|
+
require('../errors/index.cjs');
|
|
7
|
+
require('../data-efb53250.cjs');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
@@ -19,4 +19,7 @@ exports.TransferRequest = walletTransactionRequest.TransferRequest;
|
|
|
19
19
|
exports.UserCredentialRequest = walletTransactionRequest.UserCredentialRequest;
|
|
20
20
|
exports.UserCredentialUpdateRequest = walletTransactionRequest.UserCredentialUpdateRequest;
|
|
21
21
|
exports.UserLoginRequest = walletTransactionRequest.UserLoginRequest;
|
|
22
|
+
exports.UserUpdateRequest = walletTransactionRequest.UserUpdateRequest;
|
|
23
|
+
exports.VerificationAttemptRequest = walletTransactionRequest.VerificationAttemptRequest;
|
|
24
|
+
exports.VerificationRequest = walletTransactionRequest.VerificationRequest;
|
|
22
25
|
exports.WalletTransactionRequest = walletTransactionRequest.WalletTransactionRequest;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { A as ApiKeyUpdateRequest, a as ArpcRequest, C as CardActivationRequest, b as CardRequest, c as CardUpdateRequest, d as CardValidationRequest, S as SavingRequest, T as TransferRequest, U as UserCredentialRequest, e as UserCredentialUpdateRequest, f as UserLoginRequest, g as UserUpdateRequest, h as VerificationAttemptRequest, V as VerificationRequest, W as WalletTransactionRequest } from '../walletTransactionRequest-3b0c406d.mjs';
|
|
2
|
+
import '../errors/index.mjs';
|
|
3
|
+
import '../data-69952249.mjs';
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var data = require('../data-efb53250.cjs');
|
|
6
|
+
var identities = require('../identities-93faf1ed.cjs');
|
|
7
|
+
require('../errors/index.cjs');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.CardErrorType = data.CardErrorType;
|
|
12
|
+
exports.CardFundingType = data.CardFundingType;
|
|
13
|
+
exports.CardIssuer = data.CardIssuer;
|
|
14
|
+
exports.CardStatus = data.CardStatus;
|
|
15
|
+
exports.CardTransactionType = data.CardTransactionType;
|
|
16
|
+
exports.CardType = data.CardType;
|
|
17
|
+
exports.CommissionType = data.CommissionType;
|
|
18
|
+
exports.DepositNetwork = data.DepositNetwork;
|
|
19
|
+
exports.EntryType = data.EntryType;
|
|
20
|
+
exports.FileFormat = data.FileFormat;
|
|
21
|
+
exports.KYCFileType = data.KYCFileType;
|
|
22
|
+
exports.KYCStatus = data.KYCStatus;
|
|
23
|
+
exports.Phase = data.Phase;
|
|
24
|
+
exports.SavingCategory = data.SavingCategory;
|
|
25
|
+
exports.ServiceProviderCategory = data.ServiceProviderCategory;
|
|
26
|
+
exports.TrackDataMethod = data.TrackDataMethod;
|
|
27
|
+
exports.TransactionStatus = data.TransactionStatus;
|
|
28
|
+
exports.TransferNetwork = data.TransferNetwork;
|
|
29
|
+
exports.UserStatus = data.UserStatus;
|
|
30
|
+
exports.VerificationType = data.VerificationType;
|
|
31
|
+
exports.WalletTransactionType = data.WalletTransactionType;
|
|
32
|
+
exports.AccountQuery = identities.AccountQuery;
|
|
33
|
+
exports.ApiKeyQuery = identities.ApiKeyQuery;
|
|
34
|
+
exports.BalanceEntryQuery = identities.BalanceEntryQuery;
|
|
35
|
+
exports.BillPaymentQuery = identities.BillPaymentQuery;
|
|
36
|
+
exports.CardTransactionQuery = identities.CardTransactionQuery;
|
|
37
|
+
exports.CardsQuery = identities.CardsQuery;
|
|
38
|
+
exports.DepositQuery = identities.DepositQuery;
|
|
39
|
+
exports.KYCFile = identities.KYCFile;
|
|
40
|
+
exports.PageSize = identities.PageSize;
|
|
41
|
+
exports.QueryParams = identities.QueryParams;
|
|
42
|
+
exports.StatementQuery = identities.StatementQuery;
|
|
43
|
+
exports.TOSAgreements = identities.TOSAgreements;
|
|
44
|
+
exports.TransferQuery = identities.TransferQuery;
|
|
45
|
+
exports.UserQuery = identities.UserQuery;
|
|
46
|
+
exports.WalletQuery = identities.WalletQuery;
|
|
47
|
+
exports.WalletTransactionQuery = identities.WalletTransactionQuery;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { f as CardErrorType, C as CardFundingType, a as CardIssuer, b as CardStatus, g as CardTransactionType, c as CardType, h as CommissionType, D as DepositNetwork, E as EntryType, F as FileFormat, K as KYCFileType, k as KYCStatus, P as Phase, S as SavingCategory, i as ServiceProviderCategory, l as TrackDataMethod, T as TransactionStatus, j as TransferNetwork, U as UserStatus, V as VerificationType, W as WalletTransactionType } from '../data-69952249.mjs';
|
|
2
|
+
export { A as AccountQuery, a as ApiKeyQuery, B as BalanceEntryQuery, b as BillPaymentQuery, c as CardTransactionQuery, C as CardsQuery, D as DepositQuery, K as KYCFile, P as PageSize, Q as QueryParams, S as StatementQuery, T as TOSAgreements, d as TransferQuery, U as UserQuery, W as WalletQuery, e as WalletTransactionQuery } from '../identities-5e48f342.mjs';
|
|
3
|
+
import '../errors/index.mjs';
|
package/build/umd/cuenca.umd.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios")):"function"==typeof define&&define.amd?define(["exports","axios"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios)}(this,(function(t,e){"use strict";function s(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=s(e);class i extends Error{constructor(t){super(t),Object.setPrototypeOf(this,i.prototype)}}class a extends i{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,a.prototype)}}class n extends i{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,n.prototype)}}class c extends i{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,c.prototype)}}class o extends i{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,o.prototype)}}class d extends i{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,d.prototype)}}class u extends Error{constructor(t){super(t),Object.setPrototypeOf(this,u.prototype)}}class h{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new o}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:r}=await t.post("token",{});s.eject();const i=h.getExpirationDate(r);return new h(i,r)}}class p{static Blocked=new p("blocked");static Comunication=new p("comunication");static ContactlesAmountLimit=new p("contactles_amount_limit");static FraudDetection=new p("fraud_detection");static FraudDetectionUncertain=new p("fraud_detection_uncertain");static InsufficientFounds=new p("insufficient_founds");static InvalidPin=new p("invalid_pin");static Notification=new p("notification");static NotificationDeactivatedCard=new p("notification_deactivated_card");constructor(t){this.value=t}}class l{static Credit=new l("credit");static Debit=new l("debit");constructor(t){this.value=t}}class m{static Accendo=new m("accendo");static Cuenca=new m("cuenca");constructor(t){this.value=t}}class w{static Active=new w("active");static Blocked=new w("blocked");static Created=new w("created");static Deactivated=new w("deactivated");static Printing=new w("printing");constructor(t){this.value=t}}class _{static Auth=new _("auth");static Capture=new _("capture");static Chargeback=new _("chargeback");static Expiration=new _("expiration");static Refund=new _("refund");static Void=new _("void");constructor(t){this.value=t}}class y{static Physical=new y("physical");static Virtual=new y("virtual");constructor(t){this.value=t}}class v{static CardRequest=new v("card_request");static CashDeposit=new v("cash_deposit");static OutgoingSpei=new v("outgoing_spei");constructor(t){this.value=t}}class b{static Cash=new b("cash");static Internal=new b("internal");static Spei=new b("spei");constructor(t){this.value=t}}class g{static Credit=new g("credit");static Debit=new g("debit");constructor(t){this.value=t}}class f{static Pdf=new f("pdf");static Xml=new f("xml");static Json=new f("json");constructor(t){this.value=t}}class x{static Sandbox=new x("sandbox");static Stage=new x("stage");static Api=new x("api");constructor(t){this.value=t}}class A{static Cable=new A("cable");static CreditCard=new A("credit_card");static Electricity=new A("electricity");static Gas=new A("gas");static Internet=new A("internet");static LandlineTelephone=new A("landline_telephone");static MobileTelephonePostpaid=new A("mobile_telephone_postpaid");static MobileTelephonePrepaid=new A("mobile_telephone_prepaid");static SateliteTelevision=new A("satelite_television");static Water=new A("water");constructor(t){this.value=t}}class j{static General=new j("general");static Home=new j("home");static Vehicle=new j("vehicle");static Travel=new j("travel");static Clothing=new j("clothing");static Other=new j("other");static Medical=new j("medical");static Accident=new j("accident");static Education=new j("education");constructor(t){this.value=t}}class O{static NotSet=new O("not_set");static Terminal=new O("terminal");static Manual=new O("manual");static Unknown=new O("unknown");static Contactless=new O("contactless");static FallBack=new O("fall_back");static MagneticStripe=new O("magnetic_stripe");static RecurringCharge=new O("recurring_charge");constructor(t){this.value=t}}class I{static Created=new I("created");static Failed=new I("failed");static InReview=new I("in_review");static Submitted=new I("submitted");static Succeeded=new I("succeeded");constructor(t){this.value=t}}class k{static Internal=new k("internal");static Spei=new k("spei");constructor(t){this.value=t}}class T{static Deposit=new T("deposit");static Withdrawal=new T("withdrawal");constructor(t){this.value=t}}const C=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},U=(t,e)=>Object.values(t).find((t=>t.value===e));class S{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:r,relatedTransaction:i,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=i,this.userId=a,this.count=n,this.pageSize=r}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class N extends S{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class E extends S{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class P extends S{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class K extends P{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class $ extends P{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:r,...i}){super(i),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=r}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class D extends S{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...r}){super(r),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class q extends S{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class M extends S{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class B extends S{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class V extends S{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class R extends S{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Q extends S{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=C(Date.now());s.setUTCDate(1);if(C(`${e}-${t}-01`).getTime()>=s.getTime())throw new u(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class Y{constructor({apiKey:t,apiSecret:e,phase:s=x.Sandbox}={}){this.phase=s,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.default.create()}get session(){return this._session}get origin(){return`https://${this.phase.value}.cuenca.com`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${Buffer.from(Buffer.from(`${t}:${e}`).toString("utf-8")).toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return Object.keys(t).forEach((e=>r[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:r}}=s;return delete r[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:r,useJwt:i=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},r&&(this.phase=r),i&&(this.jwtToken=await h.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e}){return this.request({method:"POST",endpoint:t,data:e})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=f.Json,method:r="GET",params:n=null}){const c={Authorization:this.authHeader,"X-User-Agent":"cuenca-js/0.0.1","Content-Type":"application/json",Accept:`application/${s.value}`};this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await h.create(this)),c["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(c),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:r,params:n,data:d,url:t});let p;try{p=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new a(t.response.data,t.response.status):t.request?new i(`No response received: ${t.errno}: ${t.code}`):new i(t.message)}finally{o.eject(),u.eject()}return p.data}}class F{constructor({accountNumber:t,createdAt:e,id:s,institutionName:r,name:i,userId:a}){this.accountNumber=t,this.createdAt=C(e),this.id=s,this.institutionName=r,this.name=i,this.userId=a}static fromObject=({id:t,name:e,...s})=>new F({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class z{constructor({createdAt:t,deactivatedAt:e,id:s,secret:r,userId:i,updatedAt:a}){this.createdAt=C(t),this.deactivatedAt=C(e),this.id=s,this.secret=r,this.userId=i,this.updatedAt=C(a)}static fromObject=({id:t,secret:e,...s})=>new z({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=C(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class H{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:r}){this.arpc=t,this.createdAt=C(e),this.cardUri=s,this.isValidArqc=r}static fromObject=({arpc:t,...e})=>new H({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class L{constructor({amount:t,createdAt:e,descriptor:s,entryType:r,fundingInstrumentUri:i,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=C(e),this.descriptor=s,this.entryType=U(g,r),this.fundingInstrumentUri=i,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:r,type:i,...a})=>new L({amount:t,descriptor:e,name:r,id:s,createdAt:a.created_at,entryType:i,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class J{constructor({amount:t,createdAt:e,descriptor:s,status:r,userId:i}){this.amount=t,this.createdAt=C(e),this.descriptor=s,this.status=U(I,r),this.userId=i}}class W extends J{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:r,id:i,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:r,status:n,userId:c}),this.accountNumber=e,this.id=i,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new W({amount:t,descriptor:e,id:s,status:r,accountNumber:i.account_number,createdAt:i.created_at,providerUri:i.provider_uri,userId:i.user_id})}class X{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:r,fundingType:i,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:p}){this.createdAt=C(t),this.cvv2=e,this.expMonth=s,this.expYear=r,this.fundingType=U(l,i),this.id=a,this.issuer=U(m,n),this.number=c,this.pin=o,this.status=U(w,d),this.type=U(y,u),this.updatedAt=C(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,...c})=>new X({cvv2:t,id:e,issuer:s,number:r,pin:i,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class G{constructor({cardUri:t,createdAt:e,id:s,ipAddress:r,success:i,userId:a}){this.cardUri=t,this.createdAt=C(e),this.id=s,this.ipAddress=r,this.success=i,this.userId=a}static fromObject=({id:t,success:e,...s})=>new G({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class Z extends J{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:r,cardUri:i,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:l}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:l}),this.cardErrorType=U(p,e),this.cardLastFour=s,this.cardType=U(y,r),this.cardUri=i,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=U(_,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,...n})=>new Z({amount:t,descriptor:e,metadata:s,network:r,status:i,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class tt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:r,isExpired:i,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=U(w,t),this.cardType=U(y,e),this.cardUri=s,this.createdAt=C(r),this.isExpired=i,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new tt({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===w.Active}}class et extends J{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:r,status:i,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.relatedTransactionUri=r,this.type=U(v,a)}static fromObject=({amount:t,descriptor:e,status:s,type:r,...i})=>new et({amount:t,descriptor:e,status:s,type:r,createdAt:i.created_at,relatedTransactionUri:i.related_transaction_uri,userId:i.user_id})}class st extends J{constructor({amount:t,createdAt:e,descriptor:s,id:r,network:i,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=r,this.network=U(b,i),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new st({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class rt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new rt({id:t})}class it extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:r,userId:i,updatedAt:a}){this.balance=t,this.createdAt=C(e),this.deactivatedAt=C(s),this.id=r,this.userId=i,this.updatedAt=C(a)}}{constructor({balance:t,category:e,createdAt:s,deactivatedAt:r,goalAmount:i,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:r,id:n,userId:o,updatedAt:d}),this.category=U(j,e),this.goalAmount=i,this.goalDate=C(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:r,...i})=>new it({balance:t,category:e,id:s,name:r,createdAt:i.created_at,deactivatedAt:i.deactivated_at,goalAmount:i.goal_amount,goalDate:i.goal_date,userId:i.user_id,updatedAt:i.updated_at})}class at{constructor({categories:t,id:e,name:s,providerKey:r}){var i;this.categories=null==(i=t)?[]:i.map((t=>U(A,t))),this.id=e,this.name=s,this.providerKey=r}static fromObject=({categories:t,id:e,name:s,...r})=>new at({categories:t,id:e,name:s,providerKey:r.provider_key})}class nt{constructor({createdAt:t,id:e,month:s,year:r}){this.createdAt=C(t),this.id=e,this.month=s,this.year=r}static fromObject=({id:t,month:e,year:s,...r})=>new nt({id:t,month:e,year:s,createdAt:r.created_at})}class ct extends J{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:r,destinationUri:i,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:p}){super({amount:e,createdAt:s,descriptor:r,status:d,userId:p}),this.accountNumber=t,this.destinationUri=i,this.id=a,this.idempotencyKey=n,this.network=U(k,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=C(h)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new ct({amount:t,descriptor:e,id:s,network:r,status:i,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class ot{constructor({createdAt:t,id:e,isActive:s,updatedAt:r}){this.createdAt=C(t),this.id=e,this.isActive=s,this.updatedAt=C(r)}static fromObject=({id:t,...e})=>new ot({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class dt{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=C(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new dt({id:t,success:e,lastLoginAt:s.last_login_at})}class ut extends J{constructor({amount:t,createdAt:e,descriptor:s,id:r,status:i,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:i,userId:n}),this.id=r,this.transactionType=U(T,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:r,...i})=>new ut({amount:t,descriptor:e,id:s,status:r,createdAt:i.created_at,transactionType:i.transaction_type,userId:i.user_id,walletUri:i.wallet_uri})}class ht extends J{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:r,destinationUri:i,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:p,userId:l}){super({amount:t,createdAt:s,descriptor:r,status:u,userId:l}),this.claimUrl=e,this.destinationUri=i,this.id=n,this.expiresAt=C(a),this.network=U(k,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=C(p)}static fromObject=({amount:t,descriptor:e,id:s,network:r,status:i,...a})=>new ht({amount:t,descriptor:e,id:s,network:r,status:i,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class pt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const lt=t=>new pt(t),mt=(t,e)=>({accounts:()=>F.fromObject(e),api_keys:()=>z.fromObject(e),arpc:()=>H.fromObject(e),balance_entries:()=>L.fromObject(e),bill_payments:()=>W.fromObject(e),cards:()=>X.fromObject(e),card_activations:()=>G.fromObject(e),card_transactions:()=>Z.fromObject(e),card_validations:()=>tt.fromObject(e),commissions:()=>et.fromObject(e),deposits:()=>st.fromObject(e),login_tokens:()=>rt.fromObject(e),savings:()=>it.fromObject(e),service_providers:()=>at.fromObject(e),statements:()=>nt.fromObject(e),transfers:()=>ct.fromObject(e),user_credentials:()=>ot.fromObject(e),user_logins:()=>dt.fromObject(e),wallet_transactions:()=>ut.fromObject(e),whatsapp_transfers:()=>ht.fromObject(e)}[t]()),wt=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class _t{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const yt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return mt(this.path,e)}},vt=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return mt(this.path,e)}},bt=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return mt(this.path,s)}},gt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return mt(this.path,s)}},ft=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},xt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new n;if(e.length>1)throw new c;const[s]=e;return mt(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return mt(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=mt(this.path,e);yield t}e=t.next_page_uri}}};class At extends(lt(_t).with(xt,yt)){constructor(t){super("accounts",N,t)}}class jt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Ot extends jt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class It extends jt{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class kt extends jt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Tt extends jt{constructor(t,e,s,r){super(),this.n=t,this.eM=e,this.eY=s,this.c2=r}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new u("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new u("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new u("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new u("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class Ct extends jt{constructor({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=r,this.ic=i,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new u("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new u("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new u("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new u("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new u("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new u("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class Ut extends jt{constructor(t,e,s,r){super(),this.category=t,this.name=r,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(C(t).getTime()<=C(Date.now()).getTime())throw new u("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class St extends jt{constructor(t,e,s,r,i){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=r,this.recipientName=i}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class Nt extends jt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new u("Invalid password");this._password=t}toObject(){return{password:this.password}}}class Et extends jt{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new u("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new u("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class Pt extends jt{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new u("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class Kt extends jt{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class $t extends(lt(_t).with(vt,gt,xt,yt,bt)){constructor(t){super("api_keys",E,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const r=new Ot(s,e);return await this._update(t,r.toCleanObject())}}lt(_t).with(vt);class Dt extends(lt(_t).with(xt,yt)){constructor(t){super("balance_entries",D,t)}async relatedTransaction(t){const e=wt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return mt(`${e}`,s)}async fundingInstrument(t){const e=wt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return mt(`${e}`,s)}}class qt extends(lt(_t).with(xt,yt)){constructor(t){super("bill_payments",q,t)}async serviceProvider(t){const e=wt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return mt(`${e}`,s)}}class Mt extends(lt(_t).with(vt)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:r}){const i=new Tt(t,e,s,r);return await this._create(i.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return X.fromObject(e)}}class Bt extends(lt(_t).with(vt,gt,xt,yt,bt)){constructor(t){super("cards",B,t)}async create(t,e,s){const r=new It(t,e,s);return await this._create(r.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const r=new kt(e,s);return await this._update(t,r.toCleanObject())}}class Vt extends(lt(_t).with(xt,yt)){constructor(t){super("card_transactions",M,t)}async relatedCard(t){const e=wt(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return mt(`${e}`,s)}}class Rt extends(lt(_t).with(vt)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new Ct({cvv:t,cvv2:e,expMonth:s,expYear:r,icvv:i,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return X.fromObject(e)}}class Qt extends(lt(_t).with(xt,yt)){constructor(t){super("commissions",S,t)}async relatedTransaction(t){const e=wt(t);if(null==e)return null;const s=await this.client.get(t);return mt(`${e}`,s)}}class Yt extends(lt(_t).with(xt,yt)){constructor(t){super("deposits",K,t)}async source(t){const e=await this.client.get({endpoint:t});return F.fromObject(e)}}class Ft extends(lt(_t).with(vt)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class zt extends(lt(_t).with(vt,gt,xt,yt,bt)){constructor(t){super("savings",R,t)}async create(t,e,s,r){const i=new Ut(t,e,s,r);return await this._create(i.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,r,i){const a=new Ut(e,s,r,i);return await this._update(t,a.toObject())}}class Ht extends(lt(_t).with(xt,yt)){constructor(t){super("service_providers",S,t)}}class Lt extends(lt(_t).with(ft,xt)){constructor(t){super("statements",Q,t)}async pdf(t){return await this._download(t,f.Pdf)}async xml(t){return await this._download(t,f.Xml)}}class Jt extends(lt(_t).with(vt,xt,yt)){constructor(t){super("transfers",$,t)}async destination(t){const e=await this.client.get({endpoint:t});return F.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:r,idempotencyKey:i}){const a=i||this.constructor._genIdempotencyKey(t,e),n=new St(t,e,s,a,r);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:r,idempotencyKey:i,recipientName:a})=>{const n=new St(t,s,r,i||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=C(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class Wt extends(lt(_t).with(vt,bt)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Nt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const r=new Et(e,t);return await this._update(s,r.toCleanObject())}}class Xt extends(lt(_t).with(vt,gt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Pt(t,e),r=await this._create(s.toObject());if(!r.success)throw new d;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":r.id}),r}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class Gt extends(lt(_t).with(vt,xt,yt)){constructor(t){super("wallet_transactions",V,t)}async create(t,e,s){const r=new Kt(t,e,s);return await this._create(r.toObject())}async realtedWallet(t){const e=wt(t);if(null==e)return null;const s=await this.client.get(t);return mt(`${e}`,s)}}class Zt extends(lt(_t).with(xt,yt)){constructor(t){super("whatsapp_transfers",S,t)}async accountDestination(t){const e=wt(t);if(null==e)return null;const s=await this.client.get(t);return mt(`${e}`,s)}}t.AccountQuery=N,t.ApiKeyQuery=E,t.BalanceEntryQuery=D,t.BillPaymentQuery=q,t.CardErrorType=p,t.CardFundingType=l,t.CardIssuer=m,t.CardStatus=w,t.CardTransactionQuery=M,t.CardTransactionType=_,t.CardType=y,t.CardsQuery=B,t.CommissionType=v,t.Cuenca=class{constructor(t,e,s=x.Sandbox){this.client=new Y({apiKey:t,apiSecret:e,phase:s}),this.withClient(this.client)}withClient(t){this.accounts=new At(t),this.apiKeys=new $t(t),this.balanceEntries=new Dt(t),this.billPayments=new qt(t),this.cardActivations=new Mt(t),this.cards=new Bt(t),this.cardTransactions=new Vt(t),this.cardValidations=new Rt(t),this.commissions=new Qt(t),this.deposits=new Yt(t),this.loginTokens=new Ft(t),this.savings=new zt(t),this.serviceProviders=new Ht(t),this.statements=new Lt(t),this.transfers=new Jt(t),this.userCredentials=new Wt(t),this.userLogins=new Xt(t),this.walletTransactions=new Gt(t),this.whatsAppTransfers=new Zt(t)}},t.CuencaException=i,t.CuencaResponseException=a,t.DepositNetwork=b,t.DepositQuery=K,t.EntryType=g,t.FileFormat=f,t.InvalidPassword=d,t.Jwt=h,t.MalformedJwtToken=o,t.MultipleResultsFound=c,t.NoResultFound=n,t.PageSize=class{constructor(t){this.maxSize=100,this._ps=t}get size(){return this._pageSize}set _ps(t){let e=this.maxSize;t&&t>0&&t<=this.maxSize&&(e=t),this._pageSize=e}},t.Phase=x,t.QueryParams=S,t.SavingCategory=j,t.ServiceProviderCategory=A,t.StatementQuery=Q,t.TrackDataMethod=O,t.TransactionStatus=I,t.TransferNetwork=k,t.TransferQuery=$,t.ValidationError=u,t.WalletQuery=R,t.WalletTransactionQuery=V,t.WalletTransactionType=T}));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("axios"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","axios","buffer"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).cuenca={},t.axios,t.Buffer)}(this,(function(t,e,s){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var r=i(e),a=i(s);class n extends Error{constructor(t){super(t),Object.setPrototypeOf(this,n.prototype)}}class c extends n{constructor(t,e){super(`Cuenca Response Error: ${e}`),this.name="CuencaResponseError",this.data=t,this.status=e,Object.setPrototypeOf(this,c.prototype)}}class o extends n{constructor(){super("No results were found"),this.name="NoResultFound",Object.setPrototypeOf(this,o.prototype)}}class d extends n{constructor(){super("One result was expected but multiple were found"),this.name="MultipleResultsFound",Object.setPrototypeOf(this,d.prototype)}}class u extends n{constructor(){super("An invalid JWT token was obtained during authentication"),this.name="MalformedJwtToken",Object.setPrototypeOf(this,u.prototype)}}class h extends n{constructor(){super("Invalid password"),this.name="InvalidPassword",Object.setPrototypeOf(this,h.prototype)}}class p extends Error{constructor(t){super(t),Object.setPrototypeOf(this,p.prototype)}}const l="undefined"!=typeof window&&void 0!==window.document,m="undefined"!=typeof process&&"[object process]"===Object.prototype.toString.call(process),w=l,_=m;class v{constructor(t,e){this.expiresAt=t,this.token=e}get isExpired(){const t=new Date;return(this.expiresAt.valueOf()-t.valueOf())/6e4<=5}static getExpirationDate=t=>{let e;try{const[,s]=t.split(".");e=JSON.parse(a.default.Buffer.from(`${s}==`,"base64").toString())}catch(t){throw new u}const{exp:s}=e;return new Date(new Date(1e3*s).toUTCString())};static create=async t=>{const e=t;e.jwtToken=null;const s=e.deleteRequestHeader("X-Cuenca-Token"),{token:i}=await t.post("token",{});s.eject();const r=v.getExpirationDate(i);return new v(r,i)}}class f{static Blocked=new f("blocked");static Comunication=new f("comunication");static ContactlesAmountLimit=new f("contactles_amount_limit");static FraudDetection=new f("fraud_detection");static FraudDetectionUncertain=new f("fraud_detection_uncertain");static InsufficientFounds=new f("insufficient_founds");static InvalidPin=new f("invalid_pin");static Notification=new f("notification");static NotificationDeactivatedCard=new f("notification_deactivated_card");constructor(t){this.value=t}}class b{static Credit=new b("credit");static Debit=new b("debit");constructor(t){this.value=t}}class y{static Accendo=new y("accendo");static Cuenca=new y("cuenca");constructor(t){this.value=t}}class g{static Active=new g("active");static Blocked=new g("blocked");static Created=new g("created");static Deactivated=new g("deactivated");static Printing=new g("printing");constructor(t){this.value=t}}class O{static Auth=new O("auth");static Capture=new O("capture");static Chargeback=new O("chargeback");static Expiration=new O("expiration");static Refund=new O("refund");static Void=new O("void");constructor(t){this.value=t}}class j{static Physical=new j("physical");static Virtual=new j("virtual");constructor(t){this.value=t}}class A{static CardRequest=new A("card_request");static CashDeposit=new A("cash_deposit");static OutgoingSpei=new A("outgoing_spei");constructor(t){this.value=t}}class x{static Cash=new x("cash");static Internal=new x("internal");static Spei=new x("spei");constructor(t){this.value=t}}class I{static Credit=new I("credit");static Debit=new I("debit");constructor(t){this.value=t}}class k{static Pdf=new k("pdf");static Xml=new k("xml");static Json=new k("json");constructor(t){this.value=t}}class T{static Ine=new T("ine");static Passport=new T("passport");static Residency=new T("residency");static MatriculaConsular=new T("matricula_consular");static ProofOfLiveness=new T("proof_of_liveness");static ProofOfAddress=new T("proof_of_address");constructor(t){this.value=t}}class U{static UploadAgain=new U("upload_again");static ReviewNeeded=new U("review_needed");static Submitted=new U("submitted");static Succeeded=new U("succeeded");constructor(t){this.value=t}}class C{static Sandbox=new C("sandbox");static Stage=new C("stage");static Api=new C("api");constructor(t){this.value=t}}class S{static Cable=new S("cable");static CreditCard=new S("credit_card");static Electricity=new S("electricity");static Gas=new S("gas");static Internet=new S("internet");static LandlineTelephone=new S("landline_telephone");static MobileTelephonePostpaid=new S("mobile_telephone_postpaid");static MobileTelephonePrepaid=new S("mobile_telephone_prepaid");static SateliteTelevision=new S("satelite_television");static Water=new S("water");constructor(t){this.value=t}}class N{static General=new N("general");static Home=new N("home");static Vehicle=new N("vehicle");static Travel=new N("travel");static Clothing=new N("clothing");static Other=new N("other");static Medical=new N("medical");static Accident=new N("accident");static Education=new N("education");constructor(t){this.value=t}}class P{static NotSet=new P("not_set");static Terminal=new P("terminal");static Manual=new P("manual");static Unknown=new P("unknown");static Contactless=new P("contactless");static FallBack=new P("fall_back");static MagneticStripe=new P("magnetic_stripe");static RecurringCharge=new P("recurring_charge");constructor(t){this.value=t}}class ${static Created=new $("created");static Failed=new $("failed");static InReview=new $("in_review");static Submitted=new $("submitted");static Succeeded=new $("succeeded");constructor(t){this.value=t}}class E{static Internal=new E("internal");static Spei=new E("spei");constructor(t){this.value=t}}class K{static Active=new K("active");static Deactivated=new K("deactivated");static Fraud=new K("fraud");static PldBlocked=new K("pld_blocked");constructor(t){this.value=t}}class q{static Phone=new q("phone");static Email=new q("email");constructor(t){this.value=t}}class D{static Deposit=new D("deposit");static Withdrawal=new D("withdrawal");constructor(t){this.value=t}}const M=t=>{if(!t)return null;const e=new Date(t);return new Date(e.getTime())},B=(t,e)=>Object.values(t).find((t=>t.value===e));class R{constructor({createdAfter:t,createdBefore:e,limit:s,pageSize:i,relatedTransaction:r,userId:a,count:n=!1}){this.createdAfter=t,this.createdBefore=e,this._lmt=s,this.relatedTransaction=r,this.userId=a,this.count=n,this.pageSize=i}get limit(){return this._limit}set _lmt(t){let e=null;t&&t>=0&&(e=t),this._limit=e}toObject(){return{created_after:this.createdAfter,created_before:this.createdBefore,limit:this.limit,related_transaction:this.relatedTransaction,user_id:this.userId,page_size:this.pageSize&&this.pageSize.size}}toParams(){const t={...this.toObject()};return this.count&&(t.count=1),Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}toQueryString(){return new URLSearchParams(this.toParams()).toString()}}class V extends R{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class L extends R{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class Y extends R{constructor({status:t,...e}){super(e),this.status=t}toObject(){return Object.assign(super.toObject(),{status:this.status})}}class H extends Y{constructor({trackingKey:t,network:e,...s}){super(s),this.trackingKey=t,this.network=e}toObject(){return Object.assign(super.toObject(),{tracking_key:this.trackingKey,network:this.network})}}class F extends Y{constructor({accountNumber:t,idempotencyKey:e,trackingKey:s,network:i,...r}){super(r),this.accountNumber=t,this.idempotencyKey=e,this.trackingKey=s,this.network=i}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber,idempotency_key:this.idempotencyKey,tracking_key:this.trackingKey,network:this.network})}}class z extends R{constructor({fundingInstrumentUri:t,count:e=!1,walletId:s="default",...i}){super(i),this.fundingInstrumentUri=t,this.count=e,this.walletId=s}toObject(){return Object.assign(super.toObject(),{wallet_id:this.walletId,funding_instrument_uri:this.fundingInstrumentUri,count:this.count})}}class X extends R{constructor({accountNumber:t,...e}){super(e),this.accountNumber=t}toObject(){return Object.assign(super.toObject(),{account_number:this.accountNumber})}}class Q extends R{constructor({cardUri:t,...e}){super(e),this.cardUri=t}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri})}}class J extends R{constructor({cardUri:t,count:e=!1,...s}){super(s),this.cardUri=t,this.count=e}toObject(){return Object.assign(super.toObject(),{card_uri:this.cardUri,count:this.count})}}class W extends R{constructor({walletUri:t,...e}){super(e),this.walletUri=t}toObject(){return Object.assign(super.toObject(),{wallet_uri:this.walletUri})}}class G extends R{constructor({emailAddress:t,phoneNumber:e,status:s,...i}){super(i),this.emailAddress=t,this.phoneNumber=e,this.status=s}toObject(){return Object.assign(super.toObject(),{email_address:this.emailAddress,phone_number:this.phoneNumber,status:this.status})}}class Z extends R{constructor({active:t,...e}){super(e),this.active=t}toObject(){return Object.assign(super.toObject(),{active:this.active})}}class tt extends R{constructor({month:t,year:e,...s}){super(s),this.d={month:t,year:e}}get month(){return this._date.month}get year(){return this._date.year}set d({month:t,year:e}){const s=M(Date.now());s.setUTCDate(1);if(M(`${e}-${t}-01`).getTime()>=s.getTime())throw new p(`${e}-${t} is not a valid year-month pair`);this._date={month:t,year:e}}toObject(){return Object.assign(super.toObject(),{month:this.month,year:this.year})}}class et{constructor({ip:t,location:e,type:s,version:i}){this.ip=t,this.location=e,this.type=s,this.version=i}static fromObject=({ip:t,location:e,type:s,version:i})=>new et({ip:t,location:e,type:s,version:i})}class st{constructor({data:t,isMx:e,status:s,type:i,uriBack:r,uriFront:a}){this.data=t,this.isMx=e,this.status=B(U,s),this.type=B(T,i),this.uriBack=r,this.uriFront=a}static fromObject=({data:t,status:e,type:s,...i})=>new st({data:t,status:e,type:s,isMx:i.is_mx,uriBack:i.uri_back,uriFront:i.uri_front})}var it="0.0.1-dev.40";class rt{constructor({apiKey:t,apiSecret:e,phase:s=C.Sandbox}={}){this.phase=s,this.basicAuth={apiKey:t,apiSecret:e},this.jwtToken=null,this._session=r.default.create()}get session(){return this._session}get origin(){return`https://${this.phase.value}.cuenca.com`}get authHeader(){const{apiKey:t,apiSecret:e}=this.basicAuth;return t&&e?`Basic ${a.default.Buffer.from(`${t}:${e}`,"utf-8").toString("base64")}`:""}addHeadersToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return Object.keys(t).forEach((e=>i[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}deleteRequestHeader(t){const e=this._session.interceptors.request.use((e=>{const s=e,{headers:{common:i}}=s;return delete i[t],s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}addConfigToRequest(t){const e=this._session.interceptors.request.use((e=>{const s=e;return Object.keys(t).forEach((e=>s[e]=t[e])),s}));return{interceptorId:e,eject:()=>this._session.interceptors.request.eject(e)}}async configure({apiKey:t,apiSecret:e,loginToken:s,phase:i,sessionId:r,useJwt:a=!1}){this.basicAuth={apiKey:t||this.basicAuth.apiKey,apiSecret:e||this.basicAuth.apiSecret},i&&(this.phase=i),a&&(this.jwtToken=await v.create(this)),s&&this.addHeadersToRequest({"X-Cuenca-LoginToken":s}),r&&this.addHeadersToRequest({"X-Cuenca-SessionId":r})}async get({endpoint:t,format:e,params:s}){return this.request({endpoint:t,format:e,params:s})}async post({endpoint:t,data:e}){return this.request({method:"POST",endpoint:t,data:e})}async patch({endpoint:t,data:e}){return this.request({method:"PATCH",endpoint:t,data:e})}async delete({endpoint:t,data:e}){return this.request({method:"DELETE",endpoint:t,data:e})}async request({endpoint:t,data:e=null,format:s=k.Json,method:i="GET",params:r=null}){const a={"Content-Type":"application/json",Accept:`application/${s.value}`};this.authHeader&&(a.Authorization=this.authHeader),_?a["User-Agent"]=`cuenca-js/${it}`:w&&(a["X-User-Agent"]=`cuenca-js/${it}`),this.jwtToken&&(this.jwtToken.isExpired&&(this.jwtToken=await v.create(this)),a["X-Cuenca-Token"]=this.jwtToken.token);const o=this.addHeadersToRequest(a),d=e;d&&Object.keys(d).forEach((t=>{d[t]instanceof Date&&(d[t]=d[t].toISOString())}));const u=this.addConfigToRequest({method:i,params:r,data:d,url:t});let h;try{h=await this._session.request({baseURL:this.origin})}catch(t){throw t.response?new c(t.response.data,t.response.status):t.request?new n(`No response received: ${t.errno}: ${t.code}`):new n(t.message)}finally{o.eject(),u.eject()}return h.data}}class at{constructor({accountNumber:t,createdAt:e,id:s,institutionName:i,name:r,userId:a}){this.accountNumber=t,this.createdAt=M(e),this.id=s,this.institutionName=i,this.name=r,this.userId=a}static fromObject=({id:t,name:e,...s})=>new at({id:t,name:e,accountNumber:s.account_number,createdAt:s.created_at,institutionName:s.institution_name,userId:s.user_id})}class nt{constructor({createdAt:t,deactivatedAt:e,id:s,secret:i,userId:r,updatedAt:a}){this.createdAt=M(t),this.deactivatedAt=M(e),this.id=s,this.secret=i,this.userId=r,this.updatedAt=M(a)}static fromObject=({id:t,secret:e,...s})=>new nt({id:t,secret:e,createdAt:s.created_at,deactivatedAt:s.deactivated_at,userId:s.user_id,updatedAt:s.updated_at});get isActive(){const t=M(Date.now());return!this.deactivatedAt||this.deactivatedAt.getTime()>t.getTime()}}class ct{constructor({arpc:t,createdAt:e,cardUri:s,isValidArqc:i}){this.arpc=t,this.createdAt=M(e),this.cardUri=s,this.isValidArqc=i}static fromObject=({arpc:t,...e})=>new ct({arpc:t,createdAt:e.created_at,cardUri:e.card_uri,isValidArqc:e.is_valid_arqc})}class ot{constructor({amount:t,createdAt:e,descriptor:s,entryType:i,fundingInstrumentUri:r,id:a,name:n,relatedTransactionUri:c,rollingBalance:o}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.entryType=B(I,i),this.fundingInstrumentUri=r,this.id=a,this.name=n,this.relatedTransactionUri=c,this.rollingBalance=o}static fromObject=({amount:t,descriptor:e,id:s,name:i,type:r,...a})=>new ot({amount:t,descriptor:e,name:i,id:s,createdAt:a.created_at,entryType:r,fundingInstrumentUri:a.funding_instrument_uri,relatedTransactionUri:a.related_transaction_uri,rollingBalance:a.rolling_balance})}class dt{constructor({amount:t,createdAt:e,descriptor:s,status:i,userId:r}){this.amount=t,this.createdAt=M(e),this.descriptor=s,this.status=B($,i),this.userId=r}}class ut extends dt{constructor({amount:t,accountNumber:e,createdAt:s,descriptor:i,id:r,providerUri:a,status:n,userId:c}){super({amount:t,createdAt:s,descriptor:i,status:n,userId:c}),this.accountNumber=e,this.id=r,this.providerUri=a}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new ut({amount:t,descriptor:e,id:s,status:i,accountNumber:r.account_number,createdAt:r.created_at,providerUri:r.provider_uri,userId:r.user_id})}class ht{constructor({createdAt:t,cvv2:e,expMonth:s,expYear:i,fundingType:r,id:a,issuer:n,number:c,pin:o,status:d,type:u,updatedAt:h,userId:p}){this.createdAt=M(t),this.cvv2=e,this.expMonth=s,this.expYear=i,this.fundingType=B(b,r),this.id=a,this.issuer=B(y,n),this.number=c,this.pin=o,this.status=B(g,d),this.type=B(j,u),this.updatedAt=M(h),this.userId=p}static fromObject=({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,...c})=>new ht({cvv2:t,id:e,issuer:s,number:i,pin:r,status:a,type:n,createdAt:c.created_at,expMonth:c.exp_month,expYear:c.exp_year,fundingType:c.funding_type,updatedAt:c.updated_at,userId:c.user_id})}class pt{constructor({cardUri:t,createdAt:e,id:s,ipAddress:i,success:r,userId:a}){this.cardUri=t,this.createdAt=M(e),this.id=s,this.ipAddress=i,this.success=r,this.userId=a}static fromObject=({id:t,success:e,...s})=>new pt({id:t,success:e,cardUri:s.card_uri,createdAt:s.created_at,ipAddress:s.ip_address,userId:s.user_id})}class lt extends dt{constructor({amount:t,cardErrorType:e,cardLastFour:s,cardType:i,cardUri:r,createdAt:a,descriptor:n,metadata:c,network:o,relatedCardTransactionsUris:d,status:u,type:h,userId:p}){super({amount:t,createdAt:a,descriptor:n,status:u,userId:p}),this.cardErrorType=B(f,e),this.cardLastFour=s,this.cardType=B(j,i),this.cardUri=r,this.metadata=c,this.network=o,this.relatedCardTransactionsUris=d,this.type=B(O,h)}static fromObject=({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,...n})=>new lt({amount:t,descriptor:e,metadata:s,network:i,status:r,type:a,cardErrorType:n.error_type,cardLastFour:n.card_last4,cardType:n.card_type,cardUri:n.card_uri,createdAt:n.created_at,relatedCardTransactionsUris:n.related_card_transaction,userId:n.user_id})}class mt{constructor({cardStatus:t,cardType:e,cardUri:s,createdAt:i,isExpired:r,isPinAttemptsExceeded:a,isValidCvv:n,isValidCvv2:c,isValidExpDate:o,isValidIcvv:d,isValidPinBlock:u,userId:h}){this.cardStatus=B(g,t),this.cardType=B(j,e),this.cardUri=s,this.createdAt=M(i),this.isExpired=r,this.isPinAttemptsExceeded=a,this.isValidCvv=n,this.isValidCvv2=c,this.isValidExpDate=o,this.isValidIcvv=d,this.isValidPinBlock=u,this.userId=h}static fromObject=({...t})=>new mt({cardStatus:t.card_status,cardType:t.card_type,cardUri:t.card_uri,createdAt:t.created_at,isExpired:t.is_expired,isPinAttemptsExceeded:t.is_pin_attempts_exceeded,isValidCvv:t.is_valid_cvv,isValidCvv2:t.is_valid_cvv2,isValidExpDate:t.is_valid_exp_date,isValidIcvv:t.is_valid_icvv,isValidPinBlock:t.is_valid_pin_block,userId:t.user_id});get isActive(){return this.cardStatus===g.Active}}class wt extends dt{constructor({amount:t,createdAt:e,descriptor:s,relatedTransactionUri:i,status:r,type:a,userId:n}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.relatedTransactionUri=i,this.type=B(A,a)}static fromObject=({amount:t,descriptor:e,status:s,type:i,...r})=>new wt({amount:t,descriptor:e,status:s,type:i,createdAt:r.created_at,relatedTransactionUri:r.related_transaction_uri,userId:r.user_id})}class _t extends dt{constructor({amount:t,createdAt:e,descriptor:s,id:i,network:r,status:a,sourceUri:n,trackingKey:c,userId:o}){super({amount:t,createdAt:e,descriptor:s,status:a,userId:o}),this.id=i,this.network=B(x,r),this.sourceUri=n,this.trackingKey=c}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new _t({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,sourceUri:a.source_uri,trackingKey:a.tracking_key,userId:a.user_id})}class vt{constructor({id:t}){this.id=t}static fromObject=({id:t})=>new vt({id:t})}class ft extends class{constructor({balance:t,createdAt:e,deactivatedAt:s,id:i,userId:r,updatedAt:a}){this.balance=t,this.createdAt=M(e),this.deactivatedAt=M(s),this.id=i,this.userId=r,this.updatedAt=M(a)}}{constructor({balance:t,category:e,createdAt:s,deactivatedAt:i,goalAmount:r,goalDate:a,id:n,name:c,userId:o,updatedAt:d}){super({balance:t,createdAt:s,deactivatedAt:i,id:n,userId:o,updatedAt:d}),this.category=B(N,e),this.goalAmount=r,this.goalDate=M(a),this.name=c}static fromObject=({balance:t,category:e,id:s,name:i,...r})=>new ft({balance:t,category:e,id:s,name:i,createdAt:r.created_at,deactivatedAt:r.deactivated_at,goalAmount:r.goal_amount,goalDate:r.goal_date,userId:r.user_id,updatedAt:r.updated_at})}class bt{constructor({categories:t,id:e,name:s,providerKey:i}){var r;this.categories=null==(r=t)?[]:r.map((t=>B(S,t))),this.id=e,this.name=s,this.providerKey=i}static fromObject=({categories:t,id:e,name:s,...i})=>new bt({categories:t,id:e,name:s,providerKey:i.provider_key})}class yt{constructor({createdAt:t,id:e,month:s,year:i}){this.createdAt=M(t),this.id=e,this.month=s,this.year=i}static fromObject=({id:t,month:e,year:s,...i})=>new yt({id:t,month:e,year:s,createdAt:i.created_at})}class gt extends dt{constructor({accountNumber:t,amount:e,createdAt:s,descriptor:i,destinationUri:r,id:a,idempotencyKey:n,network:c,recipientName:o,status:d,trackingKey:u,updatedAt:h,userId:p}){super({amount:e,createdAt:s,descriptor:i,status:d,userId:p}),this.accountNumber=t,this.destinationUri=r,this.id=a,this.idempotencyKey=n,this.network=B(E,c),this.recipientName=o,this.trackingKey=u,this.updatedAt=M(h)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new gt({amount:t,descriptor:e,id:s,network:i,status:r,accountNumber:a.account_number,createdAt:a.created_at,destinationUri:a.destination_uri,idempotencyKey:a.idempotency_key,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Ot{constructor({emailAddress:t,govtId:e,level:s,phoneNumber:i,proofOfAddress:r,proofOfLife:a,status:n,termsOfService:c,verificationId:o}){this.emailAddress=t,this.govstIds=e,this.level=s,this.phoneNumber=i,this.addressProofs=r,this.lifeProofs=a,this.status=B(K,n),this.terms=c,this.verificationId=o}get proofOfAddress(){return this._proofOfAddress}set addressProofs(t){t&&(this._proofOfAddress=st.fromObject(t))}get proofOfLife(){return this._proofOfLife}set lifeProofs(t){t&&(this._proofOfLife=st.fromObject(t))}get govtId(){return this._govtId}set govstIds(t){t&&(this._govtId=st.fromObject(t))}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=et.fromObject(t))}static fromObject=({level:t,status:e,...s})=>new Ot({level:t,status:e,govtId:s.govt_id,emailAddress:s.email_address,phoneNumber:s.phone_number,proofOfAddress:s.proof_of_address,proofOfLife:s.proof_of_life,termsOfService:s.terms_of_service,verificationId:s.verification_id})}class jt{constructor({createdAt:t,id:e,isActive:s,updatedAt:i}){this.createdAt=M(t),this.id=e,this.isActive=s,this.updatedAt=M(i)}static fromObject=({id:t,...e})=>new jt({id:t,createdAt:e.created_at,isActive:e.is_active,updatedAt:e.updated_at})}class At{constructor({id:t,lastLoginAt:e,success:s}){this.id=t,this.lastLoginAt=M(e),this.success=s}static fromObject=({id:t,success:e,...s})=>new At({id:t,success:e,lastLoginAt:s.last_login_at})}class xt{constructor({createdAt:t,id:e,platformId:s,recipient:i,type:r,updatedAt:a}){this.createdAt=M(t),this.id=e,this.platformId=s,this.recipient=i,this.type=B(q,r),this.updatedAt=M(a)}static fromObject=({id:t,recipient:e,type:s,...i})=>new xt({id:t,recipient:e,type:s,createdAt:i.created_at,platformId:i.platform_id,updatedAt:i.updated_at})}class It extends dt{constructor({amount:t,createdAt:e,descriptor:s,id:i,status:r,transactionType:a,userId:n,walletUri:c}){super({amount:t,createdAt:e,descriptor:s,status:r,userId:n}),this.id=i,this.transactionType=B(D,a),this.walletUri=c}static fromObject=({amount:t,descriptor:e,id:s,status:i,...r})=>new It({amount:t,descriptor:e,id:s,status:i,createdAt:r.created_at,transactionType:r.transaction_type,userId:r.user_id,walletUri:r.wallet_uri})}class kt extends dt{constructor({amount:t,claimUrl:e,createdAt:s,descriptor:i,destinationUri:r,expiresAt:a,id:n,network:c,phoneNumber:o,recipientName:d,status:u,trackingKey:h,updatedAt:p,userId:l}){super({amount:t,createdAt:s,descriptor:i,status:u,userId:l}),this.claimUrl=e,this.destinationUri=r,this.id=n,this.expiresAt=M(a),this.network=B(E,c),this.phoneNumber=o,this.recipientName=d,this.trackingKey=h,this.updatedAt=M(p)}static fromObject=({amount:t,descriptor:e,id:s,network:i,status:r,...a})=>new kt({amount:t,descriptor:e,id:s,network:i,status:r,createdAt:a.created_at,claimUrl:a.claim_url,destinationUri:a.destination_uri,expiresAt:a.expires_at,phoneNumber:a.phone_number,recipientName:a.recipient_name,trackingKey:a.tracking_key,updatedAt:a.updated_at,userId:a.user_id})}class Tt{constructor(t){this.superclass=t}with(...t){return t.reduce(((t,e)=>e(t)),this.superclass)}}const Ut=t=>new Tt(t),Ct=(t,e)=>({accounts:()=>at.fromObject(e),api_keys:()=>nt.fromObject(e),arpc:()=>ct.fromObject(e),balance_entries:()=>ot.fromObject(e),bill_payments:()=>ut.fromObject(e),cards:()=>ht.fromObject(e),card_activations:()=>pt.fromObject(e),card_transactions:()=>lt.fromObject(e),card_validations:()=>mt.fromObject(e),commissions:()=>wt.fromObject(e),deposits:()=>_t.fromObject(e),login_tokens:()=>vt.fromObject(e),savings:()=>ft.fromObject(e),service_providers:()=>bt.fromObject(e),statements:()=>yt.fromObject(e),transfers:()=>gt.fromObject(e),users:()=>Ot.fromObject(e),user_credentials:()=>jt.fromObject(e),user_logins:()=>At.fromObject(e),verifications:()=>xt.fromObject(e),wallet_transactions:()=>It.fromObject(e),whatsapp_transfers:()=>kt.fromObject(e)}[t]()),St=t=>{if(null===t||""===t)return null;const e=t.match("/(.*?)/");return null===e?null:e[0].replaceAll("/","")};class Nt{constructor(t,e,s){this.path=t,this.QueryParams=e,this.client=s}}const Pt=t=>class extends t{async retrieve(t){const e=await this.client.get({endpoint:`/${this.path}/${t}`});return Ct(this.path,e)}},$t=t=>class extends t{async _create(t){const e=await this.client.post({endpoint:`/${this.path}`,data:t});return Ct(this.path,e)}},Et=t=>class extends t{async _update(t,e){const s=await this.client.patch({endpoint:`/${this.path}/${t}`,data:e});return Ct(this.path,s)}},Kt=t=>class extends t{async _deactivate(t,e){const s=await this.client.delete({endpoint:`/${this.path}/${t}`,data:e});return Ct(this.path,s)}},qt=t=>class extends t{async _download(t,e){return await this.client.get({endpoint:`/${this.path}/${t}`,format:e})}},Dt=t=>class extends t{async one(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e.length)throw new o;if(e.length>1)throw new d;const[s]=e;return Ct(this.path,s)}async first(t=new this.QueryParams({})){const{items:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});if(!e||!e[0])return null;const[s]=e;return Ct(this.path,s)}async count(t=new this.QueryParams({})){t.count=!0;const{count:e}=await this.client.get({endpoint:`/${this.path}`,params:t.toParams()});return e||0}async*all(t=new this.QueryParams({})){let e=`/${this.path}?${t.toQueryString()}`;for(;e;){const t=await this.client.get({endpoint:e});if(t.items)for(const e of t.items){const t=Ct(this.path,e);yield t}e=t.next_page_uri}}};class Mt extends(Ut(Nt).with(Dt,Pt)){constructor(t){super("accounts",V,t)}}class Bt{toObject(){return{}}toCleanObject(){const t=this.toObject();return Object.keys(t).forEach((e=>{null==t[e]&&delete t[e]})),t}}class Rt extends Bt{constructor(t,e){super(),this.userId=t,this.metadata=e}toObject(){return{user_id:this.userId,metadata:this.metadata}}}class Vt extends Bt{constructor(t,e,s){super(),this.userId=t,this.issuer=e,this.fundingType=s}toObject(){return{user_id:this.userId,issuer:this.issuer,funding_type:this.fundingType}}}class Lt extends Bt{constructor(t,e){super(),this.status=t,this.pinBlock=e}toObject(){return{status:this.status,pin_block:this.pinBlock}}}class Yt extends Bt{constructor(t,e,s,i){super(),this.n=t,this.eM=e,this.eY=s,this.c2=i}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t.trim()}get expMonth(){return this._expMonth}set eM(t){if([!!t,t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set eY(t){if([!!t,t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get cvv2(){return this._cvv2}set c2(t){if([!!t,3===t.length,/^\d{3}/.test(t)].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}toObject(){return{number:this.number,exp_month:this.expMonth,exp_year:this.expYear,cvv2:this.cvv2}}}class Ht extends Bt{constructor({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){super(),this.c=t,this.c2=e,this.em=s,this.ey=i,this.ic=r,this.n=a,this.pinBloc=n,this.pinAttemptsExceeded=c}get cvv(){return this._cvv}set c(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv");this._cvv=t}get cvv2(){return this._cvv2}set c2(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid cvv2");this._cvv2=t}get expMonth(){return this._expMonth}set em(t){if(!t)return;if([t>=1,t<=12].some((t=>!t)))throw new p("Invalid expiration month");this._expMonth=t}get expYear(){return this._expYear}set ey(t){if(!t)return;if([t>=18,t<=99].some((t=>!t)))throw new p("Invalid expiration year");this._expYear=t}get icvv(){return this._icvv}set ic(t){if(!t)return;if([3===t.length].some((t=>!t)))throw new p("Invalid icvv");this._icvv=t}get number(){return this._number}set n(t){if([!!t,16===t.length,/^\d{16}/.test(t)].some((t=>!t)))throw new p("Invalid number");this._number=t}toObject(){return{cvv:this.cvv,cvv2:this.cvv2,exp_month:this.expMonth,exp_year:this.expYear,icvv:this.icvv,number:this.number,pin_block:this.pinBloc,pin_attempts_exceeded:this.pinAttemptsExceeded}}}class Ft extends Bt{constructor(t,e,s,i){super(),this.category=t,this.name=i,this.goalAmount=e,this.validDate=s}get goalDate(){return this._goalDate}set validDate(t){if(t){if(M(t).getTime()<=M(Date.now()).getTime())throw new p("The goal_date always need to be higher than now");this._goalDate=t}}toObject(){return{category:this.category,goal_amount:this.goalAmount,goal_date:this.goalDate,name:this.name}}}class zt extends Bt{constructor(t,e,s,i,r){super(),this.accountNumber=t,this.amount=e,this.descriptor=s,this.idempotencyKey=i,this.recipientName=r}toObject(){return{account_number:this.accountNumber,amount:this.amount,descriptor:this.descriptor,idempotency_key:this.idempotencyKey,recipient_name:this.recipientName}}}class Xt extends Bt{constructor(t){super(),this.pwd=t}get password(){return this._password}set pwd(t){if([!!t,t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password}}}class Qt extends Bt{constructor(t,e){super(),this.pwd=t,this.isActive=e,this.req={password:this.password,isActive:this.isActive}}get password(){return this._password}get request(){return this._request}set pwd(t){if(!t)return void(this._password=t);if([t.length>=6].some((t=>!t)))throw new p("Invalid password");this._password=t}set req(t){if(t.password&&null!=t.isActive)throw new p("Only one property can be updated at a time");this._request=t}toObject(){return{password:this.request.password,is_active:this.request.isActive}}}class Jt extends Bt{constructor(t,e="me"){super(),this.pwd=t,this.userId=e}get password(){return this._password}set pwd(t){if([!!t,6===t.length,/^\d{6}$/.test(t)].some((t=>!t)))throw new p("Invalid password");this._password=t}toObject(){return{password:this.password,user_id:this.userId}}}class Wt extends Bt{constructor({ip:t,location:e,type:s,version:i}){super(),this.ipAddress=t,this.location=e,this.type=s,this.version=i}get ip(){return this._ip}set ipAddress(t){if(!t)throw new p("missing ip address");if(!t.split(".").every((t=>t>=0&&t<=255)))throw new p("Invalid ip address");this._ip=t}toObject(){return{ip:this.ip,location:this.location,type:this.type,version:this.version}}}class Gt extends Bt{constructor({termsOfService:t,verificationId:e}){super(),this.terms=t,this.verificationId=e}get termsOfService(){return this._termsOfService}set terms(t){t&&(this._termsOfService=new Wt(t).toObject())}toObject(){return{terms_of_service:this.termsOfService,verification_id:this.verificationId}}}class Zt extends Bt{constructor({platformId:t,recipient:e,type:s}){super(),this.platformId=t,this.type=s,this.recipients=e}get recipient(){return this._recipient}set recipients(t){switch(B(q,this.type)){case q.Email:if(!t.match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/))throw new p("Invalid email address");this._recipient=t;break;case q.Phone:if(!t.match(/^\+?[0-9]{10,15}$/))throw new p("Invalid Phone Number");this._recipient=t}}toObject(){return{platform_id:this.platformId,recipient:this.recipient,type:this.type}}}class te extends Bt{constructor({code:t}){super(),this.code=t}toObject(){return{code:this.code}}}class ee extends Bt{constructor(t,e,s){super(),this.amount=t,this.transactionType=e,this.walletUri=s}toObject(){return{amount:this.amount,transaction_type:this.transactionType,wallet_uri:this.walletUri}}}class se extends(Ut(Nt).with($t,Kt,Dt,Pt,Et)){constructor(t){super("api_keys",L,t)}async create(){return await this._create()}async deactivate(t,e=0){return await this._deactivate(t,{minutes:e})}async update(t,e,s){const i=new Rt(s,e);return await this._update(t,i.toCleanObject())}}Ut(Nt).with($t);class ie extends(Ut(Nt).with(Dt,Pt)){constructor(t){super("balance_entries",z,t)}async relatedTransaction(t){const e=St(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}async fundingInstrument(t){const e=St(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class re extends(Ut(Nt).with(Dt,Pt)){constructor(t){super("bill_payments",X,t)}async serviceProvider(t){const e=St(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class ae extends(Ut(Nt).with($t)){constructor(t){super("card_activations",Object,t)}async create({number:t,expMonth:e,expYear:s,cvv2:i}){const r=new Yt(t,e,s,i);return await this._create(r.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return ht.fromObject(e)}}class ne extends(Ut(Nt).with($t,Kt,Dt,Pt,Et)){constructor(t){super("cards",J,t)}async create(t,e,s){const i=new Vt(t,e,s);return await this._create(i.toCleanObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s){const i=new Lt(e,s);return await this._update(t,i.toCleanObject())}}class ce extends(Ut(Nt).with(Dt,Pt)){constructor(t){super("card_transactions",Q,t)}async relatedCard(t){const e=St(t);if(null==e)return null;const s=await this.client.get({endpoint:t});return Ct(`${e}`,s)}}class oe extends(Ut(Nt).with($t)){constructor(t){super("card_validations",Object,t)}async create({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c}){const o=new Ht({cvv:t,cvv2:e,expMonth:s,expYear:i,icvv:r,number:a,pinBlock:n,pinAttemptsExceeded:c});return await this._create(o.toCleanObject())}async card(t){if(!t)return null;const e=await this.client.get({endpoint:t});return ht.fromObject(e)}}class de extends(Ut(Nt).with(Dt,Pt)){constructor(t){super("commissions",R,t)}async relatedTransaction(t){const e=St(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class ue extends(Ut(Nt).with(Dt,Pt)){constructor(t){super("deposits",H,t)}async source(t){const e=await this.client.get({endpoint:t});return at.fromObject(e)}}class he extends(Ut(Nt).with($t)){constructor(t){super("login_tokens",Object,t)}async create(){return await this._create()}}class pe extends(Ut(Nt).with($t,Kt,Dt,Pt,Et)){constructor(t){super("savings",Z,t)}async create(t,e,s,i){const r=new Ft(t,e,s,i);return await this._create(r.toObject())}async deactivate(t){return await this._deactivate(t)}async update(t,e,s,i,r){const a=new Ft(e,s,i,r);return await this._update(t,a.toObject())}}class le extends(Ut(Nt).with(Dt,Pt)){constructor(t){super("service_providers",R,t)}}class me extends(Ut(Nt).with(qt,Dt)){constructor(t){super("statements",tt,t)}async pdf(t){return await this._download(t,k.Pdf)}async xml(t){return await this._download(t,k.Xml)}}class we extends(Ut(Nt).with($t,Dt,Pt)){constructor(t){super("transfers",F,t)}async destination(t){const e=await this.client.get({endpoint:t});return at.fromObject(e)}async create({accountNumber:t,amount:e,descriptor:s,recipientName:i,idempotencyKey:r}){const a=r||this.constructor._genIdempotencyKey(t,e),n=new zt(t,e,s,a,i);return await this._create(n.toCleanObject())}async createMany(t){if(!t||!Array.isArray(t)||!t.length)return{};const e={submitted:[],errors:[]};return await Promise.all(t.map((async({accountNumber:t,amount:s,descriptor:i,idempotencyKey:r,recipientName:a})=>{const n=new zt(t,s,i,r||this.constructor._genIdempotencyKey(t,s),a);let c;try{c=await this._create(n.toCleanObject())}catch(t){return void e.errors.push({actualRequest:n,error:t})}e.submitted.push(c)}))),e}static _genIdempotencyKey(t,e){const[s]=M(Date.now()).toISOString().split("T");return`${s}:${t}:${e}`}}class _e extends(Ut(Nt).with($t,Et)){constructor(t){super("user_credentials",Object,t)}async create(t){const e=new Xt(t);return await this._create(e.toObject())}async update({isActive:t,password:e,userId:s="me"}){const i=new Qt(e,t);return await this._update(s,i.toCleanObject())}}class ve extends(Ut(Nt).with($t,Kt)){constructor(t){super("user_logins",Object,t),this.loginIdInHeaders=null}async create(t,e){const s=new Jt(t,e),i=await this._create(s.toObject());if(!i.success)throw new h;return this.loginIdInHeaders=this.client.addHeadersToRequest({"X-Cuenca-LoginId":i.id}),i}async logOut(t="me"){return await this._deactivate(t,{}),this.loginIdInHeaders&&this.loginIdInHeaders.eject(),!0}}class fe extends(Ut(Nt).with(Dt,Et,Pt)){constructor(t){super("users",G,t)}async update({termsOfService:t,verificationId:e,userId:s="me"}){const i=new Gt({termsOfService:t,verificationId:e});return await this._update(s,i.toCleanObject())}}class be extends(Ut(Nt).with($t,Et)){constructor(t){super("verifications",Object,t)}async create({platformId:t,recipient:e,type:s}){const i=new Zt({platformId:t,recipient:e,type:s});return await this._create(i.toObject())}async update({code:t,id:e}){const s=new te({code:t});return await this._update(e,s.toObject())}}class ye extends(Ut(Nt).with($t,Dt,Pt)){constructor(t){super("wallet_transactions",W,t)}async create(t,e,s){const i=new ee(t,e,s);return await this._create(i.toObject())}async realtedWallet(t){const e=St(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}class ge extends(Ut(Nt).with(Dt,Pt)){constructor(t){super("whatsapp_transfers",R,t)}async accountDestination(t){const e=St(t);if(null==e)return null;const s=await this.client.get(t);return Ct(`${e}`,s)}}t.Cuenca=class{constructor(t,e,s=C.Sandbox){this.client=new rt({apiKey:t,apiSecret:e,phase:s}),this.withClient(this.client)}withClient(t){this.accounts=new Mt(t),this.apiKeys=new se(t),this.balanceEntries=new ie(t),this.billPayments=new re(t),this.cardActivations=new ae(t),this.cards=new ne(t),this.cardTransactions=new ce(t),this.cardValidations=new oe(t),this.commissions=new de(t),this.deposits=new ue(t),this.loginTokens=new he(t),this.savings=new pe(t),this.serviceProviders=new le(t),this.statements=new me(t),this.transfers=new we(t),this.userCredentials=new _e(t),this.userLogins=new ve(t),this.users=new fe(t),this.verifications=new be(t),this.walletTransactions=new ye(t),this.whatsAppTransfers=new ge(t)}}}));
|
package/build/{walletTransactionRequest-17132eb5.js → walletTransactionRequest-3b0c406d.mjs}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ValidationError } from './errors/index.
|
|
2
|
-
import { d as dateToUTC } from './data-
|
|
1
|
+
import { ValidationError } from './errors/index.mjs';
|
|
2
|
+
import { d as dateToUTC, e as enumValueFromString, V as VerificationType } from './data-69952249.mjs';
|
|
3
3
|
|
|
4
4
|
class BaseRequest {
|
|
5
5
|
toObject() {
|
|
@@ -378,7 +378,7 @@ class UserCredentialRequest extends BaseRequest {
|
|
|
378
378
|
}
|
|
379
379
|
|
|
380
380
|
set pwd(value) {
|
|
381
|
-
const validations = [!!value, value.length
|
|
381
|
+
const validations = [!!value, value.length >= 6];
|
|
382
382
|
if (validations.some((x) => !x)) {
|
|
383
383
|
throw new ValidationError('Invalid password');
|
|
384
384
|
}
|
|
@@ -416,7 +416,7 @@ class UserCredentialUpdateRequest extends BaseRequest {
|
|
|
416
416
|
this._password = value;
|
|
417
417
|
return;
|
|
418
418
|
}
|
|
419
|
-
const validations = [value.length
|
|
419
|
+
const validations = [value.length >= 6];
|
|
420
420
|
if (validations.some((x) => !x)) {
|
|
421
421
|
throw new ValidationError('Invalid password');
|
|
422
422
|
}
|
|
@@ -465,6 +465,129 @@ class UserLoginRequest extends BaseRequest {
|
|
|
465
465
|
}
|
|
466
466
|
}
|
|
467
467
|
|
|
468
|
+
class TosUpdateRequest extends BaseRequest {
|
|
469
|
+
constructor({ ip, location, type, version }) {
|
|
470
|
+
super();
|
|
471
|
+
this.ipAddress = ip;
|
|
472
|
+
this.location = location;
|
|
473
|
+
this.type = type;
|
|
474
|
+
this.version = version;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
get ip() {
|
|
478
|
+
return this._ip;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
set ipAddress(value) {
|
|
482
|
+
if (!value) throw new ValidationError('missing ip address');
|
|
483
|
+
const ipBlocks = value.split('.');
|
|
484
|
+
const blocks = ipBlocks.every((block) => {
|
|
485
|
+
return block >= 0 && block <= 255;
|
|
486
|
+
});
|
|
487
|
+
if (blocks) {
|
|
488
|
+
this._ip = value;
|
|
489
|
+
} else {
|
|
490
|
+
throw new ValidationError('Invalid ip address');
|
|
491
|
+
}
|
|
492
|
+
}
|
|
493
|
+
|
|
494
|
+
toObject() {
|
|
495
|
+
return {
|
|
496
|
+
ip: this.ip,
|
|
497
|
+
location: this.location,
|
|
498
|
+
type: this.type,
|
|
499
|
+
version: this.version,
|
|
500
|
+
};
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
class UserUpdateRequest extends BaseRequest {
|
|
505
|
+
constructor({ termsOfService, verificationId }) {
|
|
506
|
+
super();
|
|
507
|
+
this.terms = termsOfService;
|
|
508
|
+
this.verificationId = verificationId;
|
|
509
|
+
}
|
|
510
|
+
|
|
511
|
+
get termsOfService() {
|
|
512
|
+
return this._termsOfService;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
set terms(value) {
|
|
516
|
+
if (!value) return;
|
|
517
|
+
this._termsOfService = new TosUpdateRequest(value).toObject();
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
toObject() {
|
|
521
|
+
return {
|
|
522
|
+
terms_of_service: this.termsOfService,
|
|
523
|
+
verification_id: this.verificationId,
|
|
524
|
+
};
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
class VerificationRequest extends BaseRequest {
|
|
529
|
+
constructor({ platformId, recipient, type }) {
|
|
530
|
+
super();
|
|
531
|
+
this.platformId = platformId;
|
|
532
|
+
this.type = type;
|
|
533
|
+
this.recipients = recipient;
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
get recipient() {
|
|
537
|
+
return this._recipient;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
set recipients(value) {
|
|
541
|
+
function validateEmail(email) {
|
|
542
|
+
return email.match(
|
|
543
|
+
/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
|
|
544
|
+
);
|
|
545
|
+
}
|
|
546
|
+
|
|
547
|
+
function validatePhone(phone) {
|
|
548
|
+
return phone.match(/^\+?[0-9]{10,15}$/);
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
switch (enumValueFromString(VerificationType, this.type)) {
|
|
552
|
+
case VerificationType.Email:
|
|
553
|
+
if (validateEmail(value)) {
|
|
554
|
+
this._recipient = value;
|
|
555
|
+
} else {
|
|
556
|
+
throw new ValidationError('Invalid email address');
|
|
557
|
+
}
|
|
558
|
+
break;
|
|
559
|
+
case VerificationType.Phone:
|
|
560
|
+
if (validatePhone(value)) {
|
|
561
|
+
this._recipient = value;
|
|
562
|
+
} else {
|
|
563
|
+
throw new ValidationError('Invalid Phone Number');
|
|
564
|
+
}
|
|
565
|
+
break;
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
toObject() {
|
|
570
|
+
return {
|
|
571
|
+
platform_id: this.platformId,
|
|
572
|
+
recipient: this.recipient,
|
|
573
|
+
type: this.type,
|
|
574
|
+
};
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
|
|
578
|
+
class VerificationAttemptRequest extends BaseRequest {
|
|
579
|
+
constructor({ code }) {
|
|
580
|
+
super();
|
|
581
|
+
this.code = code;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
toObject() {
|
|
585
|
+
return {
|
|
586
|
+
code: this.code,
|
|
587
|
+
};
|
|
588
|
+
}
|
|
589
|
+
}
|
|
590
|
+
|
|
468
591
|
class WalletTransactionRequest extends BaseRequest {
|
|
469
592
|
constructor(amount, transactionType, walletUri) {
|
|
470
593
|
super();
|
|
@@ -482,4 +605,4 @@ class WalletTransactionRequest extends BaseRequest {
|
|
|
482
605
|
}
|
|
483
606
|
}
|
|
484
607
|
|
|
485
|
-
export { ApiKeyUpdateRequest as A, CardActivationRequest as C, SavingRequest as S, TransferRequest as T, UserCredentialRequest as U, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, UserCredentialUpdateRequest as e, UserLoginRequest as f };
|
|
608
|
+
export { ApiKeyUpdateRequest as A, CardActivationRequest as C, SavingRequest as S, TransferRequest as T, UserCredentialRequest as U, VerificationRequest as V, WalletTransactionRequest as W, ArpcRequest as a, CardRequest as b, CardUpdateRequest as c, CardValidationRequest as d, UserCredentialUpdateRequest as e, UserLoginRequest as f, UserUpdateRequest as g, VerificationAttemptRequest as h };
|