UNPKG

@lilianaa/nordigen-node

Version:

Nordigen official API client for Node.js

3 lines (2 loc) 7.89 kB
"use strict";var G=Object.defineProperty;var U=(e,i,t)=>i in e?G(e,i,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[i]=t;var n=(e,i,t)=>(U(e,typeof i!="symbol"?i+"":i,t),t);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const O=require("axios"),r={GET:"GET",POST:"POST",PUT:"PUT",DELETE:"DELETE"},$=e=>Object.keys(e??{}).reduce((i,t)=>(e[t]&&(i[t]=e[t]),i),{});class v{constructor({client:i}){n(this,"endpoint","institutions");n(this,"client");this.client=i}getInstitutions({country:i}){return this.client.request({endpoint:this.endpoint,parameters:{country:i}})}getInstitutionById(i){return this.client.request({endpoint:`${this.endpoint}/${i}/`})}}class q{constructor({client:i}){n(this,"endpoint","agreements/enduser");n(this,"client");this.client=i}createAgreement({institutionId:i,maxHistoricalDays:t=90,accessValidForDays:s=90,accessScope:l=["balances","details","transactions"]}){const c={institution_id:i,max_historical_days:t,access_valid_for_days:s,access_scope:l};return this.client.request({endpoint:`${this.endpoint}/`,parameters:c,method:r.POST})}getAgreements({limit:i=100,offset:t=0}={}){const s={limit:i,offset:t};return this.client.request({endpoint:`${this.endpoint}/`,parameters:s})}getAgreementById(i){return this.client.request({endpoint:`${this.endpoint}/${i}/`})}deleteAgreement(i){return this.client.request({endpoint:`${this.endpoint}/${i}/`,method:r.DELETE})}acceptAgreement({agreementId:i,ip:t,userAgent:s}){const l={user_agent:s,ip_address:t};return this.client.request({endpoint:`${this.endpoint}/${i}/accept/`,parameters:l,method:r.PUT})}}class _{constructor({client:i}){n(this,"endpoint","requisitions");n(this,"client");this.client=i}createRequisition({redirectUrl:i,institutionId:t,agreement:s,userLanguage:l,redirectImmediate:c=!1,accountSelection:o=!1,reference:h=null,ssn:p=null}){const T={redirect:i,institution_id:t,redirect_immediate:c,account_selection:o,...l&&{user_language:l},...s&&{agreement:typeof s=="string"?s:s.id},...p&&{ssn:p},...h&&{reference:h}};return this.client.request({endpoint:`${this.endpoint}/`,parameters:T,method:r.POST})}getRequisitions({limit:i=100,offset:t=0}={}){const s={limit:i,offset:t};return this.client.request({endpoint:this.endpoint,method:r.GET,parameters:s})}getRequisitionById(i){return this.client.request({endpoint:`${this.endpoint}/${i}/`})}deleteRequisition(i){return this.client.request({endpoint:`${this.endpoint}/${i}/`,method:r.DELETE})}}class w{constructor({client:i,accountId:t}){n(this,"endpoint","accounts");n(this,"client");n(this,"accountId");this.client=i,this.accountId=t}get(i,t){const s=`${this.endpoint}/${this.accountId}/${i}/`;return this.client.request({endpoint:s,parameters:t||{}})}getMetadata(){return this.client.request({endpoint:`${this.endpoint}/${this.accountId}/`})}getDetails(){return this.get("details",{})}getBalances(){return this.get("balances",{})}getTransactions({dateFrom:i,dateTo:t}={}){const s={date_from:i,date_to:t};return this.get("transactions",s)}}class d{constructor({secretId:i,secretKey:t,baseUrl:s="https://bankaccountdata.gocardless.com/api/v2"}){n(this,"endpoint","token");n(this,"_token",null);n(this,"baseUrl");n(this,"secretId");n(this,"secretKey");n(this,"headers",{});n(this,"institution");n(this,"agreement");n(this,"requisition");this.baseUrl=s,this.secretKey=t,this.secretId=i,this.headers={accept:"application/json","Content-Type":"application/json","User-Agent":"Nordigen-Node-v2"},this.institution=new v({client:this}),this.agreement=new q({client:this}),this.requisition=new _({client:this})}set token(i){if(this._token=i,!i){delete this.headers.Authorization;return}this.headers.Authorization=`Bearer ${i}`}get token(){return this._token}account(i){return new w({client:this,accountId:i})}async request({endpoint:i,parameters:t,method:s=r.GET}){const l=new URL(`${this.baseUrl}/${i}`),c=$(t);return s===r.GET&&Object.keys(c).length>0&&(l.search=new URLSearchParams(c).toString()),(await O({method:s,url:l.toString(),headers:this.headers,...s!==r.GET?{data:JSON.stringify(t)}:{}})).data}async generateToken(){const i={secret_key:this.secretKey,secret_id:this.secretId},t=await this.request({endpoint:`${this.endpoint}/new/`,parameters:i,method:r.POST});return this.token=(t==null?void 0:t.access)??null,t}async exchangeToken({refreshToken:i}){const t={refresh:i};return await this.request({endpoint:`${this.endpoint}/refresh/`,parameters:t,method:r.POST})}async initSession({redirectUrl:i,institutionId:t,maxHistoricalDays:s=90,userLanguage:l="en",referenceId:c,ssn:o=null,redirectImmediate:h=!1,accountSelection:p=!1}){const T=await this.agreement.createAgreement({maxHistoricalDays:s,institutionId:t});return await this.requisition.createRequisition({redirectUrl:i,institutionId:t,reference:c,agreement:T,userLanguage:l,redirectImmediate:h,accountSelection:p,ssn:o})}}var I=(e=>(e.DISCOVERED="DISCOVERED",e.PROCESSING="PROCESSING",e.READY="READY",e.ERROR="ERROR",e.SUSPENDED="SUSPENDED",e))(I||{}),R=(e=>(e.AT="AT",e.BE="BE",e.BG="BG",e.HR="HR",e.CY="CY",e.CZ="CZ",e.DK="DK",e.EE="EE",e.FI="FI",e.FR="FR",e.DE="DE",e.GR="GR",e.HU="HU",e.IS="IS",e.IE="IE",e.IT="IT",e.LV="LV",e.LI="LI",e.LT="LT",e.LU="LU",e.MT="MT",e.NL="NL",e.NO="NO",e.PL="PL",e.PT="PT",e.RO="RO",e.SK="SK",e.SI="SI",e.ES="ES",e.SE="SE",e.GB="GB",e.US="US",e))(R||{}),a=(e=>(e.AT="AT",e.BE="BE",e.BG="BG",e.HR="HR",e.CY="CY",e.CZ="CZ",e.DK="DK",e.EE="EE",e.FI="FI",e.FR="FR",e.DE="DE",e.GR="GR",e.HU="HU",e.IS="IS",e.IE="IE",e.IT="IT",e.LV="LV",e.LI="LI",e.LT="LT",e.LU="LU",e.MT="MT",e.NL="NL",e.NO="NO",e.PL="PL",e.PT="PT",e.RO="RO",e.SK="SK",e.SI="SI",e.ES="ES",e.SE="SE",e.GB="GB",e.US="US",e))(a||{}),S=(e=>(e.Following="following",e.Preceding="preceding",e))(S||{}),g=(e=>(e.Daily="Daily",e.Weekly="Weekly",e.EveryTwoWeeks="EveryTwoWeeks",e.Monthly="Monthly",e.EveryTwoMonths="EveryTwoMonths",e.Quarterly="Quarterly",e.SemiAnnual="SemiAnnual",e.Annual="Annual",e.MonthlyVariable="MonthlyVariable",e))(g||{}),L=(e=>(e.T2P="T2P",e.SCT="SCT",e.ISCT="ISCT",e.CBCT="CBCT",e.BACS="BACS",e.CHAPS="CHAPS",e.FPS="FPS",e.SWIFT="SWIFT",e.BT="BT",e.MT="MT",e.DCT="DCT",e.IDCT="IDCT",e))(L||{}),D=(e=>(e.INIT="INIT",e.ERRE="ERRE",e.ERRS="ERRS",e.ACCC="ACCC",e.ACCP="ACCP",e.ACSC="ACSC",e.ACSP="ACSP",e.ACTC="ACTC",e.ACWC="ACWC",e.ACWP="ACWP",e.RCVD="RCVD",e.PDNG="PDNG",e.RJCT="RJCT",e.CANC="CANC",e.ACFC="ACFC",e.PATC="PATC",e.PART="PART",e))(D||{}),B=(e=>(e.SinglePayment="single-payment",e.BulkPayment="bulk-payment",e.PeriodicPayment="periodic-payment",e))(B||{}),N=(e=>(e.CR="CR",e.ID="ID",e.LN="LN",e.RJ="RJ",e.ER="ER",e.SU="SU",e.EX="EX",e.GC="GC",e.UA="UA",e.GA="GA",e.SA="SA",e))(N||{}),A=(e=>(e.IBAN="IBAN",e.SCAN="SCAN",e.BBAN="BBAN",e))(A||{});const M=[{id:a.AT,name:"Austria"},{id:a.BE,name:"Belgium"},{id:a.BG,name:"Bulgaria"},{id:a.HR,name:"Croatia"},{id:a.CY,name:"Cyprus"},{id:a.CZ,name:"Czechia"},{id:a.DK,name:"Denmark"},{id:a.EE,name:"Estonia"},{id:a.FI,name:"Finland"},{id:a.FR,name:"France"},{id:a.DE,name:"Germany"},{id:a.GR,name:"Greece"},{id:a.HU,name:"Hungary"},{id:a.IS,name:"Iceland"},{id:a.IE,name:"Ireland"},{id:a.IT,name:"Italy"},{id:a.LV,name:"Latvia"},{id:a.LI,name:"Liechtenstein"},{id:a.LT,name:"Lithuania"},{id:a.LU,name:"Luxembourg"},{id:a.MT,name:"Malta"},{id:a.NL,name:"Netherlands"},{id:a.NO,name:"Norway"},{id:a.PL,name:"Poland"},{id:a.PT,name:"Portugal"},{id:a.RO,name:"Romania"},{id:a.SK,name:"Slovakia"},{id:a.SI,name:"Slovenia"},{id:a.ES,name:"Spain"},{id:a.SE,name:"Sweden"},{id:a.GB,name:"United Kingdom"}];exports.AccountStatusEnum=I;exports.AddressCountryEnum=R;exports.CountryEnum=a;exports.ExecutionRuleEnum=S;exports.FrequencyEnum=g;exports.HttpMethod=r;exports.NordigenClient=d;exports.PaymentProductEnum=L;exports.PaymentStatusEnum=D;exports.PaymentTypeEnum=B;exports.Status1C5Enum=N;exports.TypeEnum=A;exports.countries=M;exports.default=d; //# sourceMappingURL=index.cjs.map