@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.
Files changed (296) hide show
  1. package/README.md +0 -0
  2. package/lib/errors/CriticalError.d.ts +11 -0
  3. package/lib/errors/CriticalError.js +38 -0
  4. package/lib/errors/CriticalError.js.map +1 -0
  5. package/lib/errors/ValidationError.d.ts +11 -0
  6. package/lib/errors/ValidationError.js +38 -0
  7. package/lib/errors/ValidationError.js.map +1 -0
  8. package/lib/errors/ValidationErrorSilent.d.ts +4 -0
  9. package/lib/errors/ValidationErrorSilent.js +29 -0
  10. package/lib/errors/ValidationErrorSilent.js.map +1 -0
  11. package/lib/errors/ValidationErrorWithStatus.d.ts +11 -0
  12. package/lib/errors/ValidationErrorWithStatus.js +39 -0
  13. package/lib/errors/ValidationErrorWithStatus.js.map +1 -0
  14. package/lib/errors/ValidationErrorWithStatusSilent.d.ts +4 -0
  15. package/lib/errors/ValidationErrorWithStatusSilent.js +29 -0
  16. package/lib/errors/ValidationErrorWithStatusSilent.js.map +1 -0
  17. package/lib/errors/__mocks__/errors.mock.d.ts +75 -0
  18. package/lib/errors/__mocks__/errors.mock.js +92 -0
  19. package/lib/errors/__mocks__/errors.mock.js.map +1 -0
  20. package/lib/errors/__tests__/errorMappers.test.d.ts +1 -0
  21. package/lib/errors/__tests__/errorMappers.test.js +30 -0
  22. package/lib/errors/__tests__/errorMappers.test.js.map +1 -0
  23. package/lib/errors/__tests__/errors.test.d.ts +1 -0
  24. package/lib/errors/__tests__/errors.test.js +82 -0
  25. package/lib/errors/__tests__/errors.test.js.map +1 -0
  26. package/lib/errors/errorMappers.d.ts +18 -0
  27. package/lib/errors/errorMappers.js +153 -0
  28. package/lib/errors/errorMappers.js.map +1 -0
  29. package/lib/errors/errors.types.d.ts +15 -0
  30. package/lib/errors/errors.types.js +9 -0
  31. package/lib/errors/errors.types.js.map +1 -0
  32. package/lib/errors/index.d.ts +5 -0
  33. package/lib/errors/index.js +13 -0
  34. package/lib/errors/index.js.map +1 -0
  35. package/lib/express/__tests__/swaggerHelpers.test.d.ts +1 -0
  36. package/lib/express/__tests__/swaggerHelpers.test.js +57 -0
  37. package/lib/express/__tests__/swaggerHelpers.test.js.map +1 -0
  38. package/lib/express/middleware/aliveMiddleware/index.d.ts +10 -0
  39. package/lib/express/middleware/aliveMiddleware/index.js +22 -0
  40. package/lib/express/middleware/aliveMiddleware/index.js.map +1 -0
  41. package/lib/express/middleware/companyMiddleware/company.d.ts +10 -0
  42. package/lib/express/middleware/companyMiddleware/company.js +24 -0
  43. package/lib/express/middleware/companyMiddleware/company.js.map +1 -0
  44. package/lib/express/middleware/companyMiddleware/companyApiRequest.d.ts +7 -0
  45. package/lib/express/middleware/companyMiddleware/companyApiRequest.js +18 -0
  46. package/lib/express/middleware/companyMiddleware/companyApiRequest.js.map +1 -0
  47. package/lib/express/middleware/companyMiddleware/index.d.ts +17 -0
  48. package/lib/express/middleware/companyMiddleware/index.js +28 -0
  49. package/lib/express/middleware/companyMiddleware/index.js.map +1 -0
  50. package/lib/express/middleware/companyMiddleware/index.types.d.ts +2 -0
  51. package/lib/express/middleware/companyMiddleware/index.types.js +3 -0
  52. package/lib/express/middleware/companyMiddleware/index.types.js.map +1 -0
  53. package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.d.ts +1 -0
  54. package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.js +97 -0
  55. package/lib/express/middleware/expressErrorHandlerMiddleware/__tests__/expressErrorHandlerMiddleware.test.js.map +1 -0
  56. package/lib/express/middleware/expressErrorHandlerMiddleware/index.d.ts +15 -0
  57. package/lib/express/middleware/expressErrorHandlerMiddleware/index.js +82 -0
  58. package/lib/express/middleware/expressErrorHandlerMiddleware/index.js.map +1 -0
  59. package/lib/express/middleware/index.d.ts +7 -0
  60. package/lib/express/middleware/index.js +18 -0
  61. package/lib/express/middleware/index.js.map +1 -0
  62. package/lib/express/middleware/languageMiddleware/index.d.ts +5 -0
  63. package/lib/express/middleware/languageMiddleware/index.js +53 -0
  64. package/lib/express/middleware/languageMiddleware/index.js.map +1 -0
  65. package/lib/express/middleware/partnerMiddleware/index.d.ts +17 -0
  66. package/lib/express/middleware/partnerMiddleware/index.js +28 -0
  67. package/lib/express/middleware/partnerMiddleware/index.js.map +1 -0
  68. package/lib/express/middleware/partnerMiddleware/index.types.d.ts +2 -0
  69. package/lib/express/middleware/partnerMiddleware/index.types.js +3 -0
  70. package/lib/express/middleware/partnerMiddleware/index.types.js.map +1 -0
  71. package/lib/express/middleware/partnerMiddleware/partner.d.ts +10 -0
  72. package/lib/express/middleware/partnerMiddleware/partner.js +24 -0
  73. package/lib/express/middleware/partnerMiddleware/partner.js.map +1 -0
  74. package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.d.ts +7 -0
  75. package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.js +18 -0
  76. package/lib/express/middleware/partnerMiddleware/partnerServiceRequest.js.map +1 -0
  77. package/lib/express/middleware/responseHelpersMiddleware/index.d.ts +2 -0
  78. package/lib/express/middleware/responseHelpersMiddleware/index.js +67 -0
  79. package/lib/express/middleware/responseHelpersMiddleware/index.js.map +1 -0
  80. package/lib/express/middleware/responseHelpersMiddleware/types.d.ts +18 -0
  81. package/lib/express/middleware/responseHelpersMiddleware/types.js +3 -0
  82. package/lib/express/middleware/responseHelpersMiddleware/types.js.map +1 -0
  83. package/lib/express/middleware/translationsMiddleware/index.d.ts +4 -0
  84. package/lib/express/middleware/translationsMiddleware/index.js +20 -0
  85. package/lib/express/middleware/translationsMiddleware/index.js.map +1 -0
  86. package/lib/express/swaggerControllersConfig.d.ts +13 -0
  87. package/lib/express/swaggerControllersConfig.js +112 -0
  88. package/lib/express/swaggerControllersConfig.js.map +1 -0
  89. package/lib/express/swaggerHelpers.d.ts +4 -0
  90. package/lib/express/swaggerHelpers.js +27 -0
  91. package/lib/express/swaggerHelpers.js.map +1 -0
  92. package/lib/express/swaggerUiController.d.ts +6 -0
  93. package/lib/express/swaggerUiController.js +17 -0
  94. package/lib/express/swaggerUiController.js.map +1 -0
  95. package/lib/express/swaggerUiTemplate.d.ts +5 -0
  96. package/lib/express/swaggerUiTemplate.js +9 -0
  97. package/lib/express/swaggerUiTemplate.js.map +1 -0
  98. package/lib/helpers/ExecuteOnce.d.ts +6 -0
  99. package/lib/helpers/ExecuteOnce.js +31 -0
  100. package/lib/helpers/ExecuteOnce.js.map +1 -0
  101. package/lib/helpers/UniversalConfig.d.ts +8 -0
  102. package/lib/helpers/UniversalConfig.js +31 -0
  103. package/lib/helpers/UniversalConfig.js.map +1 -0
  104. package/lib/helpers/__tests__/arrays.test.d.ts +1 -0
  105. package/lib/helpers/__tests__/arrays.test.js +17 -0
  106. package/lib/helpers/__tests__/arrays.test.js.map +1 -0
  107. package/lib/helpers/__tests__/emptyValues.test.d.ts +1 -0
  108. package/lib/helpers/__tests__/emptyValues.test.js +31 -0
  109. package/lib/helpers/__tests__/emptyValues.test.js.map +1 -0
  110. package/lib/helpers/__tests__/formatters.formatCurrency.test.d.ts +1 -0
  111. package/lib/helpers/__tests__/formatters.formatCurrency.test.js +18 -0
  112. package/lib/helpers/__tests__/formatters.formatCurrency.test.js.map +1 -0
  113. package/lib/helpers/__tests__/formatters.formatDate.test.d.ts +1 -0
  114. package/lib/helpers/__tests__/formatters.formatDate.test.js +163 -0
  115. package/lib/helpers/__tests__/formatters.formatDate.test.js.map +1 -0
  116. package/lib/helpers/__tests__/formatters.formatDouble.test.d.ts +1 -0
  117. package/lib/helpers/__tests__/formatters.formatDouble.test.js +26 -0
  118. package/lib/helpers/__tests__/formatters.formatDouble.test.js.map +1 -0
  119. package/lib/helpers/__tests__/navigation.test.d.ts +1 -0
  120. package/lib/helpers/__tests__/navigation.test.js +64 -0
  121. package/lib/helpers/__tests__/navigation.test.js.map +1 -0
  122. package/lib/helpers/__tests__/strings.test.d.ts +1 -0
  123. package/lib/helpers/__tests__/strings.test.js +46 -0
  124. package/lib/helpers/__tests__/strings.test.js.map +1 -0
  125. package/lib/helpers/__tests__/validation.test.d.ts +1 -0
  126. package/lib/helpers/__tests__/validation.test.js +193 -0
  127. package/lib/helpers/__tests__/validation.test.js.map +1 -0
  128. package/lib/helpers/arrays.d.ts +1 -0
  129. package/lib/helpers/arrays.js +10 -0
  130. package/lib/helpers/arrays.js.map +1 -0
  131. package/lib/helpers/clientLogger.d.ts +8 -0
  132. package/lib/helpers/clientLogger.js +73 -0
  133. package/lib/helpers/clientLogger.js.map +1 -0
  134. package/lib/helpers/constants/applicationForm.d.ts +59 -0
  135. package/lib/helpers/constants/applicationForm.js +68 -0
  136. package/lib/helpers/constants/applicationForm.js.map +1 -0
  137. package/lib/helpers/constants/candidates.d.ts +64 -0
  138. package/lib/helpers/constants/candidates.js +74 -0
  139. package/lib/helpers/constants/candidates.js.map +1 -0
  140. package/lib/helpers/constants/common.d.ts +93 -0
  141. package/lib/helpers/constants/common.js +111 -0
  142. package/lib/helpers/constants/common.js.map +1 -0
  143. package/lib/helpers/constants/contract.d.ts +37 -0
  144. package/lib/helpers/constants/contract.js +42 -0
  145. package/lib/helpers/constants/contract.js.map +1 -0
  146. package/lib/helpers/constants/documents.d.ts +11 -0
  147. package/lib/helpers/constants/documents.js +16 -0
  148. package/lib/helpers/constants/documents.js.map +1 -0
  149. package/lib/helpers/constants/features.d.ts +7 -0
  150. package/lib/helpers/constants/features.js +11 -0
  151. package/lib/helpers/constants/features.js.map +1 -0
  152. package/lib/helpers/constants/fileUploads.d.ts +5 -0
  153. package/lib/helpers/constants/fileUploads.js +8 -0
  154. package/lib/helpers/constants/fileUploads.js.map +1 -0
  155. package/lib/helpers/constants/index.d.ts +37 -0
  156. package/lib/helpers/constants/index.js +43 -0
  157. package/lib/helpers/constants/index.js.map +1 -0
  158. package/lib/helpers/constants/integrations.d.ts +39 -0
  159. package/lib/helpers/constants/integrations.js +47 -0
  160. package/lib/helpers/constants/integrations.js.map +1 -0
  161. package/lib/helpers/constants/language.d.ts +6 -0
  162. package/lib/helpers/constants/language.js +10 -0
  163. package/lib/helpers/constants/language.js.map +1 -0
  164. package/lib/helpers/constants/listing.d.ts +327 -0
  165. package/lib/helpers/constants/listing.js +364 -0
  166. package/lib/helpers/constants/listing.js.map +1 -0
  167. package/lib/helpers/constants/listingTemplate.d.ts +7 -0
  168. package/lib/helpers/constants/listingTemplate.js +12 -0
  169. package/lib/helpers/constants/listingTemplate.js.map +1 -0
  170. package/lib/helpers/constants/mediaTypes.d.ts +34 -0
  171. package/lib/helpers/constants/mediaTypes.js +39 -0
  172. package/lib/helpers/constants/mediaTypes.js.map +1 -0
  173. package/lib/helpers/constants/messages.d.ts +5 -0
  174. package/lib/helpers/constants/messages.js +10 -0
  175. package/lib/helpers/constants/messages.js.map +1 -0
  176. package/lib/helpers/constants/moveIn.d.ts +59 -0
  177. package/lib/helpers/constants/moveIn.js +66 -0
  178. package/lib/helpers/constants/moveIn.js.map +1 -0
  179. package/lib/helpers/constants/partner.d.ts +7 -0
  180. package/lib/helpers/constants/partner.js +12 -0
  181. package/lib/helpers/constants/partner.js.map +1 -0
  182. package/lib/helpers/constants/pictures.d.ts +2 -0
  183. package/lib/helpers/constants/pictures.js +5 -0
  184. package/lib/helpers/constants/pictures.js.map +1 -0
  185. package/lib/helpers/constants/properties.d.ts +17 -0
  186. package/lib/helpers/constants/properties.js +24 -0
  187. package/lib/helpers/constants/properties.js.map +1 -0
  188. package/lib/helpers/constants/schedule.d.ts +11 -0
  189. package/lib/helpers/constants/schedule.js +15 -0
  190. package/lib/helpers/constants/schedule.js.map +1 -0
  191. package/lib/helpers/constants/scoring.d.ts +8 -0
  192. package/lib/helpers/constants/scoring.js +13 -0
  193. package/lib/helpers/constants/scoring.js.map +1 -0
  194. package/lib/helpers/constants/screenSizes.d.ts +8 -0
  195. package/lib/helpers/constants/screenSizes.js +11 -0
  196. package/lib/helpers/constants/screenSizes.js.map +1 -0
  197. package/lib/helpers/constants/searchProfile.d.ts +5 -0
  198. package/lib/helpers/constants/searchProfile.js +9 -0
  199. package/lib/helpers/constants/searchProfile.js.map +1 -0
  200. package/lib/helpers/constants/swagger.d.ts +5 -0
  201. package/lib/helpers/constants/swagger.js +10 -0
  202. package/lib/helpers/constants/swagger.js.map +1 -0
  203. package/lib/helpers/constants/tenants.d.ts +5 -0
  204. package/lib/helpers/constants/tenants.js +10 -0
  205. package/lib/helpers/constants/tenants.js.map +1 -0
  206. package/lib/helpers/constants/units.d.ts +156 -0
  207. package/lib/helpers/constants/units.js +173 -0
  208. package/lib/helpers/constants/units.js.map +1 -0
  209. package/lib/helpers/constants/urls.d.ts +4 -0
  210. package/lib/helpers/constants/urls.js +7 -0
  211. package/lib/helpers/constants/urls.js.map +1 -0
  212. package/lib/helpers/constants/user.d.ts +5 -0
  213. package/lib/helpers/constants/user.js +10 -0
  214. package/lib/helpers/constants/user.js.map +1 -0
  215. package/lib/helpers/constants/validators.d.ts +5 -0
  216. package/lib/helpers/constants/validators.js +9 -0
  217. package/lib/helpers/constants/validators.js.map +1 -0
  218. package/lib/helpers/emptyValues.d.ts +2 -0
  219. package/lib/helpers/emptyValues.js +16 -0
  220. package/lib/helpers/emptyValues.js.map +1 -0
  221. package/lib/helpers/formatters.d.ts +13 -0
  222. package/lib/helpers/formatters.js +107 -0
  223. package/lib/helpers/formatters.js.map +1 -0
  224. package/lib/helpers/guards.d.ts +1 -0
  225. package/lib/helpers/guards.js +10 -0
  226. package/lib/helpers/guards.js.map +1 -0
  227. package/lib/helpers/index.d.ts +6 -0
  228. package/lib/helpers/index.js +13 -0
  229. package/lib/helpers/index.js.map +1 -0
  230. package/lib/helpers/isBrowser.d.ts +1 -0
  231. package/lib/helpers/isBrowser.js +4 -0
  232. package/lib/helpers/isBrowser.js.map +1 -0
  233. package/lib/helpers/math.d.ts +3 -0
  234. package/lib/helpers/math.js +41 -0
  235. package/lib/helpers/math.js.map +1 -0
  236. package/lib/helpers/moment.d.ts +40 -0
  237. package/lib/helpers/moment.js +83 -0
  238. package/lib/helpers/moment.js.map +1 -0
  239. package/lib/helpers/navigation.d.ts +19 -0
  240. package/lib/helpers/navigation.js +142 -0
  241. package/lib/helpers/navigation.js.map +1 -0
  242. package/lib/helpers/stringifySafe.d.ts +1 -0
  243. package/lib/helpers/stringifySafe.js +16 -0
  244. package/lib/helpers/stringifySafe.js.map +1 -0
  245. package/lib/helpers/strings.d.ts +4 -0
  246. package/lib/helpers/strings.js +64 -0
  247. package/lib/helpers/strings.js.map +1 -0
  248. package/lib/helpers/validation.d.ts +110 -0
  249. package/lib/helpers/validation.js +278 -0
  250. package/lib/helpers/validation.js.map +1 -0
  251. package/lib/index.d.ts +3 -0
  252. package/lib/index.js +12 -0
  253. package/lib/index.js.map +1 -0
  254. package/lib/interfaces.d.ts +16 -0
  255. package/lib/interfaces.js +22 -0
  256. package/lib/interfaces.js.map +1 -0
  257. package/lib/redux/analyticsMiddleware.d.ts +4 -0
  258. package/lib/redux/analyticsMiddleware.js +53 -0
  259. package/lib/redux/analyticsMiddleware.js.map +1 -0
  260. package/lib/redux/clientMiddleware.d.ts +1 -0
  261. package/lib/redux/clientMiddleware.js +79 -0
  262. package/lib/redux/clientMiddleware.js.map +1 -0
  263. package/lib/redux/emptyMiddleware.d.ts +1 -0
  264. package/lib/redux/emptyMiddleware.js +6 -0
  265. package/lib/redux/emptyMiddleware.js.map +1 -0
  266. package/lib/redux/index.d.ts +3 -0
  267. package/lib/redux/index.js +9 -0
  268. package/lib/redux/index.js.map +1 -0
  269. package/lib/services/applicantService.d.ts +1 -0
  270. package/lib/services/applicantService.js +8 -0
  271. package/lib/services/applicantService.js.map +1 -0
  272. package/lib/services/cookieService/cookieService.d.ts +29 -0
  273. package/lib/services/cookieService/cookieService.js +61 -0
  274. package/lib/services/cookieService/cookieService.js.map +1 -0
  275. package/lib/services/googleAnalyticsService/googleAnalyticsService.d.ts +17 -0
  276. package/lib/services/googleAnalyticsService/googleAnalyticsService.js +79 -0
  277. package/lib/services/googleAnalyticsService/googleAnalyticsService.js.map +1 -0
  278. package/lib/services/imageService/imageService.d.ts +7 -0
  279. package/lib/services/imageService/imageService.js +27 -0
  280. package/lib/services/imageService/imageService.js.map +1 -0
  281. package/lib/services/index.d.ts +10 -0
  282. package/lib/services/index.js +13 -0
  283. package/lib/services/index.js.map +1 -0
  284. package/lib/services/languageService/languageService.d.ts +16 -0
  285. package/lib/services/languageService/languageService.js +46 -0
  286. package/lib/services/languageService/languageService.js.map +1 -0
  287. package/lib/services/localstorageService/localstorageService.d.ts +2 -0
  288. package/lib/services/localstorageService/localstorageService.js +19 -0
  289. package/lib/services/localstorageService/localstorageService.js.map +1 -0
  290. package/lib/services/sessionStorageService/index.d.ts +2 -0
  291. package/lib/services/sessionStorageService/index.js +19 -0
  292. package/lib/services/sessionStorageService/index.js.map +1 -0
  293. package/lib/translations/getAllTranslations.d.ts +5 -0
  294. package/lib/translations/getAllTranslations.js +26 -0
  295. package/lib/translations/getAllTranslations.js.map +1 -0
  296. package/package.json +110 -0
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var undefsafe = require("undefsafe");
4
+ var errors_types_1 = require("./../../../errors/errors.types");
5
+ var errorMappers_1 = require("../../../errors/errorMappers");
6
+ exports.expressErrorHandlerMiddleware = function (options) { return function (err, req, res, _) {
7
+ return exports.expressHttpErrorHandler(options)(err, req, res);
8
+ }; };
9
+ function getStatusCodeForError(err) {
10
+ var isValidationError = errorMappers_1.isSwaggerValidationError(err) || errorMappers_1.isJoiError(err) || errorMappers_1.isSequelizeError(err);
11
+ var defaultStatusCode = isValidationError ? 400 : 500;
12
+ return err.statusCode || err.status || defaultStatusCode;
13
+ }
14
+ exports.expressHttpErrorHandler = function (options) { return function (err, req, res) {
15
+ var logger = options.logger;
16
+ try {
17
+ var statusCode = getStatusCodeForError(err);
18
+ if (statusCode === 403) {
19
+ return res.status(statusCode).json(err);
20
+ }
21
+ var response = errorMappers_1.formatValidationErrorResponse(err);
22
+ if (response) {
23
+ switch (err.logLevel) {
24
+ case errors_types_1.LogLevel.info:
25
+ logger.info(formatErrorForLogging(req, err));
26
+ break;
27
+ case errors_types_1.LogLevel.warn:
28
+ logger.warn(formatErrorForLogging(req, err));
29
+ break;
30
+ case errors_types_1.LogLevel.error:
31
+ logger.error(formatErrorForLogging(req, err));
32
+ break;
33
+ default:
34
+ logger.warn(formatErrorForLogging(req, err));
35
+ }
36
+ return res.status(statusCode).json(response);
37
+ }
38
+ logger.error(formatErrorForLogging(req, err));
39
+ return res.status(statusCode).json('Unhandled error');
40
+ }
41
+ catch (err) {
42
+ logger.error(formatErrorForLogging(req, err, "!!!THE LOGGER CRASHED!!! "));
43
+ res.status(500).json('Unhandled error');
44
+ }
45
+ }; };
46
+ function formatErrorForLogging(req, error, prefix) {
47
+ if (prefix === void 0) { prefix = ''; }
48
+ var errorToString = errorMappers_1.mapErrorToString(error, req);
49
+ var language = req.headers['accept-language'];
50
+ var userToString = JSON.stringify(formatUser(req.user));
51
+ var subdomain = (req.subdomains || []).join('.');
52
+ return prefix + "URL: \"" + subdomain + " [" + req.method + "] " + req.url + "\"; LANGUAGE: \"" + language + "\"; CURRENT_USER: \"" + userToString + "\"; ERROR: \"" + errorToString + "\";";
53
+ }
54
+ exports.formatErrorForLogging = formatErrorForLogging;
55
+ function formatUser(user) {
56
+ if (user === void 0) { user = {}; }
57
+ if (user && user.id) {
58
+ var baseUser = {
59
+ id: user.id,
60
+ email: user.email,
61
+ };
62
+ if (undefsafe(user, 'currentCompany.id')) {
63
+ baseUser.companyId = undefsafe(user, 'currentCompany.id');
64
+ }
65
+ return baseUser;
66
+ }
67
+ return null;
68
+ }
69
+ exports.formatUser = formatUser;
70
+ function formatPartner(partner) {
71
+ if (partner === void 0) { partner = {}; }
72
+ if (partner) {
73
+ return {
74
+ id: partner.id,
75
+ name: partner.name,
76
+ subdomain: partner.subdomain,
77
+ };
78
+ }
79
+ return null;
80
+ }
81
+ exports.formatPartner = formatPartner;
82
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/express/middleware/expressErrorHandlerMiddleware/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export { languageMiddleware } from './languageMiddleware';
2
+ export { aliveMiddleware } from './aliveMiddleware';
3
+ export { partnerMiddleware } from './partnerMiddleware';
4
+ export { companyMiddleware } from './companyMiddleware';
5
+ export { translationsMiddleware } from './translationsMiddleware';
6
+ export { responseHelpersMiddleware } from './responseHelpersMiddleware';
7
+ export { expressErrorHandlerMiddleware, expressHttpErrorHandler } from './expressErrorHandlerMiddleware';
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var languageMiddleware_1 = require("./languageMiddleware");
4
+ exports.languageMiddleware = languageMiddleware_1.languageMiddleware;
5
+ var aliveMiddleware_1 = require("./aliveMiddleware");
6
+ exports.aliveMiddleware = aliveMiddleware_1.aliveMiddleware;
7
+ var partnerMiddleware_1 = require("./partnerMiddleware");
8
+ exports.partnerMiddleware = partnerMiddleware_1.partnerMiddleware;
9
+ var companyMiddleware_1 = require("./companyMiddleware");
10
+ exports.companyMiddleware = companyMiddleware_1.companyMiddleware;
11
+ var translationsMiddleware_1 = require("./translationsMiddleware");
12
+ exports.translationsMiddleware = translationsMiddleware_1.translationsMiddleware;
13
+ var responseHelpersMiddleware_1 = require("./responseHelpersMiddleware");
14
+ exports.responseHelpersMiddleware = responseHelpersMiddleware_1.responseHelpersMiddleware;
15
+ var expressErrorHandlerMiddleware_1 = require("./expressErrorHandlerMiddleware");
16
+ exports.expressErrorHandlerMiddleware = expressErrorHandlerMiddleware_1.expressErrorHandlerMiddleware;
17
+ exports.expressHttpErrorHandler = expressErrorHandlerMiddleware_1.expressHttpErrorHandler;
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/express/middleware/index.ts"],"names":[],"mappings":";;AAAA,2DAA0D;AAAjD,kDAAA,kBAAkB,CAAA;AAC3B,qDAAoD;AAA3C,4CAAA,eAAe,CAAA;AACxB,yDAAwD;AAA/C,gDAAA,iBAAiB,CAAA;AAC1B,yDAAwD;AAA/C,gDAAA,iBAAiB,CAAA;AAC1B,mEAAkE;AAAzD,0DAAA,sBAAsB,CAAA;AAC/B,yEAAwE;AAA/D,gEAAA,yBAAyB,CAAA;AAClC,iFAAyG;AAAhG,wEAAA,6BAA6B,CAAA;AAAE,kEAAA,uBAAuB,CAAA"}
@@ -0,0 +1,5 @@
1
+ export interface ILanguageMiddlewareParams {
2
+ defaultLanguage?: string;
3
+ useCookies?: boolean;
4
+ }
5
+ export declare function languageMiddleware(params?: ILanguageMiddlewareParams): (req: any, res: any, next: any) => any;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var cookieService = require("../../../services/cookieService/cookieService");
4
+ var languageService = require("../../../services/languageService/languageService");
5
+ var constants_1 = require("./../../../helpers/constants");
6
+ function getRequestLanguage(params) {
7
+ if (params === void 0) { params = {}; }
8
+ var req = params.req, _a = params.useCookies, useCookies = _a === void 0 ? false : _a;
9
+ var allLanguages = constants_1.ALL_LANGUAGES || [];
10
+ var acceptedLanguage = req.acceptsLanguages.apply(req, allLanguages);
11
+ var cookieLanguage = useCookies ? cookieService.getCookie({ req: req, name: 'accept-language' }) : undefined;
12
+ return {
13
+ cookieLanguage: cookieLanguage,
14
+ acceptedLanguage: acceptedLanguage,
15
+ };
16
+ }
17
+ function languageMiddleware(params) {
18
+ if (params === void 0) { params = {}; }
19
+ var _a = params.defaultLanguage, defaultLanguage = _a === void 0 ? constants_1.LANGUAGES.__DEFAULT : _a, _b = params.useCookies, useCookies = _b === void 0 ? false : _b;
20
+ return function (req, res, next) {
21
+ var languages = getRequestLanguage({ req: req, useCookies: useCookies });
22
+ var currentLanguage = languages.cookieLanguage || languages.acceptedLanguage || defaultLanguage;
23
+ // Set default language cookie if it's not set
24
+ if (useCookies && !languages.cookieLanguage) {
25
+ languageService.setCurrentLanguage({
26
+ req: req,
27
+ res: res,
28
+ language: languages.acceptedLanguage || defaultLanguage,
29
+ });
30
+ }
31
+ /* eslint no-param-reassign: 0 */
32
+ req.getAllLanguages = function () { return constants_1.ALL_LANGUAGES; };
33
+ /* eslint no-param-reassign: 0 */
34
+ req.getLanguage = function () { return currentLanguage; };
35
+ /* eslint no-param-reassign: 0 */
36
+ req.setLanguage = function (_a) {
37
+ var _b = (_a === void 0 ? {} : _a).language, language = _b === void 0 ? '' : _b;
38
+ if (constants_1.ALL_LANGUAGES.includes(language)) {
39
+ currentLanguage = language;
40
+ if (useCookies) {
41
+ languageService.setCurrentLanguage({
42
+ req: req,
43
+ res: res,
44
+ language: currentLanguage || defaultLanguage,
45
+ });
46
+ }
47
+ }
48
+ };
49
+ return next();
50
+ };
51
+ }
52
+ exports.languageMiddleware = languageMiddleware;
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/express/middleware/languageMiddleware/index.ts"],"names":[],"mappings":";;AAAA,6EAA+E;AAC/E,mFAAqF;AACrF,0DAAwE;AAUxE,SAAS,kBAAkB,CAAC,MAAqC;IAArC,uBAAA,EAAA,WAAqC;IACvD,IAAA,gBAAG,EAAE,sBAAkB,EAAlB,uCAAkB,CAAY;IAC3C,IAAM,YAAY,GAAG,yBAAa,IAAI,EAAE,CAAC;IACzC,IAAM,gBAAgB,GAAW,GAAG,CAAC,gBAAgB,OAApB,GAAG,EAAqB,YAAY,CAAC,CAAC;IACvE,IAAM,cAAc,GAAW,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,GAAG,KAAA,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAElH,OAAO;QACL,cAAc,gBAAA;QACd,gBAAgB,kBAAA;KACjB,CAAC;AACJ,CAAC;AAMD,SAAgB,kBAAkB,CAAC,MAAsC;IAAtC,uBAAA,EAAA,WAAsC;IAC/D,IAAA,2BAAqC,EAArC,sEAAqC,EAAE,sBAAkB,EAAlB,uCAAkB,CAAY;IAE7E,OAAO,UAAC,GAAG,EAAE,GAAG,EAAE,IAAI;QACpB,IAAM,SAAS,GAAgC,kBAAkB,CAAC,EAAE,GAAG,KAAA,EAAE,UAAU,YAAA,EAAE,CAAC,CAAC;QACvF,IAAI,eAAe,GAAW,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,gBAAgB,IAAI,eAAe,CAAC;QAExG,8CAA8C;QAC9C,IAAI,UAAU,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;YAC3C,eAAe,CAAC,kBAAkB,CAAC;gBACjC,GAAG,KAAA;gBACH,GAAG,KAAA;gBACH,QAAQ,EAAE,SAAS,CAAC,gBAAgB,IAAI,eAAe;aACxD,CAAC,CAAC;SACJ;QAED,iCAAiC;QACjC,GAAG,CAAC,eAAe,GAAG,cAAM,OAAA,yBAAa,EAAb,CAAa,CAAC;QAE1C,iCAAiC;QACjC,GAAG,CAAC,WAAW,GAAG,cAAM,OAAA,eAAe,EAAf,CAAe,CAAC;QAExC,iCAAiC;QACjC,GAAG,CAAC,WAAW,GAAG,UAAC,EAAsB;gBAApB,uCAAa,EAAb,kCAAa;YAChC,IAAI,yBAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBACpC,eAAe,GAAG,QAAQ,CAAC;gBAE3B,IAAI,UAAU,EAAE;oBACd,eAAe,CAAC,kBAAkB,CAAC;wBACjC,GAAG,KAAA;wBACH,GAAG,KAAA;wBACH,QAAQ,EAAE,eAAe,IAAI,eAAe;qBAC7C,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAvCD,gDAuCC"}
@@ -0,0 +1,17 @@
1
+ import * as i from './index.types';
2
+ export interface IPartnerMiddlewareOptions {
3
+ getPartnerFunction: i.GetPartnerFunction;
4
+ getPartnerUrl: i.GetPartnerUrl;
5
+ cacheTtl: number;
6
+ options?: {
7
+ subdomainExtraParts?: string[];
8
+ };
9
+ }
10
+ export declare const partnerMiddleware: ({ getPartnerFunction, getPartnerUrl, cacheTtl, options: { subdomainExtraParts }, }?: {
11
+ getPartnerFunction?: any;
12
+ getPartnerUrl?: 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 partner_1 = require("./partner");
4
+ exports.partnerMiddleware = function (_a) {
5
+ var _b = _a === void 0 ? {} : _a, _c = _b.getPartnerFunction, getPartnerFunction = _c === void 0 ? null : _c, // (subdomain) => Promise.resolve(),
6
+ _d = _b.getPartnerUrl, // (subdomain) => Promise.resolve(),
7
+ getPartnerUrl = _d === void 0 ? null : _d, // (subdomain) => '',
8
+ _e = _b.cacheTtl, // (subdomain) => '',
9
+ cacheTtl = _e === void 0 ? partner_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.currentPartner = null; // eslint-disable-line no-param-reassign
13
+ var subdomain = getPartnerSubdomainName(req, subdomainExtraParts);
14
+ partner_1.getPartner({ subdomain: subdomain, getPartnerUrl: getPartnerUrl, getPartnerFunction: getPartnerFunction, cacheTtl: cacheTtl })
15
+ .then(function (partner) {
16
+ req.currentPartner = partner; // eslint-disable-line no-param-reassign
17
+ return next();
18
+ })
19
+ .catch(function () {
20
+ req.currentPartner = null; // eslint-disable-line no-param-reassign
21
+ return next();
22
+ });
23
+ };
24
+ };
25
+ function getPartnerSubdomainName(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/partnerMiddleware/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,2 @@
1
+ export declare type GetPartnerUrl = (subdomain?: string) => string;
2
+ export declare type GetPartnerFunction = (subdomain?: string) => Promise<any>;
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.types.js","sourceRoot":"","sources":["../../../../src/express/middleware/partnerMiddleware/index.types.ts"],"names":[],"mappings":""}
@@ -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 IGetPartnerOptions {
5
+ subdomain: string;
6
+ getPartnerUrl: i.GetPartnerUrl;
7
+ getPartnerFunction: i.GetPartnerFunction;
8
+ cacheTtl: number;
9
+ }
10
+ export declare function getPartner({ subdomain, getPartnerUrl, getPartnerFunction, cacheTtl }: IGetPartnerOptions): Promise<any>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var NodeCache = require("node-cache");
4
+ var partnerServiceRequest_1 = require("./partnerServiceRequest");
5
+ exports.DEFAULT_TTL = 5 * 60; // in seconds
6
+ exports.CHECK_CACHE_PERIOD = 1 * 60; // in seconds
7
+ var partnerCache = new NodeCache({ stdTTL: exports.DEFAULT_TTL, checkperiod: exports.CHECK_CACHE_PERIOD });
8
+ function getPartner(_a) {
9
+ var subdomain = _a.subdomain, getPartnerUrl = _a.getPartnerUrl, getPartnerFunction = _a.getPartnerFunction, _b = _a.cacheTtl, cacheTtl = _b === void 0 ? exports.DEFAULT_TTL : _b;
10
+ var cacheKey = "partner_" + subdomain;
11
+ var cachedPartner = partnerCache.get(cacheKey);
12
+ if (!subdomain) {
13
+ return Promise.resolve(null);
14
+ }
15
+ if (cachedPartner) {
16
+ return Promise.resolve(cachedPartner);
17
+ }
18
+ return partnerServiceRequest_1.getPartnerFromApi({ subdomain: subdomain, getPartnerUrl: getPartnerUrl, getPartnerFunction: getPartnerFunction }).then(function (partner) {
19
+ partnerCache.set(cacheKey, partner, cacheTtl);
20
+ return partner;
21
+ });
22
+ }
23
+ exports.getPartner = getPartner;
24
+ //# sourceMappingURL=partner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partner.js","sourceRoot":"","sources":["../../../../src/express/middleware/partnerMiddleware/partner.ts"],"names":[],"mappings":";;AAAA,sCAAwC;AACxC,iEAA4D;AAG/C,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,yCAAiB,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 IGetPartnerFromApiOptions {
3
+ subdomain: string;
4
+ getPartnerUrl: i.GetPartnerUrl;
5
+ getPartnerFunction: i.GetPartnerFunction;
6
+ }
7
+ export declare function getPartnerFromApi({ subdomain, getPartnerUrl, getPartnerFunction, }: IGetPartnerFromApiOptions): Promise<any>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var axios_1 = require("axios");
4
+ function getPartnerFromApi(_a) {
5
+ var subdomain = _a.subdomain, getPartnerUrl = _a.getPartnerUrl, getPartnerFunction = _a.getPartnerFunction;
6
+ if (!subdomain) {
7
+ return Promise.resolve(null);
8
+ }
9
+ if (getPartnerUrl) {
10
+ return axios_1.default.get(getPartnerUrl(subdomain)).then(function (response) { return response.data; });
11
+ }
12
+ if (getPartnerFunction) {
13
+ return getPartnerFunction(subdomain);
14
+ }
15
+ return Promise.resolve(null);
16
+ }
17
+ exports.getPartnerFromApi = getPartnerFromApi;
18
+ //# sourceMappingURL=partnerServiceRequest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partnerServiceRequest.js","sourceRoot":"","sources":["../../../../src/express/middleware/partnerMiddleware/partnerServiceRequest.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,2 @@
1
+ import { IApiResponse } from './types';
2
+ export declare const responseHelpersMiddleware: () => (_: any, res: IApiResponse, next: any) => any;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var validation_1 = require("./../../../helpers/validation");
4
+ exports.responseHelpersMiddleware = function () { return function (_, res, next) {
5
+ res.created = created;
6
+ res.deleted = deleted;
7
+ res.notFound = notFound;
8
+ res.forbidden = forbidden;
9
+ res.jsonListWithHeaders = jsonListWithHeaders;
10
+ return next();
11
+ }; };
12
+ function jsonListWithHeaders(data) {
13
+ this.status(200);
14
+ if (data) {
15
+ if (!validation_1.isEmpty(data.filterCount)) {
16
+ this.set('X-Filter-Count', data.filterCount);
17
+ }
18
+ this.set('X-Total-Count', data.totalCount);
19
+ this.json(data.list);
20
+ }
21
+ else {
22
+ this.end();
23
+ }
24
+ return this;
25
+ }
26
+ function created(id, data) {
27
+ this.set('Location', id);
28
+ this.status(201);
29
+ if (data) {
30
+ this.json(data);
31
+ }
32
+ else {
33
+ this.end();
34
+ }
35
+ return this;
36
+ }
37
+ function deleted(data) {
38
+ this.status(204);
39
+ if (data) {
40
+ this.json(data);
41
+ }
42
+ else {
43
+ this.end();
44
+ }
45
+ return this;
46
+ }
47
+ function forbidden(data) {
48
+ this.status(403);
49
+ if (data) {
50
+ this.json(data);
51
+ }
52
+ else {
53
+ this.end();
54
+ }
55
+ return this;
56
+ }
57
+ function notFound(data) {
58
+ this.status(404);
59
+ if (data) {
60
+ this.json(data);
61
+ }
62
+ else {
63
+ this.end();
64
+ }
65
+ return this;
66
+ }
67
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/express/middleware/responseHelpersMiddleware/index.ts"],"names":[],"mappings":";;AAAA,4DAAwD;AAI3C,QAAA,yBAAyB,GAAG,cAAM,OAAA,UAAC,CAAC,EAAE,GAAiB,EAAE,IAAI;IACxE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;IACtB,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACxB,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;IAC1B,GAAG,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;IAE9C,OAAO,IAAI,EAAE,CAAC;AAChB,CAAC,EAR8C,CAQ9C,CAAC;AAEF,SAAS,mBAAmB,CAAQ,IAAiC;IACnE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjB,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,oBAAO,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC9B,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC9C;QAED,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtB;SAAM;QACL,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,EAAU,EAAE,IAAU;IACrC,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjB,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjB;SAAM;QACL,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,OAAO,CAAC,IAAU;IACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjB,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjB;SAAM;QACL,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,SAAS,CAAC,IAAU;IAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjB,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjB;SAAM;QACL,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,QAAQ,CAAC,IAAU;IAC1B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAEjB,IAAI,IAAI,EAAE;QACR,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACjB;SAAM;QACL,IAAI,CAAC,GAAG,EAAE,CAAC;KACZ;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { Request, Response } from 'express';
2
+ export interface IListResultWithCount<T> {
3
+ list: T[];
4
+ filterCount?: number;
5
+ totalCount: number;
6
+ }
7
+ export interface IApiRequest extends Request {
8
+ user: any;
9
+ currentPartner: any;
10
+ swagger: any;
11
+ }
12
+ export interface IApiResponse extends Response {
13
+ created: (id: string, data?: any) => Response;
14
+ deleted: (data?: any) => Response;
15
+ notFound: (data?: any) => Response;
16
+ forbidden: (data?: any) => Response;
17
+ jsonListWithHeaders: <TData>(data: IListResultWithCount<TData>) => Response;
18
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/express/middleware/responseHelpersMiddleware/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare function translationsMiddleware({ defaultLanguage, allTranslations }: {
2
+ defaultLanguage?: string;
3
+ allTranslations?: {};
4
+ }): (req: any, _res: any, next: any) => any;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var constants_1 = require("./../../../helpers/constants");
4
+ function translationsMiddleware(_a) {
5
+ var _b = _a.defaultLanguage, defaultLanguage = _b === void 0 ? constants_1.LANGUAGES.__DEFAULT : _b, _c = _a.allTranslations, allTranslations = _c === void 0 ? {} : _c;
6
+ return function (req, _res, next) {
7
+ /* eslint no-param-reassign: 0 */
8
+ req.getAllTranslations = function () { return allTranslations; };
9
+ /* eslint no-param-reassign: 0 */
10
+ req.getTranslation = function (_a) {
11
+ var _b = (_a === void 0 ? {} : _a).language, language = _b === void 0 ? defaultLanguage : _b;
12
+ var translation = allTranslations[(language || '').toLowerCase()];
13
+ var defaultTranslation = allTranslations[defaultLanguage.toLowerCase()];
14
+ return translation || defaultTranslation;
15
+ };
16
+ return next();
17
+ };
18
+ }
19
+ exports.translationsMiddleware = translationsMiddleware;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/express/middleware/translationsMiddleware/index.ts"],"names":[],"mappings":";;AAAA,0DAAyD;AAEzD,SAAgB,sBAAsB,CAAC,EAA+D;QAA7D,uBAAqC,EAArC,sEAAqC,EAAE,uBAAoB,EAApB,yCAAoB;IAClG,OAAO,UAAC,GAAG,EAAE,IAAI,EAAE,IAAI;QACrB,iCAAiC;QACjC,GAAG,CAAC,kBAAkB,GAAG,cAAM,OAAA,eAAe,EAAf,CAAe,CAAC;QAE/C,iCAAiC;QACjC,GAAG,CAAC,cAAc,GAAG,UAAC,EAAmC;gBAAjC,uCAA0B,EAA1B,+CAA0B;YAChD,IAAM,WAAW,GAAG,eAAe,CAAC,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACpE,IAAM,kBAAkB,GAAG,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1E,OAAO,WAAW,IAAI,kBAAkB,CAAC;QAC3C,CAAC,CAAC;QAEF,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC,CAAC;AACJ,CAAC;AAdD,wDAcC"}
@@ -0,0 +1,13 @@
1
+ export interface IControllerConfigParam {
2
+ basePath?: string;
3
+ relativePath?: string;
4
+ filePattern?: string;
5
+ fileExtension?: string;
6
+ logger?: any;
7
+ errorHandler?: (req: any, res: any, next: any) => any;
8
+ }
9
+ /**
10
+ * This function creates a map of all controllers in your project, ready to be sent to swagger as config.
11
+ * It is usually used before the api starts
12
+ */
13
+ export declare const getSwaggerControllersConfig: (input?: IControllerConfigParam) => {};
@@ -0,0 +1,112 @@
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
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ var glob_1 = require("glob");
40
+ var now = require('performance-now');
41
+ var defaultErrorHandler = function (_req, _res, next) { return __awaiter(void 0, void 0, void 0, function () {
42
+ return __generator(this, function (_a) {
43
+ next();
44
+ return [2 /*return*/];
45
+ });
46
+ }); };
47
+ var GET_REQUEST_LOG_LIMIT = 1000;
48
+ /**
49
+ * This function creates a map of all controllers in your project, ready to be sent to swagger as config.
50
+ * It is usually used before the api starts
51
+ */
52
+ exports.getSwaggerControllersConfig = function (input) {
53
+ if (input === void 0) { input = {}; }
54
+ var basePath = input.basePath || "./src/controllers";
55
+ var relativePath = input.relativePath || "controllers";
56
+ var fileExtension = input.fileExtension || "ts";
57
+ var filePattern = input.filePattern || basePath + "/**/*Controller." + fileExtension;
58
+ var errorHandler = input.errorHandler || defaultErrorHandler;
59
+ var logger = input.logger;
60
+ var controllersPath = glob_1.sync(filePattern).map(function (file) {
61
+ return file.replace(basePath, relativePath).replace("." + fileExtension, '');
62
+ });
63
+ var swaggerControllersConfig = {};
64
+ controllersPath.forEach(function (path) {
65
+ var controller = require(path);
66
+ Object.keys(controller).forEach(function (key) {
67
+ var _a;
68
+ var controllerOperation = controller[key];
69
+ if (typeof controllerOperation !== 'function') {
70
+ return;
71
+ }
72
+ var controllerNameParts = path.split('/');
73
+ var controllerName = controllerNameParts[controllerNameParts.length - 1];
74
+ var operationName = controllerName + "_" + key;
75
+ Object.assign(swaggerControllersConfig, (_a = {},
76
+ _a[operationName] = function (req, res, next) { return __awaiter(void 0, void 0, void 0, function () {
77
+ var result, method, url, start, end, diff, err_1;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0:
81
+ result = null;
82
+ _a.label = 1;
83
+ case 1:
84
+ _a.trys.push([1, 3, , 5]);
85
+ method = req.method;
86
+ url = req.url;
87
+ start = now();
88
+ return [4 /*yield*/, controllerOperation(req, res, next)];
89
+ case 2:
90
+ result = _a.sent();
91
+ end = now();
92
+ diff = end - start;
93
+ if (logger && logger.warn && method === 'GET' && diff > GET_REQUEST_LOG_LIMIT) {
94
+ logger.warn(['[PERFORMANCE]', method + " " + url + " took " + diff.toFixed(2) + " ms."]);
95
+ }
96
+ return [3 /*break*/, 5];
97
+ case 3:
98
+ err_1 = _a.sent();
99
+ return [4 /*yield*/, errorHandler(err_1, req, res)];
100
+ case 4:
101
+ result = _a.sent();
102
+ return [3 /*break*/, 5];
103
+ case 5: return [2 /*return*/, result];
104
+ }
105
+ });
106
+ }); },
107
+ _a));
108
+ });
109
+ });
110
+ return swaggerControllersConfig;
111
+ };
112
+ //# sourceMappingURL=swaggerControllersConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swaggerControllersConfig.js","sourceRoot":"","sources":["../../src/express/swaggerControllersConfig.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export interface ISwaggerSpecificationTransformerConfig {
2
+ visitorSwaggerOauth2AuthorizationUrl?: string;
3
+ }
4
+ export declare const swaggerSpecificationTransformer: (specification: any, config?: ISwaggerSpecificationTransformerConfig) => any;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.swaggerSpecificationTransformer = function (specification, config) {
4
+ if (config === void 0) { config = {}; }
5
+ if (!specification) {
6
+ return specification;
7
+ }
8
+ if (!config) {
9
+ return specification;
10
+ }
11
+ var newSpecification = securityTransformer(specification, config);
12
+ return newSpecification;
13
+ };
14
+ var securityTransformer = function (specification, config) {
15
+ if (!specification) {
16
+ return specification;
17
+ }
18
+ var node = securityTransformer(specification.securityDefinitions, config);
19
+ if (!node) {
20
+ return specification;
21
+ }
22
+ if (config.visitorSwaggerOauth2AuthorizationUrl && node.visitor) {
23
+ node.visitor.authorizationUrl = config.visitorSwaggerOauth2AuthorizationUrl;
24
+ }
25
+ return specification;
26
+ };
27
+ //# sourceMappingURL=swaggerHelpers.js.map