ngx-vector-components 4.54.0 → 4.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/CHANGELOG.md +907 -900
  2. package/README.md +35 -35
  3. package/assets/icons/chevron_down_icon.svg +3 -3
  4. package/assets/icons/home_menu_icon.svg +3 -3
  5. package/assets/icons/logout_icon.svg +9 -9
  6. package/assets/icons/menu_footer_icon.svg +3 -3
  7. package/assets/icons/menu_hamburguer_icon.svg +3 -3
  8. package/assets/icons/terms_of_use_icon.svg +9 -9
  9. package/assets/icons/vector_admin_icon.svg +4 -4
  10. package/assets/icons/vector_fintech_icon.svg +3 -3
  11. package/assets/icons/vector_logtech_icon.svg +6 -6
  12. package/assets/icons/vector_marketplace_icon.svg +3 -3
  13. package/assets/images/bunge_logo.svg +23 -23
  14. package/assets/images/cofco_logo.svg +117 -117
  15. package/assets/images/emote_bad.svg +6 -6
  16. package/assets/images/emote_cool.svg +5 -5
  17. package/assets/images/emote_nice.svg +5 -5
  18. package/assets/images/success_sign.svg +4 -4
  19. package/assets/images/vector-logo-horizontal-inverse-color.svg +13 -13
  20. package/assets/images/vector_logo_horizontal.svg +13 -13
  21. package/assets/images/warn_sign.svg +4 -4
  22. package/assets/styles/_fonts.scss +114 -114
  23. package/assets/styles/_mixins.scss +7 -7
  24. package/assets/styles/_primeng-custom-theme.scss +978 -978
  25. package/assets/styles/_spinner.scss +35 -35
  26. package/assets/styles/_styles.scss +115 -115
  27. package/assets/styles/_variables.scss +27 -27
  28. package/esm2020/lib/components/badge/badge.component.mjs +39 -39
  29. package/esm2020/lib/components/badge/badge.module.mjs +19 -19
  30. package/esm2020/lib/components/badge/index.mjs +3 -3
  31. package/esm2020/lib/components/breadcrumb/breadcrumb.component.mjs +65 -65
  32. package/esm2020/lib/components/breadcrumb/breadcrumb.module.mjs +18 -18
  33. package/esm2020/lib/components/breadcrumb/index.mjs +3 -3
  34. package/esm2020/lib/components/crud-base/crud-base.component.mjs +47 -47
  35. package/esm2020/lib/components/crud-base/index.mjs +2 -2
  36. package/esm2020/lib/components/crud-footer/crud-footer.component.mjs +31 -31
  37. package/esm2020/lib/components/crud-footer/crud-footer.module.mjs +19 -19
  38. package/esm2020/lib/components/crud-footer/index.mjs +3 -3
  39. package/esm2020/lib/components/crud-header/crud-header.component.mjs +30 -30
  40. package/esm2020/lib/components/crud-header/crud-header.module.mjs +19 -19
  41. package/esm2020/lib/components/crud-header/index.mjs +3 -3
  42. package/esm2020/lib/components/crud-history/crud-history.component.mjs +82 -82
  43. package/esm2020/lib/components/crud-history/crud-history.module.mjs +20 -20
  44. package/esm2020/lib/components/crud-history/index.mjs +3 -3
  45. package/esm2020/lib/components/fields/button/button.component.mjs +41 -41
  46. package/esm2020/lib/components/fields/button/index.mjs +2 -2
  47. package/esm2020/lib/components/fields/calendar-field/calendar-field.component.mjs +74 -74
  48. package/esm2020/lib/components/fields/calendar-field/index.mjs +2 -2
  49. package/esm2020/lib/components/fields/checkbox-field/checkbox-field.component.mjs +46 -46
  50. package/esm2020/lib/components/fields/checkbox-field/index.mjs +2 -2
  51. package/esm2020/lib/components/fields/currency-field/currency-field.component.mjs +87 -87
  52. package/esm2020/lib/components/fields/currency-field/index.mjs +2 -2
  53. package/esm2020/lib/components/fields/data-table/data-table.component.mjs +365 -365
  54. package/esm2020/lib/components/fields/data-table/index.mjs +2 -2
  55. package/esm2020/lib/components/fields/dropdown-field/dropdown-field.component.mjs +196 -196
  56. package/esm2020/lib/components/fields/dropdown-field/index.mjs +2 -2
  57. package/esm2020/lib/components/fields/field-error-message/field-error-message.component.mjs +30 -30
  58. package/esm2020/lib/components/fields/field-error-message/index.mjs +2 -2
  59. package/esm2020/lib/components/fields/fields.module.mjs +205 -205
  60. package/esm2020/lib/components/fields/filters/filters.component.mjs +195 -195
  61. package/esm2020/lib/components/fields/filters/index.mjs +2 -2
  62. package/esm2020/lib/components/fields/index.mjs +19 -19
  63. package/esm2020/lib/components/fields/input-number-field/index.mjs +2 -2
  64. package/esm2020/lib/components/fields/input-number-field/input-number-field.component.mjs +82 -82
  65. package/esm2020/lib/components/fields/multiselect-field/index.mjs +2 -2
  66. package/esm2020/lib/components/fields/multiselect-field/multiselect-field.component.mjs +47 -47
  67. package/esm2020/lib/components/fields/percentage-field/index.mjs +2 -2
  68. package/esm2020/lib/components/fields/percentage-field/percentage-field.component.mjs +42 -42
  69. package/esm2020/lib/components/fields/radio-button-field/index.mjs +2 -2
  70. package/esm2020/lib/components/fields/radio-button-field/radio-button-field.component.mjs +38 -38
  71. package/esm2020/lib/components/fields/range-value/index.mjs +2 -2
  72. package/esm2020/lib/components/fields/range-value/range-value.component.mjs +72 -72
  73. package/esm2020/lib/components/fields/search-field/index.mjs +2 -2
  74. package/esm2020/lib/components/fields/search-field/search-field.component.mjs +33 -33
  75. package/esm2020/lib/components/fields/select-button-field/index.mjs +2 -2
  76. package/esm2020/lib/components/fields/select-button-field/select-button-field.component.mjs +20 -20
  77. package/esm2020/lib/components/fields/text-field/index.mjs +2 -2
  78. package/esm2020/lib/components/fields/text-field/text-field.component.mjs +211 -209
  79. package/esm2020/lib/components/fields/textarea-field/index.mjs +2 -2
  80. package/esm2020/lib/components/fields/textarea-field/textarea-field.component.mjs +75 -75
  81. package/esm2020/lib/components/generic-error-modal/generic-error-modal.component.mjs +30 -30
  82. package/esm2020/lib/components/generic-error-modal/generic-error-modal.module.mjs +20 -20
  83. package/esm2020/lib/components/generic-error-modal/index.mjs +3 -3
  84. package/esm2020/lib/components/generic-modal/generic-modal.component.mjs +66 -66
  85. package/esm2020/lib/components/generic-modal/generic-modal.module.mjs +20 -20
  86. package/esm2020/lib/components/generic-modal/index.mjs +3 -3
  87. package/esm2020/lib/components/index.mjs +13 -13
  88. package/esm2020/lib/components/menu/index.mjs +4 -4
  89. package/esm2020/lib/components/menu/menu.component.mjs +302 -302
  90. package/esm2020/lib/components/menu/menu.module.mjs +20 -20
  91. package/esm2020/lib/components/menu/sub-menus-list/sub-menus-list.component.mjs +42 -42
  92. package/esm2020/lib/components/panel/index.mjs +3 -3
  93. package/esm2020/lib/components/panel/panel.component.mjs +15 -15
  94. package/esm2020/lib/components/panel/panel.module.mjs +19 -19
  95. package/esm2020/lib/components/top-bar/index.mjs +3 -3
  96. package/esm2020/lib/components/top-bar/top-bar.component.mjs +102 -102
  97. package/esm2020/lib/components/top-bar/top-bar.module.mjs +19 -19
  98. package/esm2020/lib/guards/crud-list-has-items.guard.mjs +22 -22
  99. package/esm2020/lib/guards/get-token-by-guid.guard.mjs +54 -54
  100. package/esm2020/lib/guards/has-permission.guard.mjs +27 -27
  101. package/esm2020/lib/guards/index.mjs +6 -6
  102. package/esm2020/lib/guards/role.guard.mjs +24 -24
  103. package/esm2020/lib/guards/token-is-present.guard.mjs +26 -26
  104. package/esm2020/lib/interceptors/http-interceptor.mjs +183 -183
  105. package/esm2020/lib/interceptors/index.mjs +2 -2
  106. package/esm2020/lib/models/app-name.enum.mjs +9 -9
  107. package/esm2020/lib/models/boolean-type.enum.mjs +6 -6
  108. package/esm2020/lib/models/crud-history.model.mjs +3 -3
  109. package/esm2020/lib/models/crud-mode.enum.mjs +7 -7
  110. package/esm2020/lib/models/data-table.model.mjs +22 -22
  111. package/esm2020/lib/models/document-type.enum.mjs +6 -6
  112. package/esm2020/lib/models/filters.model.mjs +2 -2
  113. package/esm2020/lib/models/generic-modal.model.mjs +2 -2
  114. package/esm2020/lib/models/http-response.model.mjs +2 -2
  115. package/esm2020/lib/models/index.mjs +16 -16
  116. package/esm2020/lib/models/ip-info.enum.mjs +2 -2
  117. package/esm2020/lib/models/list-item.model.mjs +2 -2
  118. package/esm2020/lib/models/menu-item.model.mjs +2 -2
  119. package/esm2020/lib/models/message-status.enum.mjs +8 -8
  120. package/esm2020/lib/models/profile.model.mjs +217 -217
  121. package/esm2020/lib/models/role.enum.mjs +5 -5
  122. package/esm2020/lib/models/status.enum.mjs +8 -8
  123. package/esm2020/lib/models/view.enum.mjs +7 -7
  124. package/esm2020/lib/pipes/currency-brl.pipe.mjs +18 -18
  125. package/esm2020/lib/pipes/format-document.pipe.mjs +17 -17
  126. package/esm2020/lib/pipes/index.mjs +8 -8
  127. package/esm2020/lib/pipes/mask.pipe.mjs +21 -21
  128. package/esm2020/lib/pipes/not-hidden.pipe.mjs +16 -16
  129. package/esm2020/lib/pipes/only-active.pipe.mjs +16 -16
  130. package/esm2020/lib/pipes/pipes.module.mjs +21 -21
  131. package/esm2020/lib/pipes/remove-last-child.pipe.mjs +18 -18
  132. package/esm2020/lib/resolvers/get-selected-crud-item.resolver.mjs +28 -28
  133. package/esm2020/lib/resolvers/index.mjs +2 -2
  134. package/esm2020/lib/services/auth.service.mjs +77 -77
  135. package/esm2020/lib/services/base-dropdown.mjs +2 -2
  136. package/esm2020/lib/services/crud-base.service.mjs +14 -14
  137. package/esm2020/lib/services/enum.service.mjs +43 -43
  138. package/esm2020/lib/services/error-message.service.mjs +16 -16
  139. package/esm2020/lib/services/geolocation.service.mjs +23 -23
  140. package/esm2020/lib/services/index.mjs +12 -12
  141. package/esm2020/lib/services/loading.service.mjs +15 -15
  142. package/esm2020/lib/services/menu.service.mjs +147 -147
  143. package/esm2020/lib/services/modal.service.mjs +15 -15
  144. package/esm2020/lib/services/profile.service.mjs +100 -100
  145. package/esm2020/lib/services/storage.service.mjs +108 -108
  146. package/esm2020/lib/shared/shared.module.mjs +17 -17
  147. package/esm2020/lib/utils/cpf-cnpj-validator.util.mjs +116 -116
  148. package/esm2020/lib/utils/file.util.mjs +15 -15
  149. package/esm2020/lib/utils/index.mjs +8 -8
  150. package/esm2020/lib/utils/mask.util.mjs +66 -66
  151. package/esm2020/lib/utils/object.util.mjs +27 -27
  152. package/esm2020/lib/utils/string.util.mjs +16 -16
  153. package/esm2020/lib/utils/validation.util.mjs +234 -234
  154. package/esm2020/lib/utils/window.util.mjs +9 -9
  155. package/esm2020/ngx-vector-components.mjs +4 -4
  156. package/esm2020/public-api.mjs +9 -9
  157. package/fesm2015/ngx-vector-components.mjs +4219 -4217
  158. package/fesm2015/ngx-vector-components.mjs.map +1 -1
  159. package/fesm2020/ngx-vector-components.mjs +4196 -4194
  160. package/fesm2020/ngx-vector-components.mjs.map +1 -1
  161. package/lib/components/badge/badge.component.d.ts +15 -15
  162. package/lib/components/badge/badge.module.d.ts +9 -9
  163. package/lib/components/badge/index.d.ts +2 -2
  164. package/lib/components/breadcrumb/breadcrumb.component.d.ts +19 -19
  165. package/lib/components/breadcrumb/breadcrumb.module.d.ts +8 -8
  166. package/lib/components/breadcrumb/index.d.ts +2 -2
  167. package/lib/components/crud-base/crud-base.component.d.ts +20 -20
  168. package/lib/components/crud-base/index.d.ts +1 -1
  169. package/lib/components/crud-footer/crud-footer.component.d.ts +13 -13
  170. package/lib/components/crud-footer/crud-footer.module.d.ts +9 -9
  171. package/lib/components/crud-footer/index.d.ts +2 -2
  172. package/lib/components/crud-header/crud-header.component.d.ts +11 -11
  173. package/lib/components/crud-header/crud-header.module.d.ts +9 -9
  174. package/lib/components/crud-header/index.d.ts +2 -2
  175. package/lib/components/crud-history/crud-history.component.d.ts +12 -12
  176. package/lib/components/crud-history/crud-history.module.d.ts +10 -10
  177. package/lib/components/crud-history/index.d.ts +2 -2
  178. package/lib/components/fields/button/button.component.d.ts +17 -17
  179. package/lib/components/fields/button/index.d.ts +1 -1
  180. package/lib/components/fields/calendar-field/calendar-field.component.d.ts +23 -23
  181. package/lib/components/fields/calendar-field/index.d.ts +1 -1
  182. package/lib/components/fields/checkbox-field/checkbox-field.component.d.ts +19 -19
  183. package/lib/components/fields/checkbox-field/index.d.ts +1 -1
  184. package/lib/components/fields/currency-field/currency-field.component.d.ts +27 -27
  185. package/lib/components/fields/currency-field/index.d.ts +1 -1
  186. package/lib/components/fields/data-table/data-table.component.d.ts +78 -78
  187. package/lib/components/fields/data-table/index.d.ts +1 -1
  188. package/lib/components/fields/dropdown-field/dropdown-field.component.d.ts +50 -50
  189. package/lib/components/fields/dropdown-field/index.d.ts +1 -1
  190. package/lib/components/fields/field-error-message/field-error-message.component.d.ts +10 -10
  191. package/lib/components/fields/field-error-message/index.d.ts +1 -1
  192. package/lib/components/fields/fields.module.d.ts +46 -46
  193. package/lib/components/fields/filters/filters.component.d.ts +61 -61
  194. package/lib/components/fields/filters/index.d.ts +1 -1
  195. package/lib/components/fields/index.d.ts +18 -18
  196. package/lib/components/fields/input-number-field/index.d.ts +1 -1
  197. package/lib/components/fields/input-number-field/input-number-field.component.d.ts +27 -27
  198. package/lib/components/fields/multiselect-field/index.d.ts +1 -1
  199. package/lib/components/fields/multiselect-field/multiselect-field.component.d.ts +15 -15
  200. package/lib/components/fields/percentage-field/index.d.ts +1 -1
  201. package/lib/components/fields/percentage-field/percentage-field.component.d.ts +16 -16
  202. package/lib/components/fields/radio-button-field/index.d.ts +1 -1
  203. package/lib/components/fields/radio-button-field/radio-button-field.component.d.ts +21 -21
  204. package/lib/components/fields/range-value/index.d.ts +1 -1
  205. package/lib/components/fields/range-value/range-value.component.d.ts +18 -18
  206. package/lib/components/fields/search-field/index.d.ts +1 -1
  207. package/lib/components/fields/search-field/search-field.component.d.ts +14 -14
  208. package/lib/components/fields/select-button-field/index.d.ts +1 -1
  209. package/lib/components/fields/select-button-field/select-button-field.component.d.ts +9 -9
  210. package/lib/components/fields/text-field/index.d.ts +1 -1
  211. package/lib/components/fields/text-field/text-field.component.d.ts +49 -48
  212. package/lib/components/fields/textarea-field/index.d.ts +1 -1
  213. package/lib/components/fields/textarea-field/textarea-field.component.d.ts +20 -20
  214. package/lib/components/generic-error-modal/generic-error-modal.component.d.ts +14 -14
  215. package/lib/components/generic-error-modal/generic-error-modal.module.d.ts +10 -10
  216. package/lib/components/generic-error-modal/index.d.ts +2 -2
  217. package/lib/components/generic-modal/generic-modal.component.d.ts +24 -24
  218. package/lib/components/generic-modal/generic-modal.module.d.ts +10 -10
  219. package/lib/components/generic-modal/index.d.ts +2 -2
  220. package/lib/components/index.d.ts +12 -12
  221. package/lib/components/menu/index.d.ts +3 -3
  222. package/lib/components/menu/menu.component.d.ts +54 -54
  223. package/lib/components/menu/menu.module.d.ts +10 -10
  224. package/lib/components/menu/sub-menus-list/sub-menus-list.component.d.ts +14 -14
  225. package/lib/components/panel/index.d.ts +2 -2
  226. package/lib/components/panel/panel.component.d.ts +8 -8
  227. package/lib/components/panel/panel.module.d.ts +9 -9
  228. package/lib/components/top-bar/index.d.ts +2 -2
  229. package/lib/components/top-bar/top-bar.component.d.ts +38 -38
  230. package/lib/components/top-bar/top-bar.module.d.ts +9 -9
  231. package/lib/guards/crud-list-has-items.guard.d.ts +10 -10
  232. package/lib/guards/get-token-by-guid.guard.d.ts +15 -15
  233. package/lib/guards/has-permission.guard.d.ts +13 -13
  234. package/lib/guards/index.d.ts +5 -5
  235. package/lib/guards/role.guard.d.ts +11 -11
  236. package/lib/guards/token-is-present.guard.d.ts +11 -11
  237. package/lib/interceptors/http-interceptor.d.ts +31 -31
  238. package/lib/interceptors/index.d.ts +1 -1
  239. package/lib/models/app-name.enum.d.ts +7 -7
  240. package/lib/models/boolean-type.enum.d.ts +4 -4
  241. package/lib/models/crud-history.model.d.ts +13 -13
  242. package/lib/models/crud-mode.enum.d.ts +5 -5
  243. package/lib/models/data-table.model.d.ts +62 -62
  244. package/lib/models/document-type.enum.d.ts +4 -4
  245. package/lib/models/filters.model.d.ts +4 -4
  246. package/lib/models/generic-modal.model.d.ts +13 -13
  247. package/lib/models/http-response.model.d.ts +40 -40
  248. package/lib/models/index.d.ts +15 -15
  249. package/lib/models/ip-info.enum.d.ts +6 -6
  250. package/lib/models/list-item.model.d.ts +6 -6
  251. package/lib/models/menu-item.model.d.ts +16 -16
  252. package/lib/models/message-status.enum.d.ts +6 -6
  253. package/lib/models/profile.model.d.ts +238 -238
  254. package/lib/models/role.enum.d.ts +3 -3
  255. package/lib/models/status.enum.d.ts +6 -6
  256. package/lib/models/view.enum.d.ts +5 -5
  257. package/lib/pipes/currency-brl.pipe.d.ts +7 -7
  258. package/lib/pipes/format-document.pipe.d.ts +7 -7
  259. package/lib/pipes/index.d.ts +7 -7
  260. package/lib/pipes/mask.pipe.d.ts +7 -7
  261. package/lib/pipes/not-hidden.pipe.d.ts +7 -7
  262. package/lib/pipes/only-active.pipe.d.ts +7 -7
  263. package/lib/pipes/pipes.module.d.ts +12 -12
  264. package/lib/pipes/remove-last-child.pipe.d.ts +7 -7
  265. package/lib/resolvers/get-selected-crud-item.resolver.d.ts +10 -10
  266. package/lib/resolvers/index.d.ts +1 -1
  267. package/lib/services/auth.service.d.ts +24 -24
  268. package/lib/services/base-dropdown.d.ts +7 -7
  269. package/lib/services/crud-base.service.d.ts +7 -7
  270. package/lib/services/enum.service.d.ts +13 -13
  271. package/lib/services/error-message.service.d.ts +8 -8
  272. package/lib/services/geolocation.service.d.ts +13 -13
  273. package/lib/services/index.d.ts +11 -11
  274. package/lib/services/loading.service.d.ts +7 -7
  275. package/lib/services/menu.service.d.ts +37 -37
  276. package/lib/services/modal.service.d.ts +7 -7
  277. package/lib/services/profile.service.d.ts +26 -26
  278. package/lib/services/storage.service.d.ts +43 -43
  279. package/lib/shared/shared.module.d.ts +9 -9
  280. package/lib/utils/cpf-cnpj-validator.util.d.ts +5 -5
  281. package/lib/utils/file.util.d.ts +4 -4
  282. package/lib/utils/index.d.ts +7 -7
  283. package/lib/utils/mask.util.d.ts +17 -17
  284. package/lib/utils/object.util.d.ts +5 -5
  285. package/lib/utils/string.util.d.ts +4 -4
  286. package/lib/utils/validation.util.d.ts +17 -17
  287. package/lib/utils/window.util.d.ts +4 -4
  288. package/ngx-vector-components.d.ts +5 -5
  289. package/package.json +1 -1
  290. package/public-api.d.ts +8 -8
