monime-package 1.0.3 → 1.0.5

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/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/modules/financialAccount/financialAccount.ts","../src/modules/internalTransfer/internalTransfer.ts","../src/modules/paymentCode/paymentCode.ts","../src/modules/payout/payout.ts","../src/client.ts"],"sourcesContent":["import { MonimeClient, ClientOptions} from \"./client\"\n\nexport function createClient(options:ClientOptions){\n return new MonimeClient(options)\n}\n\nexport { MonimeClient }\nexport type { ClientOptions}","import axios from \"axios\";\nimport { randomBytes } from \"crypto\"\nimport { CreateFinancialAccount, GetFinancialAccount } from \"./financialAccountTypes\";\nimport { MonimeClient} from \"../../client\"\n\nconst URL = 'https://api.monime.io/v1/financial-accounts'\nconst value = randomBytes(20).toString(\"hex\")\n\ninterface createFinancialAccountReturn {\n data?:CreateFinancialAccount,\n error?:Error\n success:boolean\n}\n\nexport async function createFinancialAccount(accountName:string, client:MonimeClient):Promise<createFinancialAccountReturn>{\n if(accountName.trim() === \"\"){\n return { success:false, error:new Error(\"accountName is required\")}\n }\n\n const body = {\n name:accountName,\n currency:'SLE',\n description:\"\",\n metadata:{}\n }\n\n //getting the accessToken and monime space id\n const { accessToken, monimeSpaceId} = client._getConfig()\n\n try{\n const res = await axios.post(URL, body, {\n headers:{\n 'Idempotency-Key': `${value}`,\n 'Monime-Space-Id': `${monimeSpaceId}`,\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json' \n }\n })\n\n const data = res.data as CreateFinancialAccount\n\n return { success:true, data}\n }catch(error){\n if(axios.isAxiosError(error)){\n return { error:error, success:false}\n }\n\n return { error:new Error(\"unknown error\"), success:false}\n }\n}\n\n\n\ninterface GetFinancialAccountReturn {\n data?:GetFinancialAccount\n error?:Error\n success:boolean\n}\n\nexport async function getFinancialAccount(financialAccountId:string, client:MonimeClient):Promise<GetFinancialAccountReturn>{\n if(financialAccountId.trim() === \"\"){\n return { success:false, error:new Error(\"financialAccountId is required\")}\n }\n \n const { monimeSpaceId, accessToken} = client._getConfig()\n try{\n const res = await axios.get(`${URL}/${financialAccountId}`, {\n headers:{\n 'Monime-Space-Id': `${monimeSpaceId}`,\n Authorization: `Bearer ${accessToken}`, \n }\n })\n\n const data = res.data as GetFinancialAccount\n\n return { success:true, data}\n }catch(error){\n if(axios.isAxiosError(error)){\n return { error:error, success:false}\n }\n\n return { error:new Error(\"unknown error\"), success:false}\n }\n}\n\n","import axios from \"axios\";\nimport { randomBytes } from \"crypto\";\nimport { CreateInternalTransfer } from \"./internalTransferTypes\";\nimport { MonimeClient } from \"../../client\";\n\nconst URL = 'https://api.monime.io/v1/internal-transfers';\nconst value = randomBytes(20).toString(\"hex\")\n\ninterface Return {\n data?:CreateInternalTransfer,\n error?:Error\n success:boolean\n}\n\nexport async function createInternalTransfer(sourceAccount:string, destinationAccount:string, client:MonimeClient, value:number):Promise<Return>{\n\n if(value <= 0){\n return { success:false, error:new Error(\"value must be larger that zero\")}\n }\n\n if(sourceAccount.trim() === \"\" || destinationAccount.trim() === \"\"){\n return { success:false, error:new Error(\"sourceAccount or destinationAccount is missing\")}\n }\n \n const body = {\n amount :{\n currency:\"SLE\",\n value:value\n },\n sourceFinancialAccount:{\n id:sourceAccount\n },\n destinationFinancialAccount:{\n id:destinationAccount,\n },\n metadata:{}\n }\n\n const { accessToken, monimeSpaceId } = client._getConfig()\n\n try{\n const res = await axios.post(URL, body, {\n headers:{\n 'Idempotency-Key': `${value}`,\n 'Monime-Space-Id': `${monimeSpaceId}`,\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json' \n }\n })\n\n const data = res.data as CreateInternalTransfer\n\n return { success:true, data}\n }catch(error){\n if(axios.isAxiosError(error)){\n return {error:error, success:false}\n }\n\n return {error:new Error(\"unkknown error\"), success:false}\n }\n}","import axios from \"axios\";\nimport { randomBytes } from \"crypto\"\nimport { CreatePaymentCode, DeletePaymentCode } from \"./paymentCodeTypes\";\nimport { MonimeClient } from \"../../client\";\nimport { error } from \"console\";\n\nconst value = randomBytes(20).toString(\"hex\")\nconst URL = \"https://api.monime.io/v1/payment-codes\"\n\ninterface Return {\n data?:CreatePaymentCode,\n error?:Error\n success:boolean\n}\n\nexport async function createPaymentCode(paymentName:string, amount:number, financialAccountId:string |null, name:string, phoneNumber:string, client:MonimeClient):Promise<Return>{\n let financialAccount = null\n if(financialAccountId !== \"\"){\n financialAccount = financialAccountId\n }\n\n if(paymentName.trim() === \"\" || name.trim() === \"\" || phoneNumber.trim() === \"\"){\n return {success:false, error:new Error(\"paymentName, name, or phoneNumber is missing\")}\n }\n\n if(amount <= 0){\n return {success:false, error:new Error(\"amonut number be greater than zero\")}\n }\n\n const { accessToken, monimeSpaceId} = client._getConfig()\n\n\n const bodyData = {\n name: `${paymentName}`,\n mode: \"recurrent\",\n enable:true,\n amount: {\n currency: \"SLE\",\n value:(amount) * 100\n },\n duration: \"1h30m\",\n customer: {\n name: `${name}`,\n },\n reference:\"\",\n authorizedPhoneNumber:phoneNumber,\n // authorizedProviders: [\"m17\", \"m18\"],\n recurrentPaymentTarget:{\n expectedPaymentCount: 1,\n expectedPaymentTotal:{\n currency:\"SLE\",\n value:(amount) * 100\n }\n },\n financialAccountId:financialAccount,\n metadata: {}\n };\n\n try{\n const res = await axios.post(URL, bodyData, {\n headers:{\n 'Idempotency-Key': `${value}`,\n 'Monime-Space-Id': `${monimeSpaceId}`,\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json' \n }\n })\n\n const data = res.data as CreatePaymentCode\n return { data:data, success:true}\n }catch(error){\n if(axios.isAxiosError(error)){\n return {error:error.response?.data, success:false}\n }\n return {error:new Error(\"unknown error\"), success:false}\n }\n}\n\n\nexport async function deletePaymentCode(paymentCodeId:string, client:MonimeClient):Promise<Return>{\n const { accessToken, monimeSpaceId} = client._getConfig()\n\n if(paymentCodeId.trim() === \"\"){\n return { success:false, error:new Error(\"paymentCodeId is required\")}\n }\n\n try{\n const res = await axios.delete(`${URL}/${paymentCodeId}`, {\n headers:{\n 'Idempotency-Key': `${value}`,\n 'Monime-Space-Id': `${monimeSpaceId}`,\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json' \n }\n })\n\n const data = res.data as DeletePaymentCode\n if(!data.success){\n return { error:new Error(\"delete failed\"), success:false}\n }\n\n return { success:true }\n }catch(error){\n if(axios.isAxiosError(error)){\n return { error:error, success:false}\n }\n return { error:new Error(\"unknown error\"), success:false}\n }\n}","import axios from \"axios\"\nimport { randomBytes } from \"crypto\"\nimport { CreatePayout } from \"./payoutTypes\"\nimport { MonimeClient } from \"../../client\"\n\nconst URL = \"https://api.monime.io/v1/payouts\"\nconst value = randomBytes(20).toString(\"hex\")\n\ninterface Return {\n data?:CreatePayout,\n error?:Error,\n success:boolean\n}\n\nexport async function CreatePayoutMobileMoney(amount:number,phoneNumber:string, sourceAccount:string, client:MonimeClient):Promise<Return> {\n if(phoneNumber.trim() === \"\"){\n return { success:false, error:new Error(\"phoneNumber is required\")}\n }\n \n let provider = \"m17\"\n const africell = [\"077\", \"033\", \"088\", \"080\",\"090\",\"030\"]\n for (let value of africell){\n if(phoneNumber.startsWith(value)){\n provider = 'm18'\n break;\n }\n }\n\n if(amount <= 0) {\n return { error:new Error(\"amount must be greater than 0\"), success:false}\n }\n\n const { accessToken, monimeSpaceId} = client._getConfig()\n\n const body = {\n amount:{\n currency:'SLE',\n value:amount\n },\n source:{\n financialAccountId:sourceAccount\n },\n destination:{\n type:\"momo\",\n provider:provider,\n phoneNumber:phoneNumber\n },\n metadata:{}\n }\n\n try{\n const res = await axios.post(URL, body, {\n headers:{\n 'Idempotency-Key': `${value}`,\n 'Monime-Space-Id': `${monimeSpaceId}`,\n Authorization: `Bearer ${accessToken}`,\n 'Content-Type': 'application/json' \n }\n })\n\n const data = res.data as CreatePayout\n\n return {success:true, data}\n }catch(error){\n if(axios.isAxiosError(error)){\n return { success:false, error:error}\n }\n\n return { success:false, error: new Error(\"unknown error\")}\n } \n}","import { createFinancialAccount,getFinancialAccount } from \"./modules/financialAccount/financialAccount\"\nimport { CreateFinancialAccount, CreateInternalTransfer, CreatePaymentCode, CreatePayout, GetFinancialAccount } from \"./modules/types\"\nimport { createInternalTransfer } from \"./modules/internalTransfer/internalTransfer\"\nimport { createPaymentCode, deletePaymentCode } from \"./modules/paymentCode/paymentCode\"\nimport { CreatePayoutMobileMoney } from \"./modules/payout/payout\"\n\nexport interface ClientOptions {\n monimeSpaceeId:string,\n accessToken:string\n}\n\nexport class MonimeClient {\n private monimeSpaceId:string\n private accessToken:string\n\n /* Methods */\n\n //method for financial accounts\n createFinancialAccount: (name:string ) => Promise<{success:boolean, data?:CreateFinancialAccount, error?:Error}>\n getFinancialAccount: (financialAccountId: string) => Promise<{ success: boolean; data?: GetFinancialAccount; error?: Error }>\n\n //method for internal transfer\n createInternalTransfer: (sourceAccount:string, destinationAccount:string, amount:number) => Promise<{success:boolean, data?:CreateInternalTransfer, error?:Error}>\n\n //method for payment code\n createPaymentCode: (paymentName:string, amount:number, financialAccount:string, username:string, phoneNumber:string) => Promise<{success:boolean, error?:Error, data?:CreatePaymentCode}>\n deletePaymentCode: (paymentCodeId:string) => Promise<{success:boolean, error?:Error, data?:CreatePaymentCode}>\n\n //method for payout\n createPayout: (amount:number,phoneNumber:string, sourceAccount:string) => Promise<{success:boolean, error?:Error, data?:CreatePayout}>\n\n constructor(options:ClientOptions){\n this.accessToken = options.accessToken\n this.monimeSpaceId = options.monimeSpaceeId\n\n this.createFinancialAccount = (name:string) => createFinancialAccount(name, this)\n this.getFinancialAccount = (financialAccountId:string) => getFinancialAccount(financialAccountId, this)\n this.createInternalTransfer = (sourceAccount:string, destinationAccount:string, amount:number) => createInternalTransfer(sourceAccount, destinationAccount, this, amount)\n this.createPaymentCode = (paymentName:string, amount:number, financialAccount:string, username:string, phoneNumber:string) => createPaymentCode(paymentName, amount, financialAccount, username, phoneNumber,this)\n this.deletePaymentCode = (paymentCodeId:string) => deletePaymentCode(paymentCodeId, this)\n this.createPayout = (amount:number,phoneNumber:string, sourceAccount:string) => CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, this)\n }\n\n /** @internal */\n _getConfig(){\n return {\n monimeSpaceId :this.monimeSpaceId,\n accessToken:this.accessToken\n }\n }\n}"],"mappings":"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","names":["axios","import_axios","import_crypto","URL","value","axios","import_axios","import_crypto","value","URL","axios","import_axios","import_crypto","URL","value","axios"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/modules/financialAccount/financialAccount.ts","../src/modules/financialAccount/index.ts","../src/modules/financialTransaction/financialTransaction.ts","../src/modules/financialTransaction/index.ts","../src/modules/internalTransfer/internalTransfer.ts","../src/modules/internalTransfer/index.ts","../src/modules/paymentCode/paymentCode.ts","../src/modules/paymentCode/index.ts","../src/modules/payout/payout.ts","../src/modules/payout/index.ts","../src/client.ts"],"sourcesContent":["import { type ClientOptions, MonimeClient } from \"./client\";\n\nexport * from \"./modules/types\";\n\nexport function createClient(options: ClientOptions) {\n\treturn new MonimeClient(options);\n}\n\nexport { MonimeClient };\nexport type { ClientOptions };\n","import { randomBytes } from \"node:crypto\";\nimport axios from \"axios\";\nimport type { MonimeClient } from \"../../client\";\nimport type {\n\tAllFinancialAccount,\n\tCreateFinancialAccount,\n\tGetFinancialAccount,\n} from \"./financialAccountTypes\";\n\nconst URL = \"https://api.monime.io/v1/financial-accounts\";\nconst value = randomBytes(20).toString(\"hex\");\n\ninterface createFinancialAccountReturn {\n\tdata?: CreateFinancialAccount;\n\terror?: Error;\n\tsuccess: boolean;\n}\n\nexport async function createFinancialAccount(\n\taccountName: string,\n\tclient: MonimeClient,\n): Promise<createFinancialAccountReturn> {\n\tif (accountName.trim() === \"\") {\n\t\treturn { success: false, error: new Error(\"accountName is required\") };\n\t}\n\n\tconst body = {\n\t\tname: accountName,\n\t\tcurrency: \"SLE\",\n\t\tdescription: \"\",\n\t\tmetadata: {},\n\t};\n\n\t//getting the accessToken and monime space id\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\n\ttry {\n\t\tconst res = await axios.post(URL, body, {\n\t\t\theaders: {\n\t\t\t\t\"Idempotency-Key\": `${value}`,\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as CreateFinancialAccount;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n\ninterface GetFinancialAccountReturn {\n\tdata?: GetFinancialAccount;\n\terror?: Error;\n\tsuccess: boolean;\n}\n\nexport async function getFinancialAccount(\n\tfinancialAccountId: string,\n\tclient: MonimeClient,\n): Promise<GetFinancialAccountReturn> {\n\tif (financialAccountId.trim() === \"\") {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(\"financialAccountId is required\"),\n\t\t};\n\t}\n\n\tconst { monimeSpaceId, accessToken } = client._getConfig();\n\ttry {\n\t\tconst res = await axios.get(`${URL}/${financialAccountId}`, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as GetFinancialAccount;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n\ninterface GetAllFinancialAccount {\n\tsuccess: boolean;\n\terror?: Error;\n\tdata?: AllFinancialAccount;\n}\n\nexport async function getAllFinancialAccount(\n\tclient: MonimeClient,\n): Promise<GetAllFinancialAccount> {\n\tconst { monimeSpaceId, accessToken } = client._getConfig();\n\n\ttry {\n\t\tconst res = await axios.get(URL, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\t\tconst data = res.data as AllFinancialAccount;\n\n\t\treturn { success: true, data: data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n","import type { MonimeClient } from \"../../client\";\nimport type {\n\tAllFinancialAccount,\n\tCreateFinancialAccount,\n\tGetFinancialAccount,\n} from \"../types\";\nimport {\n\tcreateFinancialAccount,\n\tgetAllFinancialAccount,\n\tgetFinancialAccount,\n} from \"./financialAccount\";\n\nexport function FinancialAccountAPI(client: MonimeClient) {\n\treturn {\n\t\tcreate: (name: string) =>\n\t\t\tcreateFinancialAccount(name, client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: CreateFinancialAccount;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\t\tget: (financialAccountId: string) =>\n\t\t\tgetFinancialAccount(financialAccountId, client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: GetFinancialAccount;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\t\tgetAll: () =>\n\t\t\tgetAllFinancialAccount(client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: AllFinancialAccount;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\t};\n}\n","import axios from \"axios\";\nimport type { MonimeClient } from \"../../client\";\nimport type {\n\tAllTransaction,\n\tGetTransaction,\n} from \"./financialTransactionTypes\";\n\nconst URL = \"https://api.monime.io/v1/financial-transactions\";\n\ninterface GetAllTransactionReturn {\n\tsuccess: boolean;\n\terror?: Error;\n\tdata?: AllTransaction;\n}\n\nexport async function getAllTransaction(\n\tclient: MonimeClient,\n): Promise<GetAllTransactionReturn> {\n\tconst { monimeSpaceId, accessToken } = client._getConfig();\n\ttry {\n\t\tconst res = await axios.get(URL, {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t},\n\t\t});\n\t\tconst data = res.data as AllTransaction;\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n\ninterface GetTransactionReturn {\n\tsuccess: boolean;\n\terror?: Error;\n\tdata?: GetTransaction;\n}\n\nexport async function getTransaction(\n\tclient: MonimeClient,\n\ttransactionId: string,\n): Promise<GetTransactionReturn> {\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\tif (transactionId.trim() === \"\") {\n\t\treturn {\n\t\t\terror: new Error(\"transactionId must not be empty\"),\n\t\t\tsuccess: false,\n\t\t};\n\t}\n\n\ttry {\n\t\tconst res = await axios.get(`${URL}/${transactionId}`, {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t},\n\t\t});\n\t\tconst data = res.data as GetTransaction;\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n","import type { MonimeClient } from \"../../client\";\nimport { getAllTransaction, getTransaction } from \"./financialTransaction\";\nimport type {\n\tAllTransaction,\n\tGetTransaction,\n} from \"./financialTransactionTypes\";\n\nexport function FinancialTransactionAPI(client: MonimeClient) {\n\treturn {\n\t\tget: (transactionId: string) =>\n\t\t\tgetTransaction(client, transactionId) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\terror?: Error;\n\t\t\t\tdata?: GetTransaction;\n\t\t\t}>,\n\n\t\tgetAll: () =>\n\t\t\tgetAllTransaction(client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\terror?: Error;\n\t\t\t\tdata?: AllTransaction;\n\t\t\t}>,\n\t};\n}\n","import { randomBytes } from \"node:crypto\";\nimport axios from \"axios\";\nimport type { MonimeClient } from \"../../client\";\nimport type {\n\tAllInternalTransfers,\n\tCreateInternalTransfer,\n\tInternalTransfer,\n} from \"./internalTransferTypes\";\n\nconst URL = \"https://api.monime.io/v1/internal-transfers\";\nconst value = randomBytes(20).toString(\"hex\");\n\ninterface Return {\n\tdata?: CreateInternalTransfer;\n\terror?: Error;\n\tsuccess: boolean;\n}\n\nexport async function createInternalTransfer(\n\tsourceAccount: string,\n\tdestinationAccount: string,\n\tclient: MonimeClient,\n\tamount: number,\n): Promise<Return> {\n\tif (amount <= 0) {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(\"amount must be larger that zero\"),\n\t\t};\n\t}\n\n\tif (sourceAccount.trim() === \"\" || destinationAccount.trim() === \"\") {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(\"sourceAccount or destinationAccount is missing\"),\n\t\t};\n\t}\n\n\tconst body = {\n\t\tamount: {\n\t\t\tcurrency: \"SLE\",\n\t\t\tvalue: amount,\n\t\t},\n\t\tsourceFinancialAccount: {\n\t\t\tid: sourceAccount,\n\t\t},\n\t\tdestinationFinancialAccount: {\n\t\t\tid: destinationAccount,\n\t\t},\n\t\tmetadata: {},\n\t};\n\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\n\ttry {\n\t\tconst res = await axios.post(URL, body, {\n\t\t\theaders: {\n\t\t\t\t\"Idempotency-Key\": `${value}`,\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as CreateInternalTransfer;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\n\t\treturn { error: new Error(\"unkknown error\"), success: false };\n\t}\n}\n\ninterface AllInternalTransfersResult {\n\tsuccess: boolean;\n\terror?: Error;\n\tdata?: AllInternalTransfers;\n}\n\nexport async function getAllInternalTransfers(\n\tclient: MonimeClient,\n): Promise<AllInternalTransfersResult> {\n\tconst { monimeSpaceId, accessToken } = client._getConfig();\n\ttry {\n\t\tconst res = await axios.get(URL, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as AllInternalTransfers;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { success: false, error: error };\n\t\t}\n\n\t\treturn { error: new Error(\"unkknown error\"), success: false };\n\t}\n}\n\ninterface InternalTransferResult {\n\tsuccess: boolean;\n\terror?: Error;\n\tdata?: InternalTransfer;\n}\n\nexport async function getInternalTransfer(\n\tclient: MonimeClient,\n\tinternalTransferId: string,\n): Promise<InternalTransferResult> {\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\n\ttry {\n\t\tconst res = await axios.get(`${URL}/${internalTransferId}`, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as InternalTransfer;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { success: false, error: error };\n\t\t}\n\n\t\treturn { error: new Error(\"unkknown error\"), success: false };\n\t}\n}\n\ninterface DeleteTransferResult {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\nexport async function deleteInternalTransfer(\n\tclient: MonimeClient,\n\tinternalTransferId: string,\n): Promise<DeleteTransferResult> {\n\tconst { monimeSpaceId, accessToken } = client._getConfig();\n\n\ttry {\n\t\tawait axios.delete(`${URL}/${internalTransferId}`, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\treturn { success: true };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { success: false, error };\n\t\t}\n\n\t\treturn { success: false, error: new Error(\"unknown error\") };\n\t}\n}\n","import type { MonimeClient } from \"../../client\";\nimport {\n\tcreateInternalTransfer,\n\tdeleteInternalTransfer,\n\tgetAllInternalTransfers,\n\tgetInternalTransfer,\n} from \"./internalTransfer\";\nimport type {\n\tAllInternalTransfers,\n\tCreateInternalTransfer,\n\tInternalTransfer,\n} from \"./internalTransferTypes\";\n\nexport function InternalTransferAPI(client: MonimeClient) {\n\treturn {\n\t\tcreate: (\n\t\t\tsourceAccount: string,\n\t\t\tdestinationAccount: string,\n\t\t\tamount: number,\n\t\t) =>\n\t\t\tcreateInternalTransfer(\n\t\t\t\tsourceAccount,\n\t\t\t\tdestinationAccount,\n\t\t\t\tclient,\n\t\t\t\tamount,\n\t\t\t) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: CreateInternalTransfer;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\n\t\tget: (internalTransferId: string) =>\n\t\t\tgetInternalTransfer(client, internalTransferId) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: InternalTransfer;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\n\t\tgetAll: () =>\n\t\t\tgetAllInternalTransfers(client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\terror?: Error;\n\t\t\t\tdata?: AllInternalTransfers;\n\t\t\t}>,\n\n\t\tdelete: (internalTransferId: string) =>\n\t\t\tdeleteInternalTransfer(client, internalTransferId) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\t};\n}\n","import { randomBytes } from \"node:crypto\";\nimport axios from \"axios\";\nimport type { MonimeClient } from \"../../client\";\nimport type {\n\tCreatePaymentCode,\n\tGetAllPaymentCode,\n\tGetOne,\n} from \"./paymentCodeTypes\";\n\nconst value = randomBytes(20).toString(\"hex\");\nconst URL = \"https://api.monime.io/v1/payment-codes\";\n\ninterface Return {\n\tdata?: CreatePaymentCode;\n\terror?: Error;\n\tsuccess: boolean;\n}\n\nexport async function createPaymentCode(\n\tpaymentName: string,\n\tamount: number,\n\tfinancialAccountId: string | null,\n\tname: string,\n\tphoneNumber: string,\n\tclient: MonimeClient,\n): Promise<Return> {\n\tlet financialAccount = null;\n\tif (financialAccountId !== \"\") {\n\t\tfinancialAccount = financialAccountId;\n\t}\n\n\tif (\n\t\tpaymentName.trim() === \"\" ||\n\t\tname.trim() === \"\" ||\n\t\tphoneNumber.trim() === \"\"\n\t) {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(\"paymentName, name, or phoneNumber is missing\"),\n\t\t};\n\t}\n\n\tif (amount <= 0) {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(\"amonut number be greater than zero\"),\n\t\t};\n\t}\n\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\n\tconst bodyData = {\n\t\tname: `${paymentName}`,\n\t\tmode: \"recurrent\",\n\t\tenable: true,\n\t\tamount: {\n\t\t\tcurrency: \"SLE\",\n\t\t\tvalue: amount * 100,\n\t\t},\n\t\tduration: \"1h30m\",\n\t\tcustomer: {\n\t\t\tname: `${name}`,\n\t\t},\n\t\treference: \"\",\n\t\tauthorizedPhoneNumber: phoneNumber,\n\t\t// authorizedProviders: [\"m17\", \"m18\"],\n\t\trecurrentPaymentTarget: {\n\t\t\texpectedPaymentCount: 1,\n\t\t\texpectedPaymentTotal: {\n\t\t\t\tcurrency: \"SLE\",\n\t\t\t\tvalue: amount * 100,\n\t\t\t},\n\t\t},\n\t\tfinancialAccountId: financialAccount,\n\t\tmetadata: {},\n\t};\n\n\ttry {\n\t\tconst res = await axios.post(URL, bodyData, {\n\t\t\theaders: {\n\t\t\t\t\"Idempotency-Key\": `${value}`,\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as CreatePaymentCode;\n\t\treturn { data: data, success: true };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error.response?.data, success: false };\n\t\t}\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n\ninterface DeleteReturn {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\nexport async function deletePaymentCode(\n\tpaymentCodeId: string,\n\tclient: MonimeClient,\n): Promise<DeleteReturn> {\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\n\tif (paymentCodeId.trim() === \"\") {\n\t\treturn { success: false, error: new Error(\"paymentCodeId is required\") };\n\t}\n\n\ttry {\n\t\tawait axios.delete(`${URL}/${paymentCodeId}`, {\n\t\t\theaders: {\n\t\t\t\t\"Idempotency-Key\": `${value}`,\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t},\n\t\t});\n\n\t\treturn { success: true };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n\ninterface GetAll {\n\tsuccess: boolean;\n\terror?: Error;\n\tdata?: GetAllPaymentCode;\n}\n\nexport async function getAllPaymentCode(client: MonimeClient): Promise<GetAll> {\n\tconst { monimeSpaceId, accessToken } = client._getConfig();\n\ttry {\n\t\tconst res = await axios.get(URL, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as GetAllPaymentCode;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n\ninterface GetOneReturn {\n\tsuccess: boolean;\n\tdata?: GetOne;\n\terror?: Error;\n}\n\nexport async function getPaymentCode(\n\tpaymentCodeId: string,\n\tclient: MonimeClient,\n): Promise<GetOneReturn> {\n\tconst { monimeSpaceId, accessToken } = client._getConfig();\n\ttry {\n\t\tconst res = await axios.get(`${URL}/${paymentCodeId}`, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as GetOne;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { error: error, success: false };\n\t\t}\n\t\treturn { error: new Error(\"unknown error\"), success: false };\n\t}\n}\n","import type { MonimeClient } from \"../../client\";\nimport type { CreatePaymentCode, GetAllPaymentCode, GetOne } from \"../types\";\nimport {\n\tcreatePaymentCode,\n\tdeletePaymentCode,\n\tgetAllPaymentCode,\n\tgetPaymentCode,\n} from \"./paymentCode\";\n\nexport function PaymentCodeAPI(client: MonimeClient) {\n\treturn {\n\t\tcreate: (\n\t\t\tpaymentName: string,\n\t\t\tamount: number,\n\t\t\tfinancialAccount: string,\n\t\t\tusername: string,\n\t\t\tphoneNumber: string,\n\t\t) =>\n\t\t\tcreatePaymentCode(\n\t\t\t\tpaymentName,\n\t\t\t\tamount,\n\t\t\t\tfinancialAccount,\n\t\t\t\tusername,\n\t\t\t\tphoneNumber,\n\t\t\t\tclient,\n\t\t\t) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: CreatePaymentCode;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\n\t\tdelete: (paymentCodeId: string) =>\n\t\t\tdeletePaymentCode(paymentCodeId, client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\n\t\tgetAll: () =>\n\t\t\tgetAllPaymentCode(client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: GetAllPaymentCode;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\n\t\tget: (paymentCodeId: string) =>\n\t\t\tgetPaymentCode(paymentCodeId, client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: GetOne;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\t};\n}\n","import { randomBytes } from \"node:crypto\";\nimport axios from \"axios\";\nimport type { MonimeClient } from \"../../client\";\nimport type {\n\tCreatePayout,\n\tDestinationOption,\n\tGetAll,\n\tGetOnePayout,\n} from \"./payoutTypes\";\n\nconst URL = \"https://api.monime.io/v1/payouts\";\nconst value = randomBytes(20).toString(\"hex\");\n\ninterface Return {\n\tdata?: CreatePayout;\n\terror?: Error;\n\tsuccess: boolean;\n}\n\nexport async function createPayout(\n\tamount: number,\n\tsourceAccount: string,\n\tdestination: DestinationOption,\n\tclient: MonimeClient,\n): Promise<Return> {\n\tif (sourceAccount.trim() === \"\") {\n\t\treturn {\n\t\t\tsuccess: false,\n\t\t\terror: new Error(\"sourceAccount cannot be empty\"),\n\t\t};\n\t}\n\n\tif (amount <= 0) {\n\t\treturn {\n\t\t\terror: new Error(\"amount must be greater than 0\"),\n\t\t\tsuccess: false,\n\t\t};\n\t}\n\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\n\tconst body = {\n\t\tamount: {\n\t\t\tcurrency: \"SLE\",\n\t\t\tvalue: amount,\n\t\t},\n\t\tsource: {\n\t\t\tfinancialAccountId: sourceAccount,\n\t\t},\n\t\tdestination: destination,\n\t\tmetadata: {},\n\t};\n\n\ttry {\n\t\tconst res = await axios.post(URL, body, {\n\t\t\theaders: {\n\t\t\t\t\"Idempotency-Key\": `${value}`,\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t\t\"Content-Type\": \"application/json\",\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as CreatePayout;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { success: false, error: error };\n\t\t}\n\n\t\treturn { success: false, error: new Error(\"unknown error\") };\n\t}\n}\n\ninterface AllPayout {\n\tsuccess: boolean;\n\tdata?: GetAll;\n\terror?: Error;\n}\n\nexport async function getAllPayout(client: MonimeClient): Promise<AllPayout> {\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\ttry {\n\t\tconst res = await axios.get(URL, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as GetAll;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { success: false, error: error };\n\t\t}\n\n\t\treturn { success: false, error: new Error(\"unknown error\") };\n\t}\n}\n\ninterface OnePayout {\n\tsuccess: boolean;\n\tdata?: GetOnePayout;\n\terror?: Error;\n}\n\nexport async function getPayout(\n\tpayoutId: string,\n\tclient: MonimeClient,\n): Promise<OnePayout> {\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\ttry {\n\t\tconst res = await axios.get(`${URL}/${payoutId}`, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\tconst data = res.data as GetOnePayout;\n\n\t\treturn { success: true, data };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { success: false, error: error };\n\t\t}\n\n\t\treturn { success: false, error: new Error(\"unknown error\") };\n\t}\n}\n\ninterface Delete {\n\tsuccess: boolean;\n\terror?: Error;\n}\n\nexport async function deletePayout(\n\tpayoutId: string,\n\tclient: MonimeClient,\n): Promise<Delete> {\n\tconst { accessToken, monimeSpaceId } = client._getConfig();\n\ttry {\n\t\tawait axios.delete(`${URL}/${payoutId}`, {\n\t\t\theaders: {\n\t\t\t\t\"Monime-Space-Id\": `${monimeSpaceId}`,\n\t\t\t\tAuthorization: `Bearer ${accessToken}`,\n\t\t\t},\n\t\t});\n\n\t\treturn { success: true };\n\t} catch (error) {\n\t\tif (axios.isAxiosError(error)) {\n\t\t\treturn { success: false, error: error };\n\t\t}\n\n\t\treturn { success: false, error: new Error(\"unknown error\") };\n\t}\n}\n","import type { MonimeClient } from \"../../client\";\nimport type {\n\tCreatePayout,\n\tDestinationOption,\n\tGetAll,\n\tGetOnePayout,\n} from \"../types\";\nimport { createPayout, deletePayout, getAllPayout, getPayout } from \"./payout\";\n\nexport function PayoutAPI(client: MonimeClient) {\n\treturn {\n\t\tcreate: (\n\t\t\tamount: number,\n\t\t\tdestination: DestinationOption,\n\t\t\tsourceAccount: string,\n\t\t) =>\n\t\t\tcreatePayout(amount, sourceAccount, destination, client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: CreatePayout;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\n\t\tget: () =>\n\t\t\tgetAllPayout(client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: GetAll;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\n\t\tgetOne: (payoutId: string) =>\n\t\t\tgetPayout(payoutId, client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\tdata?: GetOnePayout;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\n\t\tdelete: (payoutId: string) =>\n\t\t\tdeletePayout(payoutId, client) as Promise<{\n\t\t\t\tsuccess: boolean;\n\t\t\t\terror?: Error;\n\t\t\t}>,\n\t};\n}\n","import { FinancialAccountAPI } from \"./modules/financialAccount\";\nimport { FinancialTransactionAPI } from \"./modules/financialTransaction\";\nimport { InternalTransferAPI } from \"./modules/internalTransfer\";\nimport { PaymentCodeAPI } from \"./modules/paymentCode\";\nimport { PayoutAPI } from \"./modules/payout\";\n\nexport interface ClientOptions {\n\tmonimeSpaceId: string;\n\taccessToken: string;\n}\n\nexport class MonimeClient {\n\tprivate monimeSpaceId: string;\n\tprivate accessToken: string;\n\n\tpublic financialAccount: ReturnType<typeof FinancialAccountAPI>;\n\tpublic internalTransfer: ReturnType<typeof InternalTransferAPI>;\n\tpublic paymentCode: ReturnType<typeof PaymentCodeAPI>;\n\tpublic payout: ReturnType<typeof PayoutAPI>;\n\tpublic financialTransaction: ReturnType<typeof FinancialTransactionAPI>;\n\n\tconstructor(options: ClientOptions) {\n\t\tthis.accessToken = options.accessToken;\n\t\tthis.monimeSpaceId = options.monimeSpaceId;\n\n\t\tthis.financialAccount = FinancialAccountAPI(this);\n\t\tthis.internalTransfer = InternalTransferAPI(this);\n\t\tthis.paymentCode = PaymentCodeAPI(this);\n\t\tthis.payout = PayoutAPI(this);\n\t\tthis.financialTransaction = FinancialTransactionAPI(this);\n\t}\n\n\t/** @internal */\n\t_getConfig() {\n\t\treturn {\n\t\t\tmonimeSpaceId: this.monimeSpaceId,\n\t\t\taccessToken: this.accessToken,\n\t\t};\n\t}\n}\n"],"mappings":"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","names":["axios","import_axios","URL","axios","import_node_crypto","import_axios","URL","value","axios","import_node_crypto","import_axios","value","URL","axios","import_node_crypto","import_axios","URL","value","axios"]}
package/dist/index.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  // src/modules/financialAccount/financialAccount.ts
2
- import axios from "axios";
3
2
  import { randomBytes } from "crypto";
