@konplit-services/common 1.0.1

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.
Files changed (177) hide show
  1. package/build/Schema/CFLESCHEMA.d.ts +138 -0
  2. package/build/Schema/CFLESCHEMA.js +144 -0
  3. package/build/errors/axios-request-error.d.ts +17 -0
  4. package/build/errors/axios-request-error.js +32 -0
  5. package/build/errors/bad-request-error.d.ts +17 -0
  6. package/build/errors/bad-request-error.js +28 -0
  7. package/build/errors/custom-error.d.ts +15 -0
  8. package/build/errors/custom-error.js +11 -0
  9. package/build/errors/database-error.d.ts +17 -0
  10. package/build/errors/database-error.js +28 -0
  11. package/build/errors/error.interface.d.ts +4 -0
  12. package/build/errors/error.interface.js +2 -0
  13. package/build/errors/forbidden-error.d.ts +17 -0
  14. package/build/errors/forbidden-error.js +28 -0
  15. package/build/errors/invalid-input-error.d.ts +19 -0
  16. package/build/errors/invalid-input-error.js +31 -0
  17. package/build/errors/mongoose-validation-error.d.ts +17 -0
  18. package/build/errors/mongoose-validation-error.js +28 -0
  19. package/build/errors/not-found.d.ts +17 -0
  20. package/build/errors/not-found.js +28 -0
  21. package/build/errors/notAuthorized.d.ts +17 -0
  22. package/build/errors/notAuthorized.js +28 -0
  23. package/build/errors/request-validation-error.d.ts +17 -0
  24. package/build/errors/request-validation-error.js +28 -0
  25. package/build/errors/service-not-available.d.ts +17 -0
  26. package/build/errors/service-not-available.js +28 -0
  27. package/build/events/accounts-events/interfaces/account-created.interface.d.ts +11 -0
  28. package/build/events/accounts-events/interfaces/account-created.interface.js +2 -0
  29. package/build/events/accounts-events/interfaces/account-updated.interface.d.ts +0 -0
  30. package/build/events/accounts-events/interfaces/account-updated.interface.js +1 -0
  31. package/build/events/accounts-events/interfaces/permission-created.interface.d.ts +12 -0
  32. package/build/events/accounts-events/interfaces/permission-created.interface.js +2 -0
  33. package/build/events/accounts-events/interfaces/permission-removed.interface.d.ts +12 -0
  34. package/build/events/accounts-events/interfaces/permission-removed.interface.js +2 -0
  35. package/build/events/base-events/base-events.listener.d.ts +103 -0
  36. package/build/events/base-events/base-events.listener.js +164 -0
  37. package/build/events/base-events/base-events.publisher.d.ts +75 -0
  38. package/build/events/base-events/base-events.publisher.js +110 -0
  39. package/build/events/logs-events/interfaces/admins-logs.created.interface.d.ts +15 -0
  40. package/build/events/logs-events/interfaces/admins-logs.created.interface.js +2 -0
  41. package/build/events/logs-events/interfaces/merchants-logs-created.interface.d.ts +15 -0
  42. package/build/events/logs-events/interfaces/merchants-logs-created.interface.js +2 -0
  43. package/build/events/subjects.d.ts +26 -0
  44. package/build/events/subjects.js +37 -0
  45. package/build/events/types/order-statu.types.d.ts +22 -0
  46. package/build/events/types/order-statu.types.js +26 -0
  47. package/build/helper/Two-fa-type.d.ts +7 -0
  48. package/build/helper/Two-fa-type.js +11 -0
  49. package/build/helper/account-balance-types.d.ts +4 -0
  50. package/build/helper/account-balance-types.js +8 -0
  51. package/build/helper/account-status.d.ts +4 -0
  52. package/build/helper/account-status.js +8 -0
  53. package/build/helper/bank-code.d.ts +1 -0
  54. package/build/helper/bank-code.js +16 -0
  55. package/build/helper/business-category.d.ts +12 -0
  56. package/build/helper/business-category.js +17 -0
  57. package/build/helper/bvn-validation-type.d.ts +4 -0
  58. package/build/helper/bvn-validation-type.js +8 -0
  59. package/build/helper/card-types.d.ts +10 -0
  60. package/build/helper/card-types.js +14 -0
  61. package/build/helper/card_auth_type.d.ts +5 -0
  62. package/build/helper/card_auth_type.js +9 -0
  63. package/build/helper/chargeback.d.ts +7 -0
  64. package/build/helper/chargeback.js +11 -0
  65. package/build/helper/charges.d.ts +7 -0
  66. package/build/helper/charges.js +11 -0
  67. package/build/helper/currency-types.d.ts +4 -0
  68. package/build/helper/currency-types.js +8 -0
  69. package/build/helper/custom-paginate.d.ts +19 -0
  70. package/build/helper/custom-paginate.js +50 -0
  71. package/build/helper/email-types.d.ts +22 -0
  72. package/build/helper/email-types.js +26 -0
  73. package/build/helper/errorCodes/error-codes.d.ts +92 -0
  74. package/build/helper/errorCodes/error-codes.js +99 -0
  75. package/build/helper/extract-card-details.d.ts +4 -0
  76. package/build/helper/extract-card-details.js +20 -0
  77. package/build/helper/invoice.d.ts +19 -0
  78. package/build/helper/invoice.js +26 -0
  79. package/build/helper/lang/email.d.ts +12 -0
  80. package/build/helper/lang/email.js +19 -0
  81. package/build/helper/lang/error-text.d.ts +32 -0
  82. package/build/helper/lang/error-text.js +35 -0
  83. package/build/helper/lang/error.d.ts +0 -0
  84. package/build/helper/lang/error.js +1 -0
  85. package/build/helper/lang/language.d.ts +113 -0
  86. package/build/helper/lang/language.js +146 -0
  87. package/build/helper/last-three.d.ts +1 -0
  88. package/build/helper/last-three.js +8 -0
  89. package/build/helper/location.d.ts +2 -0
  90. package/build/helper/location.js +20 -0
  91. package/build/helper/media-types.d.ts +6 -0
  92. package/build/helper/media-types.js +10 -0
  93. package/build/helper/nibss-scopes.d.ts +9 -0
  94. package/build/helper/nibss-scopes.js +13 -0
  95. package/build/helper/payment-options.d.ts +7 -0
  96. package/build/helper/payment-options.js +11 -0
  97. package/build/helper/pdf-generator.d.ts +9 -0
  98. package/build/helper/pdf-generator.js +73 -0
  99. package/build/helper/permistions.d.ts +126 -0
  100. package/build/helper/permistions.js +129 -0
  101. package/build/helper/plan-types.d.ts +9 -0
  102. package/build/helper/plan-types.js +13 -0
  103. package/build/helper/query/query-option.d.ts +23 -0
  104. package/build/helper/query/query-option.js +40 -0
  105. package/build/helper/refund.d.ts +21 -0
  106. package/build/helper/refund.js +28 -0
  107. package/build/helper/roles.d.ts +15 -0
  108. package/build/helper/roles.js +19 -0
  109. package/build/helper/settlement.d.ts +14 -0
  110. package/build/helper/settlement.js +20 -0
  111. package/build/helper/status.d.ts +15 -0
  112. package/build/helper/status.js +19 -0
  113. package/build/helper/subscriptions-types.d.ts +16 -0
  114. package/build/helper/subscriptions-types.js +22 -0
  115. package/build/helper/success-response.d.ts +9 -0
  116. package/build/helper/success-response.js +13 -0
  117. package/build/helper/transaction-authentication-type.d.ts +5 -0
  118. package/build/helper/transaction-authentication-type.js +9 -0
  119. package/build/helper/transaction-type.d.ts +15 -0
  120. package/build/helper/transaction-type.js +20 -0
  121. package/build/helper/transfer.d.ts +9 -0
  122. package/build/helper/transfer.js +13 -0
  123. package/build/helper/user-types.d.ts +4 -0
  124. package/build/helper/user-types.js +8 -0
  125. package/build/helper/util/gender.d.ts +4 -0
  126. package/build/helper/util/gender.js +8 -0
  127. package/build/helper/util/get-transaction-id.d.ts +9 -0
  128. package/build/helper/util/get-transaction-id.js +17 -0
  129. package/build/helper/util/getobject-keys.d.ts +10 -0
  130. package/build/helper/util/getobject-keys.js +22 -0
  131. package/build/helper/util/pagination.d.ts +25 -0
  132. package/build/helper/util/pagination.js +19 -0
  133. package/build/helper/util/remove-transactionId.d.ts +14 -0
  134. package/build/helper/util/remove-transactionId.js +16 -0
  135. package/build/helper/util/sort-by.d.ts +8 -0
  136. package/build/helper/util/sort-by.js +11 -0
  137. package/build/helper/validateParams.d.ts +7 -0
  138. package/build/helper/validateParams.js +13 -0
  139. package/build/helper/worker-task-types.d.ts +8 -0
  140. package/build/helper/worker-task-types.js +12 -0
  141. package/build/index.d.ts +79 -0
  142. package/build/index.js +103 -0
  143. package/build/log-activities/actions.d.ts +17 -0
  144. package/build/log-activities/actions.js +25 -0
  145. package/build/middlewares/check-inputs.d.ts +2 -0
  146. package/build/middlewares/check-inputs.js +24 -0
  147. package/build/middlewares/current-user.d.ts +10 -0
  148. package/build/middlewares/current-user.js +41 -0
  149. package/build/middlewares/error-handler.d.ts +3 -0
  150. package/build/middlewares/error-handler.js +61 -0
  151. package/build/middlewares/permission.d.ts +10 -0
  152. package/build/middlewares/permission.js +46 -0
  153. package/build/middlewares/require-auth.d.ts +2 -0
  154. package/build/middlewares/require-auth.js +13 -0
  155. package/build/middlewares/validate-request.d.ts +2 -0
  156. package/build/middlewares/validate-request.js +13 -0
  157. package/build/redis/base/index.d.ts +13 -0
  158. package/build/redis/base/index.js +104 -0
  159. package/build/redis/constants/index.d.ts +5 -0
  160. package/build/redis/constants/index.js +12 -0
  161. package/build/repository/interface/baseRepository.d.ts +9 -0
  162. package/build/repository/interface/baseRepository.js +8 -0
  163. package/build/repository/interface/based.d.ts +9 -0
  164. package/build/repository/interface/based.js +2 -0
  165. package/build/services/Jwt.d.ts +17 -0
  166. package/build/services/Jwt.js +44 -0
  167. package/build/services/base.service.d.ts +14 -0
  168. package/build/services/base.service.js +20 -0
  169. package/build/services/mailersend.d.ts +25 -0
  170. package/build/services/mailersend.js +56 -0
  171. package/build/util/jwt.validation.d.ts +1 -0
  172. package/build/util/jwt.validation.js +27 -0
  173. package/build/util/lib/nats/nat-error-codes.d.ts +4 -0
  174. package/build/util/lib/nats/nat-error-codes.js +7 -0
  175. package/build/util/parse-query-string.d.ts +4 -0
  176. package/build/util/parse-query-string.js +22 -0
  177. package/package.json +46 -0
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.USER_TYPES = void 0;
4
+ var USER_TYPES;
5
+ (function (USER_TYPES) {
6
+ USER_TYPES["admin"] = "ADMINISTRATOR";
7
+ USER_TYPES["merchant"] = "MERCHANT";
8
+ })(USER_TYPES = exports.USER_TYPES || (exports.USER_TYPES = {}));
@@ -0,0 +1,4 @@
1
+ export declare enum GENDER {
2
+ Female = "Female",
3
+ Male = "Male"
4
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GENDER = void 0;
4
+ var GENDER;
5
+ (function (GENDER) {
6
+ GENDER["Female"] = "Female";
7
+ GENDER["Male"] = "Male";
8
+ })(GENDER = exports.GENDER || (exports.GENDER = {}));
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ * @param transactionId the transaction id of the transaction whuch has both merchantid and the transaction id
4
+ * @returns {Object} with transaction_ref and merchantID
5
+ */
6
+ export declare const getTransactionId: (transactionId: string) => {
7
+ transaction_ref: string;
8
+ merchantID: string;
9
+ };
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ /**
3
+ *
4
+ * @param transactionId the transaction id of the transaction whuch has both merchantid and the transaction id
5
+ * @returns {Object} with transaction_ref and merchantID
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.getTransactionId = void 0;
9
+ const getTransactionId = (transactionId) => {
10
+ const transaction_id = transactionId.split('_')[0];
11
+ const merchant_id = transactionId.split('_')[1];
12
+ return {
13
+ transaction_ref: transaction_id,
14
+ merchantID: merchant_id
15
+ };
16
+ };
17
+ exports.getTransactionId = getTransactionId;
@@ -0,0 +1,10 @@
1
+ interface MyObject {
2
+ [key: string]: any;
3
+ }
4
+ /**
5
+ *
6
+ * @param obj an object or which can have embedded keys and you want to fetch them all
7
+ * @returns
8
+ */
9
+ declare const getAllKeys: (obj: MyObject) => string[];
10
+ export { getAllKeys };
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAllKeys = void 0;
4
+ /**
5
+ *
6
+ * @param obj an object or which can have embedded keys and you want to fetch them all
7
+ * @returns
8
+ */
9
+ const getAllKeys = (obj) => {
10
+ let keys = [];
11
+ if (typeof obj !== 'object' || obj === null) {
12
+ return keys;
13
+ }
14
+ for (let key in obj) {
15
+ keys.push(key);
16
+ if (typeof obj[key] === 'object') {
17
+ keys = keys.concat(getAllKeys(obj[key]));
18
+ }
19
+ }
20
+ return keys;
21
+ };
22
+ exports.getAllKeys = getAllKeys;
@@ -0,0 +1,25 @@
1
+ interface PaginationReturnValue {
2
+ docs: Array<object>;
3
+ totalDocs: number;
4
+ limit: number;
5
+ page: number;
6
+ hasPrevPage: boolean;
7
+ hasNextPage: boolean;
8
+ totalPages: number;
9
+ offset: number;
10
+ prevPage: number;
11
+ nextPage: number;
12
+ }
13
+ export declare const paginatedResponse: (value: PaginationReturnValue) => {
14
+ results: object[];
15
+ totalDocs: number;
16
+ limit: number;
17
+ page: number;
18
+ hasPrevPage: boolean;
19
+ hasNextPage: boolean;
20
+ totalPages: number;
21
+ offset: number;
22
+ prevPage: number;
23
+ nextPage: number;
24
+ };
25
+ export {};
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.paginatedResponse = void 0;
4
+ const paginatedResponse = (value) => {
5
+ const results = value.docs;
6
+ return {
7
+ results,
8
+ totalDocs: value.totalDocs,
9
+ limit: value.limit,
10
+ page: value.page,
11
+ hasPrevPage: value.hasPrevPage,
12
+ hasNextPage: value.hasNextPage,
13
+ totalPages: value.totalPages,
14
+ offset: value.offset,
15
+ prevPage: value.prevPage,
16
+ nextPage: value.nextPage
17
+ };
18
+ };
19
+ exports.paginatedResponse = paginatedResponse;
@@ -0,0 +1,14 @@
1
+ interface Transaction {
2
+ transaction_ref?: string;
3
+ [key: string]: any;
4
+ }
5
+ /**
6
+ *
7
+ * @param transactionId the transaction id of the transaction whuch has both merchantid and the transaction id
8
+ * @returns {Object} the transaction object
9
+ */
10
+ export declare const removeMerchantIDFromTransactionRef: (transactionData: Transaction) => {
11
+ [x: string]: any;
12
+ transaction_ref?: string | undefined;
13
+ };
14
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeMerchantIDFromTransactionRef = void 0;
4
+ const get_transaction_id_1 = require("./get-transaction-id");
5
+ /**
6
+ *
7
+ * @param transactionId the transaction id of the transaction whuch has both merchantid and the transaction id
8
+ * @returns {Object} the transaction object
9
+ */
10
+ const removeMerchantIDFromTransactionRef = (transactionData) => {
11
+ const transaction_id = (0, get_transaction_id_1.getTransactionId)(transactionData.transaction_ref).transaction_ref;
12
+ delete transactionData.transaction_ref;
13
+ transactionData.transaction_ref = transaction_id;
14
+ return Object.assign({}, transactionData);
15
+ };
16
+ exports.removeMerchantIDFromTransactionRef = removeMerchantIDFromTransactionRef;
@@ -0,0 +1,8 @@
1
+ interface SortOptions {
2
+ key: string;
3
+ value: any;
4
+ }
5
+ export declare const sortOption: (values: SortOptions[]) => {
6
+ [key: string]: any;
7
+ };
8
+ export {};
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sortOption = void 0;
4
+ const sortOption = (values) => {
5
+ const sortOptions = {};
6
+ for (let value of values) {
7
+ sortOptions[value.key] = value.value === 'asc' ? 1 : -1;
8
+ }
9
+ return sortOptions;
10
+ };
11
+ exports.sortOption = sortOption;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Validate all input types against common javascript __protoType__
3
+ * @param input
4
+ * @returns
5
+ */
6
+ declare const validate: (input: any) => boolean;
7
+ export { validate as validateInput };
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateInput = void 0;
4
+ /**
5
+ * Validate all input types against common javascript __protoType__
6
+ * @param input
7
+ * @returns
8
+ */
9
+ const validate = (input) => {
10
+ const inBuildProperties = Object.getOwnPropertyNames(Object.prototype);
11
+ return inBuildProperties[input] ? true : false;
12
+ };
13
+ exports.validateInput = validate;
@@ -0,0 +1,8 @@
1
+ export declare enum WORKER_TYPES {
2
+ UPDATE_PERMISSION = "UPDATE_PERMISSION",
3
+ CREATE_PERMISSION = "CREATE_PERMISSION",
4
+ DELETE_PERMISSION = "DELETE_PERMISSION",
5
+ DELETE_ROLE = "DELETE_ROLE",
6
+ UPDATE_ROLE = "UPDATE_ROLE",
7
+ CREATE_ROLE = "CREATE_ROLE"
8
+ }
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WORKER_TYPES = void 0;
4
+ var WORKER_TYPES;
5
+ (function (WORKER_TYPES) {
6
+ WORKER_TYPES["UPDATE_PERMISSION"] = "UPDATE_PERMISSION";
7
+ WORKER_TYPES["CREATE_PERMISSION"] = "CREATE_PERMISSION";
8
+ WORKER_TYPES["DELETE_PERMISSION"] = "DELETE_PERMISSION";
9
+ WORKER_TYPES["DELETE_ROLE"] = "DELETE_ROLE";
10
+ WORKER_TYPES["UPDATE_ROLE"] = "UPDATE_ROLE";
11
+ WORKER_TYPES["CREATE_ROLE"] = "CREATE_ROLE";
12
+ })(WORKER_TYPES = exports.WORKER_TYPES || (exports.WORKER_TYPES = {}));
@@ -0,0 +1,79 @@
1
+ export * from "./errors/bad-request-error";
2
+ export * from "./errors/custom-error";
3
+ export * from "./errors/database-error";
4
+ export * from "./errors/not-found";
5
+ export * from "./errors/notAuthorized";
6
+ export * from "./errors/request-validation-error";
7
+ export * from "./errors/forbidden-error";
8
+ export * from "./errors/mongoose-validation-error";
9
+ export * from "./errors/invalid-input-error";
10
+ export * from "./errors/service-not-available";
11
+ export * from "./errors/axios-request-error";
12
+ export * from "./middlewares/current-user";
13
+ export * from "./middlewares/error-handler";
14
+ export * from "./middlewares/require-auth";
15
+ export * from "./middlewares/validate-request";
16
+ export * from "./middlewares/permission";
17
+ export * from "./middlewares/check-inputs";
18
+ export * from "./middlewares/error-handler";
19
+ export * from "./middlewares/require-auth";
20
+ export * from "./middlewares/validate-request";
21
+ export * from "./middlewares/permission";
22
+ export * from "./helper/success-response";
23
+ export * from "./helper/account-status";
24
+ export * from "./helper/lang/language";
25
+ export * from "./helper/lang/email";
26
+ export * from "./helper/lang/error-text";
27
+ export * from "./helper/errorCodes/error-codes";
28
+ export * from "./helper/roles";
29
+ export * from "./helper/user-types";
30
+ export * from "./helper/worker-task-types";
31
+ export * from "./helper/permistions";
32
+ export * from "./helper/util/getobject-keys";
33
+ export * from "./helper/validateParams";
34
+ export * from "./helper/payment-options";
35
+ export * from "./helper/transaction-authentication-type";
36
+ export * from "./helper/transaction-type";
37
+ export * from "./helper/business-category";
38
+ export * from "./helper/status";
39
+ export * from "./helper/account-balance-types";
40
+ export * from "./helper/currency-types";
41
+ export * from "./helper/email-types";
42
+ export * from "./helper/card_auth_type";
43
+ export * from "./helper/card-types";
44
+ export * from "./helper/media-types";
45
+ export * from "./helper/custom-paginate";
46
+ export * from "./helper/pdf-generator";
47
+ export * from "./helper/transfer";
48
+ export * from "./helper/chargeback";
49
+ export * from "./helper/refund";
50
+ export * from "./helper/invoice";
51
+ export * from "./helper/plan-types";
52
+ export * from "./helper/subscriptions-types";
53
+ export * from "./helper/bank-code";
54
+ export * from "./helper/settlement";
55
+ export * from "./helper/query/query-option";
56
+ export * from "./helper/util/get-transaction-id";
57
+ export * from "./helper/util/remove-transactionId";
58
+ export * from "./helper/util/pagination";
59
+ export * from "./helper/util/sort-by";
60
+ export * from "./helper/extract-card-details";
61
+ export * from "./helper/nibss-scopes";
62
+ export * from "./helper/bvn-validation-type";
63
+ export * from "./helper/charges";
64
+ export * from "./helper/last-three";
65
+ export * from "./helper/Two-fa-type";
66
+ export * from "./helper/location";
67
+ export * from "./redis/base/index";
68
+ export * from "./redis/constants/index";
69
+ export * from "./util/jwt.validation";
70
+ export * from "./util/lib/nats/nat-error-codes";
71
+ export * from "./util/parse-query-string";
72
+ export * from "./events/base-events/base-events.listener";
73
+ export * from "./events/base-events/base-events.publisher";
74
+ export * from "./events/subjects";
75
+ export * from "./events/types/order-statu.types";
76
+ export * from "./events/accounts-events/interfaces/account-created.interface";
77
+ export * from "./Schema/CFLESCHEMA";
78
+ export * from "./services/mailersend";
79
+ export * from "./services/base.service";
package/build/index.js ADDED
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ //errors
18
+ __exportStar(require("./errors/bad-request-error"), exports);
19
+ __exportStar(require("./errors/custom-error"), exports);
20
+ __exportStar(require("./errors/database-error"), exports);
21
+ __exportStar(require("./errors/not-found"), exports);
22
+ __exportStar(require("./errors/notAuthorized"), exports);
23
+ __exportStar(require("./errors/request-validation-error"), exports);
24
+ __exportStar(require("./errors/forbidden-error"), exports);
25
+ __exportStar(require("./errors/mongoose-validation-error"), exports);
26
+ __exportStar(require("./errors/invalid-input-error"), exports);
27
+ __exportStar(require("./errors/service-not-available"), exports);
28
+ __exportStar(require("./errors/axios-request-error"), exports);
29
+ //middlewares
30
+ __exportStar(require("./middlewares/current-user"), exports);
31
+ __exportStar(require("./middlewares/error-handler"), exports);
32
+ __exportStar(require("./middlewares/require-auth"), exports);
33
+ __exportStar(require("./middlewares/validate-request"), exports);
34
+ __exportStar(require("./middlewares/permission"), exports);
35
+ __exportStar(require("./middlewares/check-inputs"), exports);
36
+ __exportStar(require("./middlewares/error-handler"), exports);
37
+ __exportStar(require("./middlewares/require-auth"), exports);
38
+ __exportStar(require("./middlewares/validate-request"), exports);
39
+ __exportStar(require("./middlewares/permission"), exports);
40
+ //helpers
41
+ __exportStar(require("./helper/success-response"), exports);
42
+ __exportStar(require("./helper/account-status"), exports);
43
+ __exportStar(require("./helper/lang/language"), exports);
44
+ __exportStar(require("./helper/lang/email"), exports);
45
+ __exportStar(require("./helper/lang/error-text"), exports);
46
+ __exportStar(require("./helper/errorCodes/error-codes"), exports);
47
+ __exportStar(require("./helper/roles"), exports);
48
+ __exportStar(require("./helper/user-types"), exports);
49
+ __exportStar(require("./helper/worker-task-types"), exports);
50
+ __exportStar(require("./helper/permistions"), exports);
51
+ __exportStar(require("./helper/util/getobject-keys"), exports);
52
+ __exportStar(require("./helper/validateParams"), exports);
53
+ __exportStar(require("./helper/payment-options"), exports);
54
+ __exportStar(require("./helper/transaction-authentication-type"), exports);
55
+ __exportStar(require("./helper/transaction-type"), exports);
56
+ __exportStar(require("./helper/business-category"), exports);
57
+ __exportStar(require("./helper/status"), exports);
58
+ __exportStar(require("./helper/account-balance-types"), exports);
59
+ __exportStar(require("./helper/currency-types"), exports);
60
+ __exportStar(require("./helper/email-types"), exports);
61
+ __exportStar(require("./helper/card_auth_type"), exports);
62
+ __exportStar(require("./helper/card-types"), exports);
63
+ __exportStar(require("./helper/media-types"), exports);
64
+ __exportStar(require("./helper/custom-paginate"), exports);
65
+ __exportStar(require("./helper/pdf-generator"), exports);
66
+ __exportStar(require("./helper/transfer"), exports);
67
+ __exportStar(require("./helper/chargeback"), exports);
68
+ __exportStar(require("./helper/refund"), exports);
69
+ __exportStar(require("./helper/invoice"), exports);
70
+ __exportStar(require("./helper/plan-types"), exports);
71
+ __exportStar(require("./helper/subscriptions-types"), exports);
72
+ __exportStar(require("./helper/bank-code"), exports);
73
+ __exportStar(require("./helper/settlement"), exports);
74
+ __exportStar(require("./helper/query/query-option"), exports);
75
+ __exportStar(require("./helper/util/get-transaction-id"), exports);
76
+ __exportStar(require("./helper/util/remove-transactionId"), exports);
77
+ __exportStar(require("./helper/util/pagination"), exports);
78
+ __exportStar(require("./helper/util/sort-by"), exports);
79
+ __exportStar(require("./helper/extract-card-details"), exports);
80
+ __exportStar(require("./helper/nibss-scopes"), exports);
81
+ __exportStar(require("./helper/bvn-validation-type"), exports);
82
+ __exportStar(require("./helper/charges"), exports);
83
+ __exportStar(require("./helper/last-three"), exports);
84
+ __exportStar(require("./helper/Two-fa-type"), exports);
85
+ __exportStar(require("./helper/location"), exports);
86
+ // REDIS
87
+ __exportStar(require("./redis/base/index"), exports);
88
+ __exportStar(require("./redis/constants/index"), exports);
89
+ // UTILS
90
+ __exportStar(require("./util/jwt.validation"), exports);
91
+ __exportStar(require("./util/lib/nats/nat-error-codes"), exports);
92
+ __exportStar(require("./util/parse-query-string"), exports);
93
+ //events
94
+ __exportStar(require("./events/base-events/base-events.listener"), exports);
95
+ __exportStar(require("./events/base-events/base-events.publisher"), exports);
96
+ __exportStar(require("./events/subjects"), exports);
97
+ __exportStar(require("./events/types/order-statu.types"), exports);
98
+ __exportStar(require("./events/accounts-events/interfaces/account-created.interface"), exports);
99
+ //Database Schema
100
+ __exportStar(require("./Schema/CFLESCHEMA"), exports);
101
+ //Email Service
102
+ __exportStar(require("./services/mailersend"), exports);
103
+ __exportStar(require("./services/base.service"), exports);
@@ -0,0 +1,17 @@
1
+ export declare enum LOGACTIONS {
2
+ ROLE_CREATED = "ROLE_CREATED",
3
+ ROLE_DELETED = "ROLE_DELETED",
4
+ ROLE_UPDATED = "ROLE_UPDATED",
5
+ USER_ADDED = "USER_ADDED",
6
+ USER_BLOCKED = "USER_BLOCKED",
7
+ PERMISSION_ADDED = "PERMISSION_ADDED",
8
+ PERMISSION_REMOVED = "PERMISSION_REMOVED",
9
+ PERMISSION_ADDED_USER = "PERMISSION_ADDED_USER",
10
+ PERMISSION_REMOVE_USER = "PERMISSION_REMOVE_USER",
11
+ MERCHANT_BUSINESS_ADDED = "MERCHANT_BUSINESS_ADDED",
12
+ MERCHANT_USER_ADDED = "MERCHANT_USER_ADDED",
13
+ MERCHANT_USER_BLOCKED = "MERCHANT_USER_BLOCKED",
14
+ MERCHANT_USER_DELETED = "MERCHANT_USER_DELETED",
15
+ MERCAHNT_SETTINGS_UPDATED = "MERCAHNT_SETTINGS_UPDATED",
16
+ MERCAHNT_KEYS_UPDATED = "MERCAHNT_KEYS_UPDATED"
17
+ }
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LOGACTIONS = void 0;
4
+ var LOGACTIONS;
5
+ (function (LOGACTIONS) {
6
+ // ROLES
7
+ LOGACTIONS["ROLE_CREATED"] = "ROLE_CREATED";
8
+ LOGACTIONS["ROLE_DELETED"] = "ROLE_DELETED";
9
+ LOGACTIONS["ROLE_UPDATED"] = "ROLE_UPDATED";
10
+ //ADMIN USERS
11
+ LOGACTIONS["USER_ADDED"] = "USER_ADDED";
12
+ LOGACTIONS["USER_BLOCKED"] = "USER_BLOCKED";
13
+ // PERMISSIONS
14
+ LOGACTIONS["PERMISSION_ADDED"] = "PERMISSION_ADDED";
15
+ LOGACTIONS["PERMISSION_REMOVED"] = "PERMISSION_REMOVED";
16
+ LOGACTIONS["PERMISSION_ADDED_USER"] = "PERMISSION_ADDED_USER";
17
+ LOGACTIONS["PERMISSION_REMOVE_USER"] = "PERMISSION_REMOVE_USER";
18
+ // MERCHANTS
19
+ LOGACTIONS["MERCHANT_BUSINESS_ADDED"] = "MERCHANT_BUSINESS_ADDED";
20
+ LOGACTIONS["MERCHANT_USER_ADDED"] = "MERCHANT_USER_ADDED";
21
+ LOGACTIONS["MERCHANT_USER_BLOCKED"] = "MERCHANT_USER_BLOCKED";
22
+ LOGACTIONS["MERCHANT_USER_DELETED"] = "MERCHANT_USER_DELETED";
23
+ LOGACTIONS["MERCAHNT_SETTINGS_UPDATED"] = "MERCAHNT_SETTINGS_UPDATED";
24
+ LOGACTIONS["MERCAHNT_KEYS_UPDATED"] = "MERCAHNT_KEYS_UPDATED";
25
+ })(LOGACTIONS = exports.LOGACTIONS || (exports.LOGACTIONS = {}));
@@ -0,0 +1,2 @@
1
+ import { NextFunction, Request, Response } from "express";
2
+ export declare const validateInputRequest: (req: Request, res: Response, next: NextFunction) => void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateInputRequest = void 0;
4
+ const invalid_input_error_1 = require("../errors/invalid-input-error");
5
+ const error_codes_1 = require("../helper/errorCodes/error-codes");
6
+ const language_1 = require("../helper/lang/language");
7
+ const getobject_keys_1 = require("../helper/util/getobject-keys");
8
+ const validateParams_1 = require("../helper/validateParams");
9
+ const validateInputRequest = (req, res, next) => {
10
+ const body = (0, getobject_keys_1.getAllKeys)(req.body);
11
+ const query = (0, getobject_keys_1.getAllKeys)(req.query);
12
+ for (let key of query) {
13
+ const validate = (0, validateParams_1.validateInput)(key);
14
+ if (validate)
15
+ throw new invalid_input_error_1.InvalidInputError(language_1.lang.invalid_input, key, error_codes_1.error_codes.INVALID_INPUT);
16
+ }
17
+ for (let key of body) {
18
+ const validate = (0, validateParams_1.validateInput)(key);
19
+ if (validate)
20
+ throw new invalid_input_error_1.InvalidInputError(language_1.lang.invalid_input, key, error_codes_1.error_codes.INVALID_INPUT);
21
+ }
22
+ next();
23
+ };
24
+ exports.validateInputRequest = validateInputRequest;
@@ -0,0 +1,10 @@
1
+ import { NextFunction, Request, Response } from "express";
2
+ import { JWT_Data } from "../services/Jwt";
3
+ declare global {
4
+ namespace Express {
5
+ interface Request {
6
+ currentUser?: JWT_Data;
7
+ }
8
+ }
9
+ }
10
+ export declare const currentUser: (req: Request, res: Response, next: NextFunction) => Promise<void>;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.currentUser = void 0;
13
+ const Jwt_1 = require("../services/Jwt");
14
+ const base_1 = require("../redis/base");
15
+ const constants_1 = require("../redis/constants");
16
+ const notAuthorized_1 = require("../errors/notAuthorized");
17
+ const language_1 = require("../helper/lang/language");
18
+ const error_codes_1 = require("../helper/errorCodes/error-codes");
19
+ const currentUser = (req, res, next) => __awaiter(void 0, void 0, void 0, function* () {
20
+ if (!req.headers["authorization"])
21
+ return next();
22
+ try {
23
+ if (req.headers["authorization"]) {
24
+ const token = req.headers["authorization"].split(" ")[1];
25
+ const payload = yield Jwt_1.JWT.verifyToken(token);
26
+ if (payload.type !== Jwt_1.JWTType.ACCESS) {
27
+ throw new notAuthorized_1.NotAuthorizedError(language_1.lang.not_authorized, error_codes_1.error_codes.INVALID_AUTHORIZATION);
28
+ }
29
+ const isValidToken = yield base_1.redisWrapper.isTokenRevoked((0, constants_1.checkRevokedToken)(payload.id, token));
30
+ if (isValidToken) {
31
+ throw new notAuthorized_1.NotAuthorizedError(language_1.lang.not_authorized, error_codes_1.error_codes.INVALID_AUTHORIZATION);
32
+ }
33
+ req.currentUser = payload;
34
+ }
35
+ }
36
+ catch (error) {
37
+ console.log(error);
38
+ }
39
+ next();
40
+ });
41
+ exports.currentUser = currentUser;
@@ -0,0 +1,3 @@
1
+ import { Request, Response, NextFunction } from "express";
2
+ import { Error } from "mongoose";
3
+ export declare const errorHandler: (err: Error, req: Request, res: Response, next: NextFunction) => Response<any, Record<string, any>> | undefined;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.errorHandler = void 0;
4
+ const mongoose_1 = require("mongoose");
5
+ const custom_error_1 = require("../errors/custom-error");
6
+ const status_1 = require("../helper/status");
7
+ const error_codes_1 = require("../helper/errorCodes/error-codes");
8
+ const errorHandler = (err, req, res, next) => {
9
+ if (err instanceof custom_error_1.CustomError) {
10
+ console.log(err);
11
+ return res.status(err.statusCode).send(err.sequalizeErrors());
12
+ }
13
+ if (err instanceof mongoose_1.Error.ValidationError) {
14
+ const keys = Object.keys(err.errors);
15
+ const result = keys.map((key) => {
16
+ return {
17
+ message: err.errors[key].message,
18
+ error_code: `invalid_${err.errors[key].path}`,
19
+ };
20
+ });
21
+ return res.status(400).send({
22
+ status: status_1.Status.Failed,
23
+ data: result,
24
+ });
25
+ }
26
+ //@ts-ignore
27
+ if (err.name === "MongoServerError" && err.code === 11000) {
28
+ //@ts-ignore
29
+ const key = Object.keys(err.keyValue)[0];
30
+ //@ts-ignore
31
+ const value = Object.values(err.keyValue)[0];
32
+ const error_data = {
33
+ message: `${value} already exist!`,
34
+ error_code: `${error_codes_1.error_codes.DUPLICATE_VALUE}`,
35
+ field: `${key}`,
36
+ };
37
+ return res.status(400).send({
38
+ status: status_1.Status.Failed,
39
+ data: [error_data],
40
+ });
41
+ }
42
+ //@ts-ignore
43
+ if (err instanceof SyntaxError && err.status === 400 && "body" in err) {
44
+ // Handle JSON parsing error
45
+ return res.status(400).send({
46
+ status: status_1.Status.Failed,
47
+ data: [
48
+ {
49
+ message: "Invalid JSON Body",
50
+ error_code: `JSON_REQUEST_BODY`,
51
+ field: null,
52
+ },
53
+ ],
54
+ });
55
+ }
56
+ console.log(err);
57
+ res.status(500).send({
58
+ message: "server error",
59
+ });
60
+ };
61
+ exports.errorHandler = errorHandler;
@@ -0,0 +1,10 @@
1
+ import { NextFunction, Request, Response } from "express";
2
+ import { JWT_Data } from "../services/Jwt";
3
+ declare global {
4
+ namespace Express {
5
+ interface Request {
6
+ currentUser?: JWT_Data;
7
+ }
8
+ }
9
+ }
10
+ export declare const hasPermission: (permissionCode: string) => (req: Request, res: Response, next: NextFunction) => Promise<void>;