UNPKG

ezly

Version:

An easy API wrapper for Izly.

1 lines 26.7 kB
import{defaultFetcher as e,findValueBetween as n,getHeaderFromResponse as t}from"@literate.ink/utilities";import{XMLParser as r}from"fast-xml-parser";import{p256 as i}from"@noble/curves/nist";import{sha256 as s}from"@noble/hashes/sha2";import{bytesToHex as o,utf8ToBytes as a}from"@noble/hashes/utils";import{ECPrivateKey as _}from"@peculiar/asn1-ecc";import{PrivateKeyInfo as d}from"@peculiar/asn1-pkcs8";import{AsnParser as l}from"@peculiar/asn1-schema";import{base64 as m,base64url as c}from"@scure/base";import{hmac as u}from"@noble/hashes/hmac";import{sha1 as A}from"@noble/hashes/legacy";var y=Object.defineProperty,C=(e,n)=>y(e,"name",{value:n,configurable:!0}),I="6.3",U="PART",p=new URL("https://soap.izly.fr/Service.asmx"),f="ksoap2-android/2.6.0+",P=C(e=>new URL(`https://rest.izly.fr/Service/PublicService.svc/rest/${e}`),"createRouteREST"),g=C(e=>{const[n,t]=e.LUD.split(" "),r=n.split("-").reverse().join("-");return{cashValue:parseFloat(e.CASHBAL),g7CardValue:parseFloat(e.G7CARDBAL??0),lastUpdate:new Date(`${r} ${t}`),value:parseFloat(e.BAL)}},"decodeBalance"),h=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"}},R=class extends Error{static{C(this,"ReauthenticateError")}constructor(){super("You have to re-authenticate to perform this action"),this.name="ReauthenticateError"}},E=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}({}),M=function(e){return e[e.Success=0]="Success",e[e.Pending=1]="Pending",e[e.Refunded=2]="Refunded",e}({}),D=C(async(n,t=e)=>{const r={content:JSON.stringify({sessionId:n.sessionID}),headers:{Authorization:`Bearer ${n.accessToken}`,channel:"AIZ",clientVersion:I,"Content-Type":"application/json",format:"T",language:"fr",model:"A",sessionId:n.sessionID,smoneyClientType:U,userId:n.identifier,version:"1.0"},method:"POST",url:P("IsSessionValid")},i=await t(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new R;throw new Error(`${s.ErrorMessage} (${s.Code})`)}return g(s.IsSessionValidResult.UP)},"balance"),T=C(e=>new Date(parseInt(e.substring(6,e.length-2).split("+")[0])),"decodeFormattedDate"),S=C(async(n,t=e)=>{const r={content:JSON.stringify({receiver:{Identifier:n.identifier}}),headers:{Authorization:`Bearer ${n.accessToken}`,channel:"AIZ",clientVersion:I,"Content-Type":"application/json",format:"T",language:"fr",model:"A",sessionId:n.sessionID,smoneyClientType:U,userId:n.identifier,version:"1.0"},method:"POST",url:P("GetContactDetails")},i=await t(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new R;throw new Error(`${s.ErrorMessage} (${s.Code})`)}const o=s.GetContactDetailsResult.Result.IzlyProfile;o.DateValidity=T(o.DateValidity);const a=s.GetContactDetailsResult.Result.Profile;return a.BirthDate=T(a.BirthDate),s.GetContactDetailsResult},"contact"),O=C(async(n,t=e)=>{const r={headers:{Authorization:`Bearer ${n.accessToken}`,channel:"AIZ",clientVersion:I,format:"T",language:"fr",model:"A",sessionId:n.sessionID,smoneyClientType:U,userId:n.identifier,version:"2.0"},url:P("GetCrousContactList")},i=await t(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new R;throw new Error(`${s.ErrorMessage} (${s.Code})`)}return s.GetCrousContactListResult},"crousContacts"),z=C(async(n,t=e)=>{const r={headers:{Authorization:`Bearer ${n.accessToken}`,channel:"AIZ",clientVersion:I,format:"T",language:"fr",model:"A",smoneyClientType:U,userId:n.identifier,version:"2.0"},url:P("GetLogonInfos")},i=await t(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new R;throw new Error(`${s.ErrorMessage} (${s.Code})`)}const o=s.GetLogonInfosResult.Result;return{balance:g(s.GetLogonInfosResult.UP),configuration:{currency:o.Currency,moneyInMaximum:o.LimitMoneyIn.Max,moneyInMinimum:o.LimitMoneyIn.Min,moneyOutMaximum:o.LimitMoneyOut.Max,moneyOutMinimum:o.LimitMoneyOut.Min,paymentMaximum:o.LimitPayment.Max,paymentMinimum:o.LimitPayment.Min,paymentPartMaximum:o.LimitPaymentPart.Max,paymentPartMinimum:o.LimitPaymentPart.Min},profile:{email:o.Email,firstName:o.FirstName,identifier:o.UserIdentifier,lastName:o.LastName}}},"information"),v=C(async(n,t=e)=>{const r={headers:{Authorization:`Bearer ${n.accessToken}`,channel:"AIZ",clientVersion:I,format:"T",language:"fr",model:"A",sessionId:n.sessionID,smoneyClientType:U,userId:n.identifier,version:"2.0"},url:P("GetCurrentLimits")},i=await t(r),s=JSON.parse(i.content);if("ErrorMessage"in s){if(140===s.Code||570===s.Code)throw new R;throw new Error(`${s.ErrorMessage} (${s.Code})`)}return s},"limits"),L=class{static{C(this,"xml")}static header='<?xml version="1.0" encoding="utf-8"?>\n';static envelope(e){const n="xmlns",t="http://www.w3.org/2001/XMLSchema",r="http://schemas.xmlsoap.org/soap/";return`<v:Envelope ${n}:i="${t}-instance" ${n}:d="${t}" ${n}:c="${r}encoding/" ${n}: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,n,t="string"){return`<${e} i:type="d:${t}">${this.to_entities(n)}</${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;")}},b=C(async(t,i,s=e)=>{const o={content:L.header+L.envelope(`\n <Logon xmlns="Service" id="o0" c:root="1">\n ${L.property("version",I)}\n ${L.property("channel","AIZ")}\n ${L.property("format","T")}\n ${L.property("model","A")}\n ${L.property("language","fr")}\n ${L.property("user",t)}\n ${L.property("password",i)}\n ${L.property("smoneyClientType",U)}\n ${L.property("rooted","0")}\n </Logon>\n `),headers:{clientVersion:I,"Content-Type":"text/xml;charset=utf-8",smoneyClientType:U,SOAPAction:"Service/Logon","User-Agent":f},method:"POST",url:p},a=await s(o);if(200!==a.status)throw new Error(`${a.status}: ${a.content}`);const _=n(a.content,"<LogonResult>","</LogonResult>");if(!_)throw new Error("No <LogonResult> found in response");const d=L.from_entities(_),l=new r({numberParseOptions:{hex:!0,leadingZeros:!0,skipLike:/[0-9]/}}).parse(d);if("E"in l&&"Error"in l.E)throw new Error(`${l.E.Msg} (${l.E.Code})`);return{salt:l.UserData.SALT,uid:l.UserData.UID}},"login"),w=function(e){return e[e.TopUp=0]="TopUp",e[e.BankAccountTransfer=1]="BankAccountTransfer",e[e.Payments=2]="Payments",e}({}),N=C(async(n,t,r=15,i=e)=>{const s={headers:{Authorization:`Bearer ${n.accessToken}`,channel:"AIZ",clientVersion:I,format:"T",language:"fr",model:"A",sessionId:n.sessionID,smoneyClientType:U,userId:n.identifier,version:"2.0"},url:P(`GetHomePageOperations?transactionGroup=${t}&top=${r}`)},o=await i(s),a=JSON.parse(o.content);if("ErrorMessage"in a){if(140===a.Code||570===a.Code)throw new R;throw new Error(`${a.ErrorMessage} (${a.Code})`)}return a.GetHomePageOperationsResult.Result.map(e=>({amount:e.Amount,date:T(e.Date),id:e.Id,isCredit:e.IsCredit,message:e.Message,status:e.Status,type:e.OperationType}))},"operations"),k=C((e,n)=>u.create(A,n).update(e).digest(),"hashWithHMAC"),$=C(e=>{const n=new Array(8).fill(0);for(let t=7;t>=0;t--)n[t]=255&e,e>>=8;return String.fromCharCode(...n)},"packBigEndian"),G=C(e=>{const n=$(e.counter),t=c.encode(k(a(n),m.decode(e.seed)));return e.counter++,t},"otp"),x="AIZ",B=C((e,n)=>{const t=l.parse(m.decode(n),d),r=l.parse(t.privateKey.buffer,_),o=new Uint8Array(r.privateKey.buffer),a=s.create().update(e).digest();return i.sign(a,o,{format:"der"})},"sign"),F=C(e=>{const n=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(",",""),t=G(e),r=`${x};${e.userPublicID};${n};3`,i=`${r};${o(k(a(`${r}+${e.nsse}`),a(t)))};`;return i+m.encode(B(a(i),e.qrCodePrivateKey))},"qrPay"),V=C(async(n,t,r=e)=>{const i=t+G(n),s={headers:{Authorization:`Bearer ${n.accessToken}`,channel:"AIZ",clientVersion:I,"Content-Type":"application/x-www-form-urlencoded",format:"T",language:"fr",model:"A",passOTP:i,password:t,smoneyClientType:U,userId:n.identifier,version:"2.0"},method:"POST",url:P("LogonLight")},o=await r(s),a=JSON.parse(o.content);if("Code"in a){if(571===a.Code)throw new h;if(140===a.Code||570===a.Code)throw new R;throw new Error(`${a.ErrorMessage} (${a.Code})`)}const _=a.LogonLightResult.Result;n.sessionID=_.SessionId,_.NSSE&&(n.nsse=_.NSSE),_.Tokens&&(n.accessToken=_.Tokens.AccessToken,n.refreshToken=_.Tokens.RefreshToken,n.accessTokenExpiresIn=_.Tokens.ExpiresIn)},"refresh"),q=C(async(n,r=e)=>{const i=await r({redirect:"manual",url:new URL(n)}),s=t(i,"Location");if(!s)throw new Error("URL to tokenize expired");return s},"extractActivationURL"),H=C(async(t,i=e)=>{const s=t.split("/"),o=s.pop(),a=s.pop(),_={content:L.header+L.envelope(`\n <Logon xmlns="Service" id="o0" c:root="1">\n ${L.property("version",I)}\n ${L.property("channel","AIZ")}\n ${L.property("format","T")}\n ${L.property("model","A")}\n ${L.property("language","fr")}\n ${L.property("user",a)}\n <password i:null="true" />\n ${L.property("smoneyClientType",U)}\n ${L.property("rooted","0")}\n ${L.property("actCode",o)}\n </Logon>\n `),headers:{clientVersion:I,"Content-Type":"text/xml;charset=utf-8",smoneyClientType:U,SOAPAction:"Service/Logon","User-Agent":f},method:"POST",url:p},d=await i(_),l=n(d.content,"<LogonResult>","</LogonResult>");if(!l)throw new Error("No <LogonResult> found in response");const m=L.from_entities(l),c=new r({numberParseOptions:{hex:!0,leadingZeros:!0,skipLike:/[0-9]/}}),{Logon:u}=c.parse(m);return{balance:g(u.UP),configuration:{currency:u.CUR,moneyInMaximum:parseFloat(u.MONEYINMAX),moneyInMinimum:parseFloat(u.MONEYINMIN),moneyOutMaximum:parseFloat(u.MONEYOUTMAX),moneyOutMinimum:parseFloat(u.MONEYOUTMIN),paymentMaximum:parseFloat(u.P2PPAYMAX),paymentMinimum:parseFloat(u.P2PPAYMIN),paymentPartMaximum:parseFloat(u.P2PPAYPARTMAX),paymentPartMinimum:parseFloat(u.P2PPAYPARTMIN)},identification:{accessToken:u.OAUTH.ACCESS_TOKEN,accessTokenExpiresIn:parseInt(u.OAUTH.EXPIRES_IN),counter:0,identifier:u.UID,nsse:u.NSSE,qrCodePrivateKey:u.QR_CODE_PRIVATE_KEY,refreshToken:u.OAUTH.REFRESH_TOKEN,seed:u.SEED,sessionID:u.SID,token:u.TOKEN,userID:u.USER_ID,userPublicID:u.USER_PUBLIC_ID},profile:{email:u.EMAIL,firstName:u.FNAME,identifier:u.ALIAS,lastName:u.LNAME}}},"tokenize"),Y=C(async(n,t=10,r=0,i=e)=>{const s={content:JSON.stringify({itemPerPage:t,page:r}),headers:{Authorization:`Bearer ${n.accessToken}`,channel:"AIZ",clientVersion:I,"Content-Type":"application/json",format:"T",language:"fr",model:"A",sessionId:n.sessionID,smoneyClientType:U,userId:n.identifier,version:"2.0"},method:"POST",url:P("GetUserEventList")},o=await i(s),a=JSON.parse(o.content);if("ErrorMessage"in a){if(140===a.Code||570===a.Code)throw new R;throw new Error(`${a.ErrorMessage} (${a.Code})`)}return a.GetUserEventListResult},"userEvents");export{h as NotRefreshableError,E as OperationType,R as ReauthenticateError,w as TransactionGroup,M as TransactionGroupStatus,D as balance,S as contact,O as crousContacts,q as extractActivationURL,z as information,v as limits,b as login,N as operations,F as qrPay,V as refresh,H as tokenize,Y as userEvents};//# sourceMappingURL=index.mjs.map