@vasrefil/api-toolkit 1.0.11 → 1.0.13
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/app-middlewares/airbrake.d.ts +11 -9
- package/dist/app-middlewares/airbrake.js +37 -44
- package/dist/app-middlewares/index.d.ts +1 -0
- package/dist/app-middlewares/index.js +17 -0
- package/dist/env.d.ts +13 -5
- package/dist/env.js +24 -7
- package/dist/interfaces/env.interface.d.ts +7 -0
- package/dist/interfaces/env.interface.js +2 -0
- package/dist/interfaces/user.interface.d.ts +64 -0
- package/dist/interfaces/user.interface.js +2 -0
- package/dist/public-api.d.ts +3 -0
- package/dist/public-api.js +5 -0
- package/dist/utilities/api-request.util.d.ts +6 -0
- package/dist/utilities/api-request.util.js +31 -0
- package/dist/utilities/index.d.ts +3 -0
- package/dist/utilities/index.js +19 -0
- package/package.json +2 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { ServiceRespI } from '../interfaces/interface';
|
|
2
|
-
declare
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
declare const airbrakeExpress: any;
|
|
3
|
+
declare const airbrake: any;
|
|
4
|
+
declare const airbrake_request_logger: (dto: {
|
|
5
|
+
serviceResponse: ServiceRespI;
|
|
6
|
+
}) => void;
|
|
7
|
+
declare const airtbrake_error_logger: (dto: {
|
|
8
|
+
error: any;
|
|
9
|
+
params: any;
|
|
10
|
+
route: any;
|
|
11
|
+
}) => void;
|
|
12
|
+
export { airbrake, airbrakeExpress, airbrake_request_logger, airtbrake_error_logger };
|
|
@@ -3,56 +3,49 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
6
|
+
exports.airtbrake_error_logger = exports.airbrake_request_logger = exports.airbrakeExpress = exports.airbrake = void 0;
|
|
7
7
|
const env_1 = __importDefault(require("../env"));
|
|
8
8
|
const Airbrake = require('@airbrake/node');
|
|
9
9
|
const airbrakeExpress = require('@airbrake/node/dist/instrumentation/express');
|
|
10
|
+
exports.airbrakeExpress = airbrakeExpress;
|
|
10
11
|
const json_stringify_safe = require('json-stringify-safe');
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const airbrake = new Airbrake.Notifier({
|
|
13
|
+
projectId: env_1.default.AIRBRAKE.PROJECT_ID,
|
|
14
|
+
projectKey: env_1.default.AIRBRAKE.PROJECT_KEY,
|
|
15
|
+
environment: `${env_1.default.NODE_ENV}`
|
|
16
|
+
});
|
|
17
|
+
exports.airbrake = airbrake;
|
|
18
|
+
const airbrake_request_logger = (dto) => {
|
|
19
|
+
try {
|
|
20
|
+
const { request, error, data, message, actionType } = dto.serviceResponse;
|
|
21
|
+
const dataErr = data ? json_stringify_safe(data) : null;
|
|
22
|
+
const errorErr = error ? json_stringify_safe(error, null) : null;
|
|
23
|
+
const messageErr = message ? json_stringify_safe(message) : null;
|
|
24
|
+
const error_ = messageErr || errorErr || dataErr;
|
|
25
|
+
const actionType_ = actionType || 'App Error';
|
|
26
|
+
const body = request && request.body ? request.body : 'no body';
|
|
27
|
+
const url = request && request.url ? request.url : 'no url';
|
|
28
|
+
airbrake.notify({
|
|
29
|
+
error: error_,
|
|
30
|
+
params: { url, body, actionType: actionType_ },
|
|
31
|
+
route: url
|
|
17
32
|
});
|
|
18
33
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const { request, error, data, message, actionType } = serviceResponse;
|
|
22
|
-
const dataErr = data ? json_stringify_safe(data) : null;
|
|
23
|
-
const errorErr = error ? json_stringify_safe(error, null) : null;
|
|
24
|
-
const messageErr = message ? json_stringify_safe(message) : null;
|
|
25
|
-
const error_ = messageErr || errorErr || dataErr;
|
|
26
|
-
const actionType_ = actionType || 'App Error';
|
|
27
|
-
const body = request && request.body ? request.body : 'no body';
|
|
28
|
-
const url = request && request.url ? request.url : 'no url';
|
|
29
|
-
this.airbrake.notify({
|
|
30
|
-
error: error_,
|
|
31
|
-
params: { url, body, actionType: actionType_ },
|
|
32
|
-
route: url
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
catch (error) {
|
|
36
|
-
this.airbrake.notify(error);
|
|
37
|
-
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
airbrake.notify(error);
|
|
38
36
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
this.airbrake.notify(error);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
getAirbrakeInstance() {
|
|
52
|
-
return this.airbrake;
|
|
37
|
+
};
|
|
38
|
+
exports.airbrake_request_logger = airbrake_request_logger;
|
|
39
|
+
const airtbrake_error_logger = (dto) => {
|
|
40
|
+
try {
|
|
41
|
+
airbrake.notify({
|
|
42
|
+
error: json_stringify_safe(dto.error, null),
|
|
43
|
+
params: dto.params,
|
|
44
|
+
route: dto.route
|
|
45
|
+
});
|
|
53
46
|
}
|
|
54
|
-
|
|
55
|
-
|
|
47
|
+
catch (error) {
|
|
48
|
+
airbrake.notify(error);
|
|
56
49
|
}
|
|
57
|
-
}
|
|
58
|
-
exports.
|
|
50
|
+
};
|
|
51
|
+
exports.airtbrake_error_logger = airtbrake_error_logger;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './airbrake';
|
|
@@ -0,0 +1,17 @@
|
|
|
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
|
+
__exportStar(require("./airbrake"), exports);
|
package/dist/env.d.ts
CHANGED
|
@@ -1,12 +1,20 @@
|
|
|
1
|
+
import { EnvsI } from "./interfaces/env.interface";
|
|
2
|
+
declare enum NODE_ENVS {
|
|
3
|
+
DEV = "dev",
|
|
4
|
+
PROD = "prod",
|
|
5
|
+
LOCAL = "local"
|
|
6
|
+
}
|
|
1
7
|
declare const env: {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
8
|
+
NODE_ENV: NODE_ENVS;
|
|
9
|
+
MONGODB_URI: string;
|
|
10
|
+
VASREFIL: {
|
|
11
|
+
BASEURL: string;
|
|
12
|
+
API_KEY: string | undefined;
|
|
13
|
+
};
|
|
7
14
|
AIRBRAKE: {
|
|
8
15
|
PROJECT_ID: string | undefined;
|
|
9
16
|
PROJECT_KEY: string | undefined;
|
|
10
17
|
};
|
|
11
18
|
};
|
|
19
|
+
export declare const setEnvs: (payload: EnvsI) => void;
|
|
12
20
|
export default env;
|
package/dist/env.js
CHANGED
|
@@ -1,16 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
exports.setEnvs = void 0;
|
|
4
|
+
var NODE_ENVS;
|
|
5
|
+
(function (NODE_ENVS) {
|
|
6
|
+
NODE_ENVS["DEV"] = "dev";
|
|
7
|
+
NODE_ENVS["PROD"] = "prod";
|
|
8
|
+
NODE_ENVS["LOCAL"] = "local";
|
|
9
|
+
})(NODE_ENVS || (NODE_ENVS = {}));
|
|
10
|
+
let NODE_ENV = '';
|
|
5
11
|
const env = {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
12
|
+
NODE_ENV,
|
|
13
|
+
MONGODB_URI: '',
|
|
14
|
+
VASREFIL: {
|
|
15
|
+
BASEURL: NODE_ENV === NODE_ENVS.PROD ? 'https://api.vasrefil.com' : 'https://api-v2-test.vasrefil.com',
|
|
16
|
+
API_KEY: process.env.VASREFIL_API_KEY
|
|
17
|
+
},
|
|
11
18
|
AIRBRAKE: {
|
|
12
19
|
PROJECT_ID: process.env.AIRBRAKE_PROJECT_ID,
|
|
13
20
|
PROJECT_KEY: process.env.AIRBRAKE_PROJECT_KEY
|
|
14
21
|
},
|
|
15
22
|
};
|
|
23
|
+
const setEnvs = (payload) => {
|
|
24
|
+
NODE_ENV = payload.NODE_ENV;
|
|
25
|
+
env.AIRBRAKE.PROJECT_ID = payload.AIRBRAKE_PROJECT_ID;
|
|
26
|
+
env.AIRBRAKE.PROJECT_KEY = payload.AIRBRAKE_PROJECT_KEY;
|
|
27
|
+
env.VASREFIL.API_KEY = payload.VASREFIL_API_KEY;
|
|
28
|
+
if (payload.VASREFIL_BASEURL) {
|
|
29
|
+
env.VASREFIL.BASEURL = payload.VASREFIL_BASEURL;
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
exports.setEnvs = setEnvs;
|
|
16
33
|
exports.default = env;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export interface UserI {
|
|
2
|
+
_id: string;
|
|
3
|
+
first_name: string;
|
|
4
|
+
last_name: string;
|
|
5
|
+
middle_name: string;
|
|
6
|
+
email: string;
|
|
7
|
+
email_verified: boolean;
|
|
8
|
+
email_verification_code: string;
|
|
9
|
+
user_name: string;
|
|
10
|
+
password: string;
|
|
11
|
+
balance: number;
|
|
12
|
+
level: number;
|
|
13
|
+
phone: string;
|
|
14
|
+
signup_code: string;
|
|
15
|
+
pin?: string;
|
|
16
|
+
password_reset_code?: string;
|
|
17
|
+
pin_reset_code?: string;
|
|
18
|
+
profile_image_url?: string;
|
|
19
|
+
referrer_commission?: string;
|
|
20
|
+
device_unique_id?: string;
|
|
21
|
+
is_active?: boolean;
|
|
22
|
+
is_deleted?: boolean;
|
|
23
|
+
delete_account_code?: string;
|
|
24
|
+
pin_is_set?: boolean;
|
|
25
|
+
date_of_birth?: Date;
|
|
26
|
+
gender: 'Male' | 'Female';
|
|
27
|
+
bvn?: string;
|
|
28
|
+
bvn_hash?: string;
|
|
29
|
+
nin?: string;
|
|
30
|
+
nin_hash?: string;
|
|
31
|
+
bvn_phone?: string;
|
|
32
|
+
marketing_channel?: string;
|
|
33
|
+
onesignal_player_id_is_set?: boolean;
|
|
34
|
+
vas_service_fee?: number;
|
|
35
|
+
api_key: string;
|
|
36
|
+
bvn_verification_code?: string;
|
|
37
|
+
whatsapp_number?: string;
|
|
38
|
+
address_info: {
|
|
39
|
+
address: string;
|
|
40
|
+
city: string;
|
|
41
|
+
state: string;
|
|
42
|
+
};
|
|
43
|
+
can_use_voucher?: boolean;
|
|
44
|
+
createdAt?: Date;
|
|
45
|
+
}
|
|
46
|
+
export interface UserWalletOperationI {
|
|
47
|
+
find_user_condition: object;
|
|
48
|
+
amount: number;
|
|
49
|
+
action_type: string;
|
|
50
|
+
meta?: Object;
|
|
51
|
+
}
|
|
52
|
+
export interface UserWalletOperationRespI {
|
|
53
|
+
data: {
|
|
54
|
+
user: UserI;
|
|
55
|
+
user_balance: {
|
|
56
|
+
initial_balance: number;
|
|
57
|
+
final_balance: number;
|
|
58
|
+
};
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export interface CheckUserWalletBalanceRespI {
|
|
62
|
+
amount: number;
|
|
63
|
+
user: UserI;
|
|
64
|
+
}
|
package/dist/public-api.d.ts
CHANGED
package/dist/public-api.js
CHANGED
|
@@ -14,5 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.setEnvs = void 0;
|
|
17
18
|
__exportStar(require("./controllers"), exports);
|
|
18
19
|
__exportStar(require("./helpers"), exports);
|
|
20
|
+
__exportStar(require("./utilities"), exports);
|
|
21
|
+
__exportStar(require("./app-middlewares"), exports);
|
|
22
|
+
var env_1 = require("./env");
|
|
23
|
+
Object.defineProperty(exports, "setEnvs", { enumerable: true, get: function () { return env_1.setEnvs; } });
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.VasrefilApiRequest = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const env_1 = __importDefault(require("../env"));
|
|
9
|
+
const helpers_1 = require("../helpers");
|
|
10
|
+
const API_KEY = env_1.default.VASREFIL.API_KEY;
|
|
11
|
+
const BASEURL = env_1.default.VASREFIL.BASEURL;
|
|
12
|
+
const VasrefilApiRequest = async (request) => {
|
|
13
|
+
try {
|
|
14
|
+
const headers = { 'api-key': API_KEY };
|
|
15
|
+
const { data } = await axios_1.default.request({
|
|
16
|
+
method: request.method,
|
|
17
|
+
url: `${BASEURL}/${request.endpoint}`,
|
|
18
|
+
data: request.body,
|
|
19
|
+
headers,
|
|
20
|
+
params: request.params,
|
|
21
|
+
});
|
|
22
|
+
return data;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
throw {
|
|
26
|
+
error: helpers_1.RequestHelper.get_error(error),
|
|
27
|
+
admin_message: 'Vasrefil-API: send api request failed'
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
exports.VasrefilApiRequest = VasrefilApiRequest;
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
__exportStar(require("./api-request.util"), exports);
|
|
18
|
+
__exportStar(require("./date.util"), exports);
|
|
19
|
+
__exportStar(require("./logger.util"), exports);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vasrefil/api-toolkit",
|
|
3
3
|
"description": "This is Vasrefil API toolkit",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.13",
|
|
5
5
|
"author": "Sodiq Alabi",
|
|
6
6
|
"main": "dist/public-api.js",
|
|
7
7
|
"types": "dist/public-api.d.ts",
|
|
@@ -20,6 +20,7 @@
|
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"@airbrake/node": "^2.1.8",
|
|
22
22
|
"@types/jsonwebtoken": "^8.5.0",
|
|
23
|
+
"axios": "^1.7.8",
|
|
23
24
|
"bcrypt": "^5.0.1",
|
|
24
25
|
"bcrypt-nodejs": "0.0.3",
|
|
25
26
|
"chalk": "^4.1.0",
|