UNPKG

ezly

Version:

An easy API wrapper for Izly.

1 lines 26.9 kB
"use strict";var e=require("@literate.ink/utilities"),t=require("fast-xml-parser"),n=require("@noble/curves/nist"),r=require("@noble/hashes/sha2"),i=require("@noble/hashes/utils"),s=require("@peculiar/asn1-ecc"),a=require("@peculiar/asn1-pkcs8"),o=require("@peculiar/asn1-schema"),_=require("@scure/base"),d=require("@noble/hashes/hmac"),l=require("@noble/hashes/legacy"),m=Object.defineProperty,c=(e,t)=>m(e,"name",{value:t,configurable:!0}),u="6.3",y="PART",A=new URL("https://soap.izly.fr/Service.asmx"),C="ksoap2-android/2.6.0+",I=c(e=>new URL(`https://rest.izly.fr/Service/PublicService.svc/rest/${e}`),"createRouteREST"),U=c(e=>{const[t,n]=e.LUD.split(" "),r=t.split("-").reverse().join("-");return{cashValue:parseFloat(e.CASHBAL),g7CardValue:parseFloat(e.G7CARDBAL??0),lastUpdate:new Date(`${r} ${n}`),value:parseFloat(e.BAL)}},"decodeBalance"),p=class extends Error{static{c(this,"NotRefreshableError")}constructor(){super("Another session might've been created, you can't continue with this one since it expired"),this.name="NotRefreshableError"}},f=class extends Error{static{c(this,"ReauthenticateError")}constructor(){super("You have to re-authenticate to perform this action"),this.name="ReauthenticateError"}},P=function(e){return e[e.None=0]="None",e[e.Unused=1]="Unused",e[e.Client_Payment=2]="Client_Payment",e[e.Client_AgentToAgentIn=3]="Client_AgentToAgentIn",e[e.Client_AgentToAgentOut=4]="Client_AgentToAgentOut",e[e.Client_TicketIn=5]="Client_TicketIn",e[e.Client_TicketOut=6]="Client_TicketOut",e[e.Client_MoneyInCreditCard=7]="Client_MoneyInCreditCard",e[e.Client_MoneyOutTransfer=8]="Client_MoneyOutTransfer",e[e.Client_PaymentRequest=10]="Client_PaymentRequest",e[e.User_InvoicingChargeOperation=52]="User_InvoicingChargeOperation",e[e.Flux_MoneyInCB_Refund=56]="Flux_MoneyInCB_Refund",e[e.Flux_MoneyOutTransfer_Refund=57]="Flux_MoneyOutTransfer_Refund",e[e.User_PayInCard=159]="User_PayInCard",e[e.User_PayInCard_Refund=160]="User_PayInCard_Refund",e[e.User_PayOut=166]="User_PayOut",e[e.User_PayInCard_Refund_Modify=167]="User_PayInCard_Refund_Modify",e[e.User_PayInCard_Refund_Cancel=176]="User_PayInCard_Refund_Cancel",e[e.User_PayInDomain=178]="User_PayInDomain",e[e.User_PayInDomain_Refund=179]="User_PayInDomain_Refund",e[e.User_PayOutDomain=180]="User_PayOutDomain",e[e.User_PayOutDomain_Refund=183]="User_PayOutDomain_Refund",e[e.User_RefundCommission_Modify=186]="User_RefundCommission_Modify",e[e.User_RefundCommission_Cancel=187]="User_RefundCommission_Cancel",e[e.User_BulkTransfer=188]="User_BulkTransfer",e[e.Client_Cash_MoneyIn=212]="Client_Cash_MoneyIn",e[e.Flux_Client_Cash_MoneyIn_Refund=213]="Flux_Client_Cash_MoneyIn_Refund",e[e.Client_MoneyInBankAccount=215]="Client_MoneyInBankAccount",e[e.Client_PayInBankAccount=217]="Client_PayInBankAccount",e[e.User_PayInRequest=218]="User_PayInRequest",e[e.User_PayInBankTransfer=221]="User_PayInBankTransfer",e[e.User_MoneyInBankTransfer=222]="User_MoneyInBankTransfer",e[e.User_MoneyIn_Refund_Cancel=223]="User_MoneyIn_Refund_Cancel",e[e.User_MoneyIn_Refund_Modify=224]="User_MoneyIn_Refund_Modify",e[e.Virement_Multiple=225]="Virement_Multiple",e[e.Money_Out_Prepaid=226]="Money_Out_Prepaid",e[e.Client_NouveauMonde_MoneyIn=231]="Client_NouveauMonde_MoneyIn",e[e.Flux_Client_NouveauMonde_MoneyIn_Refund=232]="Flux_Client_NouveauMonde_MoneyIn_Refund",e[e.MoneyIn_Cheque=234]="MoneyIn_Cheque",e[e.MoneyIn_Cheque_Refund=235]="MoneyIn_Cheque_Refund",e[e.PayIn_Cheque=236]="PayIn_Cheque",e[e.PayIn_Cheque_Refund=237]="PayIn_Cheque_Refund",e[e.PayIn_TPE=241]="PayIn_TPE",e[e.PayIn_TPE_Refund=242]="PayIn_TPE_Refund",e[e.FeeCharge_Operation=502]="FeeCharge_Operation",e[e.FeeCharge_Operation_Refund=503]="FeeCharge_Operation_Refund",e[e.InstantPayment_SCT_MoneyIn=530]="InstantPayment_SCT_MoneyIn",e[e.InstantPayment_SCT_MoneyOut=531]="InstantPayment_SCT_MoneyOut",e[e.InstantPayment_SCT_PayIn=532]="InstantPayment_SCT_PayIn",e[e.InstantPayment_SCT_PayOut=533]="InstantPayment_SCT_PayOut",e[e.InstantPayment_SCT_RefundIn=534]="InstantPayment_SCT_RefundIn",e[e.InstantPayment_SCT_RefundOut=535]="InstantPayment_SCT_RefundOut",e[e.Regul_DebitMoney=500]="Regul_DebitMoney",e[e.Regul_CreditMoney=501]="Regul_CreditMoney",e[e.User_BookMark=25]="User_BookMark",e[e.User_IsBookMarkable=26]="User_IsBookMarkable",e[e.User_Block=27]="User_Block",e[e.User_IsBlockable=28]="User_IsBlockable",e[e.User_SendMoney=29]="User_SendMoney",e[e.User_ReceiveMoney=30]="User_ReceiveMoney",e[e.User_SendPaymentRequest=31]="User_SendPaymentRequest",e[e.User_ReceivePaymentRequest=32]="User_ReceivePaymentRequest",e[e.User_ExpiredPaymentRefund=33]="User_ExpiredPaymentRefund",e[e.User_EcommerceOperation=34]="User_EcommerceOperation",e[e.User_EditProfile=35]="User_EditProfile",e[e.User_IsNameEditable=36]="User_IsNameEditable",e[e.User_IsAliasEditable=37]="User_IsAliasEditable",e[e.User_IsEmailEditable=38]="User_IsEmailEditable",e[e.User_IsAddressEditable=39]="User_IsAddressEditable",e[e.User_IsActivityEditable=40]="User_IsActivityEditable",e[e.User_IsWebSiteEditable=41]="User_IsWebSiteEditable",e[e.User_IsNameDeletable=42]="User_IsNameDeletable",e[e.User_IsAliasDeletable=43]="User_IsAliasDeletable",e[e.User_IsEmailDeletable=44]="User_IsEmailDeletable",e[e.User_IsAddressDeletable=45]="User_IsAddressDeletable",e[e.User_IsActivityDeletable=46]="User_IsActivityDeletable",e[e.User_IsWebSiteDeletable=47]="User_IsWebSiteDeletable",e[e.User_Make_KYCExtended=48]="User_Make_KYCExtended",e[e.User_MakeOpposition=49]="User_MakeOpposition",e[e.User_CancelOpposition=50]="User_CancelOpposition",e[e.User_InvoicingSubscribeEngagement=51]="User_InvoicingSubscribeEngagement",e[e.Enrollment=53]="Enrollment",e[e.Logon=54]="Logon",e[e.User_PaymentDistributeurNFC=55]="User_PaymentDistributeurNFC",e[e.User_EditIdentity=59]="User_EditIdentity",e[e.Pro_GetCashingModel=68]="Pro_GetCashingModel",e[e.Pro_CreateCashingModel=69]="Pro_CreateCashingModel",e[e.User_EcommerceOperationIn=70]="User_EcommerceOperationIn",e[e.User_EcommerceOperationOut=71]="User_EcommerceOperationOut",e[e.User_EcommerceRefund=72]="User_EcommerceRefund",e[e.Pro_CreateProCashier=87]="Pro_CreateProCashier",e[e.Pro_EditProCashier=88]="Pro_EditProCashier",e[e.Pro_DeleteProCashier=89]="Pro_DeleteProCashier",e[e.User_AddCard=90]="User_AddCard",e[e.User_EditCard=91]="User_EditCard",e[e.User_DeleteCard=92]="User_DeleteCard",e[e.User_AddBankAccount=93]="User_AddBankAccount",e[e.User_EditBankAccount=94]="User_EditBankAccount",e[e.User_DeleteBankAccount=95]="User_DeleteBankAccount",e[e.User_ChangePhoneNumber=96]="User_ChangePhoneNumber",e[e.User_ChangePhoneModel=97]="User_ChangePhoneModel",e[e.User_ChangePassword=98]="User_ChangePassword",e[e.User_CloseAccount=99]="User_CloseAccount",e[e.User_AddPhoto=100]="User_AddPhoto",e[e.User_DeletePhoto=101]="User_DeletePhoto",e[e.User_Contact_Delete=102]="User_Contact_Delete",e[e.User_Contact_GetHistory=103]="User_Contact_GetHistory",e[e.User_GetSecuritySettings=104]="User_GetSecuritySettings",e[e.User_EditSecuritySettings=105]="User_EditSecuritySettings",e[e.Pro_GetProCashier=106]="Pro_GetProCashier",e[e.Pro_EditOpeningHours=109]="Pro_EditOpeningHours",e[e.User_AddPromoOfferPhoto=110]="User_AddPromoOfferPhoto",e[e.User_SubscribePromoOfferPass=111]="User_SubscribePromoOfferPass",e[e.User_Contact_GetDetails=112]="User_Contact_GetDetails",e[e.User_SubscribeProPremiumPass=113]="User_SubscribeProPremiumPass",e[e.User_ApprouveOperation=114]="User_ApprouveOperation",e[e.User_RefundPayment=143]="User_RefundPayment",e[e.User_Send_Chat_Message=150]="User_Send_Chat_Message",e[e.User_Promo_Offer=153]="User_Promo_Offer",e[e.User_RefundCommission=156]="User_RefundCommission",e[e.User_PaymentAuthorization=158]="User_PaymentAuthorization",e[e.Pro_MoneyOutParameters_Manage=161]="Pro_MoneyOutParameters_Manage",e[e.Pro_PrivateSale_Get=163]="Pro_PrivateSale_Get",e[e.Pro_PrivateSale_Manage=164]="Pro_PrivateSale_Manage",e[e.User_GetDetails=168]="User_GetDetails",e[e.User_SubAccount_GetDetails=169]="User_SubAccount_GetDetails",e[e.User_SubAccount_Create=170]="User_SubAccount_Create",e[e.User_BankAccount_GetDetails=171]="User_BankAccount_GetDetails",e[e.User_CBCard_GetDetails=172]="User_CBCard_GetDetails",e[e.User_GetHistory=173]="User_GetHistory",e[e.User_Pool_Create=184]="User_Pool_Create",e[e.User_Pool_GetDetails=185]="User_Pool_GetDetails",e[e.User_CreateMandate=220]="User_CreateMandate",e[e.Cashin_GetToken=227]="Cashin_GetToken",e[e.Cashin_Payment=228]="Cashin_Payment",e[e.User_CreateRib=233]="User_CreateRib",e[e.G7_JustificativeVouchersInsert=238]="G7_JustificativeVouchersInsert",e[e.User_CadoCarte=400]="User_CadoCarte",e[e.User_CadoCarte_Edit_Status=401]="User_CadoCarte_Edit_Status",e[e.User_CadoCarte_Create_EditAmount=402]="User_CadoCarte_Create_EditAmount",e[e.User_Terminal_Display=403]="User_Terminal_Display",e[e.User_Terminal_Associate=404]="User_Terminal_Associate",e[e.User_Terminal_Create=405]="User_Terminal_Create",e[e.Admin_User_Display=11]="Admin_User_Display",e[e.Admin_User_Create=12]="Admin_User_Create",e[e.Admin_User_Edit=13]="Admin_User_Edit",e[e.Admin_User_Close=14]="Admin_User_Close",e[e.Admin_Role_Display=15]="Admin_Role_Display",e[e.Admin_Role_Create=16]="Admin_Role_Create",e[e.Admin_Role_Edit=17]="Admin_Role_Edit",e[e.Admin_Role_Delete=18]="Admin_Role_Delete",e[e.Admin_Operation_Display=19]="Admin_Operation_Display",e[e.Admin_Operation_Create=20]="Admin_Operation_Create",e[e.Admin_Operation_Edit=21]="Admin_Operation_Edit",e[e.Admin_Operation_Delete=22]="Admin_Operation_Delete",e[e.Admin_Flux_MoneyIn=23]="Admin_Flux_MoneyIn",e[e.Admin_Flux_MoneyOut=24]="Admin_Flux_MoneyOut",e[e.LogonAdmin=58]="LogonAdmin",e[e.Admin_Offer_Display=60]="Admin_Offer_Display",e[e.Admin_Offer_Create=61]="Admin_Offer_Create",e[e.Admin_Offer_Edit=62]="Admin_Offer_Edit",e[e.Admin_Offer_Delete=63]="Admin_Offer_Delete",e[e.Admin_ComMessage_Display=64]="Admin_ComMessage_Display",e[e.Admin_ComMessage_Create=65]="Admin_ComMessage_Create",e[e.Admin_ComMessage_Edit=66]="Admin_ComMessage_Edit",e[e.Admin_ComMessage_Delete=67]="Admin_ComMessage_Delete",e[e.Admin_Ecommerce_ListCVD=73]="Admin_Ecommerce_ListCVD",e[e.Admin_Ecommerce_UploadCVD=74]="Admin_Ecommerce_UploadCVD",e[e.Admin_Notification_Display=75]="Admin_Notification_Display",e[e.Admin_Notification_Create=76]="Admin_Notification_Create",e[e.Admin_Notification_Edit=77]="Admin_Notification_Edit",e[e.Admin_Notification_Delete=78]="Admin_Notification_Delete",e[e.Admin_Stats=79]="Admin_Stats",e[e.Admin_ListPendingMoneyIn=80]="Admin_ListPendingMoneyIn",e[e.Admin_ConfirmKYC=81]="Admin_ConfirmKYC",e[e.Admin_ConfirmIdentityChange=82]="Admin_ConfirmIdentityChange",e[e.Admin_Invitations=83]="Admin_Invitations",e[e.Admin_Fircosoft=84]="Admin_Fircosoft",e[e.Admin_Fircosoft_GetCompleteFile=85]="Admin_Fircosoft_GetCompleteFile",e[e.Admin_Fircosoft_GetDeltaFile=86]="Admin_Fircosoft_GetDeltaFile",e[e.Admin_UserDemands_View=107]="Admin_UserDemands_View",e[e.Admin_GetAttachments_Actions=108]="Admin_GetAttachments_Actions",e[e.Admin_Notification_Send=115]="Admin_Notification_Send",e[e.Admin_Alert_Send_Attachment=116]="Admin_Alert_Send_Attachment",e[e.Admin_Alert_List=117]="Admin_Alert_List",e[e.Admin_Alert_List_Proved=118]="Admin_Alert_List_Proved",e[e.Admin_Alert_GetDetails=119]="Admin_Alert_GetDetails",e[e.Admin_Alert_UpdateDetails=120]="Admin_Alert_UpdateDetails",e[e.Admin_Alert_List_Export=121]="Admin_Alert_List_Export",e[e.Admin_User_Vigilance_Level=122]="Admin_User_Vigilance_Level",e[e.Admin_Refbic_Update=123]="Admin_Refbic_Update",e[e.Admin_Vigilance_Level_Export=124]="Admin_Vigilance_Level_Export",e[e.Admin_ProUser_Inactive_Export=125]="Admin_ProUser_Inactive_Export",e[e.Admin_User_List_Part=126]="Admin_User_List_Part",e[e.Admin_User_List_Pro=127]="Admin_User_List_Pro",e[e.Admin_User_List_Part_Unrestricted=128]="Admin_User_List_Part_Unrestricted",e[e.Admin_User_List_Pro_Unrestricted=129]="Admin_User_List_Pro_Unrestricted",e[e.Admin_Technical_Account_List=130]="Admin_Technical_Account_List",e[e.Admin_ProUser_Inactive_Export_Unrestricted=131]="Admin_ProUser_Inactive_Export_Unrestricted",e[e.Admin_User_CRUD_Part=132]="Admin_User_CRUD_Part",e[e.Admin_User_CRUD_Pro=133]="Admin_User_CRUD_Pro",e[e.Admin_Technical_Account_CRUD=134]="Admin_Technical_Account_CRUD",e[e.Admin_Role_List_Unrestricted=135]="Admin_Role_List_Unrestricted",e[e.Admin_User_ProContract_Create=136]="Admin_User_ProContract_Create",e[e.Admin_User_ProContract_Validate=137]="Admin_User_ProContract_Validate",e[e.Admin_User_ProContract_List=138]="Admin_User_ProContract_List",e[e.Admin_User_ProContract_List_Unrestricted=139]="Admin_User_ProContract_List_Unrestricted",e[e.Admin_ActivityStat_Get=140]="Admin_ActivityStat_Get",e[e.Admin_ActivityStat_Get_Unrestricted=141]="Admin_ActivityStat_Get_Unrestricted",e[e.Admin_User_Block=142]="Admin_User_Block",e[e.Admin_Activity_BI_SmoneyReporting=144]="Admin_Activity_BI_SmoneyReporting",e[e.Admin_Activity_BI_TechnicalReporting=145]="Admin_Activity_BI_TechnicalReporting",e[e.Admin_Transfer_Client_Portfolio=146]="Admin_Transfer_Client_Portfolio",e[e.Admin_Notification_ConnectionParameters=147]="Admin_Notification_ConnectionParameters",e[e.Admin_ActivityStat_Get_Global=148]="Admin_ActivityStat_Get_Global",e[e.Admin_Agencies_Multiple=149]="Admin_Agencies_Multiple",e[e.Admin_User_List_Technical_Unrestricted=151]="Admin_User_List_Technical_Unrestricted",e[e.Admin_User_List_Pro_AgencyWide=152]="Admin_User_List_Pro_AgencyWide",e[e.Admin_Documentation=154]="Admin_Documentation",e[e.Admin_User_Notification_History=155]="Admin_User_Notification_History",e[e.Admin_User_Bic_Iban_History=157]="Admin_User_Bic_Iban_History",e[e.Admin_BatchClientStatus=162]="Admin_BatchClientStatus",e[e.Admin_User_EditCustomParameters=165]="Admin_User_EditCustomParameters",e[e.Admin_Flux_Commission=177]="Admin_Flux_Commission",e[e.BlackLister=9]="BlackLister",e[e.Admin_API_Stats=181]="Admin_API_Stats",e[e.Admin_API_Invoices=182]="Admin_API_Invoices",e[e.Izly_ADRead=189]="Izly_ADRead",e[e.Izly_ADInsert=190]="Izly_ADInsert",e[e.Izly_ADEdit=191]="Izly_ADEdit",e[e.Izly_ADDetails=192]="Izly_ADDetails",e[e.Izly_CommercantRead=193]="Izly_CommercantRead",e[e.Izly_CommercantInsert=194]="Izly_CommercantInsert",e[e.Izly_CommercantEdit=195]="Izly_CommercantEdit",e[e.Izly_CommercantDetails=196]="Izly_CommercantDetails",e[e.Izly_GestionnaireRead=197]="Izly_GestionnaireRead",e[e.Izly_GestionnaireInsert=198]="Izly_GestionnaireInsert",e[e.Izly_GestionnaireEdit=199]="Izly_GestionnaireEdit",e[e.Izly_GestionnaireDetails=200]="Izly_GestionnaireDetails",e[e.Izly_AdminRegionalRead=201]="Izly_AdminRegionalRead",e[e.Izly_AdminRegionalInsert=202]="Izly_AdminRegionalInsert",e[e.Izly_AdminRegionalEdit=203]="Izly_AdminRegionalEdit",e[e.Izly_AdminRegionalDetails=204]="Izly_AdminRegionalDetails",e[e.Izly_AdminNationalRead=205]="Izly_AdminNationalRead",e[e.Izly_AdminNationalInsert=206]="Izly_AdminNationalInsert",e[e.Izly_AdminNationalEdit=207]="Izly_AdminNationalEdit",e[e.Izly_AdminNationalDetails=208]="Izly_AdminNationalDetails",e[e.Izly_CashingPoint_List=209]="Izly_CashingPoint_List",e[e.Izly_CashingPoint_Create=210]="Izly_CashingPoint_Create",e[e.Izly_CashingPoint_Edit=211]="Izly_CashingPoint_Edit",e[e.Izly_CommercantCloseAccountRequest=214]="Izly_CommercantCloseAccountRequest",e[e.Izly_CashingPoint_Aggregate=216]="Izly_CashingPoint_Aggregate",e[e.Izly_Admin_CrousLoad=219]="Izly_Admin_CrousLoad",e[e.Izly_ExportCSV=239]="Izly_ExportCSV",e[e.Izly_Export=240]="Izly_Export",e[e.Izly_CommunicationNational_Read=243]="Izly_CommunicationNational_Read",e[e.Izly_CommunicationRegional_Read=244]="Izly_CommunicationRegional_Read",e[e.Izly_Reversements_Read=245]="Izly_Reversements_Read",e[e.Izly_Recettes_Read=246]="Izly_Recettes_Read",e[e.Izly_Facturation_Read=247]="Izly_Facturation_Read",e[e.Izly_RechargementEspece_Read=248]="Izly_RechargementEspece_Read",e[e.Izly_TransactionRefused_Read=249]="Izly_TransactionRefused_Read",e[e.Izly_ActivityMonitoring_Read=250]="Izly_ActivityMonitoring_Read",e[e.Izly_ActusAnalytics_Read=251]="Izly_ActusAnalytics_Read",e[e.Izly_UserCounts_Read=252]="Izly_UserCounts_Read",e[e.Izly_RightsAndAuthorizations_Read=253]="Izly_RightsAndAuthorizations_Read",e[e.Izly_BusinessRulesAndSteps_Read=254]="Izly_BusinessRulesAndSteps_Read",e[e.Izly_ActuAddOrUpdate_Read=255]="Izly_ActuAddOrUpdate_Read",e[e.Izly_ActusList_Read=256]="Izly_ActusList_Read",e[e.Izly_ReconciliationByCashingPoint_Read=257]="Izly_ReconciliationByCashingPoint_Read",e[e.Izly_Support_Read=258]="Izly_Support_Read",e}({}),h=function(e){return e[e.Success=0]="Success",e[e.Pending=1]="Pending",e[e.Refunded=2]="Refunded",e}({}),g=c(async(t,n=e.defaultFetcher)=>{const r={content:JSON.stringify({sessionId:t.sessionID}),headers:{Authorization:`Bearer ${t.accessToken}`,channel:"AIZ",clientVersion:u,"Content-Type":"application/json",format:"T",language:"fr",model:"A",sessionId:t.sessionID,smoneyClientType:y,userId:t.identifier,version:"1.0"},method:"POST",url:I("IsSessionValid")},i=await n(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new f;throw new Error(`${s.ErrorMessage} (${s.Code})`)}return U(s.IsSessionValidResult.UP)},"balance"),R=c(e=>new Date(parseInt(e.substring(6,e.length-2).split("+")[0])),"decodeFormattedDate"),E=c(async(t,n=e.defaultFetcher)=>{const r={content:JSON.stringify({receiver:{Identifier:t.identifier}}),headers:{Authorization:`Bearer ${t.accessToken}`,channel:"AIZ",clientVersion:u,"Content-Type":"application/json",format:"T",language:"fr",model:"A",sessionId:t.sessionID,smoneyClientType:y,userId:t.identifier,version:"1.0"},method:"POST",url:I("GetContactDetails")},i=await n(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new f;throw new Error(`${s.ErrorMessage} (${s.Code})`)}const a=s.GetContactDetailsResult.Result.IzlyProfile;a.DateValidity=R(a.DateValidity);const o=s.GetContactDetailsResult.Result.Profile;return o.BirthDate=R(o.BirthDate),s.GetContactDetailsResult},"contact"),M=c(async(t,n=e.defaultFetcher)=>{const r={headers:{Authorization:`Bearer ${t.accessToken}`,channel:"AIZ",clientVersion:u,format:"T",language:"fr",model:"A",sessionId:t.sessionID,smoneyClientType:y,userId:t.identifier,version:"2.0"},url:I("GetCrousContactList")},i=await n(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new f;throw new Error(`${s.ErrorMessage} (${s.Code})`)}return s.GetCrousContactListResult},"crousContacts"),D=c(async(t,n=e.defaultFetcher)=>{const r={headers:{Authorization:`Bearer ${t.accessToken}`,channel:"AIZ",clientVersion:u,format:"T",language:"fr",model:"A",smoneyClientType:y,userId:t.identifier,version:"2.0"},url:I("GetLogonInfos")},i=await n(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new f;throw new Error(`${s.ErrorMessage} (${s.Code})`)}const a=s.GetLogonInfosResult.Result;return{balance:U(s.GetLogonInfosResult.UP),configuration:{currency:a.Currency,moneyInMaximum:a.LimitMoneyIn.Max,moneyInMinimum:a.LimitMoneyIn.Min,moneyOutMaximum:a.LimitMoneyOut.Max,moneyOutMinimum:a.LimitMoneyOut.Min,paymentMaximum:a.LimitPayment.Max,paymentMinimum:a.LimitPayment.Min,paymentPartMaximum:a.LimitPaymentPart.Max,paymentPartMinimum:a.LimitPaymentPart.Min},profile:{email:a.Email,firstName:a.FirstName,identifier:a.UserIdentifier,lastName:a.LastName}}},"information"),T=c(async(t,n=e.defaultFetcher)=>{const r={headers:{Authorization:`Bearer ${t.accessToken}`,channel:"AIZ",clientVersion:u,format:"T",language:"fr",model:"A",sessionId:t.sessionID,smoneyClientType:y,userId:t.identifier,version:"2.0"},url:I("GetCurrentLimits")},i=await n(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new f;throw new Error(`${s.ErrorMessage} (${s.Code})`)}return s},"limits"),S=class{static{c(this,"xml")}static header='<?xml version="1.0" encoding="utf-8"?>\n';static envelope(e){const t="xmlns",n="http://www.w3.org/2001/XMLSchema",r="http://schemas.xmlsoap.org/soap/";return`<v:Envelope ${t}:i="${n}-instance" ${t}:d="${n}" ${t}:c="${r}encoding/" ${t}:v="${r}envelope/"><v:Header/><v:Body>${e}</v:Body></v:Envelope>`}static from_entities(e){return e.replace(/\&lt;/g,"<").replace(/\&gt;/g,">").replace(/&#\d+;/gm,function(e){return String.fromCharCode(e.match(/\d+/gm)[0])})}static property(e,t,n="string"){return`<${e} i:type="d:${n}">${this.to_entities(t)}</${e}>`}static to_entities(e){return e.replace(/./gm,e=>e.match(/[.<>a-z0-9\s]+/i)?e:"&#"+e.charCodeAt(0)+";").replace(/</g,"&lt;").replace(/>/g,"&gt;")}},O=c(async(n,r,i=e.defaultFetcher)=>{const s={content:S.header+S.envelope(`\n <Logon xmlns="Service" id="o0" c:root="1">\n ${S.property("version",u)}\n ${S.property("channel","AIZ")}\n ${S.property("format","T")}\n ${S.property("model","A")}\n ${S.property("language","fr")}\n ${S.property("user",n)}\n ${S.property("password",r)}\n ${S.property("smoneyClientType",y)}\n ${S.property("rooted","0")}\n </Logon>\n `),headers:{clientVersion:u,"Content-Type":"text/xml;charset=utf-8",smoneyClientType:y,SOAPAction:"Service/Logon","User-Agent":C},method:"POST",url:A},a=await i(s);if(200!==a.status)throw new Error(`${a.status}: ${a.content}`);const o=e.findValueBetween(a.content,"<LogonResult>","</LogonResult>");if(!o)throw new Error("No <LogonResult> found in response");const _=S.from_entities(o),d=new t.XMLParser({numberParseOptions:{hex:!0,leadingZeros:!0,skipLike:/[0-9]/}}).parse(_);if("E"in d&&"Error"in d.E)throw new Error(`${d.E.Msg} (${d.E.Code})`);return{salt:d.UserData.SALT,uid:d.UserData.UID}},"login"),z=function(e){return e[e.TopUp=0]="TopUp",e[e.BankAccountTransfer=1]="BankAccountTransfer",e[e.Payments=2]="Payments",e}({}),v=c(async(t,n,r=15,i=e.defaultFetcher)=>{const s={headers:{Authorization:`Bearer ${t.accessToken}`,channel:"AIZ",clientVersion:u,format:"T",language:"fr",model:"A",sessionId:t.sessionID,smoneyClientType:y,userId:t.identifier,version:"2.0"},url:I(`GetHomePageOperations?transactionGroup=${n}&top=${r}`)},a=await i(s),o=JSON.parse(a.content);if("ErrorMessage"in o){if(140===o.Code||570===o.Code)throw new f;throw new Error(`${o.ErrorMessage} (${o.Code})`)}return o.GetHomePageOperationsResult.Result.map(e=>({amount:e.Amount,date:R(e.Date),id:e.Id,isCredit:e.IsCredit,message:e.Message,status:e.Status,type:e.OperationType}))},"operations"),L=c((e,t)=>d.hmac.create(l.sha1,t).update(e).digest(),"hashWithHMAC"),b=c(e=>{const t=new Array(8).fill(0);for(let n=7;n>=0;n--)t[n]=255&e,e>>=8;return String.fromCharCode(...t)},"packBigEndian"),x=c(e=>{const t=b(e.counter),n=_.base64url.encode(L(i.utf8ToBytes(t),_.base64.decode(e.seed)));return e.counter++,n},"otp"),w="AIZ",N=c((e,t)=>{const i=o.AsnParser.parse(_.base64.decode(t),a.PrivateKeyInfo),d=o.AsnParser.parse(i.privateKey.buffer,s.ECPrivateKey),l=new Uint8Array(d.privateKey.buffer),m=r.sha256.create().update(e).digest();return n.p256.sign(m,l,{format:"der"})},"sign"),k=c(e=>{const t=new Intl.DateTimeFormat("en-CA",{day:"2-digit",hour:"2-digit",hour12:!1,minute:"2-digit",month:"2-digit",second:"2-digit",timeZone:"UTC",year:"numeric"}).format(new Date).replace(",",""),n=x(e),r=`${w};${e.userPublicID};${t};3`,s=`${r};${i.bytesToHex(L(i.utf8ToBytes(`${r}+${e.nsse}`),i.utf8ToBytes(n)))};`;return s+_.base64.encode(N(i.utf8ToBytes(s),e.qrCodePrivateKey))},"qrPay"),B=c(async(t,n,r=e.defaultFetcher)=>{const i=n+x(t),s={headers:{Authorization:`Bearer ${t.accessToken}`,channel:"AIZ",clientVersion:u,"Content-Type":"application/x-www-form-urlencoded",format:"T",language:"fr",model:"A",passOTP:i,password:n,smoneyClientType:y,userId:t.identifier,version:"2.0"},method:"POST",url:I("LogonLight")},a=await r(s),o=JSON.parse(a.content);if("Code"in o){if(571===o.Code)throw new p;if(140===o.Code||570===o.Code)throw new f;throw new Error(`${o.ErrorMessage} (${o.Code})`)}const _=o.LogonLightResult.Result;t.sessionID=_.SessionId,_.NSSE&&(t.nsse=_.NSSE),_.Tokens&&(t.accessToken=_.Tokens.AccessToken,t.refreshToken=_.Tokens.RefreshToken,t.accessTokenExpiresIn=_.Tokens.ExpiresIn)},"refresh"),$=c(async(t,n=e.defaultFetcher)=>{const r=await n({redirect:"manual",url:new URL(t)}),i=e.getHeaderFromResponse(r,"Location");if(!i)throw new Error("URL to tokenize expired");return i},"extractActivationURL"),G=c(async(n,r=e.defaultFetcher)=>{const i=n.split("/"),s=i.pop(),a=i.pop(),o={content:S.header+S.envelope(`\n <Logon xmlns="Service" id="o0" c:root="1">\n ${S.property("version",u)}\n ${S.property("channel","AIZ")}\n ${S.property("format","T")}\n ${S.property("model","A")}\n ${S.property("language","fr")}\n ${S.property("user",a)}\n <password i:null="true" />\n ${S.property("smoneyClientType",y)}\n ${S.property("rooted","0")}\n ${S.property("actCode",s)}\n </Logon>\n `),headers:{clientVersion:u,"Content-Type":"text/xml;charset=utf-8",smoneyClientType:y,SOAPAction:"Service/Logon","User-Agent":C},method:"POST",url:A},_=await r(o),d=e.findValueBetween(_.content,"<LogonResult>","</LogonResult>");if(!d)throw new Error("No <LogonResult> found in response");const l=S.from_entities(d),m=new t.XMLParser({numberParseOptions:{hex:!0,leadingZeros:!0,skipLike:/[0-9]/}}),{Logon:c}=m.parse(l);return{balance:U(c.UP),configuration:{currency:c.CUR,moneyInMaximum:parseFloat(c.MONEYINMAX),moneyInMinimum:parseFloat(c.MONEYINMIN),moneyOutMaximum:parseFloat(c.MONEYOUTMAX),moneyOutMinimum:parseFloat(c.MONEYOUTMIN),paymentMaximum:parseFloat(c.P2PPAYMAX),paymentMinimum:parseFloat(c.P2PPAYMIN),paymentPartMaximum:parseFloat(c.P2PPAYPARTMAX),paymentPartMinimum:parseFloat(c.P2PPAYPARTMIN)},identification:{accessToken:c.OAUTH.ACCESS_TOKEN,accessTokenExpiresIn:parseInt(c.OAUTH.EXPIRES_IN),counter:0,identifier:c.UID,nsse:c.NSSE,qrCodePrivateKey:c.QR_CODE_PRIVATE_KEY,refreshToken:c.OAUTH.REFRESH_TOKEN,seed:c.SEED,sessionID:c.SID,token:c.TOKEN,userID:c.USER_ID,userPublicID:c.USER_PUBLIC_ID},profile:{email:c.EMAIL,firstName:c.FNAME,identifier:c.ALIAS,lastName:c.LNAME}}},"tokenize"),F=c(async(t,n=10,r=0,i=e.defaultFetcher)=>{const s={content:JSON.stringify({itemPerPage:n,page:r}),headers:{Authorization:`Bearer ${t.accessToken}`,channel:"AIZ",clientVersion:u,"Content-Type":"application/json",format:"T",language:"fr",model:"A",sessionId:t.sessionID,smoneyClientType:y,userId:t.identifier,version:"2.0"},method:"POST",url:I("GetUserEventList")},a=await i(s),o=JSON.parse(a.content);if("ErrorMessage"in o){if(140===o.Code||570===o.Code)throw new f;throw new Error(`${o.ErrorMessage} (${o.Code})`)}return o.GetUserEventListResult},"userEvents");exports.NotRefreshableError=p,exports.OperationType=P,exports.ReauthenticateError=f,exports.TransactionGroup=z,exports.TransactionGroupStatus=h,exports.balance=g,exports.contact=E,exports.crousContacts=M,exports.extractActivationURL=$,exports.information=D,exports.limits=T,exports.login=O,exports.operations=v,exports.qrPay=k,exports.refresh=B,exports.tokenize=G,exports.userEvents=F;//# sourceMappingURL=index.js.map