3
+ import axios from "axios";
4
4
  var URL = "https://api.monime.io/v1/financial-accounts";
5
5
  var value = randomBytes(20).toString("hex");
6
6
  async function createFinancialAccount(accountName, client) {
@@ -34,7 +34,10 @@ async function createFinancialAccount(accountName, client) {
34
34
  }
35
35
  async function getFinancialAccount(financialAccountId, client) {
36
36
  if (financialAccountId.trim() === "") {
37
- return { success: false, error: new Error("financialAccountId is required") };
37
+ return {
38
+ success: false,
39
+ error: new Error("financialAccountId is required")
40
+ };
38
41
  }
39
42
  const { monimeSpaceId, accessToken } = client._getConfig();
40
43
  try {
@@ -53,23 +56,110 @@ async function getFinancialAccount(financialAccountId, client) {
53
56
  return { error: new Error("unknown error"), success: false };
54
57
  }
55
58
  }
59
+ async function getAllFinancialAccount(client) {
60
+ const { monimeSpaceId, accessToken } = client._getConfig();
61
+ try {
62
+ const res = await axios.get(URL, {
63
+ headers: {
64
+ "Monime-Space-Id": `${monimeSpaceId}`,
65
+ Authorization: `Bearer ${accessToken}`
66
+ }
67
+ });
68
+ const data = res.data;
69
+ return { success: true, data };
70
+ } catch (error) {
71
+ if (axios.isAxiosError(error)) {
72
+ return { error, success: false };
73
+ }
74
+ return { error: new Error("unknown error"), success: false };
75
+ }
76
+ }
56
77
 
57
- // src/modules/internalTransfer/internalTransfer.ts
78
+ // src/modules/financialAccount/index.ts
79
+ function FinancialAccountAPI(client) {
80
+ return {
81
+ create: (name) => createFinancialAccount(name, client),
82
+ get: (financialAccountId) => getFinancialAccount(financialAccountId, client),
83
+ getAll: () => getAllFinancialAccount(client)
84
+ };
85
+ }
86
+
87
+ // src/modules/financialTransaction/financialTransaction.ts
58
88
  import axios2 from "axios";
89
+ var URL2 = "https://api.monime.io/v1/financial-transactions";
90
+ async function getAllTransaction(client) {
91
+ const { monimeSpaceId, accessToken } = client._getConfig();
92
+ try {
93
+ const res = await axios2.get(URL2, {
94
+ headers: {
95
+ Authorization: `Bearer ${accessToken}`,
96
+ "Monime-Space-Id": `${monimeSpaceId}`
97
+ }
98
+ });
99
+ const data = res.data;
100
+ return { success: true, data };
101
+ } catch (error) {
102
+ if (axios2.isAxiosError(error)) {
103
+ return { error, success: false };
104
+ }
105
+ return { error: new Error("unknown error"), success: false };
106
+ }
107
+ }
108
+ async function getTransaction(client, transactionId) {
109
+ const { accessToken, monimeSpaceId } = client._getConfig();
110
+ if (transactionId.trim() === "") {
111
+ return {
112
+ error: new Error("transactionId must not be empty"),
113
+ success: false
114
+ };
115
+ }
116
+ try {
117
+ const res = await axios2.get(`${URL2}/${transactionId}`, {
118
+ headers: {
119
+ Authorization: `Bearer ${accessToken}`,
120
+ "Monime-Space-Id": `${monimeSpaceId}`
121
+ }
122
+ });
123
+ const data = res.data;
124
+ return { success: true, data };
125
+ } catch (error) {
126
+ if (axios2.isAxiosError(error)) {
127
+ return { error, success: false };
128
+ }
129
+ return { error: new Error("unknown error"), success: false };
130
+ }
131
+ }
132
+
133
+ // src/modules/financialTransaction/index.ts
134
+ function FinancialTransactionAPI(client) {
135
+ return {
136
+ get: (transactionId) => getTransaction(client, transactionId),
137
+ getAll: () => getAllTransaction(client)
138
+ };
139
+ }
140
+
141
+ // src/modules/internalTransfer/internalTransfer.ts
59
142
  import { randomBytes as randomBytes2 } from "crypto";
60
- var URL2 = "https://api.monime.io/v1/internal-transfers";
143
+ import axios3 from "axios";
144
+ var URL3 = "https://api.monime.io/v1/internal-transfers";
61
145
  var value2 = randomBytes2(20).toString("hex");
62
- async function createInternalTransfer(sourceAccount, destinationAccount, client, value5) {
63
- if (value5 <= 0) {
64
- return { success: false, error: new Error("value must be larger that zero") };
146
+ async function createInternalTransfer(sourceAccount, destinationAccount, client, amount) {
147
+ if (amount <= 0) {
148
+ return {
149
+ success: false,
150
+ error: new Error("amount must be larger that zero")
151
+ };
65
152
  }
66
153
  if (sourceAccount.trim() === "" || destinationAccount.trim() === "") {
67
- return { success: false, error: new Error("sourceAccount or destinationAccount is missing") };
154
+ return {
155
+ success: false,
156
+ error: new Error("sourceAccount or destinationAccount is missing")
157
+ };
68
158
  }
69
159
  const body = {
70
160
  amount: {
71
161
  currency: "SLE",
72
- value: value5
162
+ value: amount
73
163
  },
74
164
  sourceFinancialAccount: {
75
165
  id: sourceAccount
@@ -81,9 +171,9 @@ async function createInternalTransfer(sourceAccount, destinationAccount, client,
81
171
  };
82
172
  const { accessToken, monimeSpaceId } = client._getConfig();
83
173
  try {
84
- const res = await axios2.post(URL2, body, {
174
+ const res = await axios3.post(URL3, body, {
85
175
  headers: {
86
- "Idempotency-Key": `${value5}`,
176
+ "Idempotency-Key": `${value2}`,
87
177
  "Monime-Space-Id": `${monimeSpaceId}`,
88
178
  Authorization: `Bearer ${accessToken}`,
89
179
  "Content-Type": "application/json"
@@ -92,28 +182,102 @@ async function createInternalTransfer(sourceAccount, destinationAccount, client,
92
182
  const data = res.data;
93
183
  return { success: true, data };
94
184
  } catch (error) {
95
- if (axios2.isAxiosError(error)) {
185
+ if (axios3.isAxiosError(error)) {
96
186
  return { error, success: false };
97
187
  }
98
188
  return { error: new Error("unkknown error"), success: false };
99
189
  }
100
190
  }
191
+ async function getAllInternalTransfers(client) {
192
+ const { monimeSpaceId, accessToken } = client._getConfig();
193
+ try {
194
+ const res = await axios3.get(URL3, {
195
+ headers: {
196
+ "Monime-Space-Id": `${monimeSpaceId}`,
197
+ Authorization: `Bearer ${accessToken}`
198
+ }
199
+ });
200
+ const data = res.data;
201
+ return { success: true, data };
202
+ } catch (error) {
203
+ if (axios3.isAxiosError(error)) {
204
+ return { success: false, error };
205
+ }
206
+ return { error: new Error("unkknown error"), success: false };
207
+ }
208
+ }
209
+ async function getInternalTransfer(client, internalTransferId) {
210
+ const { accessToken, monimeSpaceId } = client._getConfig();
211
+ try {
212
+ const res = await axios3.get(`${URL3}/${internalTransferId}`, {
213
+ headers: {
214
+ "Monime-Space-Id": `${monimeSpaceId}`,
215
+ Authorization: `Bearer ${accessToken}`
216
+ }
217
+ });
218
+ const data = res.data;
219
+ return { success: true, data };
220
+ } catch (error) {
221
+ if (axios3.isAxiosError(error)) {
222
+ return { success: false, error };
223
+ }
224
+ return { error: new Error("unkknown error"), success: false };
225
+ }
226
+ }
227
+ async function deleteInternalTransfer(client, internalTransferId) {
228
+ const { monimeSpaceId, accessToken } = client._getConfig();
229
+ try {
230
+ await axios3.delete(`${URL3}/${internalTransferId}`, {
231
+ headers: {
232
+ "Monime-Space-Id": `${monimeSpaceId}`,
233
+ Authorization: `Bearer ${accessToken}`
234
+ }
235
+ });
236
+ return { success: true };
237
+ } catch (error) {
238
+ if (axios3.isAxiosError(error)) {
239
+ return { success: false, error };
240
+ }
241
+ return { success: false, error: new Error("unknown error") };
242
+ }
243
+ }
244
+
245
+ // src/modules/internalTransfer/index.ts
246
+ function InternalTransferAPI(client) {
247
+ return {
248
+ create: (sourceAccount, destinationAccount, amount) => createInternalTransfer(
249
+ sourceAccount,
250
+ destinationAccount,
251
+ client,
252
+ amount
253
+ ),
254
+ get: (internalTransferId) => getInternalTransfer(client, internalTransferId),
255
+ getAll: () => getAllInternalTransfers(client),
256
+ delete: (internalTransferId) => deleteInternalTransfer(client, internalTransferId)
257
+ };
258
+ }
101
259
 
102
260
  // src/modules/paymentCode/paymentCode.ts
103
- import axios3 from "axios";
104
261
  import { randomBytes as randomBytes3 } from "crypto";
262
+ import axios4 from "axios";
105
263
  var value3 = randomBytes3(20).toString("hex");
106
- var URL3 = "https://api.monime.io/v1/payment-codes";
264
+ var URL4 = "https://api.monime.io/v1/payment-codes";
107
265
  async function createPaymentCode(paymentName, amount, financialAccountId, name, phoneNumber, client) {
108
266
  let financialAccount = null;
109
267
  if (financialAccountId !== "") {
110
268
  financialAccount = financialAccountId;
111
269
  }
112
270
  if (paymentName.trim() === "" || name.trim() === "" || phoneNumber.trim() === "") {
113
- return { success: false, error: new Error("paymentName, name, or phoneNumber is missing") };
271
+ return {
272
+ success: false,
273
+ error: new Error("paymentName, name, or phoneNumber is missing")
274
+ };
114
275
  }
115
276
  if (amount <= 0) {
116
- return { success: false, error: new Error("amonut number be greater than zero") };
277
+ return {
278
+ success: false,
279
+ error: new Error("amonut number be greater than zero")
280
+ };
117
281
  }
118
282
  const { accessToken, monimeSpaceId } = client._getConfig();
119
283
  const bodyData = {
@@ -142,7 +306,7 @@ async function createPaymentCode(paymentName, amount, financialAccountId, name,
142
306
  metadata: {}
143
307
  };
144
308
  try {
145
- const res = await axios3.post(URL3, bodyData, {
309
+ const res = await axios4.post(URL4, bodyData, {
146
310
  headers: {
147
311
  "Idempotency-Key": `${value3}`,
148
312
  "Monime-Space-Id": `${monimeSpaceId}`,
@@ -153,7 +317,7 @@ async function createPaymentCode(paymentName, amount, financialAccountId, name,
153
317
  const data = res.data;
154
318
  return { data, success: true };
155
319
  } catch (error) {
156
- if (axios3.isAxiosError(error)) {
320
+ if (axios4.isAxiosError(error)) {
157
321
  return { error: error.response?.data, success: false };
158
322
  }
159
323
  return { error: new Error("unknown error"), success: false };
@@ -165,7 +329,7 @@ async function deletePaymentCode(paymentCodeId, client) {
165
329
  return { success: false, error: new Error("paymentCodeId is required") };
166
330
  }
167
331
  try {
168
- const res = await axios3.delete(`${URL3}/${paymentCodeId}`, {
332
+ await axios4.delete(`${URL4}/${paymentCodeId}`, {
169
333
  headers: {
170
334
  "Idempotency-Key": `${value3}`,
171
335
  "Monime-Space-Id": `${monimeSpaceId}`,
@@ -173,38 +337,85 @@ async function deletePaymentCode(paymentCodeId, client) {
173
337
  "Content-Type": "application/json"
174
338
  }
175
339
  });
340
+ return { success: true };
341
+ } catch (error) {
342
+ if (axios4.isAxiosError(error)) {
343
+ return { error, success: false };
344
+ }
345
+ return { error: new Error("unknown error"), success: false };
346
+ }
347
+ }
348
+ async function getAllPaymentCode(client) {
349
+ const { monimeSpaceId, accessToken } = client._getConfig();
350
+ try {
351
+ const res = await axios4.get(URL4, {
352
+ headers: {
353
+ "Monime-Space-Id": `${monimeSpaceId}`,
354
+ Authorization: `Bearer ${accessToken}`
355
+ }
356
+ });
176
357
  const data = res.data;
177
- if (!data.success) {
178
- return { error: new Error("delete failed"), success: false };
358
+ return { success: true, data };
359
+ } catch (error) {
360
+ if (axios4.isAxiosError(error)) {
361
+ return { error, success: false };
179
362
  }
180
- return { success: true };
363
+ return { error: new Error("unknown error"), success: false };
364
+ }
365
+ }
366
+ async function getPaymentCode(paymentCodeId, client) {
367
+ const { monimeSpaceId, accessToken } = client._getConfig();
368
+ try {
369
+ const res = await axios4.get(`${URL4}/${paymentCodeId}`, {
370
+ headers: {
371
+ "Monime-Space-Id": `${monimeSpaceId}`,
372
+ Authorization: `Bearer ${accessToken}`
373
+ }
374
+ });
375
+ const data = res.data;
376
+ return { success: true, data };
181
377
  } catch (error) {
182
- if (axios3.isAxiosError(error)) {
378
+ if (axios4.isAxiosError(error)) {
183
379
  return { error, success: false };
184
380
  }
185
381
  return { error: new Error("unknown error"), success: false };
186
382
  }
187
383
  }
188
384
 
385
+ // src/modules/paymentCode/index.ts
386
+ function PaymentCodeAPI(client) {
387
+ return {
388
+ create: (paymentName, amount, financialAccount, username, phoneNumber) => createPaymentCode(
389
+ paymentName,
390
+ amount,
391
+ financialAccount,
392
+ username,
393
+ phoneNumber,
394
+ client
395
+ ),
396
+ delete: (paymentCodeId) => deletePaymentCode(paymentCodeId, client),
397
+ getAll: () => getAllPaymentCode(client),
398
+ get: (paymentCodeId) => getPaymentCode(paymentCodeId, client)
399
+ };
400
+ }
401
+
189
402
  // src/modules/payout/payout.ts
190
- import axios4 from "axios";
191
403
  import { randomBytes as randomBytes4 } from "crypto";
192
- var URL4 = "https://api.monime.io/v1/payouts";
404
+ import axios5 from "axios";
405
+ var URL5 = "https://api.monime.io/v1/payouts";
193
406
  var value4 = randomBytes4(20).toString("hex");
194
- async function CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, client) {
195
- if (phoneNumber.trim() === "") {
196
- return { success: false, error: new Error("phoneNumber is required") };
197
- }
198
- let provider = "m17";
199
- const africell = ["077", "033", "088", "080", "090", "030"];
200
- for (let value5 of africell) {
201
- if (phoneNumber.startsWith(value5)) {
202
- provider = "m18";
203
- break;
204
- }
407
+ async function createPayout(amount, sourceAccount, destination, client) {
408
+ if (sourceAccount.trim() === "") {
409
+ return {
410
+ success: false,
411
+ error: new Error("sourceAccount cannot be empty")
412
+ };
205
413
  }
206
414
  if (amount <= 0) {
207
- return { error: new Error("amount must be greater than 0"), success: false };
415
+ return {
416
+ error: new Error("amount must be greater than 0"),
417
+ success: false
418
+ };
208
419
  }
209
420
  const { accessToken, monimeSpaceId } = client._getConfig();
210
421
  const body = {
@@ -215,15 +426,11 @@ async function CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, clien
215
426
  source: {
216
427
  financialAccountId: sourceAccount
217
428
  },
218
- destination: {
219
- type: "momo",
220
- provider,
221
- phoneNumber
222
- },
429
+ destination,
223
430
  metadata: {}
224
431
  };
225
432
  try {
226
- const res = await axios4.post(URL4, body, {
433
+ const res = await axios5.post(URL5, body, {
227
434
  headers: {
228
435
  "Idempotency-Key": `${value4}`,
229
436
  "Monime-Space-Id": `${monimeSpaceId}`,
@@ -234,37 +441,93 @@ async function CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, clien
234
441
  const data = res.data;
235
442
  return { success: true, data };
236
443
  } catch (error) {
237
- if (axios4.isAxiosError(error)) {
444
+ if (axios5.isAxiosError(error)) {
445
+ return { success: false, error };
446
+ }
447
+ return { success: false, error: new Error("unknown error") };
448
+ }
449
+ }
450
+ async function getAllPayout(client) {
451
+ const { accessToken, monimeSpaceId } = client._getConfig();
452
+ try {
453
+ const res = await axios5.get(URL5, {
454
+ headers: {
455
+ "Monime-Space-Id": `${monimeSpaceId}`,
456
+ Authorization: `Bearer ${accessToken}`
457
+ }
458
+ });
459
+ const data = res.data;
460
+ return { success: true, data };
461
+ } catch (error) {
462
+ if (axios5.isAxiosError(error)) {
238
463
  return { success: false, error };
239
464
  }
240
465
  return { success: false, error: new Error("unknown error") };
241
466
  }
242
467
  }
468
+ async function getPayout(payoutId, client) {
469
+ const { accessToken, monimeSpaceId } = client._getConfig();
470
+ try {
471
+ const res = await axios5.get(`${URL5}/${payoutId}`, {
472
+ headers: {
473
+ "Monime-Space-Id": `${monimeSpaceId}`,
474
+ Authorization: `Bearer ${accessToken}`
475
+ }
476
+ });
477
+ const data = res.data;
478
+ return { success: true, data };
479
+ } catch (error) {
480
+ if (axios5.isAxiosError(error)) {
481
+ return { success: false, error };
482
+ }
483
+ return { success: false, error: new Error("unknown error") };
484
+ }
485
+ }
486
+ async function deletePayout(payoutId, client) {
487
+ const { accessToken, monimeSpaceId } = client._getConfig();
488
+ try {
489
+ await axios5.delete(`${URL5}/${payoutId}`, {
490
+ headers: {
491
+ "Monime-Space-Id": `${monimeSpaceId}`,
492
+ Authorization: `Bearer ${accessToken}`
493
+ }
494
+ });
495
+ return { success: true };
496
+ } catch (error) {
497
+ if (axios5.isAxiosError(error)) {
498
+ return { success: false, error };
499
+ }
500
+ return { success: false, error: new Error("unknown error") };
501
+ }
502
+ }
503
+
504
+ // src/modules/payout/index.ts
505
+ function PayoutAPI(client) {
506
+ return {
507
+ create: (amount, destination, sourceAccount) => createPayout(amount, sourceAccount, destination, client),
508
+ get: () => getAllPayout(client),
509
+ getOne: (payoutId) => getPayout(payoutId, client),
510
+ delete: (payoutId) => deletePayout(payoutId, client)
511
+ };
512
+ }
243
513
 
244
514
  // src/client.ts
245
515
  var MonimeClient = class {
246
516
  monimeSpaceId;
247
517
  accessToken;
248
- /* Methods */
249
- //method for financial accounts
250
- createFinancialAccount;
251
- getFinancialAccount;
252
- //method for internal transfer
253
- createInternalTransfer;
254
- //method for payment code
255
- createPaymentCode;
256
- deletePaymentCode;
257
- //method for payout
258
- createPayout;
518
+ financialAccount;
519
+ internalTransfer;
520
+ paymentCode;
521
+ payout;
522
+ financialTransaction;
259
523
  constructor(options) {
260
524
  this.accessToken = options.accessToken;
261
- this.monimeSpaceId = options.monimeSpaceeId;
262
- this.createFinancialAccount = (name) => createFinancialAccount(name, this);
263
- this.getFinancialAccount = (financialAccountId) => getFinancialAccount(financialAccountId, this);
264
- this.createInternalTransfer = (sourceAccount, destinationAccount, amount) => createInternalTransfer(sourceAccount, destinationAccount, this, amount);
265
- this.createPaymentCode = (paymentName, amount, financialAccount, username, phoneNumber) => createPaymentCode(paymentName, amount, financialAccount, username, phoneNumber, this);
266
- this.deletePaymentCode = (paymentCodeId) => deletePaymentCode(paymentCodeId, this);
267
- this.createPayout = (amount, phoneNumber, sourceAccount) => CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, this);
525
+ this.monimeSpaceId = options.monimeSpaceId;
526
+ this.financialAccount = FinancialAccountAPI(this);
527
+ this.internalTransfer = InternalTransferAPI(this);
528
+ this.paymentCode = PaymentCodeAPI(this);
529
+ this.payout = PayoutAPI(this);
530
+ this.financialTransaction = FinancialTransactionAPI(this);
268
531
  }
269
532
  /** @internal */
270
533
  _getConfig() {