monime-package 0.0.1 → 1.0.2

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.d.ts CHANGED
@@ -1,14 +1,14 @@
1
1
  interface CreateFinancialAccount {
2
2
  success: boolean;
3
3
  messages: string[];
4
- result: Result$2;
4
+ result: Result$3;
5
5
  }
6
6
  interface GetFinancialAccount {
7
7
  success: boolean;
8
8
  messages: string[];
9
- result: Result$2;
9
+ result: Result$3;
10
10
  }
11
- interface Result$2 {
11
+ interface Result$3 {
12
12
  id: string;
13
13
  uvan: string;
14
14
  name: string;
@@ -20,7 +20,7 @@ interface Result$2 {
20
20
  updateTime: string;
21
21
  metadata: Metadata$2;
22
22
  }
23
- interface Result$2 {
23
+ interface Result$3 {
24
24
  id: string;
25
25
  uvan: string;
26
26
  name: string;
@@ -51,25 +51,12 @@ interface Available {
51
51
  value: number;
52
52
  }
53
53
 
54
- interface createFinancialAccountReturn {
55
- data?: CreateFinancialAccount;
56
- error?: Error;
57
- success: boolean;
58
- }
59
- declare function createFinancialAccount(accountName: string, monime_space_id: string, monime_access_token: string): Promise<createFinancialAccountReturn>;
60
- interface GetFinancialAccountReturn {
61
- data?: GetFinancialAccount;
62
- error?: Error;
63
- success: boolean;
64
- }
65
- declare function getFinancialAccount(financialAccountId: string, monime_access_token: string, monime_space_id: string): Promise<GetFinancialAccountReturn>;
66
-
67
54
  interface CreateInternalTransfer {
68
55
  success: boolean;
69
56
  messages: string[];
70
- result: Result$1;
57
+ result: Result$2;
71
58
  }
72
- interface Result$1 {
59
+ interface Result$2 {
73
60
  id: string;
74
61
  status: string;
75
62
  amount: Amount$1;
@@ -78,12 +65,12 @@ interface Result$1 {
78
65
  financialTransactionReference: string;
79
66
  description: string;
80
67
  failureDetail: FailureDetail$1;
81
- ownershipGraph: OwnershipGraph$1;
68
+ ownershipGraph: OwnershipGraph$2;
82
69
  createTime: string;
83
70
  updateTime: string;
84
71
  metadata: Metadata$1;
85
72
  }
86
- interface OwnershipGraph$1 {
73
+ interface OwnershipGraph$2 {
87
74
  owner: Owner2$1;
88
75
  }
89
76
  interface Owner2$1 {
@@ -112,20 +99,72 @@ interface Amount$1 {
112
99
  value: number;
113
100
  }
114
101
 
115
- interface Return$2 {
116
- data?: CreateInternalTransfer;
117
- error?: Error;
102
+ interface CreatePaymentCode {
118
103
  success: boolean;
104
+ messages: string[];
105
+ result: Result$1;
119
106
  }
120
- declare function createInternalTransfer(sourceAccount: string, destinationAccount: string, monime_access_token: string, monime_space_id: string, value: number): Promise<Return$2>;
121
-
122
- interface Return$1 {
123
- code?: string;
124
- error?: Error;
125
- success: boolean;
107
+ interface Result$1 {
108
+ id: string;
109
+ mode: string;
110
+ status: string;
111
+ name: string;
112
+ amount: {
113
+ currency: string;
114
+ value: number;
115
+ };
116
+ enable: boolean;
117
+ expireTime: string;
118
+ customer: {
119
+ name: string;
120
+ };
121
+ ussdCode: string;
122
+ reference: string;
123
+ authorizedProviders: string[];
124
+ authorizedPhoneNumber: string;
125
+ recurrentPaymentTarget: {
126
+ expectedPaymentCount: number;
127
+ expectedPaymentTotal: {
128
+ currency: string;
129
+ value: number;
130
+ };
131
+ };
132
+ financialAccountId: string;
133
+ processedPaymentData: ProcessedPaymentData;
134
+ createTime: string;
135
+ updateTime: string;
136
+ ownershipGraph: OwnershipGraph$1;
137
+ metadata: {};
138
+ }
139
+ interface OwnershipGraph$1 {
140
+ owner: {
141
+ id: string;
142
+ type: string;
143
+ metadata: {};
144
+ owner: {
145
+ id: string;
146
+ type: string;
147
+ metadata: {};
148
+ owner: {};
149
+ };
150
+ };
151
+ }
152
+ interface ProcessedPaymentData {
153
+ amount: {
154
+ currency: string;
155
+ value: number;
156
+ };
157
+ orderId: string;
158
+ paymentId: string;
159
+ orderNumber: string;
160
+ channelData: {
161
+ providerId: string;
162
+ accountId: string;
163
+ reference: string;
164
+ };
165
+ financialTransactionReference: string;
166
+ metadata: {};
126
167
  }
127
- declare function createPaymentCode(paymentName: string, amount: number, financialAccountId: string | null, name: string, phoneNumber: string, monime_access_token: string, monime_space_id: string): Promise<Return$1>;
128
- declare function deletePaymentCode(paymentCodeId: string, monime_access_token: string, monime_space_id: string): Promise<Return$1>;
129
168
 
130
169
  interface CreatePayout {
131
170
  success: boolean;
@@ -186,11 +225,50 @@ interface Amount {
186
225
  value: number;
187
226
  }
188
227
 
189
- interface Return {
190
- data?: CreatePayout;
191
- error?: Error;
192
- success: boolean;
228
+ interface ClientOptions {
229
+ monimeSpaceeId: string;
230
+ accessToken: string;
231
+ }
232
+ declare class MonimeClient {
233
+ private monimeSpaceId;
234
+ private accessToken;
235
+ createFinancialAccount: (name: string) => Promise<{
236
+ success: boolean;
237
+ data?: CreateFinancialAccount;
238
+ error?: Error;
239
+ }>;
240
+ getFinancialAccount: (financialAccountId: string) => Promise<{
241
+ success: boolean;
242
+ data?: GetFinancialAccount;
243
+ error?: Error;
244
+ }>;
245
+ createInternalTransfer: (sourceAccount: string, destinationAccount: string, amount: number) => Promise<{
246
+ success: boolean;
247
+ data?: CreateInternalTransfer;
248
+ error?: Error;
249
+ }>;
250
+ createPaymentCode: (paymentName: string, amount: number, financialAccount: string, username: string, phoneNumber: string) => Promise<{
251
+ success: boolean;
252
+ error?: Error;
253
+ data?: CreatePaymentCode;
254
+ }>;
255
+ deletePaymentCode: (paymentCodeId: string) => Promise<{
256
+ success: boolean;
257
+ error?: Error;
258
+ data?: CreatePaymentCode;
259
+ }>;
260
+ createPayout: (amount: number, phoneNumber: string, sourceAccount: string) => Promise<{
261
+ success: boolean;
262
+ error?: Error;
263
+ data?: CreatePayout;
264
+ }>;
265
+ constructor(options: ClientOptions);
266
+ _getConfig(): {
267
+ monimeSpaceId: string;
268
+ accessToken: string;
269
+ };
193
270
  }
194
- declare function CreatePayoutMobileMoney(amount: number, phoneNumber: string, sourceAccount: string, monime_access_token: string, monime_space_id: string): Promise<Return>;
195
271
 
196
- export { CreatePayoutMobileMoney, createFinancialAccount, createInternalTransfer, createPaymentCode, deletePaymentCode, getFinancialAccount };
272
+ declare function createClient(options: ClientOptions): MonimeClient;
273
+
274
+ export { type ClientOptions, MonimeClient, createClient };
package/dist/index.js CHANGED
@@ -30,33 +30,33 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
30
30
  // src/index.ts
31
31
  var index_exports = {};
32
32
  __export(index_exports, {
33
- CreatePayoutMobileMoney: () => CreatePayoutMobileMoney,
34
- createFinancialAccount: () => createFinancialAccount,
35
- createInternalTransfer: () => createInternalTransfer,
36
- createPaymentCode: () => createPaymentCode,
37
- deletePaymentCode: () => deletePaymentCode,
38
- getFinancialAccount: () => getFinancialAccount
33
+ MonimeClient: () => MonimeClient,
34
+ createClient: () => createClient
39
35
  });
40
36
  module.exports = __toCommonJS(index_exports);
41
37
 
42
- // src/functions/financialAccount.ts
38
+ // src/modules/financialAccount/financialAccount.ts
43
39
  var import_axios = __toESM(require("axios"));
44
40
  var import_crypto = require("crypto");
45
41
  var URL = "https://api.monime.io/v1/financial-accounts";
46
42
  var value = (0, import_crypto.randomBytes)(20).toString("hex");
47
- async function createFinancialAccount(accountName, monime_space_id, monime_access_token) {
43
+ async function createFinancialAccount(accountName, client) {
44
+ if (accountName.trim() === "") {
45
+ return { success: false, error: new Error("accountName is required") };
46
+ }
48
47
  const body = {
49
48
  name: accountName,
50
49
  currency: "SLE",
51
50
  description: "",
52
51
  metadata: {}
53
52
  };
53
+ const { accessToken, monimeSpaceId } = client._getConfig();
54
54
  try {
55
55
  const res = await import_axios.default.post(URL, body, {
56
56
  headers: {
57
57
  "Idempotency-Key": `${value}`,
58
- "Monime-Space-Id": `${monime_space_id}`,
59
- Authorization: `Bearer ${monime_access_token}`,
58
+ "Monime-Space-Id": `${monimeSpaceId}`,
59
+ Authorization: `Bearer ${accessToken}`,
60
60
  "Content-Type": "application/json"
61
61
  }
62
62
  });
@@ -69,12 +69,16 @@ async function createFinancialAccount(accountName, monime_space_id, monime_acces
69
69
  return { error: new Error("unknown error"), success: false };
70
70
  }
71
71
  }
72
- async function getFinancialAccount(financialAccountId, monime_access_token, monime_space_id) {
72
+ async function getFinancialAccount(financialAccountId, client) {
73
+ if (financialAccountId.trim() === "") {
74
+ return { success: false, error: new Error("financialAccountId is required") };
75
+ }
76
+ const { monimeSpaceId, accessToken } = client._getConfig();
73
77
  try {
74
78
  const res = await import_axios.default.get(`${URL}/${financialAccountId}`, {
75
79
  headers: {
76
- "Monime-Space-Id": `${monime_space_id}`,
77
- Authorization: `Bearer ${monime_access_token}`
80
+ "Monime-Space-Id": `${monimeSpaceId}`,
81
+ Authorization: `Bearer ${accessToken}`
78
82
  }
79
83
  });
80
84
  const data = res.data;
@@ -87,12 +91,18 @@ async function getFinancialAccount(financialAccountId, monime_access_token, moni
87
91
  }
88
92
  }
89
93
 
90
- // src/functions/internalTransfer.ts
94
+ // src/modules/internalTransfer/internalTransfer.ts
91
95
  var import_axios2 = __toESM(require("axios"));
92
96
  var import_crypto2 = require("crypto");
93
97
  var URL2 = "https://api.monime.io/v1/internal-transfers";
94
98
  var value2 = (0, import_crypto2.randomBytes)(20).toString("hex");
95
- async function createInternalTransfer(sourceAccount, destinationAccount, monime_access_token, monime_space_id, value5) {
99
+ async function createInternalTransfer(sourceAccount, destinationAccount, client, value5) {
100
+ if (value5 <= 0) {
101
+ return { success: false, error: new Error("value must be larger that zero") };
102
+ }
103
+ if (sourceAccount.trim() === "" || destinationAccount.trim() === "") {
104
+ return { success: false, error: new Error("sourceAccount or destinationAccount is missing") };
105
+ }
96
106
  const body = {
97
107
  amount: {
98
108
  currency: "SLE",
@@ -106,12 +116,13 @@ async function createInternalTransfer(sourceAccount, destinationAccount, monime_
106
116
  },
107
117
  metadata: {}
108
118
  };
119
+ const { accessToken, monimeSpaceId } = client._getConfig();
109
120
  try {
110
121
  const res = await import_axios2.default.post(URL2, body, {
111
122
  headers: {
112
123
  "Idempotency-Key": `${value5}`,
113
- "Monime-Space-Id": `${monime_space_id}`,
114
- Authorization: `Bearer ${monime_access_token}`,
124
+ "Monime-Space-Id": `${monimeSpaceId}`,
125
+ Authorization: `Bearer ${accessToken}`,
115
126
  "Content-Type": "application/json"
116
127
  }
117
128
  });
@@ -125,20 +136,23 @@ async function createInternalTransfer(sourceAccount, destinationAccount, monime_
125
136
  }
126
137
  }
127
138
 
128
- // src/functions/paymentCode.ts
139
+ // src/modules/paymentCode/paymentCode.ts
129
140
  var import_axios3 = __toESM(require("axios"));
130
141
  var import_crypto3 = require("crypto");
131
142
  var value3 = (0, import_crypto3.randomBytes)(20).toString("hex");
132
143
  var URL3 = "https://api.monime.io/v1/payment-codes";
133
- async function createPaymentCode(paymentName, amount, financialAccountId, name, phoneNumber, monime_access_token, monime_space_id) {
144
+ async function createPaymentCode(paymentName, amount, financialAccountId, name, phoneNumber, client) {
134
145
  let financialAccount = null;
135
146
  if (financialAccountId !== "") {
136
147
  financialAccount = financialAccountId;
137
148
  }
138
- if (monime_access_token === "" || monime_space_id === "") {
139
- console.log("monime_access_token or monime_space_id is required");
140
- return { error: new Error("monime_access_token and monime_space_id is required"), success: false };
149
+ if (paymentName.trim() === "" || name.trim() === "" || phoneNumber.trim() === "") {
150
+ return { success: false, error: new Error("paymentName, name, or phoneNumber is missing") };
141
151
  }
152
+ if (amount <= 0) {
153
+ return { success: false, error: new Error("amonut number be greater than zero") };
154
+ }
155
+ const { accessToken, monimeSpaceId } = client._getConfig();
142
156
  const bodyData = {
143
157
  name: `${paymentName}`,
144
158
  mode: "recurrent",
@@ -168,13 +182,13 @@ async function createPaymentCode(paymentName, amount, financialAccountId, name,
168
182
  const res = await import_axios3.default.post(URL3, bodyData, {
169
183
  headers: {
170
184
  "Idempotency-Key": `${value3}`,
171
- "Monime-Space-Id": `${monime_space_id}`,
172
- Authorization: `Bearer ${monime_access_token}`,
185
+ "Monime-Space-Id": `${monimeSpaceId}`,
186
+ Authorization: `Bearer ${accessToken}`,
173
187
  "Content-Type": "application/json"
174
188
  }
175
189
  });
176
190
  const data = res.data;
177
- return { code: data.result.ussdCode, success: true };
191
+ return { data, success: true };
178
192
  } catch (error) {
179
193
  if (import_axios3.default.isAxiosError(error)) {
180
194
  return { error: error.response?.data, success: false };
@@ -182,13 +196,17 @@ async function createPaymentCode(paymentName, amount, financialAccountId, name,
182
196
  return { error: new Error("unknown error"), success: false };
183
197
  }
184
198
  }
185
- async function deletePaymentCode(paymentCodeId, monime_access_token, monime_space_id) {
199
+ async function deletePaymentCode(paymentCodeId, client) {
200
+ const { accessToken, monimeSpaceId } = client._getConfig();
201
+ if (paymentCodeId.trim() === "") {
202
+ return { success: false, error: new Error("paymentCodeId is required") };
203
+ }
186
204
  try {
187
205
  const res = await import_axios3.default.delete(`${URL3}/${paymentCodeId}`, {
188
206
  headers: {
189
207
  "Idempotency-Key": `${value3}`,
190
- "Monime-Space-Id": `${monime_space_id}`,
191
- Authorization: `Bearer ${monime_access_token}`,
208
+ "Monime-Space-Id": `${monimeSpaceId}`,
209
+ Authorization: `Bearer ${accessToken}`,
192
210
  "Content-Type": "application/json"
193
211
  }
194
212
  });
@@ -205,12 +223,15 @@ async function deletePaymentCode(paymentCodeId, monime_access_token, monime_spac
205
223
  }
206
224
  }
207
225
 
208
- // src/functions/payout.ts
226
+ // src/modules/payout/payout.ts
209
227
  var import_axios4 = __toESM(require("axios"));
210
228
  var import_crypto4 = require("crypto");
211
- var URL4 = "";
229
+ var URL4 = "https://api.monime.io/v1/payouts";
212
230
  var value4 = (0, import_crypto4.randomBytes)(20).toString("hex");
213
- async function CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, monime_access_token, monime_space_id) {
231
+ async function CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, client) {
232
+ if (phoneNumber.trim() === "") {
233
+ return { success: false, error: new Error("phoneNumber is required") };
234
+ }
214
235
  let provider = "m17";
215
236
  const africell = ["077", "033", "088", "080", "090", "030"];
216
237
  for (let value5 of africell) {
@@ -219,6 +240,10 @@ async function CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, monim
219
240
  break;
220
241
  }
221
242
  }
243
+ if (amount <= 0) {
244
+ return { error: new Error("amount must be greater than 0"), success: false };
245
+ }
246
+ const { accessToken, monimeSpaceId } = client._getConfig();
222
247
  const body = {
223
248
  amount: {
224
249
  currency: "SLE",
@@ -238,8 +263,8 @@ async function CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, monim
238
263
  const res = await import_axios4.default.post(URL4, body, {
239
264
  headers: {
240
265
  "Idempotency-Key": `${value4}`,
241
- "Monime-Space-Id": `${monime_space_id}`,
242
- Authorization: `Bearer ${monime_access_token}`,
266
+ "Monime-Space-Id": `${monimeSpaceId}`,
267
+ Authorization: `Bearer ${accessToken}`,
243
268
  "Content-Type": "application/json"
244
269
  }
245
270
  });
@@ -252,13 +277,48 @@ async function CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, monim
252
277
  return { success: false, error: new Error("unknown error") };
253
278
  }
254
279
  }
280
+
281
+ // src/client.ts
282
+ var MonimeClient = class {
283
+ monimeSpaceId;
284
+ accessToken;
285
+ /* Methods */
286
+ //method for financial accounts
287
+ createFinancialAccount;
288
+ getFinancialAccount;
289
+ //method for internal transfer
290
+ createInternalTransfer;
291
+ //method for payment code
292
+ createPaymentCode;
293
+ deletePaymentCode;
294
+ //method for payout
295
+ createPayout;
296
+ constructor(options) {
297
+ this.accessToken = options.accessToken;
298
+ this.monimeSpaceId = options.monimeSpaceeId;
299
+ this.createFinancialAccount = (name) => createFinancialAccount(name, this);
300
+ this.getFinancialAccount = (financialAccountId) => getFinancialAccount(financialAccountId, this);
301
+ this.createInternalTransfer = (sourceAccount, destinationAccount, amount) => createInternalTransfer(sourceAccount, destinationAccount, this, amount);
302
+ this.createPaymentCode = (paymentName, amount, financialAccount, username, phoneNumber) => createPaymentCode(paymentName, amount, financialAccount, username, phoneNumber, this);
303
+ this.deletePaymentCode = (paymentCodeId) => deletePaymentCode(paymentCodeId, this);
304
+ this.createPayout = (amount, phoneNumber, sourceAccount) => CreatePayoutMobileMoney(amount, phoneNumber, sourceAccount, this);
305
+ }
306
+ /** @internal */
307
+ _getConfig() {
308
+ return {
309
+ monimeSpaceId: this.monimeSpaceId,
310
+ accessToken: this.accessToken
311
+ };
312
+ }
313
+ };
314
+
315
+ // src/index.ts
316
+ function createClient(options) {
317
+ return new MonimeClient(options);
318
+ }
255
319
  // Annotate the CommonJS export names for ESM import in node:
256
320
  0 && (module.exports = {
257
- CreatePayoutMobileMoney,
258
- createFinancialAccount,
259
- createInternalTransfer,
260
- createPaymentCode,
261
- deletePaymentCode,
262
- getFinancialAccount
321
+ MonimeClient,
322
+ createClient
263
323
  });
264
324
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/functions/financialAccount.ts","../src/functions/internalTransfer.ts","../src/functions/paymentCode.ts","../src/functions/payout.ts"],"sourcesContent":["export * from \"./functions\"","import axios from \"axios\";\nimport { randomBytes } from \"crypto\"\nimport { CreateFinancialAccount, GetFinancialAccount } from \"./financialAccountTypes\";\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, monime_space_id:string, monime_access_token:string):Promise<createFinancialAccountReturn>{\n const body = {\n name:accountName,\n currency:'SLE',\n description:\"\",\n metadata:{}\n }\n\n try{\n const res = await axios.post(URL, body, {\n headers:{\n 'Idempotency-Key': `${value}`,\n 'Monime-Space-Id': `${monime_space_id}`,\n Authorization: `Bearer ${monime_access_token}`,\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, monime_access_token:string, monime_space_id:string):Promise<GetFinancialAccountReturn>{\n try{\n const res = await axios.get(`${URL}/${financialAccountId}`, {\n headers:{\n 'Monime-Space-Id': `${monime_space_id}`,\n Authorization: `Bearer ${monime_access_token}`, \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\";\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, monime_access_token:string, monime_space_id:string, value:number):Promise<Return>{\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 try{\n const res = await axios.post(URL, body, {\n headers:{\n 'Idempotency-Key': `${value}`,\n 'Monime-Space-Id': `${monime_space_id}`,\n Authorization: `Bearer ${monime_access_token}`,\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\";\n\nconst value = randomBytes(20).toString(\"hex\")\nconst URL = \"https://api.monime.io/v1/payment-codes\"\n\ninterface Return {\n code?:string,\n error?:Error\n success:boolean\n}\n\nexport async function createPaymentCode(paymentName:string, amount:number, financialAccountId:string |null, name:string, phoneNumber:string, monime_access_token:string, monime_space_id:string):Promise<Return>{\n let financialAccount = null\n if(financialAccountId !== \"\"){\n financialAccount = financialAccountId\n }\n\n if(monime_access_token === \"\" || monime_space_id === \"\"){\n console.log(\"monime_access_token or monime_space_id is required\")\n return {error:new Error(\"monime_access_token and monime_space_id is required\"), success:false}\n }\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': `${monime_space_id}`,\n Authorization: `Bearer ${monime_access_token}`,\n 'Content-Type': 'application/json' \n }\n })\n\n const data = res.data as CreatePaymentCode\n return { code:data.result.ussdCode, 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, monime_access_token:string, monime_space_id:string):Promise<Return>{\n try{\n const res = await axios.delete(`${URL}/${paymentCodeId}`, {\n headers:{\n 'Idempotency-Key': `${value}`,\n 'Monime-Space-Id': `${monime_space_id}`,\n Authorization: `Bearer ${monime_access_token}`,\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\"\n\nconst URL = \"\"\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, monime_access_token:string, monime_space_id:string):Promise<Return> {\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 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': `${monime_space_id}`,\n Authorization: `Bearer ${monime_access_token}`,\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}"],"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/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"]}