UNPKG

ezly

Version:

An easy API wrapper for Izly.

1 lines 65 kB
{"version":3,"sources":["../src/core/constants.ts","../src/decoders/balance.ts","../src/models/errors/reauthenticate.ts","../src/definitions/operation-type.ts","../src/definitions/transaction-group-status.ts","../src/api/balance.ts","../src/decoders/date.ts","../src/api/contact.ts","../src/api/crous-contacts.ts","../src/api/information.ts","../src/api/limits.ts","../src/core/xml.ts","../src/api/login.ts","../src/definitions/transaction-group.ts","../src/api/operations.ts","../src/core/hmac.ts","../src/core/pack.ts","../src/api/private/otp.ts","../src/api/qr-pay.ts","../src/api/refresh.ts","../src/api/tokenize.ts","../src/api/user-events.ts"],"names":["SERVICE_VERSION","CLIENT_TYPE","SOAP_URL","URL","SOAP_USER_AGENT","createRouteREST","action","decodeBalance","data","date","time","LUD","split","reversedDate","reverse","join","cashValue","parseFloat","CASHBAL","g7CardValue","G7CARDBAL","lastUpdate","Date","value","BAL","NotRefreshableError","Error","name","ReauthenticateError","OperationType","TransactionGroupStatus","balance","identification","fetcher","defaultFetcher","request","content","JSON","stringify","sessionId","sessionID","headers","accessToken","identifier","method","url","response","json","parse","Code","ErrorMessage","IsSessionValidResult","UP","decodeFormattedDate","parseInt","substring","length","contact","receiver","Identifier","izprofile","GetContactDetailsResult","Result","IzlyProfile","DateValidity","profile","Profile","BirthDate","crousContacts","Authorization","channel","clientVersion","format","language","model","smoneyClientType","userId","version","GetCrousContactListResult","information","GetLogonInfosResult","configuration","currency","Currency","moneyInMaximum","LimitMoneyIn","Max","moneyInMinimum","Min","moneyOutMaximum","LimitMoneyOut","moneyOutMinimum","paymentMaximum","LimitPayment","paymentMinimum","paymentPartMaximum","LimitPaymentPart","paymentPartMinimum","email","Email","firstName","FirstName","UserIdentifier","lastName","LastName","limits","xml","header","envelope","body","xmlns","w3","schemas","from_entities","encoded","replace","s","String","fromCharCode","match","property","type","to_entities","decoded","charCodeAt","login","secret","status","result","findValueBetween","parser","XMLParser","numberParseOptions","hex","leadingZeros","skipLike","parsed","E","Msg","salt","UserData","SALT","uid","UID","TransactionGroup","operations","group","limit","GetHomePageOperationsResult","map","operation","amount","Amount","id","Id","isCredit","IsCredit","message","Message","Status","hashWithHMAC","key","hmac","create","sha1","update","digest","packBigEndian","bytes","Array","fill","i","otp","packedCounter","counter","hotp","base64url","encode","utf8ToBytes","base64","decode","seed","QrCodeMode","IZLY","sign","keyInfo","info","AsnParser","PrivateKeyInfo","keys","privateKey","buffer","ECPrivateKey","Uint8Array","hash","sha256","signed","p256","qrPay","dateFormatter","Intl","DateTimeFormat","day","hour","hour12","minute","month","second","timeZone","year","hotpCode","userPublicID","bytesToHex","nsse","payload","qrCodePrivateKey","refresh","passOTP","LogonLightResult","SessionId","NSSE","Tokens","AccessToken","refreshToken","RefreshToken","accessTokenExpiresIn","ExpiresIn","extractActivationURL","redirect","location","getHeaderFromResponse","tokenize","parts","code","pop","Logon","output","CUR","MONEYINMAX","MONEYINMIN","MONEYOUTMAX","MONEYOUTMIN","P2PPAYMAX","P2PPAYMIN","P2PPAYPARTMAX","P2PPAYPARTMIN","OAUTH","ACCESS_TOKEN","EXPIRES_IN","QR_CODE_PRIVATE_KEY","REFRESH_TOKEN","SEED","SID","token","TOKEN","userID","USER_ID","USER_PUBLIC_ID","EMAIL","FNAME","ALIAS","LNAME","userEvents","itemPerPage","page","GetUserEventListResult"],"mappings":"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","file":"index.mjs","sourcesContent":["export const SERVICE_VERSION = \"6.3\";\nexport const CLIENT_TYPE = \"PART\";\n\nexport const SOAP_URL = new URL(\"https://soap.izly.fr/Service.asmx\");\nexport const SOAP_USER_AGENT = \"ksoap2-android/2.6.0+\"; // mimick the kotlin app\n\n// eslint-disable-next-line ts/explicit-function-return-type\nexport const createRouteREST = (action: string) =>\n new URL(`https://rest.izly.fr/Service/PublicService.svc/rest/${action}`);\n","import type { UP } from \"~/definitions/up\";\nimport type { Balance } from \"~/models\";\n\nexport const decodeBalance = (data: UP): Balance => {\n // ex: 31-08-2024 04:57:45\n const [date, time] = data.LUD.split(\" \") as string[];\n // date is reversed for proper parsing, we reverse it manually.\n const reversedDate = date.split(\"-\").reverse().join(\"-\");\n\n return {\n // @ts-expect-error : sometimes might be a string...\n cashValue: parseFloat(data.CASHBAL),\n // @ts-expect-error : sometimes might be a string...\n g7CardValue: parseFloat(data.G7CARDBAL ?? 0),\n lastUpdate: new Date(`${reversedDate} ${time}`),\n // @ts-expect-error : sometimes might be a string...\n value: parseFloat(data.BAL)\n };\n};\n","export class NotRefreshableError extends Error {\n constructor() {\n super(\"Another session might've been created, you can't continue with this one since it expired\");\n this.name = \"NotRefreshableError\";\n }\n}\n\nexport class ReauthenticateError extends Error {\n constructor() {\n super(\"You have to re-authenticate to perform this action\");\n this.name = \"ReauthenticateError\";\n }\n}\n","export enum OperationType {\n None = 0,\n Unused = 1,\n Client_Payment = 2,\n Client_AgentToAgentIn = 3,\n Client_AgentToAgentOut = 4,\n Client_TicketIn = 5,\n Client_TicketOut = 6,\n /** @original `Client_MoneyInCb` */\n Client_MoneyInCreditCard = 7,\n Client_MoneyOutTransfer = 8,\n Client_PaymentRequest = 10,\n User_InvoicingChargeOperation = 52,\n Flux_MoneyInCB_Refund = 56,\n Flux_MoneyOutTransfer_Refund = 57,\n User_PayInCard = 159,\n User_PayInCard_Refund = 160,\n User_PayOut = 166,\n User_PayInCard_Refund_Modify = 167,\n User_PayInCard_Refund_Cancel = 176,\n User_PayInDomain = 178,\n User_PayInDomain_Refund = 179,\n User_PayOutDomain = 180,\n User_PayOutDomain_Refund = 183,\n User_RefundCommission_Modify = 186,\n User_RefundCommission_Cancel = 187,\n User_BulkTransfer = 188,\n Client_Cash_MoneyIn = 212,\n Flux_Client_Cash_MoneyIn_Refund = 213,\n Client_MoneyInBankAccount = 215,\n Client_PayInBankAccount = 217,\n User_PayInRequest = 218,\n User_PayInBankTransfer = 221,\n User_MoneyInBankTransfer = 222,\n User_MoneyIn_Refund_Cancel = 223,\n User_MoneyIn_Refund_Modify = 224,\n Virement_Multiple = 225,\n Money_Out_Prepaid = 226,\n Client_NouveauMonde_MoneyIn = 231,\n Flux_Client_NouveauMonde_MoneyIn_Refund = 232,\n MoneyIn_Cheque = 234,\n MoneyIn_Cheque_Refund = 235,\n PayIn_Cheque = 236,\n PayIn_Cheque_Refund = 237,\n PayIn_TPE = 241,\n PayIn_TPE_Refund = 242,\n FeeCharge_Operation = 502,\n FeeCharge_Operation_Refund = 503,\n InstantPayment_SCT_MoneyIn = 530,\n InstantPayment_SCT_MoneyOut = 531,\n InstantPayment_SCT_PayIn = 532,\n InstantPayment_SCT_PayOut = 533,\n InstantPayment_SCT_RefundIn = 534,\n InstantPayment_SCT_RefundOut = 535,\n Regul_DebitMoney = 500,\n Regul_CreditMoney = 501,\n User_BookMark = 25,\n User_IsBookMarkable = 26,\n User_Block = 27,\n User_IsBlockable = 28,\n User_SendMoney = 29,\n User_ReceiveMoney = 30,\n User_SendPaymentRequest = 31,\n User_ReceivePaymentRequest = 32,\n User_ExpiredPaymentRefund = 33,\n User_EcommerceOperation = 34,\n User_EditProfile = 35,\n User_IsNameEditable = 36,\n User_IsAliasEditable = 37,\n User_IsEmailEditable = 38,\n User_IsAddressEditable = 39,\n User_IsActivityEditable = 40,\n User_IsWebSiteEditable = 41,\n User_IsNameDeletable = 42,\n User_IsAliasDeletable = 43,\n User_IsEmailDeletable = 44,\n User_IsAddressDeletable = 45,\n User_IsActivityDeletable = 46,\n User_IsWebSiteDeletable = 47,\n User_Make_KYCExtended = 48,\n User_MakeOpposition = 49,\n User_CancelOpposition = 50,\n User_InvoicingSubscribeEngagement = 51,\n Enrollment = 53,\n Logon = 54,\n User_PaymentDistributeurNFC = 55,\n User_EditIdentity = 59,\n Pro_GetCashingModel = 68,\n Pro_CreateCashingModel = 69,\n User_EcommerceOperationIn = 70,\n User_EcommerceOperationOut = 71,\n User_EcommerceRefund = 72,\n Pro_CreateProCashier = 87,\n Pro_EditProCashier = 88,\n Pro_DeleteProCashier = 89,\n User_AddCard = 90,\n User_EditCard = 91,\n User_DeleteCard = 92,\n User_AddBankAccount = 93,\n User_EditBankAccount = 94,\n User_DeleteBankAccount = 95,\n User_ChangePhoneNumber = 96,\n User_ChangePhoneModel = 97,\n User_ChangePassword = 98,\n User_CloseAccount = 99,\n User_AddPhoto = 100,\n User_DeletePhoto = 101,\n User_Contact_Delete = 102,\n User_Contact_GetHistory = 103,\n User_GetSecuritySettings = 104,\n User_EditSecuritySettings = 105,\n Pro_GetProCashier = 106,\n Pro_EditOpeningHours = 109,\n User_AddPromoOfferPhoto = 110,\n User_SubscribePromoOfferPass = 111,\n User_Contact_GetDetails = 112,\n User_SubscribeProPremiumPass = 113,\n User_ApprouveOperation = 114,\n User_RefundPayment = 143,\n User_Send_Chat_Message = 150,\n User_Promo_Offer = 153,\n User_RefundCommission = 156,\n User_PaymentAuthorization = 158,\n Pro_MoneyOutParameters_Manage = 161,\n Pro_PrivateSale_Get = 163,\n Pro_PrivateSale_Manage = 164,\n User_GetDetails = 168,\n User_SubAccount_GetDetails = 169,\n User_SubAccount_Create = 170,\n User_BankAccount_GetDetails = 171,\n User_CBCard_GetDetails = 172,\n User_GetHistory = 173,\n User_Pool_Create = 184,\n User_Pool_GetDetails = 185,\n User_CreateMandate = 220,\n Cashin_GetToken = 227,\n Cashin_Payment = 228,\n User_CreateRib = 233,\n G7_JustificativeVouchersInsert = 238,\n User_CadoCarte = 400,\n User_CadoCarte_Edit_Status = 401,\n User_CadoCarte_Create_EditAmount = 402,\n User_Terminal_Display = 403,\n User_Terminal_Associate = 404,\n User_Terminal_Create = 405,\n Admin_User_Display = 11,\n Admin_User_Create = 12,\n Admin_User_Edit = 13,\n Admin_User_Close = 14,\n Admin_Role_Display = 15,\n Admin_Role_Create = 16,\n Admin_Role_Edit = 17,\n Admin_Role_Delete = 18,\n Admin_Operation_Display = 19,\n Admin_Operation_Create = 20,\n Admin_Operation_Edit = 21,\n Admin_Operation_Delete = 22,\n Admin_Flux_MoneyIn = 23,\n Admin_Flux_MoneyOut = 24,\n LogonAdmin = 58,\n Admin_Offer_Display = 60,\n Admin_Offer_Create = 61,\n Admin_Offer_Edit = 62,\n Admin_Offer_Delete = 63,\n Admin_ComMessage_Display = 64,\n Admin_ComMessage_Create = 65,\n Admin_ComMessage_Edit = 66,\n Admin_ComMessage_Delete = 67,\n Admin_Ecommerce_ListCVD = 73,\n Admin_Ecommerce_UploadCVD = 74,\n Admin_Notification_Display = 75,\n Admin_Notification_Create = 76,\n Admin_Notification_Edit = 77,\n Admin_Notification_Delete = 78,\n Admin_Stats = 79,\n Admin_ListPendingMoneyIn = 80,\n Admin_ConfirmKYC = 81,\n Admin_ConfirmIdentityChange = 82,\n Admin_Invitations = 83,\n Admin_Fircosoft = 84,\n Admin_Fircosoft_GetCompleteFile = 85,\n Admin_Fircosoft_GetDeltaFile = 86,\n Admin_UserDemands_View = 107,\n Admin_GetAttachments_Actions = 108,\n Admin_Notification_Send = 115,\n Admin_Alert_Send_Attachment = 116,\n Admin_Alert_List = 117,\n Admin_Alert_List_Proved = 118,\n Admin_Alert_GetDetails = 119,\n Admin_Alert_UpdateDetails = 120,\n Admin_Alert_List_Export = 121,\n Admin_User_Vigilance_Level = 122,\n Admin_Refbic_Update = 123,\n Admin_Vigilance_Level_Export = 124,\n Admin_ProUser_Inactive_Export = 125,\n Admin_User_List_Part = 126,\n Admin_User_List_Pro = 127,\n Admin_User_List_Part_Unrestricted = 128,\n Admin_User_List_Pro_Unrestricted = 129,\n Admin_Technical_Account_List = 130,\n Admin_ProUser_Inactive_Export_Unrestricted = 131,\n Admin_User_CRUD_Part = 132,\n Admin_User_CRUD_Pro = 133,\n Admin_Technical_Account_CRUD = 134,\n Admin_Role_List_Unrestricted = 135,\n Admin_User_ProContract_Create = 136,\n Admin_User_ProContract_Validate = 137,\n Admin_User_ProContract_List = 138,\n Admin_User_ProContract_List_Unrestricted = 139,\n Admin_ActivityStat_Get = 140,\n Admin_ActivityStat_Get_Unrestricted = 141,\n Admin_User_Block = 142,\n Admin_Activity_BI_SmoneyReporting = 144,\n Admin_Activity_BI_TechnicalReporting = 145,\n Admin_Transfer_Client_Portfolio = 146,\n Admin_Notification_ConnectionParameters = 147,\n Admin_ActivityStat_Get_Global = 148,\n Admin_Agencies_Multiple = 149,\n Admin_User_List_Technical_Unrestricted = 151,\n Admin_User_List_Pro_AgencyWide = 152,\n Admin_Documentation = 154,\n Admin_User_Notification_History = 155,\n Admin_User_Bic_Iban_History = 157,\n Admin_BatchClientStatus = 162,\n Admin_User_EditCustomParameters = 165,\n Admin_Flux_Commission = 177,\n BlackLister = 9,\n Admin_API_Stats = 181,\n Admin_API_Invoices = 182,\n Izly_ADRead = 189,\n Izly_ADInsert = 190,\n Izly_ADEdit = 191,\n Izly_ADDetails = 192,\n Izly_CommercantRead = 193,\n Izly_CommercantInsert = 194,\n Izly_CommercantEdit = 195,\n Izly_CommercantDetails = 196,\n Izly_GestionnaireRead = 197,\n Izly_GestionnaireInsert = 198,\n Izly_GestionnaireEdit = 199,\n Izly_GestionnaireDetails = 200,\n Izly_AdminRegionalRead = 201,\n Izly_AdminRegionalInsert = 202,\n Izly_AdminRegionalEdit = 203,\n Izly_AdminRegionalDetails = 204,\n Izly_AdminNationalRead = 205,\n Izly_AdminNationalInsert = 206,\n Izly_AdminNationalEdit = 207,\n Izly_AdminNationalDetails = 208,\n Izly_CashingPoint_List = 209,\n Izly_CashingPoint_Create = 210,\n Izly_CashingPoint_Edit = 211,\n Izly_CommercantCloseAccountRequest = 214,\n Izly_CashingPoint_Aggregate = 216,\n Izly_Admin_CrousLoad = 219,\n Izly_ExportCSV = 239,\n Izly_Export = 240,\n Izly_CommunicationNational_Read = 243,\n Izly_CommunicationRegional_Read = 244,\n Izly_Reversements_Read,\n Izly_Recettes_Read,\n Izly_Facturation_Read,\n Izly_RechargementEspece_Read,\n Izly_TransactionRefused_Read,\n Izly_ActivityMonitoring_Read,\n Izly_ActusAnalytics_Read,\n Izly_UserCounts_Read,\n Izly_RightsAndAuthorizations_Read,\n Izly_BusinessRulesAndSteps_Read,\n Izly_ActuAddOrUpdate_Read,\n Izly_ActusList_Read,\n Izly_ReconciliationByCashingPoint_Read,\n Izly_Support_Read\n}\n","export enum TransactionGroupStatus {\n Success,\n Pending,\n Refunded\n}\n","import type { Error as ServerError } from \"~/definitions/error\";\nimport type { UP } from \"~/definitions/up\";\nimport { defaultFetcher, type Fetcher, type Request } from \"@literate.ink/utilities\";\nimport { CLIENT_TYPE, createRouteREST, SERVICE_VERSION } from \"~/core/constants\";\nimport { decodeBalance } from \"~/decoders/balance\";\nimport { type Balance, type Identification, ReauthenticateError } from \"~/models\";\n\nexport const balance = async (identification: Identification, fetcher: Fetcher = defaultFetcher): Promise<Balance> => {\n const request: Request = {\n content: JSON.stringify({\n sessionId: identification.sessionID\n }),\n headers: {\n \"Authorization\": `Bearer ${identification.accessToken}`,\n \"channel\": \"AIZ\",\n \"clientVersion\": SERVICE_VERSION,\n \"Content-Type\": \"application/json\",\n \"format\": \"T\",\n \"language\": \"fr\",\n \"model\": \"A\",\n \"sessionId\": identification.sessionID,\n \"smoneyClientType\": CLIENT_TYPE,\n \"userId\": identification.identifier,\n \"version\": \"1.0\"\n },\n method: \"POST\",\n url: createRouteREST(\"IsSessionValid\")\n };\n\n const response = await fetcher(request);\n const json = JSON.parse(response.content) as ServerError | {\n IsSessionValidResult: {\n UP: UP;\n };\n };\n\n if (\"ErrorMessage\" in json) {\n if (json.Code === 140 || json.Code === 570)\n throw new ReauthenticateError();\n\n throw new Error(`${json.ErrorMessage} (${json.Code})`);\n }\n\n return decodeBalance(json.IsSessionValidResult.UP);\n};\n","// eslint-disable-next-line ts/explicit-function-return-type\nexport const decodeFormattedDate = (date: string) => new Date(parseInt(date.substring(6, date.length - 2).split(\"+\")[0]));\n","import type { Fetcher, Request } from \"@literate.ink/utilities\";\nimport type { Error as ServerError } from \"~/definitions/error\";\nimport type { UP } from \"~/definitions/up\";\nimport type { Identification } from \"~/models\";\nimport { defaultFetcher } from \"@literate.ink/utilities\";\nimport { CLIENT_TYPE, createRouteREST, SERVICE_VERSION } from \"~/core/constants\";\nimport { decodeFormattedDate } from \"~/decoders/date\";\nimport { ReauthenticateError } from \"~/models\";\n\n// eslint-disable-next-line ts/explicit-function-return-type\nexport const contact = async (identification: Identification, fetcher: Fetcher = defaultFetcher) => {\n const request: Request = {\n content: JSON.stringify({\n receiver: {\n Identifier: identification.identifier\n }\n }),\n headers: {\n \"Authorization\": `Bearer ${identification.accessToken}`,\n \"channel\": \"AIZ\",\n \"clientVersion\": SERVICE_VERSION,\n \"Content-Type\": \"application/json\",\n \"format\": \"T\",\n \"language\": \"fr\",\n \"model\": \"A\",\n \"sessionId\": identification.sessionID,\n \"smoneyClientType\": CLIENT_TYPE,\n \"userId\": identification.identifier,\n \"version\": \"1.0\"\n },\n method: \"POST\",\n url: createRouteREST(\"GetContactDetails\")\n };\n\n const response = await fetcher(request);\n const json = JSON.parse(response.content) as ServerError | {\n GetContactDetailsResult: {\n Result: {\n Actions: null;\n ActiveAlias: string;\n ActivePhone: {\n PhoneDisplayInternationalNumber: string;\n PhoneDisplayNumber: string;\n PhoneInternationalNumber: string;\n };\n CanDisplayPhoto: boolean;\n Children: Array<{\n DisplayName: null;\n Identifier: null;\n IsSmoneyPro: boolean;\n IsSmoneyUser: boolean;\n }>;\n DisplayName: string;\n HasPhoto: boolean;\n Identifier: string;\n IsBlocked: boolean;\n IsBookmarked: boolean;\n IsMe: boolean;\n IsSmoneyPro: boolean;\n IsSmoneyUser: boolean;\n IzlyProfile: {\n CardNumber: string;\n CodeSociete: number;\n DateValidity: Date;\n IzlyEmail: string;\n NumeroTarif: number;\n };\n Operations: null;\n OptIn: boolean;\n OptInPartners: boolean;\n PreAuthorization: null;\n Profile: {\n Address: {\n City: string;\n Country: number;\n Name: string;\n ZipCode: string;\n };\n BirthDate: Date;\n Civility: number;\n Email: string;\n FirstName: string;\n LastName: string;\n };\n ProInfos: null;\n SecondDisplayName: string;\n };\n UP: UP;\n };\n };\n\n if (\"ErrorMessage\" in json) {\n if (json.Code === 140 || json.Code === 570)\n throw new ReauthenticateError();\n\n throw new Error(`${json.ErrorMessage} (${json.Code})`);\n }\n\n const izprofile = json.GetContactDetailsResult.Result.IzlyProfile;\n // @ts-expect-error : JSON is string (we provided Date)\n izprofile.DateValidity = decodeFormattedDate(izprofile.DateValidity);\n\n const profile = json.GetContactDetailsResult.Result.Profile;\n // @ts-expect-error : JSON is string (we provided Date)\n profile.BirthDate = decodeFormattedDate(profile.BirthDate);\n\n return json.GetContactDetailsResult;\n};\n","import type { Error as ServerError } from \"~/definitions/error\";\nimport type { IzlyCrous } from \"~/definitions/izly-crous\";\nimport { defaultFetcher, type Fetcher, type Request } from \"@literate.ink/utilities\";\n\nimport { CLIENT_TYPE, createRouteREST, SERVICE_VERSION } from \"~/core/constants\";\nimport { type Identification, ReauthenticateError } from \"~/models\";\nexport type { IzlyCrous };\n\n// eslint-disable-next-line ts/explicit-function-return-type\nexport const crousContacts = async (identification: Identification, fetcher: Fetcher = defaultFetcher) => {\n const request: Request = {\n headers: {\n Authorization: `Bearer ${identification.accessToken}`,\n channel: \"AIZ\",\n clientVersion: SERVICE_VERSION,\n format: \"T\",\n language: \"fr\",\n model: \"A\",\n sessionId: identification.sessionID,\n smoneyClientType: CLIENT_TYPE,\n userId: identification.identifier,\n version: \"2.0\"\n },\n url: createRouteREST(\"GetCrousContactList\")\n };\n\n const response = await fetcher(request);\n const json = JSON.parse(response.content) as ServerError | {\n GetCrousContactListResult: {\n Result: {\n CrousList: Array<IzlyCrous>;\n UserContact: {\n Email: string;\n Name: string;\n Phone: string;\n };\n };\n };\n };\n\n if (\"ErrorMessage\" in json) {\n if (json.Code === 140 || json.Code === 570)\n throw new ReauthenticateError();\n\n throw new Error(`${json.ErrorMessage} (${json.Code})`);\n }\n\n return json.GetCrousContactListResult;\n};\n","import type { BankCode } from \"~/definitions/bank-code\";\n\nimport type { ClientUserRole } from \"~/definitions/client-user-role\";\nimport type { ClientUserStatus } from \"~/definitions/client-user-status\";\nimport type { Error as ServerError } from \"~/definitions/error\";\n\nimport type { LimitMoneyIn } from \"~/definitions/limit-money-in\";\nimport type { UP } from \"~/definitions/up\";\nimport { defaultFetcher, type Fetcher, type Request } from \"@literate.ink/utilities\";\nimport { CLIENT_TYPE, createRouteREST, SERVICE_VERSION } from \"~/core/constants\";\nimport { decodeBalance } from \"~/decoders/balance\";\nimport { type Configuration, type Identification, type Profile, ReauthenticateError } from \"~/models\";\n\n// eslint-disable-next-line ts/explicit-function-return-type\nexport const information = async (identification: Identification, fetcher: Fetcher = defaultFetcher) => {\n const request: Request = {\n headers: {\n Authorization: `Bearer ${identification.accessToken}`,\n channel: \"AIZ\",\n clientVersion: SERVICE_VERSION,\n format: \"T\",\n language: \"fr\",\n model: \"A\",\n smoneyClientType: CLIENT_TYPE,\n userId: identification.identifier,\n version: \"2.0\"\n },\n url: createRouteREST(\"GetLogonInfos\")\n };\n\n const response = await fetcher(request);\n const json = JSON.parse(response.content) as ServerError | {\n GetLogonInfosResult: {\n Result: {\n Age: number;\n Alias: string;\n Banks: Array<BankCode>;\n CategoryUserId: number;\n Crous: string;\n CrousName: string;\n Currency: string;\n Email: string;\n FirstName: string;\n HasNewActu: boolean;\n LastName: string;\n LimitMoneyIn: LimitMoneyIn;\n LimitMoneyOut: LimitMoneyIn;\n LimitPayment: LimitMoneyIn;\n LimitPaymentPart: LimitMoneyIn;\n OptIn: boolean;\n OptInPartners: boolean;\n Role: ClientUserRole;\n Services: string[]; // NOTE: \"Izly\" is the only value I've seen\n ServicesInfos: null | unknown; // TODO\n SubscriptionDate: string;\n TarifUserId: number;\n TermsConditionsAgreementDate: string;\n Token: string;\n UserId: number;\n UserIdentifier: string;\n UserStatus: ClientUserStatus;\n ZipCode: string;\n };\n\n UP: UP;\n };\n };\n\n if (\"ErrorMessage\" in json) {\n if (json.Code === 140 || json.Code === 570)\n throw new ReauthenticateError();\n\n throw new Error(`${json.ErrorMessage} (${json.Code})`);\n }\n\n const data = json.GetLogonInfosResult.Result;\n\n return {\n balance: decodeBalance(json.GetLogonInfosResult.UP),\n\n configuration: {\n currency: data.Currency,\n moneyInMaximum: data.LimitMoneyIn.Max,\n moneyInMinimum: data.LimitMoneyIn.Min,\n moneyOutMaximum: data.LimitMoneyOut.Max,\n moneyOutMinimum: data.LimitMoneyOut.Min,\n paymentMaximum: data.LimitPayment.Max,\n paymentMinimum: data.LimitPayment.Min,\n paymentPartMaximum: data.LimitPaymentPart.Max,\n paymentPartMinimum: data.LimitPaymentPart.Min\n } as Configuration,\n\n profile: {\n email: data.Email,\n firstName: data.FirstName,\n identifier: data.UserIdentifier,\n lastName: data.LastName\n } as Profile\n };\n};\n","import type { Error as ServerError } from \"~/definitions/error\";\nimport type { Limit } from \"~/definitions/limit\";\nimport { defaultFetcher, type Fetcher, type Request } from \"@literate.ink/utilities\";\n\nimport { CLIENT_TYPE, createRouteREST, SERVICE_VERSION } from \"~/core/constants\";\nimport { type Identification, ReauthenticateError } from \"~/models\";\nexport type { Limit };\n\n// eslint-disable-next-line ts/explicit-function-return-type\nexport const limits = async (identification: Identification, fetcher: Fetcher = defaultFetcher) => {\n const request: Request = {\n headers: {\n Authorization: `Bearer ${identification.accessToken}`,\n channel: \"AIZ\",\n clientVersion: SERVICE_VERSION,\n format: \"T\",\n language: \"fr\",\n model: \"A\",\n sessionId: identification.sessionID,\n smoneyClientType: CLIENT_TYPE,\n userId: identification.identifier,\n version: \"2.0\"\n },\n url: createRouteREST(\"GetCurrentLimits\")\n };\n\n const response = await fetcher(request);\n const json = JSON.parse(response.content) as ServerError | {\n CurrentLimits: Array<Limit>;\n CurrentRole: number;\n ExtendedLimits: Array<Limit>;\n ExtendedRole: number;\n KycStatus: number;\n };\n\n if (\"ErrorMessage\" in json) {\n if (json.Code === 140 || json.Code === 570)\n throw new ReauthenticateError();\n\n throw new Error(`${json.ErrorMessage} (${json.Code})`);\n }\n\n return json;\n};\n","export class xml {\n static header = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n\";\n\n static envelope(body: string): string {\n // aliases to make it shorter...\n const xmlns = \"xmlns\";\n const w3 = \"http://www.w3.org/2001/XMLSchema\";\n const schemas = \"http://schemas.xmlsoap.org/soap/\";\n\n return `<v:Envelope ${xmlns}:i=\"${w3}-instance\" ${xmlns}:d=\"${w3}\" ${xmlns}:c=\"${schemas}encoding/\" ${xmlns}:v=\"${schemas}envelope/\"><v:Header/><v:Body>${body}</v:Body></v:Envelope>`;\n }\n\n static from_entities(encoded: string): string {\n return encoded\n .replace(/\\&lt;/g, \"<\")\n .replace(/\\&gt;/g, \">\")\n // https://stackoverflow.com/a/27020300\n .replace(/&#\\d+;/gm, function (s) {\n // @ts-expect-error : we know it's a number\n return String.fromCharCode(s.match(/\\d+/gm)[0]);\n });\n }\n\n static property(name: string, value: string, type = \"string\"): string {\n return `<${name} i:type=\"d:${type}\">${this.to_entities(value)}</${name}>`;\n }\n\n static to_entities(decoded: string): string {\n return decoded\n // https://stackoverflow.com/a/27020300\n .replace(/./gm, (s) => {\n return (s.match(/[.<>a-z0-9\\s]+/i))\n ? s\n : \"&#\" + s.charCodeAt(0) + \";\";\n })\n .replace(/</g, \"&lt;\")\n .replace(/>/g, \"&gt;\");\n }\n}\n","import { defaultFetcher, type Fetcher, findValueBetween, type Request } from \"@literate.ink/utilities\";\nimport { XMLParser } from \"fast-xml-parser\";\n\nimport { CLIENT_TYPE, SERVICE_VERSION, SOAP_URL, SOAP_USER_AGENT } from \"~/core/constants\";\nimport { xml } from \"~/core/xml\";\n\n// eslint-disable-next-line ts/explicit-function-return-type\nexport const login = async (identifier: string, secret: string, fetcher: Fetcher = defaultFetcher) => {\n const body = xml.header + xml.envelope(`\n <Logon xmlns=\"Service\" id=\"o0\" c:root=\"1\">\n ${xml.property(\"version\", SERVICE_VERSION)}\n ${xml.property(\"channel\", \"AIZ\")}\n ${xml.property(\"format\", \"T\")}\n ${xml.property(\"model\", \"A\")}\n ${xml.property(\"language\", \"fr\")}\n ${xml.property(\"user\", identifier)}\n ${xml.property(\"password\", secret)}\n ${xml.property(\"smoneyClientType\", CLIENT_TYPE)}\n ${xml.property(\"rooted\", \"0\")}\n </Logon>\n `);\n\n const request: Request = {\n content: body,\n headers: {\n \"clientVersion\": SERVICE_VERSION,\n \"Content-Type\": \"text/xml;charset=utf-8\",\n \"smoneyClientType\": CLIENT_TYPE,\n \"SOAPAction\": \"Service/Logon\",\n \"User-Agent\": SOAP_USER_AGENT\n },\n method: \"POST\",\n url: SOAP_URL\n };\n\n const response = await fetcher(request);\n if (response.status !== 200) { // can be 500 apparently\n throw new Error(`${response.status}: ${response.content}`);\n }\n\n const result = findValueBetween(response.content, \"<LogonResult>\", \"</LogonResult>\");\n if (!result) throw new Error(\"No <LogonResult> found in response\");\n\n const decoded = xml.from_entities(result);\n const parser = new XMLParser({\n numberParseOptions: {\n hex: tru