@@ -1,183 +1,183 @@
1
- import { HttpResponse, } from '@angular/common/http';
2
- import { Inject, Injectable } from '@angular/core';
3
- import { BehaviorSubject, throwError } from 'rxjs';
4
- import { catchError, filter, switchMap, take, tap } from 'rxjs/operators';
5
- import { MessageStatus } from '../models';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "../services";
8
- import * as i2 from "primeng/api";
9
- export class HttpInterceptorProvider {
10
- constructor(storageService, errorMessageService, loadingService, authService, messageService, environment) {
11
- this.storageService = storageService;
12
- this.errorMessageService = errorMessageService;
13
- this.loadingService = loadingService;
14
- this.authService = authService;
15
- this.messageService = messageService;
16
- this.environment = environment;
17
- this.activeRequests = [];
18
- this.isRefreshing = false;
19
- this.refreshTokenSubject = new BehaviorSubject(null);
20
- }
21
- intercept(request, next) {
22
- const isExternalUrl = request.headers.get('external-url');
23
- if (!this.isRefreshTokenRequest(request.url)) {
24
- if (!isExternalUrl) {
25
- request = this.addTokenIfPresent(request);
26
- request = this.addEncryptPasswordIfPresent(request);
27
- request = this.addAccountUuidIfPresent(request);
28
- request = this.addModifierIdIfPresent(request);
29
- request = this.addContentType(request);
30
- }
31
- }
32
- if (!isExternalUrl) {
33
- request = this.fixUrl(request);
34
- }
35
- const noSpinnerHeader = request.headers.get('no-spinner');
36
- if (!noSpinnerHeader && !request.url.startsWith('/assets/')) {
37
- this.loadingService.loading$.next(true);
38
- this.activeRequests.push(this.getUrlWithoutParams(request.url));
39
- }
40
- return next.handle(request).pipe(catchError((response) => {
41
- if (response.error?.messages?.length) {
42
- this.errorMessageService.genericModalErrorMessage$.next(response.error.messages[response.error.messages.length - 1]);
43
- }
44
- if (!this.isRefreshTokenRequest(request.url)) {
45
- if (response.status === 401) {
46
- return this.handle401Error(request, next);
47
- }
48
- if (response.status === 403) {
49
- this.errorMessageService.genericModalErrorMessage$.next('Usuário sem privilégios para realizar essa ação');
50
- }
51
- else {
52
- if (!isExternalUrl) {
53
- this.messageService.add({ severity: MessageStatus.ERROR, summary: 'Erro', detail: response.error });
54
- }
55
- }
56
- }
57
- if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {
58
- this.activeRequests.splice(this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)), 1);
59
- if (!this.activeRequests.length) {
60
- this.loadingService.loading$.next(false);
61
- }
62
- }
63
- return throwError(response);
64
- }), tap((response) => {
65
- if (response instanceof HttpResponse) {
66
- if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {
67
- this.activeRequests.splice(this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)), 1);
68
- if (!this.activeRequests.length) {
69
- this.loadingService.loading$.next(false);
70
- }
71
- }
72
- if (Object(response.body).hasOwnProperty('statusCode') &&
73
- response.body.statusCode === 400 &&
74
- response.body.messages?.length) {
75
- this.errorMessageService.genericModalErrorMessage$.next(response.body.messages[response.body.messages.length - 1]);
76
- }
77
- }
78
- }));
79
- }
80
- isRefreshTokenRequest(url) {
81
- return url.includes('connect/token');
82
- }
83
- getUrlWithoutParams(fullUrl) {
84
- if (!fullUrl) {
85
- return '';
86
- }
87
- const decodedUrl = decodeURIComponent(fullUrl.trim());
88
- if (!decodedUrl.includes('?')) {
89
- return decodedUrl;
90
- }
91
- return decodedUrl.substring(0, decodedUrl.indexOf('?'));
92
- }
93
- addTokenIfPresent(request) {
94
- const token = this.storageService.getToken();
95
- if (token) {
96
- request = request.clone({ setHeaders: { Authorization: token } });
97
- }
98
- return request;
99
- }
100
- addModifierIdIfPresent(request) {
101
- const modifierId = this.storageService.getUserId();
102
- if (modifierId && request.method !== 'GET' && !(request.body instanceof FormData)) {
103
- request = request.clone({ body: { ...request.body, modifierId } });
104
- }
105
- return request;
106
- }
107
- addEncryptPasswordIfPresent(request) {
108
- const encriptPassword = this.storageService.get('encryptPassword');
109
- if (request.method !== 'GET' && encriptPassword) {
110
- if (request.body instanceof FormData) {
111
- request.body.append('encriptPassword', encriptPassword);
112
- }
113
- else {
114
- request = request.clone({ body: { ...request.body, encriptPassword } });
115
- }
116
- }
117
- return request;
118
- }
119
- addAccountUuidIfPresent(request) {
120
- const accountUuid = this.storageService.get('accountUuid');
121
- if (request.method !== 'GET' && accountUuid) {
122
- if (request.body instanceof FormData) {
123
- request.body.append('accountUuid', accountUuid);
124
- }
125
- else {
126
- request = request.clone({ body: { ...request.body, accountUuid } });
127
- }
128
- }
129
- return request;
130
- }
131
- addContentType(request) {
132
- return request.clone({ setHeaders: { contentType: 'application/json' } });
133
- }
134
- fixUrl(request) {
135
- if (this.isAuthRequest(request.url) || this.isProfilesRequest(request.url)) {
136
- return request.clone({
137
- url: `${this.environment.API_URL.replace('/api', '')}/${request.url}`,
138
- });
139
- }
140
- return request.clone({
141
- url: request.url.startsWith('/assets/') ? request.url : `${this.environment.API_URL}/${request.url}`,
142
- });
143
- }
144
- isAuthRequest(url) {
145
- return url.includes('connect/token');
146
- }
147
- isProfilesRequest(url) {
148
- return url.includes('connect/userinfo');
149
- }
150
- handle401Error(request, next) {
151
- if (!this.isRefreshing) {
152
- this.isRefreshing = true;
153
- this.refreshTokenSubject.next(null);
154
- const refreshToken = this.storageService.getRefreshToken();
155
- if (refreshToken) {
156
- return this.authService.getTokenByRefreshToken(refreshToken).pipe(switchMap((token) => {
157
- this.isRefreshing = false;
158
- this.refreshTokenSubject.next(this.storageService.getToken());
159
- return next.handle(this.addTokenIfPresent(request));
160
- }), catchError((err) => {
161
- this.isRefreshing = false;
162
- this.authService.logout();
163
- return throwError(err);
164
- }));
165
- }
166
- else {
167
- this.isRefreshing = false;
168
- this.authService.logout();
169
- return throwError(new Error());
170
- }
171
- }
172
- return this.refreshTokenSubject.pipe(filter((token) => token !== null), take(1), switchMap((token) => next.handle(this.addTokenIfPresent(request))));
173
- }
174
- }
175
- HttpInterceptorProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider, deps: [{ token: i1.StorageService }, { token: i1.ErrorMessageService }, { token: i1.LoadingService }, { token: i1.AuthService }, { token: i2.MessageService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
176
- HttpInterceptorProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider });
177
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider, decorators: [{
178
- type: Injectable
179
- }], ctorParameters: function () { return [{ type: i1.StorageService }, { type: i1.ErrorMessageService }, { type: i1.LoadingService }, { type: i1.AuthService }, { type: i2.MessageService }, { type: undefined, decorators: [{
180
- type: Inject,
181
- args: ['environment']
182
- }] }]; } });
183
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFJMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQyxZQUNVLGNBQThCLEVBQzlCLG1CQUF3QyxFQUN4QyxjQUE4QixFQUM5QixXQUF3QixFQUN4QixjQUE4QixFQUNQLFdBQWdCO1FBTHZDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVR6QyxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQix3QkFBbUIsR0FBeUIsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFRaEYsQ0FBQztJQUVKLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxP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QUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQzs7b0hBN01VLHVCQUF1QiwwS0FVeEIsYUFBYTt3SEFWWix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBV04sTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSHR0cEVycm9yUmVzcG9uc2UsXG4gIEh0dHBFdmVudCxcbiAgSHR0cEhhbmRsZXIsXG4gIEh0dHBJbnRlcmNlcHRvcixcbiAgSHR0cFJlcXVlc3QsXG4gIEh0dHBSZXNwb25zZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBzd2l0Y2hNYXAsIHRha2UsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IE1lc3NhZ2VTdGF0dXMgfSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UsIEVycm9yTWVzc2FnZVNlcnZpY2UsIExvYWRpbmdTZXJ2aWNlLCBTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEh0dHBJbnRlcmNlcHRvclByb3ZpZGVyIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcbiAgcHJpdmF0ZSBhY3RpdmVSZXF1ZXN0czogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWZyZXNoVG9rZW5TdWJqZWN0OiBCZWhhdmlvclN1YmplY3Q8YW55PiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlcnJvck1lc3NhZ2VTZXJ2aWNlOiBFcnJvck1lc3NhZ2VTZXJ2aWNlLFxuICAgIHByaXZhdGUgbG9hZGluZ1NlcnZpY2U6IExvYWRpbmdTZXJ2aWNlLFxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgIHByaXZhdGUgbWVzc2FnZVNlcnZpY2U6IE1lc3NhZ2VTZXJ2aWNlLFxuICAgIEBJbmplY3QoJ2Vudmlyb25tZW50JykgcHJpdmF0ZSBlbnZpcm9ubWVudDogYW55XG4gICkge31cblxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XG4gICAgY29uc3QgaXNFeHRlcm5hbFVybCA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ2V4dGVybmFsLXVybCcpO1xuXG4gICAgaWYgKCF0aGlzLmlzUmVmcmVzaFRva2VuUmVxdWVzdChyZXF1ZXN0LnVybCkpIHtcbiAgICAgIGlmICghaXNFeHRlcm5hbFVybCkge1xuICAgICAgICByZXF1ZXN0ID0gdGhpcy5hZGRUb2tlbklmUHJlc2VudChyZXF1ZXN0KTtcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkRW5jcnlwdFBhc3N3b3JkSWZQcmVzZW50KHJlcXVlc3QpO1xuICAgICAgICByZXF1ZXN0ID0gdGhpcy5hZGRBY2NvdW50VXVpZElmUHJlc2VudChyZXF1ZXN0KTtcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkTW9kaWZpZXJJZElmUHJlc2VudChyZXF1ZXN0KTtcbiAgICAgICAgcmVxdWVzdCA9IHRoaXMuYWRkQ29udGVudFR5cGUocmVxdWVzdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XG4gICAgICByZXF1ZXN0ID0gdGhpcy5maXhVcmwocmVxdWVzdCk7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9TcGlubmVySGVhZGVyID0gcmVxdWVzdC5oZWFkZXJzLmdldCgnbm8tc3Bpbm5lcicpO1xuICAgIGlmICghbm9TcGlubmVySGVhZGVyICYmICFyZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpKSB7XG4gICAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLmxvYWRpbmckLm5leHQodHJ1ZSk7XG4gICAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzLnB1c2godGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlcXVlc3QudXJsKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpLnBpcGUoXG4gICAgICBjYXRjaEVycm9yKChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlcz8ubGVuZ3RoKSB7XG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VTZXJ2aWNlLmdlbmVyaWNNb2RhbEVycm9yTWVzc2FnZSQubmV4dChcbiAgICAgICAgICAgIHJlc3BvbnNlLmVycm9yLm1lc3NhZ2VzW3Jlc3BvbnNlLmVycm9yLm1lc3NhZ2VzLmxlbmd0aCAtIDFdXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMuaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlNDAxRXJyb3IocmVxdWVzdCwgbmV4dCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2VTZXJ2aWNlLmdlbmVyaWNNb2RhbEVycm9yTWVzc2FnZSQubmV4dCgnVXN1w6FyaW8gc2VtIHByaXZpbMOpZ2lvcyBwYXJhIHJlYWxpemFyIGVzc2EgYcOnw6NvJyk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmICghaXNFeHRlcm5hbFVybCkge1xuICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7IHNldmVyaXR5OiBNZXNzYWdlU3RhdHVzLkVSUk9SLCBzdW1tYXJ5OiAnRXJybycsIGRldGFpbDogcmVzcG9uc2UuZXJyb3IgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFjdGl2ZVJlcXVlc3RzLmluY2x1ZGVzKHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXNwb25zZS51cmwpKSkge1xuICAgICAgICAgIHRoaXMuYWN0aXZlUmVxdWVzdHMuc3BsaWNlKFxuICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpLFxuICAgICAgICAgICAgMVxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVJlcXVlc3RzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy5sb2FkaW5nU2VydmljZS5sb2FkaW5nJC5uZXh0KGZhbHNlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihyZXNwb25zZSk7XG4gICAgICB9KSxcbiAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XG4gICAgICAgICAgaWYgKHRoaXMuYWN0aXZlUmVxdWVzdHMuaW5jbHVkZXModGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlc3BvbnNlLnVybCkpKSB7XG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzLnNwbGljZShcbiAgICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVJlcXVlc3RzLmxlbmd0aCkge1xuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLmxvYWRpbmckLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIE9iamVjdChyZXNwb25zZS5ib2R5KS5oYXNPd25Qcm9wZXJ0eSgnc3RhdHVzQ29kZScpICYmXG4gICAgICAgICAgICByZXNwb25zZS5ib2R5LnN0YXR1c0NvZGUgPT09IDQwMCAmJlxuICAgICAgICAgICAgcmVzcG9uc2UuYm9keS5tZXNzYWdlcz8ubGVuZ3RoXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZVNlcnZpY2UuZ2VuZXJpY01vZGFsRXJyb3JNZXNzYWdlJC5uZXh0KFxuICAgICAgICAgICAgICByZXNwb25zZS5ib2R5Lm1lc3NhZ2VzW3Jlc3BvbnNlLmJvZHkubWVzc2FnZXMubGVuZ3RoIC0gMV1cbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGlzUmVmcmVzaFRva2VuUmVxdWVzdCh1cmw6IHN0cmluZykge1xuICAgIHJldHVybiB1cmwuaW5jbHVkZXMoJ2Nvbm5lY3QvdG9rZW4nKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VXJsV2l0aG91dFBhcmFtcyhmdWxsVXJsOiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcbiAgICBpZiAoIWZ1bGxVcmwpIHtcbiAgICAgIHJldHVybiAnJztcbiAgICB9XG5cbiAgICBjb25zdCBkZWNvZGVkVXJsID0gZGVjb2RlVVJJQ29tcG9uZW50KGZ1bGxVcmwudHJpbSgpKTtcblxuICAgIGlmICghZGVjb2RlZFVybC5pbmNsdWRlcygnPycpKSB7XG4gICAgICByZXR1cm4gZGVjb2RlZFVybDtcbiAgICB9XG5cbiAgICByZXR1cm4gZGVjb2RlZFVybC5zdWJzdHJpbmcoMCwgZGVjb2RlZFVybC5pbmRleE9mKCc/JykpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRUb2tlbklmUHJlc2VudChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgY29uc3QgdG9rZW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFRva2VuKCk7XG4gICAgaWYgKHRva2VuKSB7XG4gICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IHNldEhlYWRlcnM6IHsgQXV0aG9yaXphdGlvbjogdG9rZW4gfSB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcXVlc3Q7XG4gIH1cblxuICBwcml2YXRlIGFkZE1vZGlmaWVySWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xuICAgIGNvbnN0IG1vZGlmaWVySWQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFVzZXJJZCgpO1xuICAgIGlmIChtb2RpZmllcklkICYmIHJlcXVlc3QubWV0aG9kICE9PSAnR0VUJyAmJiAhKHJlcXVlc3QuYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSkge1xuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgbW9kaWZpZXJJZCB9IH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRW5jcnlwdFBhc3N3b3JkSWZQcmVzZW50KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcbiAgICBjb25zdCBlbmNyaXB0UGFzc3dvcmQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnZW5jcnlwdFBhc3N3b3JkJyk7XG4gICAgaWYgKHJlcXVlc3QubWV0aG9kICE9PSAnR0VUJyAmJiBlbmNyaXB0UGFzc3dvcmQpIHtcbiAgICAgIGlmIChyZXF1ZXN0LmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkge1xuICAgICAgICByZXF1ZXN0LmJvZHkuYXBwZW5kKCdlbmNyaXB0UGFzc3dvcmQnLCBlbmNyaXB0UGFzc3dvcmQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgZW5jcmlwdFBhc3N3b3JkIH0gfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRBY2NvdW50VXVpZElmUHJlc2VudChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgY29uc3QgYWNjb3VudFV1aWQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnYWNjb3VudFV1aWQnKTtcbiAgICBpZiAocmVxdWVzdC5tZXRob2QgIT09ICdHRVQnICYmIGFjY291bnRVdWlkKSB7XG4gICAgICBpZiAocmVxdWVzdC5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcbiAgICAgICAgcmVxdWVzdC5ib2R5LmFwcGVuZCgnYWNjb3VudFV1aWQnLCBhY2NvdW50VXVpZCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1ZXN0ID0gcmVxdWVzdC5jbG9uZSh7IGJvZHk6IHsgLi4ucmVxdWVzdC5ib2R5LCBhY2NvdW50VXVpZCB9IH0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHByaXZhdGUgYWRkQ29udGVudFR5cGUocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nIH0gfSk7XG4gIH1cblxuICBwcml2YXRlIGZpeFVybChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XG4gICAgaWYgKHRoaXMuaXNBdXRoUmVxdWVzdChyZXF1ZXN0LnVybCkgfHwgdGhpcy5pc1Byb2ZpbGVzUmVxdWVzdChyZXF1ZXN0LnVybCkpIHtcbiAgICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcbiAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkwucmVwbGFjZSgnL2FwaScsICcnKX0vJHtyZXF1ZXN0LnVybH1gLFxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcbiAgICAgIHVybDogcmVxdWVzdC51cmwuc3RhcnRzV2l0aCgnL2Fzc2V0cy8nKSA/IHJlcXVlc3QudXJsIDogYCR7dGhpcy5lbnZpcm9ubWVudC5BUElfVVJMfS8ke3JlcXVlc3QudXJsfWAsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGlzQXV0aFJlcXVlc3QodXJsOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XG4gIH1cblxuICBwcml2YXRlIGlzUHJvZmlsZXNSZXF1ZXN0KHVybDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHVybC5pbmNsdWRlcygnY29ubmVjdC91c2VyaW5mbycpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGU0MDFFcnJvcihyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcikge1xuICAgIGlmICghdGhpcy5pc1JlZnJlc2hpbmcpIHtcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gdHJ1ZTtcbiAgICAgIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5uZXh0KG51bGwpO1xuXG4gICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpO1xuICAgICAgaWYgKHJlZnJlc2hUb2tlbikge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbkJ5UmVmcmVzaFRva2VuKHJlZnJlc2hUb2tlbikucGlwZShcbiAgICAgICAgICBzd2l0Y2hNYXAoKHRva2VuOiBhbnkpID0+IHtcbiAgICAgICAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnJlZnJlc2hUb2tlblN1YmplY3QubmV4dCh0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFRva2VuKCkpO1xuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpO1xuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycikgPT4ge1xuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihlcnIpO1xuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ291dCgpO1xuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5waXBlKFxuICAgICAgZmlsdGVyKCh0b2tlbikgPT4gdG9rZW4gIT09IG51bGwpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIHN3aXRjaE1hcCgodG9rZW4pID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
1
+ import { HttpResponse, } from '@angular/common/http';
2
+ import { Inject, Injectable } from '@angular/core';
3
+ import { BehaviorSubject, throwError } from 'rxjs';
4
+ import { catchError, filter, switchMap, take, tap } from 'rxjs/operators';
5
+ import { MessageStatus } from '../models';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../services";
8
+ import * as i2 from "primeng/api";
9
+ export class HttpInterceptorProvider {
10
+ constructor(storageService, errorMessageService, loadingService, authService, messageService, environment) {
11
+ this.storageService = storageService;
12
+ this.errorMessageService = errorMessageService;
13
+ this.loadingService = loadingService;
14
+ this.authService = authService;
15
+ this.messageService = messageService;
16
+ this.environment = environment;
17
+ this.activeRequests = [];
18
+ this.isRefreshing = false;
19
+ this.refreshTokenSubject = new BehaviorSubject(null);
20
+ }
21
+ intercept(request, next) {
22
+ const isExternalUrl = request.headers.get('external-url');
23
+ if (!this.isRefreshTokenRequest(request.url)) {
24
+ if (!isExternalUrl) {
25
+ request = this.addTokenIfPresent(request);
26
+ request = this.addEncryptPasswordIfPresent(request);
27
+ request = this.addAccountUuidIfPresent(request);
28
+ request = this.addModifierIdIfPresent(request);
29
+ request = this.addContentType(request);
30
+ }
31
+ }
32
+ if (!isExternalUrl) {
33
+ request = this.fixUrl(request);
34
+ }
35
+ const noSpinnerHeader = request.headers.get('no-spinner');
36
+ if (!noSpinnerHeader && !request.url.startsWith('/assets/')) {
37
+ this.loadingService.loading$.next(true);
38
+ this.activeRequests.push(this.getUrlWithoutParams(request.url));
39
+ }
40
+ return next.handle(request).pipe(catchError((response) => {
41
+ if (response.error?.messages?.length) {
42
+ this.errorMessageService.genericModalErrorMessage$.next(response.error.messages[response.error.messages.length - 1]);
43
+ }
44
+ if (!this.isRefreshTokenRequest(request.url)) {
45
+ if (response.status === 401) {
46
+ return this.handle401Error(request, next);
47
+ }
48
+ if (response.status === 403) {
49
+ this.errorMessageService.genericModalErrorMessage$.next('Usuário sem privilégios para realizar essa ação');
50
+ }
51
+ else {
52
+ if (!isExternalUrl) {
53
+ this.messageService.add({ severity: MessageStatus.ERROR, summary: 'Erro', detail: response.error });
54
+ }
55
+ }
56
+ }
57
+ if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {
58
+ this.activeRequests.splice(this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)), 1);
59
+ if (!this.activeRequests.length) {
60
+ this.loadingService.loading$.next(false);
61
+ }
62
+ }
63
+ return throwError(response);
64
+ }), tap((response) => {
65
+ if (response instanceof HttpResponse) {
66
+ if (this.activeRequests.includes(this.getUrlWithoutParams(response.url))) {
67
+ this.activeRequests.splice(this.activeRequests.findIndex((item) => item === this.getUrlWithoutParams(request.url)), 1);
68
+ if (!this.activeRequests.length) {
69
+ this.loadingService.loading$.next(false);
70
+ }
71
+ }
72
+ if (Object(response.body).hasOwnProperty('statusCode') &&
73
+ response.body.statusCode === 400 &&
74
+ response.body.messages?.length) {
75
+ this.errorMessageService.genericModalErrorMessage$.next(response.body.messages[response.body.messages.length - 1]);
76
+ }
77
+ }
78
+ }));
79
+ }
80
+ isRefreshTokenRequest(url) {
81
+ return url.includes('connect/token');
82
+ }
83
+ getUrlWithoutParams(fullUrl) {
84
+ if (!fullUrl) {
85
+ return '';
86
+ }
87
+ const decodedUrl = decodeURIComponent(fullUrl.trim());
88
+ if (!decodedUrl.includes('?')) {
89
+ return decodedUrl;
90
+ }
91
+ return decodedUrl.substring(0, decodedUrl.indexOf('?'));
92
+ }
93
+ addTokenIfPresent(request) {
94
+ const token = this.storageService.getToken();
95
+ if (token) {
96
+ request = request.clone({ setHeaders: { Authorization: token } });
97
+ }
98
+ return request;
99
+ }
100
+ addModifierIdIfPresent(request) {
101
+ const modifierId = this.storageService.getUserId();
102
+ if (modifierId && request.method !== 'GET' && !(request.body instanceof FormData)) {
103
+ request = request.clone({ body: { ...request.body, modifierId } });
104
+ }
105
+ return request;
106
+ }
107
+ addEncryptPasswordIfPresent(request) {
108
+ const encriptPassword = this.storageService.get('encryptPassword');
109
+ if (request.method !== 'GET' && encriptPassword) {
110
+ if (request.body instanceof FormData) {
111
+ request.body.append('encriptPassword', encriptPassword);
112
+ }
113
+ else {
114
+ request = request.clone({ body: { ...request.body, encriptPassword } });
115
+ }
116
+ }
117
+ return request;
118
+ }
119
+ addAccountUuidIfPresent(request) {
120
+ const accountUuid = this.storageService.get('accountUuid');
121
+ if (request.method !== 'GET' && accountUuid) {
122
+ if (request.body instanceof FormData) {
123
+ request.body.append('accountUuid', accountUuid);
124
+ }
125
+ else {
126
+ request = request.clone({ body: { ...request.body, accountUuid } });
127
+ }
128
+ }
129
+ return request;
130
+ }
131
+ addContentType(request) {
132
+ return request.clone({ setHeaders: { contentType: 'application/json' } });
133
+ }
134
+ fixUrl(request) {
135
+ if (this.isAuthRequest(request.url) || this.isProfilesRequest(request.url)) {
136
+ return request.clone({
137
+ url: `${this.environment.API_URL.replace('/api', '')}/${request.url}`,
138
+ });
139
+ }
140
+ return request.clone({
141
+ url: request.url.startsWith('/assets/') ? request.url : `${this.environment.API_URL}/${request.url}`,
142
+ });
143
+ }
144
+ isAuthRequest(url) {
145
+ return url.includes('connect/token');
146
+ }
147
+ isProfilesRequest(url) {
148
+ return url.includes('connect/userinfo');
149
+ }
150
+ handle401Error(request, next) {
151
+ if (!this.isRefreshing) {
152
+ this.isRefreshing = true;
153
+ this.refreshTokenSubject.next(null);
154
+ const refreshToken = this.storageService.getRefreshToken();
155
+ if (refreshToken) {
156
+ return this.authService.getTokenByRefreshToken(refreshToken).pipe(switchMap((token) => {
157
+ this.isRefreshing = false;
158
+ this.refreshTokenSubject.next(this.storageService.getToken());
159
+ return next.handle(this.addTokenIfPresent(request));
160
+ }), catchError((err) => {
161
+ this.isRefreshing = false;
162
+ this.authService.logout();
163
+ return throwError(err);
164
+ }));
165
+ }
166
+ else {
167
+ this.isRefreshing = false;
168
+ this.authService.logout();
169
+ return throwError(new Error());
170
+ }
171
+ }
172
+ return this.refreshTokenSubject.pipe(filter((token) => token !== null), take(1), switchMap((token) => next.handle(this.addTokenIfPresent(request))));
173
+ }
174
+ }
175
+ HttpInterceptorProvider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider, deps: [{ token: i1.StorageService }, { token: i1.ErrorMessageService }, { token: i1.LoadingService }, { token: i1.AuthService }, { token: i2.MessageService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
176
+ HttpInterceptorProvider.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider });
177
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: HttpInterceptorProvider, decorators: [{
178
+ type: Injectable
179
+ }], ctorParameters: function () { return [{ type: i1.StorageService }, { type: i1.ErrorMessageService }, { type: i1.LoadingService }, { type: i1.AuthService }, { type: i2.MessageService }, { type: undefined, decorators: [{
180
+ type: Inject,
181
+ args: ['environment']
182
+ }] }]; } });
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC1pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL2ludGVyY2VwdG9ycy9odHRwLWludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFNTCxZQUFZLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUM5QixPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7Ozs7QUFJMUMsTUFBTSxPQUFPLHVCQUF1QjtJQUlsQyxZQUNVLGNBQThCLEVBQzlCLG1CQUF3QyxFQUN4QyxjQUE4QixFQUM5QixXQUF3QixFQUN4QixjQUE4QixFQUNQLFdBQWdCO1FBTHZDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5Qix3QkFBbUIsR0FBbkIsbUJBQW1CLENBQXFCO1FBQ3hDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUM5QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDUCxnQkFBVyxHQUFYLFdBQVcsQ0FBSztRQVR6QyxtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUM5QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQix3QkFBbUIsR0FBeUIsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUM7SUFRaEYsQ0FBQztJQUVKLFNBQVMsQ0FBQyxPQUF5QixFQUFFLElBQWlCO1FBQ3BELE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxP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QUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUNuRSxDQUFDO0lBQ0osQ0FBQzs7b0hBN01VLHVCQUF1QiwwS0FVeEIsYUFBYTt3SEFWWix1QkFBdUI7MkZBQXZCLHVCQUF1QjtrQkFEbkMsVUFBVTs7MEJBV04sTUFBTTsyQkFBQyxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBIdHRwRXJyb3JSZXNwb25zZSxcclxuICBIdHRwRXZlbnQsXHJcbiAgSHR0cEhhbmRsZXIsXHJcbiAgSHR0cEludGVyY2VwdG9yLFxyXG4gIEh0dHBSZXF1ZXN0LFxyXG4gIEh0dHBSZXNwb25zZSxcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGZpbHRlciwgc3dpdGNoTWFwLCB0YWtlLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE1lc3NhZ2VTdGF0dXMgfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSwgRXJyb3JNZXNzYWdlU2VydmljZSwgTG9hZGluZ1NlcnZpY2UsIFN0b3JhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgSHR0cEludGVyY2VwdG9yUHJvdmlkZXIgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIHByaXZhdGUgYWN0aXZlUmVxdWVzdHM6IHN0cmluZ1tdID0gW107XHJcbiAgcHJpdmF0ZSBpc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIHJlZnJlc2hUb2tlblN1YmplY3Q6IEJlaGF2aW9yU3ViamVjdDxhbnk+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVycm9yTWVzc2FnZVNlcnZpY2U6IEVycm9yTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGxvYWRpbmdTZXJ2aWNlOiBMb2FkaW5nU2VydmljZSxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KCdlbnZpcm9ubWVudCcpIHByaXZhdGUgZW52aXJvbm1lbnQ6IGFueVxyXG4gICkge31cclxuXHJcbiAgaW50ZXJjZXB0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8YW55Pj4ge1xyXG4gICAgY29uc3QgaXNFeHRlcm5hbFVybCA9IHJlcXVlc3QuaGVhZGVycy5nZXQoJ2V4dGVybmFsLXVybCcpO1xyXG5cclxuICAgIGlmICghdGhpcy5pc1JlZnJlc2hUb2tlblJlcXVlc3QocmVxdWVzdC51cmwpKSB7XHJcbiAgICAgIGlmICghaXNFeHRlcm5hbFVybCkge1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZFRva2VuSWZQcmVzZW50KHJlcXVlc3QpO1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZEVuY3J5cHRQYXNzd29yZElmUHJlc2VudChyZXF1ZXN0KTtcclxuICAgICAgICByZXF1ZXN0ID0gdGhpcy5hZGRBY2NvdW50VXVpZElmUHJlc2VudChyZXF1ZXN0KTtcclxuICAgICAgICByZXF1ZXN0ID0gdGhpcy5hZGRNb2RpZmllcklkSWZQcmVzZW50KHJlcXVlc3QpO1xyXG4gICAgICAgIHJlcXVlc3QgPSB0aGlzLmFkZENvbnRlbnRUeXBlKHJlcXVlc3QpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFpc0V4dGVybmFsVXJsKSB7XHJcbiAgICAgIHJlcXVlc3QgPSB0aGlzLmZpeFVybChyZXF1ZXN0KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBub1NwaW5uZXJIZWFkZXIgPSByZXF1ZXN0LmhlYWRlcnMuZ2V0KCduby1zcGlubmVyJyk7XHJcbiAgICBpZiAoIW5vU3Bpbm5lckhlYWRlciAmJiAhcmVxdWVzdC51cmwuc3RhcnRzV2l0aCgnL2Fzc2V0cy8nKSkge1xyXG4gICAgICB0aGlzLmxvYWRpbmdTZXJ2aWNlLmxvYWRpbmckLm5leHQodHJ1ZSk7XHJcbiAgICAgIHRoaXMuYWN0aXZlUmVxdWVzdHMucHVzaCh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVxdWVzdC51cmwpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCkucGlwZShcclxuICAgICAgY2F0Y2hFcnJvcigocmVzcG9uc2U6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlLmVycm9yPy5tZXNzYWdlcz8ubGVuZ3RoKSB7XHJcbiAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZVNlcnZpY2UuZ2VuZXJpY01vZGFsRXJyb3JNZXNzYWdlJC5uZXh0KFxyXG4gICAgICAgICAgICByZXNwb25zZS5lcnJvci5tZXNzYWdlc1tyZXNwb25zZS5lcnJvci5tZXNzYWdlcy5sZW5ndGggLSAxXVxyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKCF0aGlzLmlzUmVmcmVzaFRva2VuUmVxdWVzdChyZXF1ZXN0LnVybCkpIHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGU0MDFFcnJvcihyZXF1ZXN0LCBuZXh0KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMykge1xyXG4gICAgICAgICAgICB0aGlzLmVycm9yTWVzc2FnZVNlcnZpY2UuZ2VuZXJpY01vZGFsRXJyb3JNZXNzYWdlJC5uZXh0KCdVc3XDoXJpbyBzZW0gcHJpdmlsw6lnaW9zIHBhcmEgcmVhbGl6YXIgZXNzYSBhw6fDo28nKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghaXNFeHRlcm5hbFVybCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHsgc2V2ZXJpdHk6IE1lc3NhZ2VTdGF0dXMuRVJST1IsIHN1bW1hcnk6ICdFcnJvJywgZGV0YWlsOiByZXNwb25zZS5lcnJvciB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcclxuICAgICAgICAgIHRoaXMuYWN0aXZlUmVxdWVzdHMuc3BsaWNlKFxyXG4gICAgICAgICAgICB0aGlzLmFjdGl2ZVJlcXVlc3RzLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbSA9PT0gdGhpcy5nZXRVcmxXaXRob3V0UGFyYW1zKHJlcXVlc3QudXJsKSksXHJcbiAgICAgICAgICAgIDFcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuYWN0aXZlUmVxdWVzdHMubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihyZXNwb25zZSk7XHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlIGluc3RhbmNlb2YgSHR0cFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpZiAodGhpcy5hY3RpdmVSZXF1ZXN0cy5pbmNsdWRlcyh0aGlzLmdldFVybFdpdGhvdXRQYXJhbXMocmVzcG9uc2UudXJsKSkpIHtcclxuICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5zcGxpY2UoXHJcbiAgICAgICAgICAgICAgdGhpcy5hY3RpdmVSZXF1ZXN0cy5maW5kSW5kZXgoKGl0ZW0pID0+IGl0ZW0gPT09IHRoaXMuZ2V0VXJsV2l0aG91dFBhcmFtcyhyZXF1ZXN0LnVybCkpLFxyXG4gICAgICAgICAgICAgIDFcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLmFjdGl2ZVJlcXVlc3RzLmxlbmd0aCkge1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZ1NlcnZpY2UubG9hZGluZyQubmV4dChmYWxzZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIE9iamVjdChyZXNwb25zZS5ib2R5KS5oYXNPd25Qcm9wZXJ0eSgnc3RhdHVzQ29kZScpICYmXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkuc3RhdHVzQ29kZSA9PT0gNDAwICYmXHJcbiAgICAgICAgICAgIHJlc3BvbnNlLmJvZHkubWVzc2FnZXM/Lmxlbmd0aFxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlU2VydmljZS5nZW5lcmljTW9kYWxFcnJvck1lc3NhZ2UkLm5leHQoXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2UuYm9keS5tZXNzYWdlc1tyZXNwb25zZS5ib2R5Lm1lc3NhZ2VzLmxlbmd0aCAtIDFdXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNSZWZyZXNoVG9rZW5SZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFVybFdpdGhvdXRQYXJhbXMoZnVsbFVybDogc3RyaW5nIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIWZ1bGxVcmwpIHtcclxuICAgICAgcmV0dXJuICcnO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGRlY29kZWRVcmwgPSBkZWNvZGVVUklDb21wb25lbnQoZnVsbFVybC50cmltKCkpO1xyXG5cclxuICAgIGlmICghZGVjb2RlZFVybC5pbmNsdWRlcygnPycpKSB7XHJcbiAgICAgIHJldHVybiBkZWNvZGVkVXJsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZWNvZGVkVXJsLnN1YnN0cmluZygwLCBkZWNvZGVkVXJsLmluZGV4T2YoJz8nKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFRva2VuSWZQcmVzZW50KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIGNvbnN0IHRva2VuID0gdGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpO1xyXG4gICAgaWYgKHRva2VuKSB7XHJcbiAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBBdXRob3JpemF0aW9uOiB0b2tlbiB9IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZE1vZGlmaWVySWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgY29uc3QgbW9kaWZpZXJJZCA9IHRoaXMuc3RvcmFnZVNlcnZpY2UuZ2V0VXNlcklkKCk7XHJcbiAgICBpZiAobW9kaWZpZXJJZCAmJiByZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgIShyZXF1ZXN0LmJvZHkgaW5zdGFuY2VvZiBGb3JtRGF0YSkpIHtcclxuICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgbW9kaWZpZXJJZCB9IH0pO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZEVuY3J5cHRQYXNzd29yZElmUHJlc2VudChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBjb25zdCBlbmNyaXB0UGFzc3dvcmQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnZW5jcnlwdFBhc3N3b3JkJyk7XHJcbiAgICBpZiAocmVxdWVzdC5tZXRob2QgIT09ICdHRVQnICYmIGVuY3JpcHRQYXNzd29yZCkge1xyXG4gICAgICBpZiAocmVxdWVzdC5ib2R5IGluc3RhbmNlb2YgRm9ybURhdGEpIHtcclxuICAgICAgICByZXF1ZXN0LmJvZHkuYXBwZW5kKCdlbmNyaXB0UGFzc3dvcmQnLCBlbmNyaXB0UGFzc3dvcmQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJlcXVlc3QgPSByZXF1ZXN0LmNsb25lKHsgYm9keTogeyAuLi5yZXF1ZXN0LmJvZHksIGVuY3JpcHRQYXNzd29yZCB9IH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYWRkQWNjb3VudFV1aWRJZlByZXNlbnQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55Pik6IEh0dHBSZXF1ZXN0PGFueT4ge1xyXG4gICAgY29uc3QgYWNjb3VudFV1aWQgPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldCgnYWNjb3VudFV1aWQnKTtcclxuICAgIGlmIChyZXF1ZXN0Lm1ldGhvZCAhPT0gJ0dFVCcgJiYgYWNjb3VudFV1aWQpIHtcclxuICAgICAgaWYgKHJlcXVlc3QuYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XHJcbiAgICAgICAgcmVxdWVzdC5ib2R5LmFwcGVuZCgnYWNjb3VudFV1aWQnLCBhY2NvdW50VXVpZCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoeyBib2R5OiB7IC4uLnJlcXVlc3QuYm9keSwgYWNjb3VudFV1aWQgfSB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZENvbnRlbnRUeXBlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHtcclxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHsgc2V0SGVhZGVyczogeyBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nIH0gfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpeFVybChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB7XHJcbiAgICBpZiAodGhpcy5pc0F1dGhSZXF1ZXN0KHJlcXVlc3QudXJsKSB8fCB0aGlzLmlzUHJvZmlsZXNSZXF1ZXN0KHJlcXVlc3QudXJsKSkge1xyXG4gICAgICByZXR1cm4gcmVxdWVzdC5jbG9uZSh7XHJcbiAgICAgICAgdXJsOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkwucmVwbGFjZSgnL2FwaScsICcnKX0vJHtyZXF1ZXN0LnVybH1gLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiByZXF1ZXN0LmNsb25lKHtcclxuICAgICAgdXJsOiByZXF1ZXN0LnVybC5zdGFydHNXaXRoKCcvYXNzZXRzLycpID8gcmVxdWVzdC51cmwgOiBgJHt0aGlzLmVudmlyb25tZW50LkFQSV9VUkx9LyR7cmVxdWVzdC51cmx9YCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0F1dGhSZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzUHJvZmlsZXNSZXF1ZXN0KHVybDogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gdXJsLmluY2x1ZGVzKCdjb25uZWN0L3VzZXJpbmZvJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZTQwMUVycm9yKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4sIG5leHQ6IEh0dHBIYW5kbGVyKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWZyZXNoaW5nKSB7XHJcbiAgICAgIHRoaXMuaXNSZWZyZXNoaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQobnVsbCk7XHJcblxyXG4gICAgICBjb25zdCByZWZyZXNoVG9rZW4gPSB0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFJlZnJlc2hUb2tlbigpO1xyXG4gICAgICBpZiAocmVmcmVzaFRva2VuKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0aFNlcnZpY2UuZ2V0VG9rZW5CeVJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pLnBpcGUoXHJcbiAgICAgICAgICBzd2l0Y2hNYXAoKHRva2VuOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoVG9rZW5TdWJqZWN0Lm5leHQodGhpcy5zdG9yYWdlU2VydmljZS5nZXRUb2tlbigpKTtcclxuICAgICAgICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpO1xyXG4gICAgICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnIpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5pc1JlZnJlc2hpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXJyKTtcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlzUmVmcmVzaGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9nb3V0KCk7XHJcbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMucmVmcmVzaFRva2VuU3ViamVjdC5waXBlKFxyXG4gICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPT0gbnVsbCksXHJcbiAgICAgIHRha2UoMSksXHJcbiAgICAgIHN3aXRjaE1hcCgodG9rZW4pID0+IG5leHQuaGFuZGxlKHRoaXMuYWRkVG9rZW5JZlByZXNlbnQocmVxdWVzdCkpKVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,2 +1,2 @@
1
- export * from './http-interceptor';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9pbnRlcmNlcHRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaHR0cC1pbnRlcmNlcHRvcic7XG4iXX0=
1
+ export * from './http-interceptor';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9pbnRlcmNlcHRvcnMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vaHR0cC1pbnRlcmNlcHRvcic7XHJcbiJdfQ==
@@ -1,9 +1,9 @@
1
- export var AppName;
2
- (function (AppName) {
3
- AppName["PORTAL"] = "PORTAL";
4
- AppName["FINTECH"] = "FINTECH";
5
- AppName["MARKETPLACE"] = "MARKETPLACE";
6
- AppName["LOGTECH"] = "LOGTECH";
7
- AppName["SURVEY"] = "SURVEY";
8
- })(AppName || (AppName = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW5hbWUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9hcHAtbmFtZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLE9BTVg7QUFORCxXQUFZLE9BQU87SUFDakIsNEJBQWlCLENBQUE7SUFDakIsOEJBQW1CLENBQUE7SUFDbkIsc0NBQTJCLENBQUE7SUFDM0IsOEJBQW1CLENBQUE7SUFDbkIsNEJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQU5XLE9BQU8sS0FBUCxPQUFPLFFBTWxCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXBwTmFtZSB7XG4gIFBPUlRBTCA9ICdQT1JUQUwnLFxuICBGSU5URUNIID0gJ0ZJTlRFQ0gnLFxuICBNQVJLRVRQTEFDRSA9ICdNQVJLRVRQTEFDRScsXG4gIExPR1RFQ0ggPSAnTE9HVEVDSCcsXG4gIFNVUlZFWSA9ICdTVVJWRVknLFxufVxuIl19
1
+ export var AppName;
2
+ (function (AppName) {
3
+ AppName["PORTAL"] = "PORTAL";
4
+ AppName["FINTECH"] = "FINTECH";
5
+ AppName["MARKETPLACE"] = "MARKETPLACE";
6
+ AppName["LOGTECH"] = "LOGTECH";
7
+ AppName["SURVEY"] = "SURVEY";
8
+ })(AppName || (AppName = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLW5hbWUuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9hcHAtbmFtZS5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLE9BTVg7QUFORCxXQUFZLE9BQU87SUFDakIsNEJBQWlCLENBQUE7SUFDakIsOEJBQW1CLENBQUE7SUFDbkIsc0NBQTJCLENBQUE7SUFDM0IsOEJBQW1CLENBQUE7SUFDbkIsNEJBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQU5XLE9BQU8sS0FBUCxPQUFPLFFBTWxCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gQXBwTmFtZSB7XHJcbiAgUE9SVEFMID0gJ1BPUlRBTCcsXHJcbiAgRklOVEVDSCA9ICdGSU5URUNIJyxcclxuICBNQVJLRVRQTEFDRSA9ICdNQVJLRVRQTEFDRScsXHJcbiAgTE9HVEVDSCA9ICdMT0dURUNIJyxcclxuICBTVVJWRVkgPSAnU1VSVkVZJyxcclxufVxyXG4iXX0=
@@ -1,6 +1,6 @@
1
- export var BooleanType;
2
- (function (BooleanType) {
3
- BooleanType["YES"] = "YES";
4
- BooleanType["NO"] = "NO";
5
- })(BooleanType || (BooleanType = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RlbHMvYm9vbGVhbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiwwQkFBVyxDQUFBO0lBQ1gsd0JBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEJvb2xlYW5UeXBlIHtcbiAgWUVTID0gJ1lFUycsXG4gIE5PID0gJ05PJyxcbn1cbiJdfQ==
1
+ export var BooleanType;
2
+ (function (BooleanType) {
3
+ BooleanType["YES"] = "YES";
4
+ BooleanType["NO"] = "NO";
5
+ })(BooleanType || (BooleanType = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi10eXBlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RlbHMvYm9vbGVhbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FHWDtBQUhELFdBQVksV0FBVztJQUNyQiwwQkFBVyxDQUFBO0lBQ1gsd0JBQVMsQ0FBQTtBQUNYLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEJvb2xlYW5UeXBlIHtcclxuICBZRVMgPSAnWUVTJyxcclxuICBOTyA9ICdOTycsXHJcbn1cclxuIl19
@@ -1,3 +1,3 @@
1
- export class CrudHistory {
2
- }
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1oaXN0b3J5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvbW9kZWxzL2NydWQtaGlzdG9yeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztDQU92QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDcnVkSGlzdG9yeTxUPiB7XG4gIGV2ZW50VHlwZT86IHN0cmluZztcbiAgbW9kaWZpZXJOYW1lPzogc3RyaW5nO1xuICBkYXRlVGltZT86IERhdGU7XG4gIGF1ZGl0SWQ/OiBudW1iZXI7XG4gIHR5cGVPZk1vZGlmaWNhdGlvbj86IHN0cmluZztcbiAgZGF0YUF1ZGl0RGVsdGE/OiBEYXRhQXVkaXREZWx0YVtdO1xufVxuXG5leHBvcnQgdHlwZSBEYXRhQXVkaXREZWx0YSA9IHtcbiAgZmllbGROYW1lPzogc3RyaW5nO1xuICBuZXdWYWx1ZT86IHN0cmluZztcbiAgb2xkVmFsdWU/OiBzdHJpbmc7XG59O1xuIl19
1
+ export class CrudHistory {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1oaXN0b3J5Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvbW9kZWxzL2NydWQtaGlzdG9yeS5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sV0FBVztDQU92QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDcnVkSGlzdG9yeTxUPiB7XHJcbiAgZXZlbnRUeXBlPzogc3RyaW5nO1xyXG4gIG1vZGlmaWVyTmFtZT86IHN0cmluZztcclxuICBkYXRlVGltZT86IERhdGU7XHJcbiAgYXVkaXRJZD86IG51bWJlcjtcclxuICB0eXBlT2ZNb2RpZmljYXRpb24/OiBzdHJpbmc7XHJcbiAgZGF0YUF1ZGl0RGVsdGE/OiBEYXRhQXVkaXREZWx0YVtdO1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhQXVkaXREZWx0YSA9IHtcclxuICBmaWVsZE5hbWU/OiBzdHJpbmc7XHJcbiAgbmV3VmFsdWU/OiBzdHJpbmc7XHJcbiAgb2xkVmFsdWU/OiBzdHJpbmc7XHJcbn07XHJcbiJdfQ==
@@ -1,7 +1,7 @@
1
- export var CrudMode;
2
- (function (CrudMode) {
3
- CrudMode[CrudMode["NEW"] = 0] = "NEW";
4
- CrudMode[CrudMode["EDIT"] = 1] = "EDIT";
5
- CrudMode[CrudMode["VIEW"] = 2] = "VIEW";
6
- })(CrudMode || (CrudMode = {}));
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1tb2RlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RlbHMvY3J1ZC1tb2RlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQixxQ0FBRyxDQUFBO0lBQ0gsdUNBQUksQ0FBQTtJQUNKLHVDQUFJLENBQUE7QUFDTixDQUFDLEVBSlcsUUFBUSxLQUFSLFFBQVEsUUFJbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDcnVkTW9kZSB7XG4gIE5FVyxcbiAgRURJVCxcbiAgVklFVyxcbn1cbiJdfQ==
1
+ export var CrudMode;
2
+ (function (CrudMode) {
3
+ CrudMode[CrudMode["NEW"] = 0] = "NEW";
4
+ CrudMode[CrudMode["EDIT"] = 1] = "EDIT";
5
+ CrudMode[CrudMode["VIEW"] = 2] = "VIEW";
6
+ })(CrudMode || (CrudMode = {}));
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC1tb2RlLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdmVjdG9yLWNvbXBvbmVudHMvc3JjL2xpYi9tb2RlbHMvY3J1ZC1tb2RlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksUUFJWDtBQUpELFdBQVksUUFBUTtJQUNsQixxQ0FBRyxDQUFBO0lBQ0gsdUNBQUksQ0FBQTtJQUNKLHVDQUFJLENBQUE7QUFDTixDQUFDLEVBSlcsUUFBUSxLQUFSLFFBQVEsUUFJbkIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBDcnVkTW9kZSB7XHJcbiAgTkVXLFxyXG4gIEVESVQsXHJcbiAgVklFVyxcclxufVxyXG4iXX0=
@@ -1,22 +1,22 @@
1
- export var TableColumnType;
2
- (function (TableColumnType) {
3
- TableColumnType["TEXT"] = "TEXT";
4
- TableColumnType["BOOLEAN"] = "BOOLEAN";
5
- TableColumnType["DATE"] = "DATE";
6
- TableColumnType["DATETIME"] = "DATETIME";
7
- TableColumnType["ENUM"] = "ENUM";
8
- TableColumnType["STATUS_BADGE"] = "STATUS_BADGE";
9
- TableColumnType["ACTIVE_BOOLEAN_BADGE"] = "ACTIVE_BOOLEAN_BADGE";
10
- TableColumnType["BUTTON"] = "BUTTON";
11
- TableColumnType["CUSTOM_STYLE"] = "CUSTOM_STYLE";
12
- TableColumnType["MASK"] = "MASK";
13
- TableColumnType["TEXT_BADGE"] = "TEXT_BADGE";
14
- TableColumnType["STACK_BADGE"] = "STACK_BADGE";
15
- TableColumnType["CURRENCY"] = "CURRENCY";
16
- })(TableColumnType || (TableColumnType = {}));
17
- export var SelectionType;
18
- (function (SelectionType) {
19
- SelectionType["CHECKBOX"] = "checkbox";
20
- SelectionType["RADIOBUTTON"] = "radiobutton";
21
- })(SelectionType || (SelectionType = {}));
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9kYXRhLXRhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLGVBY1g7QUFkRCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLGdDQUFhLENBQUE7SUFDYix3Q0FBcUIsQ0FBQTtJQUNyQixnQ0FBYSxDQUFBO0lBQ2IsZ0RBQTZCLENBQUE7SUFDN0IsZ0VBQTZDLENBQUE7SUFDN0Msb0NBQWlCLENBQUE7SUFDakIsZ0RBQTZCLENBQUE7SUFDN0IsZ0NBQWEsQ0FBQTtJQUNiLDRDQUF5QixDQUFBO0lBQ3pCLDhDQUEyQixDQUFBO0lBQzNCLHdDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFkVyxlQUFlLEtBQWYsZUFBZSxRQWMxQjtBQWlDRCxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLHNDQUFxQixDQUFBO0lBQ3JCLDRDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgU3RhdHVzIH0gZnJvbSAnLi9zdGF0dXMuZW51bSc7XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZUJhc2VJdGVtID0ge1xuICBhY3Rpb25zPzogTWVudUl0ZW1bXTtcbn07XG5cbmV4cG9ydCBlbnVtIFRhYmxlQ29sdW1uVHlwZSB7XG4gIFRFWFQgPSAnVEVYVCcsXG4gIEJPT0xFQU4gPSAnQk9PTEVBTicsXG4gIERBVEUgPSAnREFURScsXG4gIERBVEVUSU1FID0gJ0RBVEVUSU1FJyxcbiAgRU5VTSA9ICdFTlVNJyxcbiAgU1RBVFVTX0JBREdFID0gJ1NUQVRVU19CQURHRScsXG4gIEFDVElWRV9CT09MRUFOX0JBREdFID0gJ0FDVElWRV9CT09MRUFOX0JBREdFJyxcbiAgQlVUVE9OID0gJ0JVVFRPTicsXG4gIENVU1RPTV9TVFlMRSA9ICdDVVNUT01fU1RZTEUnLFxuICBNQVNLID0gJ01BU0snLFxuICBURVhUX0JBREdFID0gJ1RFWFRfQkFER0UnLFxuICBTVEFDS19CQURHRSA9ICdTVEFDS19CQURHRScsXG4gIENVUlJFTkNZID0gJ0NVUlJFTkNZJyxcbn1cblxuZXhwb3J0IHR5cGUgVGFibGVDb2x1bW4gPSB7XG4gIGhlYWRlcjogc3RyaW5nO1xuICBmaWVsZDogc3RyaW5nO1xuICB3aWR0aD86IHN0cmluZztcbiAgdHlwZT86IFRhYmxlQ29sdW1uVHlwZTtcbiAgdGV4dEZpZWxkQ2xhc3M/OiBzdHJpbmc7XG4gIGdldEVudW1UcmFuc2xhdGVkPzogKGVudW1WYWw6IGFueSkgPT4gc3RyaW5nO1xuICBnZXRTdGF0dXM/OiAodmFsdWU6IGFueSkgPT4gU3RhdHVzO1xuICBjbGlja0Z1bmN0aW9uPzogRnVuY3Rpb247XG4gIGljb24/OiBzdHJpbmc7XG4gIG5vdFNvcnRhYmxlPzogYm9vbGVhbjtcbiAgbWFzaz86IHN0cmluZztcbiAgY3VycmVuY3lUeXBlPzogJ1VTRCcgfCAnQlJMJztcbn07XG5cbmV4cG9ydCB0eXBlIERhdGFUYWJsZUxhenlMb2FkRXZlbnQgPSB7XG4gIHN0YXJ0OiBudW1iZXI7XG4gIGxlbmd0aDogbnVtYmVyO1xuICBkcmF3OiBudW1iZXI7XG4gIHBhZ2U6IG51bWJlcjtcbiAgb3JkZXI6IHsgY29sdW1uOiBudW1iZXI7IGRpcjogJ2FzYycgfCAnZGVzYycgfVtdO1xuICBjb2x1bW5zOiB7XG4gICAgZGF0YTogc3RyaW5nO1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBvcmRlcmFibGU6IGJvb2xlYW47XG4gICAgc2VhcmNoOiB7IHZhbHVlOiBzdHJpbmc7IHJlZ2V4OiBib29sZWFuIH07XG4gICAgc2VhcmNoYWJsZTogYm9vbGVhbjtcbiAgfVtdO1xuICBzZWFyY2g6IHsgdmFsdWU6IHN0cmluZzsgcmVnZXg6IGJvb2xlYW4gfTtcbn07XG5cbmV4cG9ydCBlbnVtIFNlbGVjdGlvblR5cGUge1xuICBDSEVDS0JPWCA9ICdjaGVja2JveCcsXG4gIFJBRElPQlVUVE9OID0gJ3JhZGlvYnV0dG9uJyxcbn1cbiJdfQ==
1
+ export var TableColumnType;
2
+ (function (TableColumnType) {
3
+ TableColumnType["TEXT"] = "TEXT";
4
+ TableColumnType["BOOLEAN"] = "BOOLEAN";
5
+ TableColumnType["DATE"] = "DATE";
6
+ TableColumnType["DATETIME"] = "DATETIME";
7
+ TableColumnType["ENUM"] = "ENUM";
8
+ TableColumnType["STATUS_BADGE"] = "STATUS_BADGE";
9
+ TableColumnType["ACTIVE_BOOLEAN_BADGE"] = "ACTIVE_BOOLEAN_BADGE";
10
+ TableColumnType["BUTTON"] = "BUTTON";
11
+ TableColumnType["CUSTOM_STYLE"] = "CUSTOM_STYLE";
12
+ TableColumnType["MASK"] = "MASK";
13
+ TableColumnType["TEXT_BADGE"] = "TEXT_BADGE";
14
+ TableColumnType["STACK_BADGE"] = "STACK_BADGE";
15
+ TableColumnType["CURRENCY"] = "CURRENCY";
16
+ })(TableColumnType || (TableColumnType = {}));
17
+ export var SelectionType;
18
+ (function (SelectionType) {
19
+ SelectionType["CHECKBOX"] = "checkbox";
20
+ SelectionType["RADIOBUTTON"] = "radiobutton";
21
+ })(SelectionType || (SelectionType = {}));
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9kYXRhLXRhYmxlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU9BLE1BQU0sQ0FBTixJQUFZLGVBY1g7QUFkRCxXQUFZLGVBQWU7SUFDekIsZ0NBQWEsQ0FBQTtJQUNiLHNDQUFtQixDQUFBO0lBQ25CLGdDQUFhLENBQUE7SUFDYix3Q0FBcUIsQ0FBQTtJQUNyQixnQ0FBYSxDQUFBO0lBQ2IsZ0RBQTZCLENBQUE7SUFDN0IsZ0VBQTZDLENBQUE7SUFDN0Msb0NBQWlCLENBQUE7SUFDakIsZ0RBQTZCLENBQUE7SUFDN0IsZ0NBQWEsQ0FBQTtJQUNiLDRDQUF5QixDQUFBO0lBQ3pCLDhDQUEyQixDQUFBO0lBQzNCLHdDQUFxQixDQUFBO0FBQ3ZCLENBQUMsRUFkVyxlQUFlLEtBQWYsZUFBZSxRQWMxQjtBQWlDRCxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3ZCLHNDQUFxQixDQUFBO0lBQ3JCLDRDQUEyQixDQUFBO0FBQzdCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBTdGF0dXMgfSBmcm9tICcuL3N0YXR1cy5lbnVtJztcclxuXHJcbmV4cG9ydCB0eXBlIERhdGFUYWJsZUJhc2VJdGVtID0ge1xyXG4gIGFjdGlvbnM/OiBNZW51SXRlbVtdO1xyXG59O1xyXG5cclxuZXhwb3J0IGVudW0gVGFibGVDb2x1bW5UeXBlIHtcclxuICBURVhUID0gJ1RFWFQnLFxyXG4gIEJPT0xFQU4gPSAnQk9PTEVBTicsXHJcbiAgREFURSA9ICdEQVRFJyxcclxuICBEQVRFVElNRSA9ICdEQVRFVElNRScsXHJcbiAgRU5VTSA9ICdFTlVNJyxcclxuICBTVEFUVVNfQkFER0UgPSAnU1RBVFVTX0JBREdFJyxcclxuICBBQ1RJVkVfQk9PTEVBTl9CQURHRSA9ICdBQ1RJVkVfQk9PTEVBTl9CQURHRScsXHJcbiAgQlVUVE9OID0gJ0JVVFRPTicsXHJcbiAgQ1VTVE9NX1NUWUxFID0gJ0NVU1RPTV9TVFlMRScsXHJcbiAgTUFTSyA9ICdNQVNLJyxcclxuICBURVhUX0JBREdFID0gJ1RFWFRfQkFER0UnLFxyXG4gIFNUQUNLX0JBREdFID0gJ1NUQUNLX0JBREdFJyxcclxuICBDVVJSRU5DWSA9ICdDVVJSRU5DWScsXHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIFRhYmxlQ29sdW1uID0ge1xyXG4gIGhlYWRlcjogc3RyaW5nO1xyXG4gIGZpZWxkOiBzdHJpbmc7XHJcbiAgd2lkdGg/OiBzdHJpbmc7XHJcbiAgdHlwZT86IFRhYmxlQ29sdW1uVHlwZTtcclxuICB0ZXh0RmllbGRDbGFzcz86IHN0cmluZztcclxuICBnZXRFbnVtVHJhbnNsYXRlZD86IChlbnVtVmFsOiBhbnkpID0+IHN0cmluZztcclxuICBnZXRTdGF0dXM/OiAodmFsdWU6IGFueSkgPT4gU3RhdHVzO1xyXG4gIGNsaWNrRnVuY3Rpb24/OiBGdW5jdGlvbjtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIG5vdFNvcnRhYmxlPzogYm9vbGVhbjtcclxuICBtYXNrPzogc3RyaW5nO1xyXG4gIGN1cnJlbmN5VHlwZT86ICdVU0QnIHwgJ0JSTCc7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBEYXRhVGFibGVMYXp5TG9hZEV2ZW50ID0ge1xyXG4gIHN0YXJ0OiBudW1iZXI7XHJcbiAgbGVuZ3RoOiBudW1iZXI7XHJcbiAgZHJhdzogbnVtYmVyO1xyXG4gIHBhZ2U6IG51bWJlcjtcclxuICBvcmRlcjogeyBjb2x1bW46IG51bWJlcjsgZGlyOiAnYXNjJyB8ICdkZXNjJyB9W107XHJcbiAgY29sdW1uczoge1xyXG4gICAgZGF0YTogc3RyaW5nO1xyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgb3JkZXJhYmxlOiBib29sZWFuO1xyXG4gICAgc2VhcmNoOiB7IHZhbHVlOiBzdHJpbmc7IHJlZ2V4OiBib29sZWFuIH07XHJcbiAgICBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIH1bXTtcclxuICBzZWFyY2g6IHsgdmFsdWU6IHN0cmluZzsgcmVnZXg6IGJvb2xlYW4gfTtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIFNlbGVjdGlvblR5cGUge1xyXG4gIENIRUNLQk9YID0gJ2NoZWNrYm94JyxcclxuICBSQURJT0JVVFRPTiA9ICdyYWRpb2J1dHRvbicsXHJcbn1cclxuIl19
@@ -1,6 +1,6 @@
1
- export var DocumentType;
2
- (function (DocumentType) {
3
- DocumentType[DocumentType["CPF"] = 0] = "CPF";
4
- DocumentType[DocumentType["CNPJ"] = 1] = "CNPJ";
5
- })(DocumentType || (DocumentType = {}));
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvbW9kZWxzL2RvY3VtZW50LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLDZDQUFHLENBQUE7SUFDSCwrQ0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRG9jdW1lbnRUeXBlIHtcbiAgQ1BGLFxuICBDTlBKLFxufVxuIl19
1
+ export var DocumentType;
2
+ (function (DocumentType) {
3
+ DocumentType[DocumentType["CPF"] = 0] = "CPF";
4
+ DocumentType[DocumentType["CNPJ"] = 1] = "CNPJ";
5
+ })(DocumentType || (DocumentType = {}));
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdW1lbnQtdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXZlY3Rvci1jb21wb25lbnRzL3NyYy9saWIvbW9kZWxzL2RvY3VtZW50LXR5cGUuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxZQUdYO0FBSEQsV0FBWSxZQUFZO0lBQ3RCLDZDQUFHLENBQUE7SUFDSCwrQ0FBSSxDQUFBO0FBQ04sQ0FBQyxFQUhXLFlBQVksS0FBWixZQUFZLFFBR3ZCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRG9jdW1lbnRUeXBlIHtcclxuICBDUEYsXHJcbiAgQ05QSixcclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9maWx0ZXJzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBGaWx0ZXJDaGFuZ2VkRXZlbnQgPSB7XG4gIGZpZWxkOiBzdHJpbmc7XG4gIHZhbHVlOiBhbnk7XG59O1xuIl19
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVycy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9maWx0ZXJzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBGaWx0ZXJDaGFuZ2VkRXZlbnQgPSB7XHJcbiAgZmllbGQ6IHN0cmluZztcclxuICB2YWx1ZTogYW55O1xyXG59O1xyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1tb2RhbC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9nZW5lcmljLW1vZGFsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBHZW5lcmljTW9kYWxNZXNzYWdlID0ge1xuICBmaWxlSWNvbj86IHN0cmluZztcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmdbXTtcbiAgY29uZmlybUJ1dHRvbj86IHsgbGFiZWw6IHN0cmluZzsgY2xpY2tGdW5jdGlvbjogRnVuY3Rpb24gfTtcbiAgY2FuY2VsQnV0dG9uPzogeyBsYWJlbDogc3RyaW5nOyBjbGlja0Z1bmN0aW9uOiBGdW5jdGlvbiB9O1xufTtcbiJdfQ==
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJpYy1tb2RhbC5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC12ZWN0b3ItY29tcG9uZW50cy9zcmMvbGliL21vZGVscy9nZW5lcmljLW1vZGFsLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBHZW5lcmljTW9kYWxNZXNzYWdlID0ge1xyXG4gIGZpbGVJY29uPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmdbXTtcclxuICBjb25maXJtQnV0dG9uPzogeyBsYWJlbDogc3RyaW5nOyBjbGlja0Z1bmN0aW9uOiBGdW5jdGlvbiB9O1xyXG4gIGNhbmNlbEJ1dHRvbj86IHsgbGFiZWw6IHN0cmluZzsgY2xpY2tGdW5jdGlvbjogRnVuY3Rpb24gfTtcclxufTtcclxuIl19