@6thbridge/utils 0.3.8 → 1.0.0
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/lib/actions/charge.action.d.ts +0 -18
- package/lib/actions/charge.action.js +3 -34
- package/lib/actions/charge.action.js.map +1 -1
- package/lib/actions/charge.action.test.js +0 -42
- package/lib/actions/charge.action.test.js.map +1 -1
- package/lib/actions/index.d.ts +5 -11
- package/lib/actions/index.js +7 -34
- package/lib/actions/index.js.map +1 -1
- package/lib/actions/permission.action.js +2 -2
- package/lib/actions/permission.action.js.map +1 -1
- package/lib/actions/route.action.js +4 -3
- package/lib/actions/route.action.js.map +1 -1
- package/lib/{translations/index.d.ts → actions/translation.action.d.ts} +3 -1
- package/lib/{translations/index.js → actions/translation.action.js} +15 -12
- package/lib/actions/translation.action.js.map +1 -0
- package/lib/brokers/index.d.ts +1 -2
- package/lib/brokers/index.js +1 -3
- package/lib/brokers/index.js.map +1 -1
- package/lib/brokers/rabbitmq.d.ts +102 -5
- package/lib/brokers/rabbitmq.js +111 -6
- package/lib/brokers/rabbitmq.js.map +1 -1
- package/lib/data/index.d.ts +2 -0
- package/lib/data/index.js +19 -0
- package/lib/data/index.js.map +1 -0
- package/lib/data/rabbitmq/index.d.ts +57 -0
- package/lib/data/rabbitmq/index.js +231 -0
- package/lib/data/rabbitmq/index.js.map +1 -0
- package/lib/data/rabbitmq/rabbitmq.test.js +71 -0
- package/lib/data/rabbitmq/rabbitmq.test.js.map +1 -0
- package/lib/data/redis/index.d.ts +32 -0
- package/lib/data/redis/index.js +70 -0
- package/lib/data/redis/index.js.map +1 -0
- package/lib/{actions/queue.action.js → data/redis/redis-example.js} +14 -6
- package/lib/data/redis/redis-example.js.map +1 -0
- package/lib/database/MongoDBRepository.d.ts +5 -3
- package/lib/database/MongoDBRepository.js +2 -2
- package/lib/database/MongoDBRepository.js.map +1 -1
- package/lib/database/index.d.ts +2 -3
- package/lib/database/index.js +4 -16
- package/lib/database/index.js.map +1 -1
- package/lib/index.d.ts +13 -17
- package/lib/index.js +18 -40
- package/lib/index.js.map +1 -1
- package/lib/logger/index.d.ts +2 -0
- package/lib/logger/index.js +16 -0
- package/lib/logger/index.js.map +1 -1
- package/lib/logger/logger-test.js +2 -2
- package/lib/logger/logger-test.js.map +1 -1
- package/lib/logger/logger.d.ts +3 -3
- package/lib/logger/logger.js +2 -2
- package/lib/logger/logger.js.map +1 -1
- package/lib/{test/logger → logger}/test.spec.js +1 -1
- package/lib/logger/test.spec.js.map +1 -0
- package/lib/middlewares/common.js +3 -4
- package/lib/middlewares/common.js.map +1 -1
- package/lib/middlewares/index.d.ts +1 -2
- package/lib/middlewares/index.js +1 -3
- package/lib/middlewares/index.js.map +1 -1
- package/lib/monitoring/index.js +3 -2
- package/lib/monitoring/index.js.map +1 -1
- package/lib/responses/express.d.ts +2 -0
- package/lib/responses/express.js +7 -31
- package/lib/responses/express.js.map +1 -1
- package/lib/responses/index.d.ts +1 -2
- package/lib/responses/index.js +1 -3
- package/lib/responses/index.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/lib/types/broker.entity.d.ts +1 -0
- package/lib/types/index.d.ts +13 -13
- package/lib/types/index.js +13 -17
- package/lib/types/index.js.map +1 -1
- package/lib/types/wallet.entity.d.ts +9 -0
- package/lib/{actions/currency.action.d.ts → utils/amount.d.ts} +12 -10
- package/lib/{actions/currency.action.js → utils/amount.js} +42 -38
- package/lib/utils/amount.js.map +1 -0
- package/lib/{test/actions/amount.action.test.js → utils/amount.test.js} +17 -17
- package/lib/utils/amount.test.js.map +1 -0
- package/lib/{actions/database.action.d.ts → utils/database.d.ts} +1 -1
- package/lib/{actions/database.action.js → utils/database.js} +10 -7
- package/lib/utils/database.js.map +1 -0
- package/lib/{actions/database.action.spec.js → utils/database.spec.js} +35 -39
- package/lib/utils/database.spec.js.map +1 -0
- package/lib/{actions/file.action.d.ts → utils/file.d.ts} +1 -1
- package/lib/{actions/file.action.js → utils/file.js} +4 -4
- package/lib/utils/file.js.map +1 -0
- package/lib/utils/helper.d.ts +10 -0
- package/lib/utils/helper.js +86 -0
- package/lib/utils/helper.js.map +1 -0
- package/lib/utils/helper.spec.js +203 -0
- package/lib/utils/helper.spec.js.map +1 -0
- package/lib/{http/axios.d.ts → utils/http.d.ts} +4 -0
- package/lib/{http/axios.js → utils/http.js} +12 -3
- package/lib/utils/http.js.map +1 -0
- package/lib/utils/index.d.ts +8 -0
- package/lib/utils/index.js +25 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/{actions/phone-number.action.d.ts → utils/phoneNumber.d.ts} +22 -19
- package/lib/{actions/phone-number.action.js → utils/phoneNumber.js} +41 -41
- package/lib/utils/phoneNumber.js.map +1 -0
- package/lib/utils/phoneNumber.spec.js +60 -0
- package/lib/utils/phoneNumber.spec.js.map +1 -0
- package/lib/utils/reference.d.ts +7 -0
- package/lib/utils/reference.js +44 -0
- package/lib/utils/reference.js.map +1 -0
- package/lib/utils/reference.spec.d.ts +1 -0
- package/lib/utils/reference.spec.js +34 -0
- package/lib/utils/reference.spec.js.map +1 -0
- package/lib/utils/validator.d.ts +20 -0
- package/lib/utils/validator.js +56 -0
- package/lib/utils/validator.js.map +1 -0
- package/package.json +4 -3
- package/readme.md +347 -47
- package/lib/actions/amount.action.d.ts +0 -10
- package/lib/actions/amount.action.js +0 -40
- package/lib/actions/amount.action.js.map +0 -1
- package/lib/actions/currency.action.js.map +0 -1
- package/lib/actions/database.action.js.map +0 -1
- package/lib/actions/database.action.spec.js.map +0 -1
- package/lib/actions/file.action.js.map +0 -1
- package/lib/actions/phone-number.action.js.map +0 -1
- package/lib/actions/queue.action.d.ts +0 -3
- package/lib/actions/queue.action.js.map +0 -1
- package/lib/brokers/kafka.d.ts +0 -84
- package/lib/brokers/kafka.js +0 -275
- package/lib/brokers/kafka.js.map +0 -1
- package/lib/brokers/kafka.test.js +0 -117
- package/lib/brokers/kafka.test.js.map +0 -1
- package/lib/database/MongoDBTypeRepository.d.ts +0 -77
- package/lib/database/MongoDBTypeRepository.js +0 -85
- package/lib/database/MongoDBTypeRepository.js.map +0 -1
- package/lib/database/query.d.ts +0 -18
- package/lib/database/query.js +0 -30
- package/lib/database/query.js.map +0 -1
- package/lib/helpers/errors.d.ts +0 -15
- package/lib/helpers/errors.js +0 -29
- package/lib/helpers/errors.js.map +0 -1
- package/lib/helpers/index.d.ts +0 -58
- package/lib/helpers/index.js +0 -226
- package/lib/helpers/index.js.map +0 -1
- package/lib/helpers/utils.d.ts +0 -9
- package/lib/helpers/utils.js +0 -17
- package/lib/helpers/utils.js.map +0 -1
- package/lib/http/axios.js.map +0 -1
- package/lib/middlewares/fastify.d.ts +0 -4
- package/lib/middlewares/fastify.js +0 -73
- package/lib/middlewares/fastify.js.map +0 -1
- package/lib/responses/fastify.d.ts +0 -4
- package/lib/responses/fastify.js +0 -25
- package/lib/responses/fastify.js.map +0 -1
- package/lib/secrets/aws-secret.d.ts +0 -4
- package/lib/secrets/aws-secret.js +0 -55
- package/lib/secrets/aws-secret.js.map +0 -1
- package/lib/secrets/index.d.ts +0 -8
- package/lib/secrets/index.js +0 -18
- package/lib/secrets/index.js.map +0 -1
- package/lib/test/actions/amount.action.test.js.map +0 -1
- package/lib/test/database/test.spec.js +0 -91
- package/lib/test/database/test.spec.js.map +0 -1
- package/lib/test/helpers/PhoneNumber.spec.js +0 -82
- package/lib/test/helpers/PhoneNumber.spec.js.map +0 -1
- package/lib/test/logger/test.spec.js.map +0 -1
- package/lib/test/types/context.entity.test.js +0 -29
- package/lib/test/types/context.entity.test.js.map +0 -1
- package/lib/translations/index.js.map +0 -1
- /package/lib/{actions/database.action.spec.d.ts → data/rabbitmq/rabbitmq.test.d.ts} +0 -0
- /package/lib/{brokers/kafka.test.d.ts → data/redis/redis-example.d.ts} +0 -0
- /package/lib/{test/database → logger}/test.spec.d.ts +0 -0
- /package/lib/{test/actions/amount.action.test.d.ts → utils/amount.test.d.ts} +0 -0
- /package/lib/{test/helpers/PhoneNumber.spec.d.ts → utils/database.spec.d.ts} +0 -0
- /package/lib/{test/logger/test.spec.d.ts → utils/helper.spec.d.ts} +0 -0
- /package/lib/{test/types/context.entity.test.d.ts → utils/phoneNumber.spec.d.ts} +0 -0
package/lib/helpers/errors.js
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.resolveAxiosError = void 0;
|
|
4
|
-
;
|
|
5
|
-
function resolveAxiosError(error) {
|
|
6
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
7
|
-
let formattedError;
|
|
8
|
-
try {
|
|
9
|
-
const response = (_a = error === null || error === void 0 ? void 0 : error.response) !== null && _a !== void 0 ? _a : {};
|
|
10
|
-
formattedError = {
|
|
11
|
-
status: (_b = response === null || response === void 0 ? void 0 : response.status) !== null && _b !== void 0 ? _b : undefined,
|
|
12
|
-
statusText: (_c = response === null || response === void 0 ? void 0 : response.statusText) !== null && _c !== void 0 ? _c : error.message,
|
|
13
|
-
message: (_f = (_e = (_d = response === null || response === void 0 ? void 0 : response.data) === null || _d === void 0 ? void 0 : _d.error) !== null && _e !== void 0 ? _e : error.message) !== null && _f !== void 0 ? _f : "Unknown Error",
|
|
14
|
-
url: (_h = (_g = response === null || response === void 0 ? void 0 : response.config) === null || _g === void 0 ? void 0 : _g.url) !== null && _h !== void 0 ? _h : "",
|
|
15
|
-
params: (_k = (_j = response === null || response === void 0 ? void 0 : response.config) === null || _j === void 0 ? void 0 : _j.params) !== null && _k !== void 0 ? _k : {},
|
|
16
|
-
data: (_m = (_l = response === null || response === void 0 ? void 0 : response.config) === null || _l === void 0 ? void 0 : _l.data) !== null && _m !== void 0 ? _m : {},
|
|
17
|
-
headers: response === null || response === void 0 ? void 0 : response.headers,
|
|
18
|
-
raw: (_o = response === null || response === void 0 ? void 0 : response.data) !== null && _o !== void 0 ? _o : {},
|
|
19
|
-
stack: new Error().stack,
|
|
20
|
-
trace: (_p = error.stack) !== null && _p !== void 0 ? _p : "",
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
catch (ex) {
|
|
24
|
-
formattedError = {};
|
|
25
|
-
}
|
|
26
|
-
return formattedError;
|
|
27
|
-
}
|
|
28
|
-
exports.resolveAxiosError = resolveAxiosError;
|
|
29
|
-
//# sourceMappingURL=errors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/helpers/errors.ts"],"names":[],"mappings":";;;AAcC,CAAC;AACF,SAAgB,iBAAiB,CAAC,KAA+B;;IAC/D,IAAI,cAAmC,CAAC;IACxC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,EAAE,CAAA;QACtC,cAAc,GAAG;YACf,MAAM,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,mCAAI,SAAS;YACrC,UAAU,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,mCAAI,KAAK,CAAC,OAAO;YACjD,OAAO,EAAE,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,KAAK,mCAAI,KAAK,CAAC,OAAO,mCAAI,eAAe;YAClE,GAAG,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,GAAG,mCAAI,EAAE;YAChC,MAAM,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,MAAM,mCAAI,EAAE;YACtC,IAAI,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,IAAI,mCAAI,EAAE;YAClC,OAAO,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO;YAC1B,GAAG,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,EAAE;YACzB,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK;YACxB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE;SACzB,CAAC;IACJ,CAAC;IAAC,OAAO,EAAO,EAAE,CAAC;QACjB,cAAc,GAAG,EAAyB,CAAA;IAC5C,CAAC;IACD,OAAO,cAAc,CAAC;AACxB,CAAC;AApBD,8CAoBC"}
|
package/lib/helpers/index.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import * as Joi from 'joi';
|
|
2
|
-
import randomstring from 'randomstring';
|
|
3
|
-
import dayjs from 'dayjs';
|
|
4
|
-
import { isEmpty } from 'lodash';
|
|
5
|
-
import { CountryCode } from 'libphonenumber-js';
|
|
6
|
-
import * as errors from './errors';
|
|
7
|
-
import { resolveObjectToMongoDBQuery } from '../database/query';
|
|
8
|
-
import { CreateAxiosDefaults } from 'axios';
|
|
9
|
-
import { SaveActivityLogDTO } from '../types';
|
|
10
|
-
export declare const ACTIVITY_LOG_QUEUE = "activity.log";
|
|
11
|
-
export declare function removeFieldsWithEmptyValue(value: any): any;
|
|
12
|
-
export declare function validate(schema: any, payload: any): any;
|
|
13
|
-
export declare function validateStrict(schema: any, payload: any, options?: any): {
|
|
14
|
-
error: any;
|
|
15
|
-
data?: undefined;
|
|
16
|
-
} | {
|
|
17
|
-
data: any;
|
|
18
|
-
error?: undefined;
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* This method formats a Nigerian Phone number
|
|
22
|
-
* @param {string|Array} phoneNumber
|
|
23
|
-
* @param {string|undefined} countryCode
|
|
24
|
-
* @return "+234xxxxxxxxx"|undefined|array
|
|
25
|
-
*/
|
|
26
|
-
export declare function formatPhoneNumber(phoneNumber: string, countryCode?: string): string | undefined;
|
|
27
|
-
/**
|
|
28
|
-
* @deprecated User phone number function in actions
|
|
29
|
-
* @param phoneNumber
|
|
30
|
-
* @param countryCode
|
|
31
|
-
*/
|
|
32
|
-
export declare function isPhoneNumberValid(phoneNumber: string, countryCode: CountryCode | string): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* @deprecated User phone number function in actions
|
|
35
|
-
* @param phoneNumber
|
|
36
|
-
* @param countryCode
|
|
37
|
-
*/
|
|
38
|
-
export declare function isPhoneNumberPossible(phoneNumber: string, countryCode: CountryCode | string): boolean;
|
|
39
|
-
/**
|
|
40
|
-
* This method formats a Nigerian Phone number
|
|
41
|
-
* @param {Array} phoneNumbers
|
|
42
|
-
* @param {string|undefined} countryCode
|
|
43
|
-
* @return "+234xxxxxxxxx"|undefined|array
|
|
44
|
-
*/
|
|
45
|
-
export declare function formatPhoneNumberArray(phoneNumbers: (string | undefined)[], countryCode?: string): (string | undefined)[];
|
|
46
|
-
export declare function format(phoneNumber: string | undefined, countryCode: CountryCode): string | undefined;
|
|
47
|
-
export declare const resolveRequestQueryToMongoDBQuery: typeof resolveObjectToMongoDBQuery;
|
|
48
|
-
declare function saveActivityLog(activityLog: SaveActivityLogDTO, options?: any): Promise<void>;
|
|
49
|
-
declare const generateReference: (env: string) => string;
|
|
50
|
-
declare function generateUUID(options?: any): `${string}-${string}-${string}-${string}-${string}`;
|
|
51
|
-
declare function sleep(durationInMs?: number): Promise<unknown>;
|
|
52
|
-
export declare function getAxiosInstance(config?: CreateAxiosDefaults): import("axios").AxiosInstance;
|
|
53
|
-
export { Joi, isEmpty, dayjs, errors, saveActivityLog, randomstring, generateUUID, generateReference, sleep, };
|
|
54
|
-
export declare class Helpers {
|
|
55
|
-
static sleep(durationInMs?: number): Promise<unknown>;
|
|
56
|
-
static generateReference(env: string): string;
|
|
57
|
-
static generateUUID(options?: any): `${string}-${string}-${string}-${string}-${string}`;
|
|
58
|
-
}
|
package/lib/helpers/index.js
DELETED
|
@@ -1,226 +0,0 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
-
};
|
|
37
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.Helpers = exports.sleep = exports.generateReference = exports.generateUUID = exports.randomstring = exports.saveActivityLog = exports.errors = exports.dayjs = exports.isEmpty = exports.Joi = exports.getAxiosInstance = exports.resolveRequestQueryToMongoDBQuery = exports.format = exports.formatPhoneNumberArray = exports.isPhoneNumberPossible = exports.isPhoneNumberValid = exports.formatPhoneNumber = exports.validateStrict = exports.validate = exports.removeFieldsWithEmptyValue = exports.ACTIVITY_LOG_QUEUE = void 0;
|
|
39
|
-
const crypto_1 = require("crypto");
|
|
40
|
-
const Joi = __importStar(require("joi"));
|
|
41
|
-
exports.Joi = Joi;
|
|
42
|
-
const randomstring_1 = __importDefault(require("randomstring"));
|
|
43
|
-
exports.randomstring = randomstring_1.default;
|
|
44
|
-
const dayjs_1 = __importDefault(require("dayjs"));
|
|
45
|
-
exports.dayjs = dayjs_1.default;
|
|
46
|
-
const lodash_1 = require("lodash");
|
|
47
|
-
Object.defineProperty(exports, "isEmpty", { enumerable: true, get: function () { return lodash_1.isEmpty; } });
|
|
48
|
-
const localizedFormat_1 = __importDefault(require("dayjs/plugin/localizedFormat"));
|
|
49
|
-
const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
|
|
50
|
-
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
51
|
-
const libphonenumber_js_1 = require("libphonenumber-js");
|
|
52
|
-
const errors = __importStar(require("./errors"));
|
|
53
|
-
exports.errors = errors;
|
|
54
|
-
const query_1 = require("../database/query");
|
|
55
|
-
const axios_1 = __importDefault(require("axios"));
|
|
56
|
-
const logger_1 = require("../logger/logger");
|
|
57
|
-
const axios_2 = require("../http/axios");
|
|
58
|
-
dayjs_1.default.extend(localizedFormat_1.default);
|
|
59
|
-
dayjs_1.default.extend(timezone_1.default);
|
|
60
|
-
dayjs_1.default.extend(customParseFormat_1.default);
|
|
61
|
-
dayjs_1.default.tz.setDefault(process.env.TZ || 'Africa/Lagos');
|
|
62
|
-
/**
|
|
63
|
-
* @param {object} value
|
|
64
|
-
* @returns {object}
|
|
65
|
-
*/
|
|
66
|
-
const dataToBeRemovedArray = ['', null, undefined];
|
|
67
|
-
exports.ACTIVITY_LOG_QUEUE = 'activity.log';
|
|
68
|
-
function removeFieldsWithEmptyValue(value) {
|
|
69
|
-
const objectTobeWorkingOn = Object.assign({}, value);
|
|
70
|
-
if (typeof value != 'object')
|
|
71
|
-
return value;
|
|
72
|
-
for (const key in objectTobeWorkingOn) {
|
|
73
|
-
if (dataToBeRemovedArray.includes(objectTobeWorkingOn[key])) {
|
|
74
|
-
delete objectTobeWorkingOn[key];
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
if (Array.isArray(objectTobeWorkingOn[key])) {
|
|
78
|
-
objectTobeWorkingOn[key] = objectTobeWorkingOn[key].map(removeFieldsWithEmptyValue);
|
|
79
|
-
continue;
|
|
80
|
-
}
|
|
81
|
-
if (typeof objectTobeWorkingOn[key] === 'object') {
|
|
82
|
-
objectTobeWorkingOn[key] = removeFieldsWithEmptyValue(objectTobeWorkingOn[key]);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return objectTobeWorkingOn;
|
|
86
|
-
}
|
|
87
|
-
exports.removeFieldsWithEmptyValue = removeFieldsWithEmptyValue;
|
|
88
|
-
function validate(schema, payload) {
|
|
89
|
-
schema = Joi.object(schema);
|
|
90
|
-
const { error } = schema.validate(payload, {
|
|
91
|
-
allowUnknown: true,
|
|
92
|
-
});
|
|
93
|
-
if (error)
|
|
94
|
-
return error.details[0].message.replace(/['"]/g, '');
|
|
95
|
-
return null;
|
|
96
|
-
}
|
|
97
|
-
exports.validate = validate;
|
|
98
|
-
function validateStrict(schema, payload, options = {}) {
|
|
99
|
-
schema = Joi.object(schema);
|
|
100
|
-
const { error, value } = schema.validate(payload, Object.assign({ allowUnknown: true }, options));
|
|
101
|
-
if (error)
|
|
102
|
-
return { error: error.details[0].message.replace(/['"]/g, '') };
|
|
103
|
-
return { data: value };
|
|
104
|
-
}
|
|
105
|
-
exports.validateStrict = validateStrict;
|
|
106
|
-
/**
|
|
107
|
-
* This method formats a Nigerian Phone number
|
|
108
|
-
* @param {string|Array} phoneNumber
|
|
109
|
-
* @param {string|undefined} countryCode
|
|
110
|
-
* @return "+234xxxxxxxxx"|undefined|array
|
|
111
|
-
*/
|
|
112
|
-
function formatPhoneNumber(phoneNumber, countryCode = 'NG') {
|
|
113
|
-
if ((0, lodash_1.isEmpty)(phoneNumber))
|
|
114
|
-
return phoneNumber;
|
|
115
|
-
return format(phoneNumber, countryCode);
|
|
116
|
-
}
|
|
117
|
-
exports.formatPhoneNumber = formatPhoneNumber;
|
|
118
|
-
/**
|
|
119
|
-
* @deprecated User phone number function in actions
|
|
120
|
-
* @param phoneNumber
|
|
121
|
-
* @param countryCode
|
|
122
|
-
*/
|
|
123
|
-
function isPhoneNumberValid(phoneNumber, countryCode) {
|
|
124
|
-
return (0, libphonenumber_js_1.isValidNumberForRegion)(phoneNumber, countryCode);
|
|
125
|
-
}
|
|
126
|
-
exports.isPhoneNumberValid = isPhoneNumberValid;
|
|
127
|
-
/**
|
|
128
|
-
* @deprecated User phone number function in actions
|
|
129
|
-
* @param phoneNumber
|
|
130
|
-
* @param countryCode
|
|
131
|
-
*/
|
|
132
|
-
function isPhoneNumberPossible(phoneNumber, countryCode) {
|
|
133
|
-
return (0, libphonenumber_js_1.isPossiblePhoneNumber)(phoneNumber, countryCode);
|
|
134
|
-
}
|
|
135
|
-
exports.isPhoneNumberPossible = isPhoneNumberPossible;
|
|
136
|
-
/**
|
|
137
|
-
* This method formats a Nigerian Phone number
|
|
138
|
-
* @param {Array} phoneNumbers
|
|
139
|
-
* @param {string|undefined} countryCode
|
|
140
|
-
* @return "+234xxxxxxxxx"|undefined|array
|
|
141
|
-
*/
|
|
142
|
-
function formatPhoneNumberArray(phoneNumbers, countryCode = 'NG') {
|
|
143
|
-
if ((0, lodash_1.isEmpty)(phoneNumbers))
|
|
144
|
-
return phoneNumbers;
|
|
145
|
-
return phoneNumbers.filter(Boolean).map((phone) => {
|
|
146
|
-
return format(phone, countryCode);
|
|
147
|
-
});
|
|
148
|
-
}
|
|
149
|
-
exports.formatPhoneNumberArray = formatPhoneNumberArray;
|
|
150
|
-
function format(phoneNumber, countryCode) {
|
|
151
|
-
if (!phoneNumber)
|
|
152
|
-
return undefined;
|
|
153
|
-
phoneNumber = phoneNumber.toString().replace(/\D/g, '');
|
|
154
|
-
const response = (0, libphonenumber_js_1.parsePhoneNumberFromString)(phoneNumber, countryCode);
|
|
155
|
-
if (!response || (0, lodash_1.isEmpty)(response))
|
|
156
|
-
return undefined;
|
|
157
|
-
return `${response.countryCallingCode}${response.nationalNumber}`;
|
|
158
|
-
}
|
|
159
|
-
exports.format = format;
|
|
160
|
-
exports.resolveRequestQueryToMongoDBQuery = query_1.resolveObjectToMongoDBQuery;
|
|
161
|
-
function saveActivityLog(activityLog_1) {
|
|
162
|
-
return __awaiter(this, arguments, void 0, function* (activityLog, options = {}) {
|
|
163
|
-
var _a;
|
|
164
|
-
if (!options.broker && !process.env.USER_SERVICE_URL)
|
|
165
|
-
throw Error('ActivityLog: cant post activity log, Broker and USER_SERVICE_URL is missing');
|
|
166
|
-
if (options.broker) {
|
|
167
|
-
(_a = options.broker) === null || _a === void 0 ? void 0 : _a.sendToQueue(exports.ACTIVITY_LOG_QUEUE, {
|
|
168
|
-
event: exports.ACTIVITY_LOG_QUEUE,
|
|
169
|
-
data: activityLog,
|
|
170
|
-
});
|
|
171
|
-
return;
|
|
172
|
-
}
|
|
173
|
-
axios_1.default
|
|
174
|
-
.post(`${process.env.USER_SERVICE_URL}/v1/activity-logs`, activityLog, {
|
|
175
|
-
headers: {
|
|
176
|
-
source: 'internal',
|
|
177
|
-
},
|
|
178
|
-
})
|
|
179
|
-
.catch(logger_1.logger.exception);
|
|
180
|
-
return;
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
exports.saveActivityLog = saveActivityLog;
|
|
184
|
-
const generateReference = (env) => {
|
|
185
|
-
return Helpers.generateReference(env);
|
|
186
|
-
};
|
|
187
|
-
exports.generateReference = generateReference;
|
|
188
|
-
function generateUUID(options) {
|
|
189
|
-
return Helpers.generateUUID(options);
|
|
190
|
-
}
|
|
191
|
-
exports.generateUUID = generateUUID;
|
|
192
|
-
function sleep() {
|
|
193
|
-
return __awaiter(this, arguments, void 0, function* (durationInMs = 1000) {
|
|
194
|
-
return Helpers.sleep(durationInMs);
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
exports.sleep = sleep;
|
|
198
|
-
function getAxiosInstance(config) {
|
|
199
|
-
return axios_2.AxiosClass.getAxiosInstance(config);
|
|
200
|
-
}
|
|
201
|
-
exports.getAxiosInstance = getAxiosInstance;
|
|
202
|
-
class Helpers {
|
|
203
|
-
static sleep() {
|
|
204
|
-
return __awaiter(this, arguments, void 0, function* (durationInMs = 1000) {
|
|
205
|
-
return new Promise((resolve) => setTimeout(resolve, durationInMs));
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
static generateReference(env) {
|
|
209
|
-
const envCode = env == 'production' ? 'L' : 'D';
|
|
210
|
-
// return clientId.toUpperCase() + envCode + dayjs().format("YYYYMMDDHHmmss").toString() +
|
|
211
|
-
return (envCode +
|
|
212
|
-
(0, dayjs_1.default)().format('YYYYMMDDHHmmss').toString() +
|
|
213
|
-
randomstring_1.default
|
|
214
|
-
.generate({
|
|
215
|
-
length: 5,
|
|
216
|
-
charset: 'alphabetic',
|
|
217
|
-
})
|
|
218
|
-
.toUpperCase());
|
|
219
|
-
}
|
|
220
|
-
;
|
|
221
|
-
static generateUUID(options) {
|
|
222
|
-
return (0, crypto_1.randomUUID)(options);
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
exports.Helpers = Helpers;
|
|
226
|
-
//# sourceMappingURL=index.js.map
|
package/lib/helpers/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":"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"}
|
package/lib/helpers/utils.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { RequestUserEntity, UserEntity } from '../types';
|
|
2
|
-
declare function getUserFirstName(user: RequestUserEntity | UserEntity): string | undefined;
|
|
3
|
-
export declare class FormatUserOrGetUserByIdPayload {
|
|
4
|
-
userServiceURL?: string;
|
|
5
|
-
userId?: string;
|
|
6
|
-
user?: UserEntity | RequestUserEntity;
|
|
7
|
-
}
|
|
8
|
-
declare function formatUserOrGetUserById(payload: FormatUserOrGetUserByIdPayload): void;
|
|
9
|
-
export { getUserFirstName, formatUserOrGetUserById };
|
package/lib/helpers/utils.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.formatUserOrGetUserById = exports.getUserFirstName = exports.FormatUserOrGetUserByIdPayload = void 0;
|
|
4
|
-
function getUserFirstName(user) {
|
|
5
|
-
var _a;
|
|
6
|
-
return user.firstName || ((_a = user.name) === null || _a === void 0 ? void 0 : _a.split(' ')[0]) || user.name;
|
|
7
|
-
}
|
|
8
|
-
exports.getUserFirstName = getUserFirstName;
|
|
9
|
-
class FormatUserOrGetUserByIdPayload {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.userServiceURL = 'http://user-service';
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.FormatUserOrGetUserByIdPayload = FormatUserOrGetUserByIdPayload;
|
|
15
|
-
function formatUserOrGetUserById(payload) { }
|
|
16
|
-
exports.formatUserOrGetUserById = formatUserOrGetUserById;
|
|
17
|
-
//# sourceMappingURL=utils.js.map
|
package/lib/helpers/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/helpers/utils.ts"],"names":[],"mappings":";;;AAEA,SAAS,gBAAgB,CAAC,IAAoC;;IAC5D,OAAO,IAAI,CAAC,SAAS,KAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA,IAAI,IAAI,CAAC,IAAI,CAAC;AACjE,CAAC;AASQ,4CAAgB;AAPzB,MAAa,8BAA8B;IAA3C;QACE,mBAAc,GAAY,qBAAqB,CAAC;IAGlD,CAAC;CAAA;AAJD,wEAIC;AACD,SAAS,uBAAuB,CAAC,OAAuC,IAAG,CAAC;AAEjD,0DAAuB"}
|
package/lib/http/axios.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"axios.js","sourceRoot":"","sources":["../../src/http/axios.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA+D;AAC/D,sFAA4D;AAgB5D,MAAa,UAAU;IACrB,MAAM,CAAC,iBAAiB,CAAC,KAA+B;;QACtD,IAAI,cAAmC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,mCAAI,EAAE,CAAA;YACtC,cAAc,GAAG;gBACf,MAAM,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,mCAAI,SAAS;gBACrC,UAAU,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,mCAAI,KAAK,CAAC,OAAO;gBACjD,OAAO,EAAE,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,KAAK,mCAAI,KAAK,CAAC,OAAO,mCAAI,eAAe;gBAClE,GAAG,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,GAAG,mCAAI,EAAE;gBAChC,MAAM,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,MAAM,mCAAI,EAAE;gBACtC,IAAI,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,0CAAE,IAAI,mCAAI,EAAE;gBAClC,OAAO,EAAE,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO;gBAC1B,GAAG,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,mCAAI,EAAE;gBACzB,KAAK,EAAE,IAAI,KAAK,EAAE,CAAC,KAAK;gBACxB,KAAK,EAAE,MAAA,KAAK,CAAC,KAAK,mCAAI,EAAE;aACzB,CAAC;QACJ,CAAC;QAAC,OAAO,EAAO,EAAE,CAAC;YACjB,cAAc,GAAG,EAAyB,CAAA;QAC5C,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,MAAM,CAAC,gBAAgB,CAAC,MAA4B;QAClD,MAAM,QAAQ,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,IAAA,iCAAqB,EAAC,QAAQ,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AA3BD,gCA2BC"}
|
|
@@ -1,73 +0,0 @@
|
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
-
});
|
|
33
|
-
};
|
|
34
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.registerLogger = exports.can = void 0;
|
|
36
|
-
const response = __importStar(require("../responses/fastify"));
|
|
37
|
-
const common_1 = require("./common");
|
|
38
|
-
const logger_1 = require("../logger/logger");
|
|
39
|
-
const can = (supportedAuthenticationType = [], permissions = [], options = {
|
|
40
|
-
matchAll: true,
|
|
41
|
-
}) => {
|
|
42
|
-
if (permissions.constructor.name === 'IncomingMessage') {
|
|
43
|
-
throw new Error('It appears you have done something like `app.use(can)`, but it should be `app.use(can())`.');
|
|
44
|
-
}
|
|
45
|
-
return (req, res) => __awaiter(void 0, void 0, void 0, function* () {
|
|
46
|
-
const { error, data } = yield (0, common_1.getContext)(req, supportedAuthenticationType, permissions);
|
|
47
|
-
if (error) {
|
|
48
|
-
return response.error(res, error || 'You are not authorized to access this resource!!!');
|
|
49
|
-
}
|
|
50
|
-
res.locals = data;
|
|
51
|
-
req.context = data;
|
|
52
|
-
res.header('x-request-id', data.requestId);
|
|
53
|
-
return;
|
|
54
|
-
});
|
|
55
|
-
};
|
|
56
|
-
exports.can = can;
|
|
57
|
-
const registerLogger = (req, res) => {
|
|
58
|
-
if (res.locals.logger)
|
|
59
|
-
return;
|
|
60
|
-
const params = {
|
|
61
|
-
requestId: req.header('x-request-id') || Math.random().toString(),
|
|
62
|
-
requestClientId: req.header('request-client-id') || req.header('client-id'),
|
|
63
|
-
contextClientId: req.header('context-client-id') || req.header('client-id'),
|
|
64
|
-
ip: req.headers['cf-connecting-ip'] || req.ip,
|
|
65
|
-
url: req.url,
|
|
66
|
-
requestSource: req.header('source'),
|
|
67
|
-
};
|
|
68
|
-
res.locals.logger = new logger_1.Logger(params);
|
|
69
|
-
res.header('x-request-id', params.requestId);
|
|
70
|
-
return;
|
|
71
|
-
};
|
|
72
|
-
exports.registerLogger = registerLogger;
|
|
73
|
-
//# sourceMappingURL=fastify.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../src/middlewares/fastify.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACb,+DAAiD;AACjD,qCAAsC;AACtC,6CAA0C;AAEnC,MAAM,GAAG,GAAG,CACjB,2BAA2B,GAAG,EAAE,EAChC,WAAW,GAAG,EAAE,EAChB,OAAO,GAAG;IACR,QAAQ,EAAE,IAAI;CACf,EACD,EAAE;IACF,IAAI,WAAW,CAAC,WAAW,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACvD,MAAM,IAAI,KAAK,CACb,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAED,OAAO,CAAO,GAAQ,EAAE,GAAQ,EAAE,EAAE;QAClC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAA,mBAAU,EAAC,GAAG,EAAE,2BAA2B,EAAE,WAAW,CAAC,CAAC;QAExF,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,IAAI,mDAAmD,CAAC,CAAC;QAC3F,CAAC;QAED,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;QAClB,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3C,OAAO;IACT,CAAC,CAAA,CAAC;AACJ,CAAC,CAAC;AA1BW,QAAA,GAAG,OA0Bd;AAEK,MAAM,cAAc,GAAG,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;IACnD,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM;QAAE,OAAO;IAE9B,MAAM,MAAM,GAAQ;QAClB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjE,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3E,eAAe,EAAE,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC;QAC3E,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,EAAE;QAC7C,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC;KACpC,CAAC;IAEF,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,eAAM,CAAC,MAAM,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO;AACT,CAAC,CAAC;AAfW,QAAA,cAAc,kBAezB"}
|
package/lib/responses/fastify.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.success = exports.paginated = exports.error = void 0;
|
|
4
|
-
const success = (res, data, code = 200) => {
|
|
5
|
-
return res.status(code).send({ data });
|
|
6
|
-
};
|
|
7
|
-
exports.success = success;
|
|
8
|
-
const paginated = (res, data, code = 200) => {
|
|
9
|
-
data.page = parseInt(data.page);
|
|
10
|
-
return res.status(code).send({
|
|
11
|
-
total: data.totalDocs || data.total || 0,
|
|
12
|
-
page: data.page || 1,
|
|
13
|
-
pages: data.totalPages || data.pages || 0,
|
|
14
|
-
limit: data.limit || 50,
|
|
15
|
-
data: data.docs,
|
|
16
|
-
});
|
|
17
|
-
};
|
|
18
|
-
exports.paginated = paginated;
|
|
19
|
-
const error = (res, error = 'Oops. An Error Occurred', code = 500) => {
|
|
20
|
-
return res.status(code).send({
|
|
21
|
-
error,
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
exports.error = error;
|
|
25
|
-
//# sourceMappingURL=fastify.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fastify.js","sourceRoot":"","sources":["../../src/responses/fastify.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,MAAM,OAAO,GAAG,CAAC,GAAQ,EAAE,IAAS,EAAE,OAAe,GAAG,EAAE,EAAE;IAC1D,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC,CAAC;AAmByB,0BAAO;AAjBlC,MAAM,SAAS,GAAG,CAAC,GAAQ,EAAE,IAAS,EAAE,OAAe,GAAG,EAAE,EAAE;IAC5D,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC3B,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC;QACpB,KAAK,EAAE,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC;QACzC,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC,CAAC;AACL,CAAC,CAAC;AAOc,8BAAS;AALzB,MAAM,KAAK,GAAG,CAAC,GAAQ,EAAE,QAAsB,yBAAyB,EAAE,OAAe,GAAG,EAAE,EAAE;IAC9F,OAAO,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QAC3B,KAAK;KACN,CAAC,CAAC;AACL,CAAC,CAAC;AACO,sBAAK"}
|
|
@@ -1,55 +0,0 @@
|
|
|
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.AWSSecrets = void 0;
|
|
13
|
-
const client_secrets_manager_1 = require("@aws-sdk/client-secrets-manager");
|
|
14
|
-
class AWSSecrets {
|
|
15
|
-
loadSecretsToEnv(props) {
|
|
16
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
let response;
|
|
18
|
-
try {
|
|
19
|
-
const client = new client_secrets_manager_1.SecretsManagerClient({
|
|
20
|
-
region: props.reqion || process.env.AWS_REGION || 'us-east-1',
|
|
21
|
-
});
|
|
22
|
-
response = yield client.send(new client_secrets_manager_1.GetSecretValueCommand({
|
|
23
|
-
SecretId: props.secretName || process.env.AWS_SECRET_NAME,
|
|
24
|
-
VersionStage: 'AWSCURRENT', // VersionStage defaults to AWSCURRENT if unspecified
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
catch (error) {
|
|
28
|
-
// For a list of exceptions thrown, see
|
|
29
|
-
// https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html
|
|
30
|
-
console.log('Error fetching secrets', error);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
if (!response.SecretString)
|
|
34
|
-
return;
|
|
35
|
-
const secrets = JSON.parse(response.SecretString);
|
|
36
|
-
for (const key in secrets) {
|
|
37
|
-
if (!process.env[key]) {
|
|
38
|
-
let val = secrets[key].trim();
|
|
39
|
-
if (val === 'false')
|
|
40
|
-
val = false;
|
|
41
|
-
if (val === 'true')
|
|
42
|
-
val = true;
|
|
43
|
-
process.env[key] = val;
|
|
44
|
-
console.log(`env ${key} loaded from AWS Secrets Manager`);
|
|
45
|
-
}
|
|
46
|
-
else {
|
|
47
|
-
console.log(`env ${key} loaded from AWS but not used because it is already set`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
console.log('loaded all config from AWS');
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
exports.AWSSecrets = AWSSecrets;
|
|
55
|
-
//# sourceMappingURL=aws-secret.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"aws-secret.js","sourceRoot":"","sources":["../../src/secrets/aws-secret.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,4EAA8F;AAE9F,MAAa,UAAU;IACf,gBAAgB,CAAC,KAAuB;;YAC5C,IAAI,QAAQ,CAAC;YAEb,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,6CAAoB,CAAC;oBACtC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,WAAW;iBAC9D,CAAC,CAAC;gBACH,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAC1B,IAAI,8CAAqB,CAAC;oBACxB,QAAQ,EAAE,KAAK,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;oBACzD,YAAY,EAAE,YAAY,EAAE,qDAAqD;iBAClF,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,uCAAuC;gBACvC,yFAAyF;gBACzF,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;gBAC7C,OAAO;YACT,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,YAAY;gBAAE,OAAO;YAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;YAElD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACtB,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC9B,IAAI,GAAG,KAAK,OAAO;wBAAE,GAAG,GAAG,KAAK,CAAC;oBACjC,IAAI,GAAG,KAAK,MAAM;wBAAE,GAAG,GAAG,IAAI,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,kCAAkC,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,OAAO,GAAG,yDAAyD,CAAC,CAAC;gBACnF,CAAC;YACH,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC5C,CAAC;KAAA;CACF;AAvCD,gCAuCC"}
|
package/lib/secrets/index.d.ts
DELETED
package/lib/secrets/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GetSecrets = exports.LoadSecretsProps = void 0;
|
|
4
|
-
const aws_secret_1 = require("./aws-secret");
|
|
5
|
-
class LoadSecretsProps {
|
|
6
|
-
}
|
|
7
|
-
exports.LoadSecretsProps = LoadSecretsProps;
|
|
8
|
-
const secretsImplementations = {
|
|
9
|
-
aws: new aws_secret_1.AWSSecrets(),
|
|
10
|
-
};
|
|
11
|
-
function GetSecrets(provider = 'aws') {
|
|
12
|
-
const implementation = secretsImplementations[provider];
|
|
13
|
-
if (!implementation)
|
|
14
|
-
console.log('Oops, we are not able to find any implementation for the provider ' + provider);
|
|
15
|
-
return implementation;
|
|
16
|
-
}
|
|
17
|
-
exports.GetSecrets = GetSecrets;
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
package/lib/secrets/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/secrets/index.ts"],"names":[],"mappings":";;;AAAA,6CAA0C;AAE1C,MAAa,gBAAgB;CAG5B;AAHD,4CAGC;AAKD,MAAM,sBAAsB,GAAQ;IAClC,GAAG,EAAE,IAAI,uBAAU,EAAE;CACtB,CAAC;AAEF,SAAgB,UAAU,CAAC,WAAmB,KAAK;IACjD,MAAM,cAAc,GAAyB,sBAAsB,CAAC,QAAQ,CAAC,CAAC;IAE9E,IAAI,CAAC,cAAc;QACjB,OAAO,CAAC,GAAG,CAAC,oEAAoE,GAAG,QAAQ,CAAC,CAAC;IAE/F,OAAO,cAAc,CAAC;AACxB,CAAC;AAPD,gCAOC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"amount.action.test.js","sourceRoot":"","sources":["../../../src/test/actions/amount.action.test.ts"],"names":[],"mappings":"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"}
|