@hyper.software/common-helpers 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.
- package/README.md +0 -0
- package/lib/errors/CriticalError.d.ts +11 -0
- package/lib/errors/CriticalError.js +38 -0
- package/lib/errors/CriticalError.js.map +1 -0
- package/lib/errors/ValidationError.d.ts +11 -0
- package/lib/errors/ValidationError.js +38 -0
- package/lib/errors/ValidationError.js.map +1 -0
- package/lib/errors/ValidationErrorSilent.d.ts +4 -0
- package/lib/errors/ValidationErrorSilent.js +29 -0
- package/lib/errors/ValidationErrorSilent.js.map +1 -0
- package/lib/errors/ValidationErrorWithStatus.d.ts +11 -0
- package/lib/errors/ValidationErrorWithStatus.js +39 -0
- package/lib/errors/ValidationErrorWithStatus.js.map +1 -0
- package/lib/errors/ValidationErrorWithStatusSilent.d.ts +4 -0
- package/lib/errors/ValidationErrorWithStatusSilent.js +29 -0
- package/lib/errors/ValidationErrorWithStatusSilent.js.map +1 -0
- package/lib/errors/__mocks__/errors.mock.d.ts +75 -0
- package/lib/errors/__mocks__/errors.mock.js +92 -0
- package/lib/errors/__mocks__/errors.mock.js.map +1 -0
- package/lib/errors/__tests__/errorMappers.test.d.ts +1 -0
- package/lib/errors/__tests__/errorMappers.test.js +30 -0
- package/lib/errors/__tests__/errorMappers.test.js.map +1 -0
- package/lib/errors/__tests__/errors.test.d.ts +1 -0
- package/lib/errors/__tests__/errors.test.js +82 -0
- package/lib/errors/__tests__/errors.test.js.map +1 -0
- package/lib/errors/errorMappers.d.ts +18 -0
- package/lib/errors/errorMappers.js +153 -0
- package/lib/errors/errorMappers.js.map +1 -0
- package/lib/errors/errors.types.d.ts +15 -0
- package/lib/errors/errors.types.js +9 -0
- package/lib/errors/errors.types.js.map +1 -0
- package/lib/errors/index.d.ts +5 -0
- package/lib/errors/index.js +13 -0
- package/lib/errors/index.js.map +1 -0
- package/lib/express/__tests__/swaggerHelpers.test.d.ts +1 -0
- package/lib/express/__tests__/swaggerHelpers.test.js +57 -0
- package/lib/express/__tests__/swaggerHelpers.test.js.map +1 -0
- package/lib/express/middleware/aliveMiddleware/index.d.ts +10 -0
- package/lib/express/middleware/aliveMiddleware/index.js +22 -0
- package/lib/express/middleware/aliveMiddleware/index.js.map +1 -0
- package/lib/express/middleware/companyMiddleware/company.d.ts +10 -0
- package/lib/express/middleware/companyMiddleware/company.js +24 -0
- package/lib/express/middleware/companyMiddleware/company.js.map +1 -0
- package/lib/express/middleware/companyMiddleware/companyApiRequest.d.ts +7 -0
- package/lib/express/middleware/companyMiddleware/companyApiRequest.js +18 -0
- package/lib/express/middleware/companyMiddleware/companyApiRequest.js.map +1 -0
- package/lib/express/middleware/companyMiddleware/index.d.ts +17 -0
- package/lib/express/middleware/companyMiddleware/index.js +28 -0
- package/lib/express/middleware/companyMiddleware/index.js.map +1 -0
- package/lib/express/middleware/companyMiddleware/index.types.d.ts +2 -0
- package/lib/express/middleware/companyMiddleware/index.types.js +3 -0
- package/lib/express/middleware/companyMiddleware/index.types.js.map +1 -0
- package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.d.ts +1 -0
- package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.js +97 -0
- package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.js.map +1 -0
- package/lib/express/middleware/expressErrorHandlerMiddleware/index.d.ts +15 -0
- package/lib/express/middleware/expressErrorHandlerMiddleware/index.js +82 -0
- package/lib/express/middleware/expressErrorHandlerMiddleware/index.js.map +1 -0
- package/lib/express/middleware/index.d.ts +7 -0
- package/lib/express/middleware/index.js +18 -0
- package/lib/express/middleware/index.js.map +1 -0
- package/lib/express/middleware/languageMiddleware/index.d.ts +5 -0
- package/lib/express/middleware/languageMiddleware/index.js +53 -0
- package/lib/express/middleware/languageMiddleware/index.js.map +1 -0
- package/lib/express/middleware/partnerMiddleware/index.d.ts +17 -0
- package/lib/express/middleware/partnerMiddleware/index.js +28 -0
- package/lib/express/middleware/partnerMiddleware/index.js.map +1 -0
- package/lib/express/middleware/partnerMiddleware/index.types.d.ts +2 -0
- package/lib/express/middleware/partnerMiddleware/index.types.js +3 -0
- package/lib/express/middleware/partnerMiddleware/index.types.js.map +1 -0
- package/lib/express/middleware/partnerMiddleware/partner.d.ts +10 -0
- package/lib/express/middleware/partnerMiddleware/partner.js +24 -0
- package/lib/express/middleware/partnerMiddleware/partner.js.map +1 -0
- package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.d.ts +7 -0
- package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.js +18 -0
- package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.js.map +1 -0
- package/lib/express/middleware/responseHelpersMiddleware/index.d.ts +2 -0
- package/lib/express/middleware/responseHelpersMiddleware/index.js +67 -0
- package/lib/express/middleware/responseHelpersMiddleware/index.js.map +1 -0
- package/lib/express/middleware/responseHelpersMiddleware/types.d.ts +18 -0
- package/lib/express/middleware/responseHelpersMiddleware/types.js +3 -0
- package/lib/express/middleware/responseHelpersMiddleware/types.js.map +1 -0
- package/lib/express/middleware/translationsMiddleware/index.d.ts +4 -0
- package/lib/express/middleware/translationsMiddleware/index.js +20 -0
- package/lib/express/middleware/translationsMiddleware/index.js.map +1 -0
- package/lib/express/swaggerControllersConfig.d.ts +13 -0
- package/lib/express/swaggerControllersConfig.js +112 -0
- package/lib/express/swaggerControllersConfig.js.map +1 -0
- package/lib/express/swaggerHelpers.d.ts +4 -0
- package/lib/express/swaggerHelpers.js +27 -0
- package/lib/express/swaggerHelpers.js.map +1 -0
- package/lib/express/swaggerUiController.d.ts +6 -0
- package/lib/express/swaggerUiController.js +17 -0
- package/lib/express/swaggerUiController.js.map +1 -0
- package/lib/express/swaggerUiTemplate.d.ts +5 -0
- package/lib/express/swaggerUiTemplate.js +9 -0
- package/lib/express/swaggerUiTemplate.js.map +1 -0
- package/lib/helpers/ExecuteOnce.d.ts +6 -0
- package/lib/helpers/ExecuteOnce.js +31 -0
- package/lib/helpers/ExecuteOnce.js.map +1 -0
- package/lib/helpers/UniversalConfig.d.ts +8 -0
- package/lib/helpers/UniversalConfig.js +31 -0
- package/lib/helpers/UniversalConfig.js.map +1 -0
- package/lib/helpers/__tests__/arrays.test.d.ts +1 -0
- package/lib/helpers/__tests__/arrays.test.js +17 -0
- package/lib/helpers/__tests__/arrays.test.js.map +1 -0
- package/lib/helpers/__tests__/emptyValues.test.d.ts +1 -0
- package/lib/helpers/__tests__/emptyValues.test.js +31 -0
- package/lib/helpers/__tests__/emptyValues.test.js.map +1 -0
- package/lib/helpers/__tests__/formatters.formatCurrency.test.d.ts +1 -0
- package/lib/helpers/__tests__/formatters.formatCurrency.test.js +18 -0
- package/lib/helpers/__tests__/formatters.formatCurrency.test.js.map +1 -0
- package/lib/helpers/__tests__/formatters.formatDate.test.d.ts +1 -0
- package/lib/helpers/__tests__/formatters.formatDate.test.js +163 -0
- package/lib/helpers/__tests__/formatters.formatDate.test.js.map +1 -0
- package/lib/helpers/__tests__/formatters.formatDouble.test.d.ts +1 -0
- package/lib/helpers/__tests__/formatters.formatDouble.test.js +26 -0
- package/lib/helpers/__tests__/formatters.formatDouble.test.js.map +1 -0
- package/lib/helpers/__tests__/navigation.test.d.ts +1 -0
- package/lib/helpers/__tests__/navigation.test.js +64 -0
- package/lib/helpers/__tests__/navigation.test.js.map +1 -0
- package/lib/helpers/__tests__/strings.test.d.ts +1 -0
- package/lib/helpers/__tests__/strings.test.js +46 -0
- package/lib/helpers/__tests__/strings.test.js.map +1 -0
- package/lib/helpers/__tests__/validation.test.d.ts +1 -0
- package/lib/helpers/__tests__/validation.test.js +193 -0
- package/lib/helpers/__tests__/validation.test.js.map +1 -0
- package/lib/helpers/arrays.d.ts +1 -0
- package/lib/helpers/arrays.js +10 -0
- package/lib/helpers/arrays.js.map +1 -0
- package/lib/helpers/clientLogger.d.ts +8 -0
- package/lib/helpers/clientLogger.js +73 -0
- package/lib/helpers/clientLogger.js.map +1 -0
- package/lib/helpers/constants/applicationForm.d.ts +59 -0
- package/lib/helpers/constants/applicationForm.js +68 -0
- package/lib/helpers/constants/applicationForm.js.map +1 -0
- package/lib/helpers/constants/candidates.d.ts +64 -0
- package/lib/helpers/constants/candidates.js +74 -0
- package/lib/helpers/constants/candidates.js.map +1 -0
- package/lib/helpers/constants/common.d.ts +93 -0
- package/lib/helpers/constants/common.js +111 -0
- package/lib/helpers/constants/common.js.map +1 -0
- package/lib/helpers/constants/contract.d.ts +37 -0
- package/lib/helpers/constants/contract.js +42 -0
- package/lib/helpers/constants/contract.js.map +1 -0
- package/lib/helpers/constants/documents.d.ts +11 -0
- package/lib/helpers/constants/documents.js +16 -0
- package/lib/helpers/constants/documents.js.map +1 -0
- package/lib/helpers/constants/features.d.ts +7 -0
- package/lib/helpers/constants/features.js +11 -0
- package/lib/helpers/constants/features.js.map +1 -0
- package/lib/helpers/constants/fileUploads.d.ts +5 -0
- package/lib/helpers/constants/fileUploads.js +8 -0
- package/lib/helpers/constants/fileUploads.js.map +1 -0
- package/lib/helpers/constants/index.d.ts +37 -0
- package/lib/helpers/constants/index.js +43 -0
- package/lib/helpers/constants/index.js.map +1 -0
- package/lib/helpers/constants/integrations.d.ts +39 -0
- package/lib/helpers/constants/integrations.js +47 -0
- package/lib/helpers/constants/integrations.js.map +1 -0
- package/lib/helpers/constants/language.d.ts +6 -0
- package/lib/helpers/constants/language.js +10 -0
- package/lib/helpers/constants/language.js.map +1 -0
- package/lib/helpers/constants/listing.d.ts +327 -0
- package/lib/helpers/constants/listing.js +364 -0
- package/lib/helpers/constants/listing.js.map +1 -0
- package/lib/helpers/constants/listingTemplate.d.ts +7 -0
- package/lib/helpers/constants/listingTemplate.js +12 -0
- package/lib/helpers/constants/listingTemplate.js.map +1 -0
- package/lib/helpers/constants/mediaTypes.d.ts +34 -0
- package/lib/helpers/constants/mediaTypes.js +39 -0
- package/lib/helpers/constants/mediaTypes.js.map +1 -0
- package/lib/helpers/constants/messages.d.ts +5 -0
- package/lib/helpers/constants/messages.js +10 -0
- package/lib/helpers/constants/messages.js.map +1 -0
- package/lib/helpers/constants/moveIn.d.ts +59 -0
- package/lib/helpers/constants/moveIn.js +66 -0
- package/lib/helpers/constants/moveIn.js.map +1 -0
- package/lib/helpers/constants/partner.d.ts +7 -0
- package/lib/helpers/constants/partner.js +12 -0
- package/lib/helpers/constants/partner.js.map +1 -0
- package/lib/helpers/constants/pictures.d.ts +2 -0
- package/lib/helpers/constants/pictures.js +5 -0
- package/lib/helpers/constants/pictures.js.map +1 -0
- package/lib/helpers/constants/properties.d.ts +17 -0
- package/lib/helpers/constants/properties.js +24 -0
- package/lib/helpers/constants/properties.js.map +1 -0
- package/lib/helpers/constants/schedule.d.ts +11 -0
- package/lib/helpers/constants/schedule.js +15 -0
- package/lib/helpers/constants/schedule.js.map +1 -0
- package/lib/helpers/constants/scoring.d.ts +8 -0
- package/lib/helpers/constants/scoring.js +13 -0
- package/lib/helpers/constants/scoring.js.map +1 -0
- package/lib/helpers/constants/screenSizes.d.ts +8 -0
- package/lib/helpers/constants/screenSizes.js +11 -0
- package/lib/helpers/constants/screenSizes.js.map +1 -0
- package/lib/helpers/constants/searchProfile.d.ts +5 -0
- package/lib/helpers/constants/searchProfile.js +9 -0
- package/lib/helpers/constants/searchProfile.js.map +1 -0
- package/lib/helpers/constants/swagger.d.ts +5 -0
- package/lib/helpers/constants/swagger.js +10 -0
- package/lib/helpers/constants/swagger.js.map +1 -0
- package/lib/helpers/constants/tenants.d.ts +5 -0
- package/lib/helpers/constants/tenants.js +10 -0
- package/lib/helpers/constants/tenants.js.map +1 -0
- package/lib/helpers/constants/units.d.ts +156 -0
- package/lib/helpers/constants/units.js +173 -0
- package/lib/helpers/constants/units.js.map +1 -0
- package/lib/helpers/constants/urls.d.ts +4 -0
- package/lib/helpers/constants/urls.js +7 -0
- package/lib/helpers/constants/urls.js.map +1 -0
- package/lib/helpers/constants/user.d.ts +5 -0
- package/lib/helpers/constants/user.js +10 -0
- package/lib/helpers/constants/user.js.map +1 -0
- package/lib/helpers/constants/validators.d.ts +5 -0
- package/lib/helpers/constants/validators.js +9 -0
- package/lib/helpers/constants/validators.js.map +1 -0
- package/lib/helpers/emptyValues.d.ts +2 -0
- package/lib/helpers/emptyValues.js +16 -0
- package/lib/helpers/emptyValues.js.map +1 -0
- package/lib/helpers/formatters.d.ts +13 -0
- package/lib/helpers/formatters.js +107 -0
- package/lib/helpers/formatters.js.map +1 -0
- package/lib/helpers/guards.d.ts +1 -0
- package/lib/helpers/guards.js +10 -0
- package/lib/helpers/guards.js.map +1 -0
- package/lib/helpers/index.d.ts +6 -0
- package/lib/helpers/index.js +13 -0
- package/lib/helpers/index.js.map +1 -0
- package/lib/helpers/isBrowser.d.ts +1 -0
- package/lib/helpers/isBrowser.js +4 -0
- package/lib/helpers/isBrowser.js.map +1 -0
- package/lib/helpers/math.d.ts +3 -0
- package/lib/helpers/math.js +41 -0
- package/lib/helpers/math.js.map +1 -0
- package/lib/helpers/moment.d.ts +40 -0
- package/lib/helpers/moment.js +83 -0
- package/lib/helpers/moment.js.map +1 -0
- package/lib/helpers/navigation.d.ts +19 -0
- package/lib/helpers/navigation.js +142 -0
- package/lib/helpers/navigation.js.map +1 -0
- package/lib/helpers/stringifySafe.d.ts +1 -0
- package/lib/helpers/stringifySafe.js +16 -0
- package/lib/helpers/stringifySafe.js.map +1 -0
- package/lib/helpers/strings.d.ts +4 -0
- package/lib/helpers/strings.js +64 -0
- package/lib/helpers/strings.js.map +1 -0
- package/lib/helpers/validation.d.ts +110 -0
- package/lib/helpers/validation.js +278 -0
- package/lib/helpers/validation.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +12 -0
- package/lib/index.js.map +1 -0
- package/lib/interfaces.d.ts +16 -0
- package/lib/interfaces.js +22 -0
- package/lib/interfaces.js.map +1 -0
- package/lib/redux/analyticsMiddleware.d.ts +4 -0
- package/lib/redux/analyticsMiddleware.js +53 -0
- package/lib/redux/analyticsMiddleware.js.map +1 -0
- package/lib/redux/clientMiddleware.d.ts +1 -0
- package/lib/redux/clientMiddleware.js +79 -0
- package/lib/redux/clientMiddleware.js.map +1 -0
- package/lib/redux/emptyMiddleware.d.ts +1 -0
- package/lib/redux/emptyMiddleware.js +6 -0
- package/lib/redux/emptyMiddleware.js.map +1 -0
- package/lib/redux/index.d.ts +3 -0
- package/lib/redux/index.js +9 -0
- package/lib/redux/index.js.map +1 -0
- package/lib/services/applicantService.d.ts +1 -0
- package/lib/services/applicantService.js +8 -0
- package/lib/services/applicantService.js.map +1 -0
- package/lib/services/cookieService/cookieService.d.ts +29 -0
- package/lib/services/cookieService/cookieService.js +61 -0
- package/lib/services/cookieService/cookieService.js.map +1 -0
- package/lib/services/googleAnalyticsService/googleAnalyticsService.d.ts +17 -0
- package/lib/services/googleAnalyticsService/googleAnalyticsService.js +79 -0
- package/lib/services/googleAnalyticsService/googleAnalyticsService.js.map +1 -0
- package/lib/services/imageService/imageService.d.ts +7 -0
- package/lib/services/imageService/imageService.js +27 -0
- package/lib/services/imageService/imageService.js.map +1 -0
- package/lib/services/index.d.ts +10 -0
- package/lib/services/index.js +13 -0
- package/lib/services/index.js.map +1 -0
- package/lib/services/languageService/languageService.d.ts +16 -0
- package/lib/services/languageService/languageService.js +46 -0
- package/lib/services/languageService/languageService.js.map +1 -0
- package/lib/services/localstorageService/localstorageService.d.ts +2 -0
- package/lib/services/localstorageService/localstorageService.js +19 -0
- package/lib/services/localstorageService/localstorageService.js.map +1 -0
- package/lib/services/sessionStorageService/index.d.ts +2 -0
- package/lib/services/sessionStorageService/index.js +19 -0
- package/lib/services/sessionStorageService/index.js.map +1 -0
- package/lib/translations/getAllTranslations.d.ts +5 -0
- package/lib/translations/getAllTranslations.js +26 -0
- package/lib/translations/getAllTranslations.js.map +1 -0
- package/package.json +110 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
var constants_1 = require("./../helpers/constants");
|
|
15
|
+
var ValidationError_1 = require("./ValidationError");
|
|
16
|
+
function mapErrorToString(err, req) {
|
|
17
|
+
if (err instanceof Error) {
|
|
18
|
+
return JSON.stringify(mapErrorToJSON(err, req));
|
|
19
|
+
}
|
|
20
|
+
return JSON.stringify(err);
|
|
21
|
+
}
|
|
22
|
+
exports.mapErrorToString = mapErrorToString;
|
|
23
|
+
function mapErrorToJSON(err, _req) {
|
|
24
|
+
if (isSwaggerValidationError(err)) {
|
|
25
|
+
return __assign(__assign({ message: 'Failed swagger validation' }, err.results), { path: err.path });
|
|
26
|
+
}
|
|
27
|
+
if (err instanceof Error) {
|
|
28
|
+
var propertyNames = Object.getOwnPropertyNames(err);
|
|
29
|
+
var errorJsonString = JSON.stringify(err, propertyNames);
|
|
30
|
+
var errorAsString = JSON.parse(errorJsonString);
|
|
31
|
+
return errorAsString;
|
|
32
|
+
}
|
|
33
|
+
return err;
|
|
34
|
+
}
|
|
35
|
+
exports.mapErrorToJSON = mapErrorToJSON;
|
|
36
|
+
function formatValidationErrorResponse(err) {
|
|
37
|
+
if (isSequelizeError(err)) {
|
|
38
|
+
return formatSequelizeError(err);
|
|
39
|
+
}
|
|
40
|
+
if (isJoiError(err)) {
|
|
41
|
+
return formatJoiValidationErrorResponse(err);
|
|
42
|
+
}
|
|
43
|
+
if (isSwaggerValidationError(err)) {
|
|
44
|
+
return formatSwaggerValidationError(err);
|
|
45
|
+
}
|
|
46
|
+
if (err && err.name && err.name.toLowerCase() === 'error') {
|
|
47
|
+
return formatValidationError(err);
|
|
48
|
+
}
|
|
49
|
+
if (isKnownError(err)) {
|
|
50
|
+
return err;
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
exports.formatValidationErrorResponse = formatValidationErrorResponse;
|
|
55
|
+
function formatJoiValidationErrorResponse(err) {
|
|
56
|
+
if (isJoiError(err)) {
|
|
57
|
+
var firstMessage = (err.details && err.details[0]) || {};
|
|
58
|
+
var locale = "any.api.validation.joi." + firstMessage.path + "." + firstMessage.type;
|
|
59
|
+
var message = firstMessage.message;
|
|
60
|
+
var validationError = new ValidationError_1.ValidationError(message, locale);
|
|
61
|
+
return formatValidationError(validationError);
|
|
62
|
+
}
|
|
63
|
+
return err;
|
|
64
|
+
}
|
|
65
|
+
exports.formatJoiValidationErrorResponse = formatJoiValidationErrorResponse;
|
|
66
|
+
function formatSwaggerValidationError(err) {
|
|
67
|
+
if (err.code === constants_1.ERROR_CODES.SCHEMA_VALIDATION_FAILED) {
|
|
68
|
+
var error = err && err.results && err.results.errors && err.results.errors.length && err.results.errors[0];
|
|
69
|
+
if (error && error.code) {
|
|
70
|
+
var locale = "any.api.validation." + error.code;
|
|
71
|
+
var path = (error.path || []).join('.');
|
|
72
|
+
if (path) {
|
|
73
|
+
locale = locale + "." + path;
|
|
74
|
+
}
|
|
75
|
+
var REQUIRED_ERROR_MESSAGE_PREFIX = 'Missing required property: ';
|
|
76
|
+
if (error.message.includes(REQUIRED_ERROR_MESSAGE_PREFIX)) {
|
|
77
|
+
var missingProperty = error.message.split(REQUIRED_ERROR_MESSAGE_PREFIX)[1];
|
|
78
|
+
locale = missingProperty ? locale + "." + missingProperty : locale;
|
|
79
|
+
}
|
|
80
|
+
return formatValidationError(new ValidationError_1.ValidationError(error.message, locale));
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if (err.code === constants_1.ERROR_CODES.REQUIRED) {
|
|
84
|
+
return formatValidationError(new ValidationError_1.ValidationError("The parameter '" + err.paramName + "' is required.", "any.api.validation.REQUIRED." + err.paramName));
|
|
85
|
+
}
|
|
86
|
+
return formatValidationError(new ValidationError_1.ValidationError("Unknown swagger validation error", "any.api.validation.unknown"));
|
|
87
|
+
}
|
|
88
|
+
exports.formatSwaggerValidationError = formatSwaggerValidationError;
|
|
89
|
+
function formatSequelizeError(err) {
|
|
90
|
+
var errors = err.errors;
|
|
91
|
+
var locale = 'any.api.validation.unknown';
|
|
92
|
+
if (errors && errors.length && errors[0]) {
|
|
93
|
+
locale = "validation." + errors[0].message.replace(new RegExp(' ', 'g'), '.');
|
|
94
|
+
}
|
|
95
|
+
var sequelizeError = {
|
|
96
|
+
type: 'DataValidationError',
|
|
97
|
+
locale: locale,
|
|
98
|
+
name: err && err.name,
|
|
99
|
+
errors: (errors || []).map(function (_a) {
|
|
100
|
+
var message = _a.message, type = _a.type, path = _a.path;
|
|
101
|
+
return ({ message: message, type: type, path: path });
|
|
102
|
+
}),
|
|
103
|
+
};
|
|
104
|
+
return sequelizeError;
|
|
105
|
+
}
|
|
106
|
+
exports.formatSequelizeError = formatSequelizeError;
|
|
107
|
+
function formatValidationError(err) {
|
|
108
|
+
var isValidationError = err.isValidationError, errors = err.errors;
|
|
109
|
+
if (isValidationError) {
|
|
110
|
+
var error = err;
|
|
111
|
+
var validationError = {
|
|
112
|
+
isValidationError: isValidationError,
|
|
113
|
+
type: 'ValidationError',
|
|
114
|
+
locale: error.errorLocale,
|
|
115
|
+
error: error.errorMessage,
|
|
116
|
+
};
|
|
117
|
+
return validationError;
|
|
118
|
+
}
|
|
119
|
+
if (errors && errors.length) {
|
|
120
|
+
var validationError = {
|
|
121
|
+
type: 'ValidationError',
|
|
122
|
+
locale: "validation." + err.errors[0].types[0],
|
|
123
|
+
errors: errors.map(function (_a) {
|
|
124
|
+
var field = _a.field, messages = _a.messages, types = _a.types;
|
|
125
|
+
return ({ field: field, messages: messages, types: types });
|
|
126
|
+
}),
|
|
127
|
+
};
|
|
128
|
+
return validationError;
|
|
129
|
+
}
|
|
130
|
+
return err;
|
|
131
|
+
}
|
|
132
|
+
exports.formatValidationError = formatValidationError;
|
|
133
|
+
function isSwaggerValidationError(err) {
|
|
134
|
+
return err && err.code && (err.code === constants_1.ERROR_CODES.SCHEMA_VALIDATION_FAILED || err.code === constants_1.ERROR_CODES.REQUIRED);
|
|
135
|
+
}
|
|
136
|
+
exports.isSwaggerValidationError = isSwaggerValidationError;
|
|
137
|
+
function isSequelizeError(err) {
|
|
138
|
+
return err && err.name && err.name.toLowerCase().indexOf('sequelize') > -1;
|
|
139
|
+
}
|
|
140
|
+
exports.isSequelizeError = isSequelizeError;
|
|
141
|
+
function isJoiError(err) {
|
|
142
|
+
return err && err.isJoi;
|
|
143
|
+
}
|
|
144
|
+
exports.isJoiError = isJoiError;
|
|
145
|
+
function isCriticalError(err) {
|
|
146
|
+
return err && err.message && err.isCriticalError;
|
|
147
|
+
}
|
|
148
|
+
exports.isCriticalError = isCriticalError;
|
|
149
|
+
function isKnownError(err) {
|
|
150
|
+
return err && (err.isValidationError || err.isCriticalError);
|
|
151
|
+
}
|
|
152
|
+
exports.isKnownError = isKnownError;
|
|
153
|
+
//# sourceMappingURL=errorMappers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errorMappers.js","sourceRoot":"","sources":["../../src/errors/errorMappers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum LogLevel {
|
|
2
|
+
info = "info",
|
|
3
|
+
warn = "warn",
|
|
4
|
+
error = "error"
|
|
5
|
+
}
|
|
6
|
+
export interface IError {
|
|
7
|
+
isCriticalError?: boolean;
|
|
8
|
+
isValidationError?: boolean;
|
|
9
|
+
type: string;
|
|
10
|
+
errorMessage: string;
|
|
11
|
+
errorLocale: string;
|
|
12
|
+
logLevel: LogLevel;
|
|
13
|
+
statusCode: number;
|
|
14
|
+
payload: string;
|
|
15
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var LogLevel;
|
|
4
|
+
(function (LogLevel) {
|
|
5
|
+
LogLevel["info"] = "info";
|
|
6
|
+
LogLevel["warn"] = "warn";
|
|
7
|
+
LogLevel["error"] = "error";
|
|
8
|
+
})(LogLevel = exports.LogLevel || (exports.LogLevel = {}));
|
|
9
|
+
//# sourceMappingURL=errors.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.types.js","sourceRoot":"","sources":["../../src/errors/errors.types.ts"],"names":[],"mappings":";;AAAA,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,2BAAe,CAAA;AACjB,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { CriticalError } from './CriticalError';
|
|
2
|
+
export { ValidationError } from './ValidationError';
|
|
3
|
+
export { ValidationErrorSilent } from './ValidationErrorSilent';
|
|
4
|
+
export { ValidationErrorWithStatus } from './ValidationErrorWithStatus';
|
|
5
|
+
export { ValidationErrorWithStatusSilent } from './ValidationErrorWithStatusSilent';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var CriticalError_1 = require("./CriticalError");
|
|
4
|
+
exports.CriticalError = CriticalError_1.CriticalError;
|
|
5
|
+
var ValidationError_1 = require("./ValidationError");
|
|
6
|
+
exports.ValidationError = ValidationError_1.ValidationError;
|
|
7
|
+
var ValidationErrorSilent_1 = require("./ValidationErrorSilent");
|
|
8
|
+
exports.ValidationErrorSilent = ValidationErrorSilent_1.ValidationErrorSilent;
|
|
9
|
+
var ValidationErrorWithStatus_1 = require("./ValidationErrorWithStatus");
|
|
10
|
+
exports.ValidationErrorWithStatus = ValidationErrorWithStatus_1.ValidationErrorWithStatus;
|
|
11
|
+
var ValidationErrorWithStatusSilent_1 = require("./ValidationErrorWithStatusSilent");
|
|
12
|
+
exports.ValidationErrorWithStatusSilent = ValidationErrorWithStatusSilent_1.ValidationErrorWithStatusSilent;
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":";;AAAA,iDAAgD;AAAvC,wCAAA,aAAa,CAAA;AACtB,qDAAoD;AAA3C,4CAAA,eAAe,CAAA;AACxB,iEAAgE;AAAvD,wDAAA,qBAAqB,CAAA;AAC9B,yEAAwE;AAA/D,gEAAA,yBAAyB,CAAA;AAClC,qFAAoF;AAA3E,4EAAA,+BAA+B,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
var swaggerHelpers_1 = require("../swaggerHelpers");
|
|
15
|
+
describe('WHEN testing swaggerSpecificationTransformer', function () {
|
|
16
|
+
var inputWithOauth2 = function () { return ({
|
|
17
|
+
securityDefinitions: {
|
|
18
|
+
apiKey: { type: 'apiKey', in: 'header', name: 'X-API-Key' },
|
|
19
|
+
visitor: {
|
|
20
|
+
type: 'oauth2',
|
|
21
|
+
authorizationUrl: 'http://dev.visitorapp.co.co:9200/accounts/dialog/authorize',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
}); };
|
|
25
|
+
var inputWithOauth2NonVisitor = function () { return ({
|
|
26
|
+
securityDefinitions: {
|
|
27
|
+
apiKey: { type: 'apiKey', in: 'header', name: 'X-API-Key' },
|
|
28
|
+
facebook: {
|
|
29
|
+
type: 'oauth2',
|
|
30
|
+
authorizationUrl: 'https://facebook.com/accounts/dialog/authorize',
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
}); };
|
|
34
|
+
var inputWithoutOauth2 = function () { return ({
|
|
35
|
+
apiKey: { type: 'apiKey', in: 'header', name: 'X-API-Key' },
|
|
36
|
+
}); };
|
|
37
|
+
var testSandbox = function (describeText, input, config, expected) {
|
|
38
|
+
describe(describeText, function () {
|
|
39
|
+
it('SHOULD have correct returned specification', function () {
|
|
40
|
+
expect(swaggerHelpers_1.swaggerSpecificationTransformer(input, config)).toEqual(expected);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
};
|
|
44
|
+
testSandbox('WHEN testing null', null, null, null);
|
|
45
|
+
testSandbox('WHEN testing undefined', undefined, undefined, undefined);
|
|
46
|
+
testSandbox('WHEN testing oauth2 and undefined config', inputWithOauth2(), undefined, inputWithOauth2());
|
|
47
|
+
testSandbox('WHEN testing spec with no oauth2 and config with oauth2Url', inputWithoutOauth2(), { visitorSwaggerOauth2AuthorizationUrl: 'new url' }, inputWithoutOauth2());
|
|
48
|
+
testSandbox('WHEN testing NON visitor oauth2 and config with oauth2Url', inputWithOauth2NonVisitor(), { visitorSwaggerOauth2AuthorizationUrl: 'new url' }, inputWithOauth2NonVisitor());
|
|
49
|
+
testSandbox('WHEN testing visitor oauth2 and config with oauth2Url', inputWithOauth2(), { visitorSwaggerOauth2AuthorizationUrl: 'https://qa.visitorapp.co.co/accounts/dialog/authorize' }, __assign(__assign({}, inputWithOauth2()), { securityDefinitions: {
|
|
50
|
+
apiKey: { type: 'apiKey', in: 'header', name: 'X-API-Key' },
|
|
51
|
+
visitor: {
|
|
52
|
+
type: 'oauth2',
|
|
53
|
+
authorizationUrl: 'https://qa.visitorapp.co.co/accounts/dialog/authorize',
|
|
54
|
+
},
|
|
55
|
+
} }));
|
|
56
|
+
});
|
|
57
|
+
//# sourceMappingURL=swaggerHelpers.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swaggerHelpers.test.js","sourceRoot":"","sources":["../../../src/express/__tests__/swaggerHelpers.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,oDAA4G;AAE5G,QAAQ,CAAC,8CAA8C,EAAE;IACvD,IAAM,eAAe,GAAG,cAAM,OAAA,CAAC;QAC7B,mBAAmB,EAAE;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;YAC3D,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,4DAA4D;aAC/E;SACF;KACF,CAAC,EAR4B,CAQ5B,CAAC;IAEH,IAAM,yBAAyB,GAAG,cAAM,OAAA,CAAC;QACvC,mBAAmB,EAAE;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;YAC3D,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,gDAAgD;aACnE;SACF;KACF,CAAC,EARsC,CAQtC,CAAC;IAEH,IAAM,kBAAkB,GAAG,cAAM,OAAA,CAAC;QAChC,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;KAC5D,CAAC,EAF+B,CAE/B,CAAC;IAEH,IAAM,WAAW,GAAG,UAAC,YAAY,EAAE,KAAK,EAAE,MAA8C,EAAE,QAAQ;QAChG,QAAQ,CAAC,YAAY,EAAE;YACrB,EAAE,CAAC,4CAA4C,EAAE;gBAC/C,MAAM,CAAC,gDAA+B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC3E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,WAAW,CAAC,mBAAmB,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAEnD,WAAW,CAAC,wBAAwB,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAEvE,WAAW,CAAC,0CAA0C,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC,CAAC;IAEzG,WAAW,CACT,4DAA4D,EAC5D,kBAAkB,EAAE,EACpB,EAAE,oCAAoC,EAAE,SAAS,EAAE,EACnD,kBAAkB,EAAE,CACrB,CAAC;IAEF,WAAW,CACT,2DAA2D,EAC3D,yBAAyB,EAAE,EAC3B,EAAE,oCAAoC,EAAE,SAAS,EAAE,EACnD,yBAAyB,EAAE,CAC5B,CAAC;IAEF,WAAW,CACT,uDAAuD,EACvD,eAAe,EAAE,EACjB,EAAE,oCAAoC,EAAE,uDAAuD,EAAE,wBAE5F,eAAe,EAAE,KACpB,mBAAmB,EAAE;YACnB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,EAAE;YAC3D,OAAO,EAAE;gBACP,IAAI,EAAE,QAAQ;gBACd,gBAAgB,EAAE,uDAAuD;aAC1E;SACF,IAEJ,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface IMetadatada {
|
|
2
|
+
name?: any;
|
|
3
|
+
version?: any;
|
|
4
|
+
engines?: any;
|
|
5
|
+
description?: any;
|
|
6
|
+
}
|
|
7
|
+
export interface IAliveParams {
|
|
8
|
+
metadata?: IMetadatada;
|
|
9
|
+
}
|
|
10
|
+
export declare function aliveMiddleware({ metadata }?: IAliveParams): (req: any, res: any) => void;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function aliveMiddleware(_a) {
|
|
4
|
+
var _b = (_a === void 0 ? {} : _a).metadata, metadata = _b === void 0 ? {} : _b;
|
|
5
|
+
var name = metadata.name, version = metadata.version, engines = metadata.engines, description = metadata.description;
|
|
6
|
+
var startedAt = new Date();
|
|
7
|
+
return function (req, res) {
|
|
8
|
+
// tslint:disable-next-line
|
|
9
|
+
console.log(req.method + " on " + req.originalUrl);
|
|
10
|
+
res.status(200).json({
|
|
11
|
+
name: name,
|
|
12
|
+
version: version,
|
|
13
|
+
description: description,
|
|
14
|
+
alive: true,
|
|
15
|
+
engines: engines,
|
|
16
|
+
timestamp: new Date(),
|
|
17
|
+
startedAt: startedAt,
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
exports.aliveMiddleware = aliveMiddleware;
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/express/middleware/aliveMiddleware/index.ts"],"names":[],"mappings":";;AASA,SAAgB,eAAe,CAAC,EAAoC;QAAlC,uCAAa,EAAb,kCAAa;IACrC,IAAA,oBAAI,EAAE,0BAAO,EAAE,0BAAO,EAAE,kCAAW,CAAc;IACzD,IAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;IAE7B,OAAO,UAAC,GAAG,EAAE,GAAG;QACd,2BAA2B;QAC3B,OAAO,CAAC,GAAG,CAAI,GAAG,CAAC,MAAM,YAAO,GAAG,CAAC,WAAa,CAAC,CAAC;QACnD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACnB,IAAI,MAAA;YACJ,OAAO,SAAA;YACP,WAAW,aAAA;YACX,KAAK,EAAE,IAAI;YACX,OAAO,SAAA;YACP,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,SAAS,WAAA;SACV,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAjBD,0CAiBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i from './index.types';
|
|
2
|
+
export declare const DEFAULT_TTL: number;
|
|
3
|
+
export declare const CHECK_CACHE_PERIOD: number;
|
|
4
|
+
export interface IGetCompanyOptions {
|
|
5
|
+
subdomain: string;
|
|
6
|
+
getCompanyUrl: i.GetCompanyUrl;
|
|
7
|
+
getCompanyFunction: i.GetCompanyFunction;
|
|
8
|
+
cacheTtl: number;
|
|
9
|
+
}
|
|
10
|
+
export declare function getCompany({ subdomain, getCompanyUrl, getCompanyFunction, cacheTtl }: IGetCompanyOptions): Promise<any>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var NodeCache = require("node-cache");
|
|
4
|
+
var companyApiRequest_1 = require("./companyApiRequest");
|
|
5
|
+
exports.DEFAULT_TTL = 5 * 60; // in seconds
|
|
6
|
+
exports.CHECK_CACHE_PERIOD = 1 * 60; // in seconds
|
|
7
|
+
var companyCache = new NodeCache({ stdTTL: exports.DEFAULT_TTL, checkperiod: exports.CHECK_CACHE_PERIOD });
|
|
8
|
+
function getCompany(_a) {
|
|
9
|
+
var subdomain = _a.subdomain, getCompanyUrl = _a.getCompanyUrl, getCompanyFunction = _a.getCompanyFunction, _b = _a.cacheTtl, cacheTtl = _b === void 0 ? exports.DEFAULT_TTL : _b;
|
|
10
|
+
var cacheKey = "company_" + subdomain;
|
|
11
|
+
var cachedCompany = companyCache.get(cacheKey);
|
|
12
|
+
if (!subdomain) {
|
|
13
|
+
return Promise.resolve(null);
|
|
14
|
+
}
|
|
15
|
+
if (cachedCompany) {
|
|
16
|
+
return Promise.resolve(cachedCompany);
|
|
17
|
+
}
|
|
18
|
+
return companyApiRequest_1.getCompanyFromApi({ subdomain: subdomain, getCompanyUrl: getCompanyUrl, getCompanyFunction: getCompanyFunction }).then(function (company) {
|
|
19
|
+
companyCache.set(cacheKey, company, cacheTtl);
|
|
20
|
+
return company;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
exports.getCompany = getCompany;
|
|
24
|
+
//# sourceMappingURL=company.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"company.js","sourceRoot":"","sources":["../../../../src/express/middleware/companyMiddleware/company.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,yDAAwD;AAG3C,QAAA,WAAW,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,aAAa;AACnC,QAAA,kBAAkB,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,aAAa;AACvD,IAAM,YAAY,GAAG,IAAI,SAAS,CAAC,EAAE,MAAM,EAAE,mBAAW,EAAE,WAAW,EAAE,0BAAkB,EAAE,CAAC,CAAC;AAQ7F,SAAgB,UAAU,CAAC,EAA4F;QAA1F,wBAAS,EAAE,gCAAa,EAAE,0CAAkB,EAAE,gBAAsB,EAAtB,mDAAsB;IAC/F,IAAM,QAAQ,GAAG,aAAW,SAAW,CAAC;IACxC,IAAM,aAAa,GAAG,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,IAAI,aAAa,EAAE;QACjB,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KACvC;IAED,OAAO,qCAAiB,CAAC,EAAE,SAAS,WAAA,EAAE,aAAa,eAAA,EAAE,kBAAkB,oBAAA,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO;QACtF,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC9C,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC,CAAC;AACL,CAAC;AAhBD,gCAgBC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i from './index.types';
|
|
2
|
+
export interface IGetCompanyFromApiOptions {
|
|
3
|
+
subdomain: string;
|
|
4
|
+
getCompanyUrl: i.GetCompanyUrl;
|
|
5
|
+
getCompanyFunction: i.GetCompanyFunction;
|
|
6
|
+
}
|
|
7
|
+
export declare function getCompanyFromApi({ subdomain, getCompanyUrl, getCompanyFunction, }: IGetCompanyFromApiOptions): Promise<any>;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var axios_1 = require("axios");
|
|
4
|
+
function getCompanyFromApi(_a) {
|
|
5
|
+
var subdomain = _a.subdomain, getCompanyUrl = _a.getCompanyUrl, getCompanyFunction = _a.getCompanyFunction;
|
|
6
|
+
if (!subdomain) {
|
|
7
|
+
return Promise.resolve(null);
|
|
8
|
+
}
|
|
9
|
+
if (getCompanyUrl) {
|
|
10
|
+
return axios_1.default.get(getCompanyUrl(subdomain)).then(function (response) { return response.data; });
|
|
11
|
+
}
|
|
12
|
+
if (getCompanyFunction) {
|
|
13
|
+
return getCompanyFunction(subdomain);
|
|
14
|
+
}
|
|
15
|
+
return Promise.resolve(null);
|
|
16
|
+
}
|
|
17
|
+
exports.getCompanyFromApi = getCompanyFromApi;
|
|
18
|
+
//# sourceMappingURL=companyApiRequest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"companyApiRequest.js","sourceRoot":"","sources":["../../../../src/express/middleware/companyMiddleware/companyApiRequest.ts"],"names":[],"mappings":";;AAAA,+BAA0B;AAQ1B,SAAgB,iBAAiB,CAAC,EAIN;QAH1B,wBAAS,EACT,gCAAa,EACb,0CAAkB;IAElB,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;KAC9B;IAED,IAAI,aAAa,EAAE;QACjB,OAAO,eAAK,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,QAAQ,IAAK,OAAA,QAAQ,CAAC,IAAI,EAAb,CAAa,CAAC,CAAC;KAC9E;IAED,IAAI,kBAAkB,EAAE;QACtB,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC;KACtC;IAED,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAlBD,8CAkBC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as i from './index.types';
|
|
2
|
+
export interface ICompanyMiddlewareOptions {
|
|
3
|
+
getCompanyFunction: i.GetCompanyFunction;
|
|
4
|
+
getCompanyUrl: i.GetCompanyUrl;
|
|
5
|
+
cacheTtl: number;
|
|
6
|
+
options?: {
|
|
7
|
+
subdomainExtraParts?: string[];
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export declare const companyMiddleware: ({ getCompanyFunction, getCompanyUrl, cacheTtl, options: { subdomainExtraParts }, }?: {
|
|
11
|
+
getCompanyFunction?: any;
|
|
12
|
+
getCompanyUrl?: any;
|
|
13
|
+
cacheTtl?: number;
|
|
14
|
+
options?: {
|
|
15
|
+
subdomainExtraParts?: any[];
|
|
16
|
+
};
|
|
17
|
+
}) => (req: any, _res: any, next: any) => void;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var company_1 = require("./company");
|
|
4
|
+
exports.companyMiddleware = function (_a) {
|
|
5
|
+
var _b = _a === void 0 ? {} : _a, _c = _b.getCompanyFunction, getCompanyFunction = _c === void 0 ? null : _c, // (subdomain) => Promise.resolve(),
|
|
6
|
+
_d = _b.getCompanyUrl, // (subdomain) => Promise.resolve(),
|
|
7
|
+
getCompanyUrl = _d === void 0 ? null : _d, // (subdomain) => '',
|
|
8
|
+
_e = _b.cacheTtl, // (subdomain) => '',
|
|
9
|
+
cacheTtl = _e === void 0 ? company_1.DEFAULT_TTL : _e, // seconds
|
|
10
|
+
_f = _b.options, _g = (_f === void 0 ? {} : _f).subdomainExtraParts, subdomainExtraParts = _g === void 0 ? [] : _g;
|
|
11
|
+
return function (req, _res, next) {
|
|
12
|
+
req.currentCompany = null; // eslint-disable-line no-param-reassign
|
|
13
|
+
var subdomain = getCompanySubdomainName(req, subdomainExtraParts);
|
|
14
|
+
company_1.getCompany({ subdomain: subdomain, getCompanyUrl: getCompanyUrl, getCompanyFunction: getCompanyFunction, cacheTtl: cacheTtl })
|
|
15
|
+
.then(function (company) {
|
|
16
|
+
req.currentCompany = company; // eslint-disable-line no-param-reassign
|
|
17
|
+
return next();
|
|
18
|
+
})
|
|
19
|
+
.catch(function () {
|
|
20
|
+
req.currentCompany = null; // eslint-disable-line no-param-reassign
|
|
21
|
+
return next();
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
function getCompanySubdomainName(req, subdomainExtraParts) {
|
|
26
|
+
return req.subdomains.filter(function (part) { return !subdomainExtraParts.includes(part); }).join('');
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/express/middleware/companyMiddleware/index.ts"],"names":[],"mappings":";;AAAA,qCAAoD;AAWvC,QAAA,iBAAiB,GAAG,UAAC,EAK5B;QAL4B,4BAK5B,EAJJ,0BAAyB,EAAzB,8CAAyB,EAAE,oCAAoC;IAC/D,qBAAoB,EADO,oCAAoC;IAC/D,yCAAoB,EAAE,qBAAqB;IAC3C,gBAAsB,EADA,qBAAqB;IAC3C,qDAAsB,EAAE,UAAU;IAClC,eAA0C,EAA/B,kDAAwB,EAAxB,6CAAwB;IAC1B,OAAA,UAAC,GAAG,EAAE,IAAI,EAAE,IAAI;QACzB,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,wCAAwC;QAEnE,IAAM,SAAS,GAAG,uBAAuB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACpE,oBAAU,CAAC,EAAE,SAAS,WAAA,EAAE,aAAa,eAAA,EAAE,kBAAkB,oBAAA,EAAE,QAAQ,UAAA,EAAE,CAAC;aACnE,IAAI,CAAC,UAAC,OAAO;YACZ,GAAG,CAAC,cAAc,GAAG,OAAO,CAAC,CAAC,wCAAwC;YACtE,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC;aACD,KAAK,CAAC;YACL,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC,wCAAwC;YACnE,OAAO,IAAI,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;AAbU,CAaV,CAAC;AAEF,SAAS,uBAAuB,CAAC,GAAG,EAAE,mBAAmB;IACvD,OAAO,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAnC,CAAmC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../../../src/express/middleware/companyMiddleware/index.types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var errors_1 = require("../../../../errors");
|
|
4
|
+
var __1 = require("../");
|
|
5
|
+
var httpMock = require("node-mocks-http");
|
|
6
|
+
var logger = {
|
|
7
|
+
info: jest.fn(),
|
|
8
|
+
warn: jest.fn(),
|
|
9
|
+
error: jest.fn(),
|
|
10
|
+
};
|
|
11
|
+
describe('WHEN testing expressErrorHandlerMiddleware', function () {
|
|
12
|
+
var res;
|
|
13
|
+
var req;
|
|
14
|
+
beforeEach(function () {
|
|
15
|
+
req = httpMock.createRequest({ method: 'GET', url: '/test-url' });
|
|
16
|
+
res = httpMock.createResponse();
|
|
17
|
+
res.status = jest.fn(function () { return res; });
|
|
18
|
+
logger.info.mockReset();
|
|
19
|
+
logger.warn.mockReset();
|
|
20
|
+
logger.error.mockReset();
|
|
21
|
+
});
|
|
22
|
+
describe('WHEN we call expressErrorHandlerMiddleware with ValidationError Error', function () {
|
|
23
|
+
beforeEach(function () {
|
|
24
|
+
var validErr = new errors_1.ValidationError('General Validation Error Message', 'api.test.message.general', {});
|
|
25
|
+
__1.expressErrorHandlerMiddleware({ logger: logger })(validErr, req, res, {});
|
|
26
|
+
});
|
|
27
|
+
it('SHOULD return the default 400 status', function () {
|
|
28
|
+
expect(res.status.mock.calls[0][0]).toBe(400);
|
|
29
|
+
expect(logger.warn).toBeCalled();
|
|
30
|
+
});
|
|
31
|
+
});
|
|
32
|
+
describe('WHEN we call expressErrorHandlerMiddleware with ValidationErrorWithStatus Error', function () {
|
|
33
|
+
beforeEach(function () {
|
|
34
|
+
var validErr = new errors_1.ValidationErrorWithStatus(123, 'Custom Error Message', 'api.test.message', {});
|
|
35
|
+
__1.expressErrorHandlerMiddleware({ logger: logger })(validErr, req, res, {});
|
|
36
|
+
});
|
|
37
|
+
it('SHOULD return the status sent to ValidationErrorWithStatus', function () {
|
|
38
|
+
expect(res.status.mock.calls[0][0]).toBe(123);
|
|
39
|
+
expect(logger.warn).toBeCalled();
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
describe('WHEN we call expressErrorHandlerMiddleware with ValidationErrorWithStatusSilent Error', function () {
|
|
43
|
+
beforeEach(function () {
|
|
44
|
+
var validErr = new errors_1.ValidationErrorWithStatusSilent(123, 'Custom Error Message', 'api.test.message', {});
|
|
45
|
+
__1.expressErrorHandlerMiddleware({ logger: logger })(validErr, req, res, {});
|
|
46
|
+
});
|
|
47
|
+
it('SHOULD return the status sent to ValidationErrorWithStatusSilent', function () {
|
|
48
|
+
expect(res.status.mock.calls[0][0]).toBe(123);
|
|
49
|
+
expect(logger.info).toBeCalled();
|
|
50
|
+
expect(logger.warn).not.toBeCalled();
|
|
51
|
+
expect(logger.error).not.toBeCalled();
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
describe('WHEN we call expressErrorHandlerMiddleware with ValidationErrorSilent Error', function () {
|
|
55
|
+
beforeEach(function () {
|
|
56
|
+
var validErr = new errors_1.ValidationErrorSilent('Custom Error Message', 'custom.error.locale', {});
|
|
57
|
+
__1.expressErrorHandlerMiddleware({ logger: logger })(validErr, req, res, {});
|
|
58
|
+
});
|
|
59
|
+
it('SHOULD call logger.info and not logger.warn', function () {
|
|
60
|
+
expect(logger.info).toBeCalled();
|
|
61
|
+
expect(logger.warn).not.toBeCalled();
|
|
62
|
+
expect(logger.error).not.toBeCalled();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
describe('WHEN we call expressErrorHandlerMiddleware with sequelize error', function () {
|
|
66
|
+
beforeEach(function () {
|
|
67
|
+
var err = new Error();
|
|
68
|
+
err.name = 'Sequelize Error';
|
|
69
|
+
__1.expressErrorHandlerMiddleware({ logger: logger })(err, req, res, {});
|
|
70
|
+
});
|
|
71
|
+
it('SHOULD set statusCode 400', function () { return expect(res.status.mock.calls[0][0]).toBe(400); });
|
|
72
|
+
});
|
|
73
|
+
describe('WHEN we call expressErrorHandlerMiddleware with joi error', function () {
|
|
74
|
+
beforeEach(function () {
|
|
75
|
+
var err = new Error();
|
|
76
|
+
err.isJoi = true;
|
|
77
|
+
__1.expressErrorHandlerMiddleware({ logger: logger })(err, req, res, {});
|
|
78
|
+
});
|
|
79
|
+
it('SHOULD set statusCode 400', function () { return expect(res.status.mock.calls[0][0]).toBe(400); });
|
|
80
|
+
});
|
|
81
|
+
describe('WHEN we call expressErrorHandlerMiddleware with swagger error', function () {
|
|
82
|
+
beforeEach(function () {
|
|
83
|
+
var err = new Error();
|
|
84
|
+
err.code = 'SCHEMA_VALIDATION_FAILED';
|
|
85
|
+
__1.expressErrorHandlerMiddleware({ logger: logger })(err, req, res, {});
|
|
86
|
+
});
|
|
87
|
+
it('SHOULD set statusCode 400', function () { return expect(res.status.mock.calls[0][0]).toBe(400); });
|
|
88
|
+
});
|
|
89
|
+
describe('WHEN we call expressErrorHandlerMiddleware with unexpected error', function () {
|
|
90
|
+
beforeEach(function () {
|
|
91
|
+
var err = new Error();
|
|
92
|
+
__1.expressErrorHandlerMiddleware({ logger: logger })(err, req, res, {});
|
|
93
|
+
});
|
|
94
|
+
it('SHOULD set statusCode 500', function () { return expect(res.status.mock.calls[0][0]).toBe(500); });
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
//# sourceMappingURL=expressErrorHandlerMiddleware.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expressErrorHandlerMiddleware.test.js","sourceRoot":"","sources":["../../../../../src/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface IErrorHandlerOptions {
|
|
2
|
+
logger: any;
|
|
3
|
+
}
|
|
4
|
+
export declare const expressErrorHandlerMiddleware: (options: IErrorHandlerOptions) => (err: any, req: any, res: any, _: any) => any;
|
|
5
|
+
export declare const expressHttpErrorHandler: (options: IErrorHandlerOptions) => (err: any, req: any, res: any) => any;
|
|
6
|
+
export declare function formatErrorForLogging(req: any, error: any, prefix?: string): string;
|
|
7
|
+
export declare function formatUser(user?: any): {
|
|
8
|
+
id: any;
|
|
9
|
+
email: any;
|
|
10
|
+
};
|
|
11
|
+
export declare function formatPartner(partner?: any): {
|
|
12
|
+
id: any;
|
|
13
|
+
name: any;
|
|
14
|
+
subdomain: any;
|
|
15
|
+
};
|