@senior-gestao-pessoas/payroll-core 8.7.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (872) hide show
  1. package/bundles/senior-gestao-pessoas-payroll-core.umd.js +3024 -10904
  2. package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
  4. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
  5. package/components/workstationgroup-lookup/autocomplete.service.d.ts +31 -0
  6. package/esm2015/components/admission-draft-summary/admission-draft-summary.component.js +106 -0
  7. package/esm2015/components/admission-draft-summary/admission-draft-summary.module.js +17 -0
  8. package/esm2015/components/admission-draft-summary/admission-draft-summary.service.js +27 -0
  9. package/esm2015/components/admission-draft-summary/index.js +4 -0
  10. package/esm2015/components/block-ui/block-ui.component.js +19 -0
  11. package/esm2015/components/block-ui/block-ui.module.js +25 -0
  12. package/esm2015/components/block-ui/index.js +3 -0
  13. package/esm2015/components/breadcrumb/breadcrumb.component.js +76 -0
  14. package/esm2015/components/breadcrumb/breadcrumb.module.js +25 -0
  15. package/esm2015/components/breadcrumb/index.js +3 -0
  16. package/esm2015/components/control-messages-error/control-messages-error.component.js +28 -0
  17. package/esm2015/components/control-messages-error/control-messages-error.module.js +17 -0
  18. package/esm2015/components/control-messages-error/index.js +3 -0
  19. package/esm2015/components/custom-fields/custom-fields.component.js +32 -0
  20. package/esm2015/components/custom-fields/custom-fields.module.js +31 -0
  21. package/esm2015/components/custom-fields/index.js +3 -0
  22. package/esm2015/components/data-list/data-list.component.js +305 -0
  23. package/esm2015/components/data-list/data-list.module.js +28 -0
  24. package/esm2015/components/data-list/data-list.service.js +19 -0
  25. package/esm2015/components/data-list/entity-odata-response.js +26 -0
  26. package/esm2015/components/data-list/index.js +2 -0
  27. package/esm2015/components/data-list-rest/data-list-rest.component.js +239 -0
  28. package/esm2015/components/data-list-rest/data-list-rest.module.js +28 -0
  29. package/esm2015/components/data-list-rest/data-list-rest.service.js +19 -0
  30. package/esm2015/components/data-list-rest/index.js +2 -0
  31. package/esm2015/components/directives/directives.module.js +17 -0
  32. package/esm2015/components/directives/index.js +4 -0
  33. package/esm2015/components/directives/name-not-spaces.directive.js +31 -0
  34. package/esm2015/components/directives/only-number.directive.js +41 -0
  35. package/esm2015/components/employee-selector/employee-selector.component.js +65 -0
  36. package/esm2015/components/employee-selector/employee-selector.module.js +18 -0
  37. package/esm2015/components/employee-selector/index.js +3 -0
  38. package/esm2015/components/employee-summary/employee-summary.component.js +108 -0
  39. package/esm2015/components/employee-summary/employee-summary.module.js +17 -0
  40. package/esm2015/components/employee-summary/employee-summary.service.js +33 -0
  41. package/esm2015/components/employee-summary/index.js +4 -0
  42. package/esm2015/components/error-page/error-page.component.js +15 -0
  43. package/esm2015/components/error-page/error-page.module.js +16 -0
  44. package/esm2015/components/error-page/index.js +3 -0
  45. package/esm2015/components/field-validator/field-validator.component.js +40 -0
  46. package/esm2015/components/field-validator/field-validator.module.js +18 -0
  47. package/esm2015/components/field-validator/index.js +3 -0
  48. package/esm2015/components/file-upload/file-upload.component.js +135 -0
  49. package/esm2015/components/file-upload/file-upload.module.js +19 -0
  50. package/esm2015/components/file-upload/file-upload.service.js +44 -0
  51. package/esm2015/components/file-upload/index.js +3 -0
  52. package/esm2015/components/from-to/from-to.component.js +16 -0
  53. package/esm2015/components/from-to/from-to.module.js +19 -0
  54. package/esm2015/components/from-to/index.js +3 -0
  55. package/esm2015/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +332 -0
  56. package/esm2015/components/historical-bank-account/historical-bank-account.component.js +329 -0
  57. package/esm2015/components/historical-bank-account/historical-bank-account.module.js +56 -0
  58. package/esm2015/components/historical-bank-account/historical-bank-account.service.js +20 -0
  59. package/esm2015/components/historical-bank-account/index.js +4 -0
  60. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.component.js +223 -0
  61. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.module.js +39 -0
  62. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.service.js +35 -0
  63. package/esm2015/components/historical-bank-account-list/index.js +4 -0
  64. package/esm2015/components/image-cropper/image-crop.component.js +146 -0
  65. package/esm2015/components/image-cropper/image-crop.module.js +39 -0
  66. package/esm2015/components/image-cropper/image-crop.service.js +88 -0
  67. package/esm2015/components/image-cropper/index.js +4 -0
  68. package/esm2015/components/input-date/index.js +3 -0
  69. package/esm2015/components/input-date/input-date.component.js +115 -0
  70. package/esm2015/components/input-date/input-date.module.js +17 -0
  71. package/esm2015/components/input-date-model/index.js +3 -0
  72. package/esm2015/components/input-date-model/input-date-model.component.js +100 -0
  73. package/esm2015/components/input-date-model/input-date-model.module.js +17 -0
  74. package/esm2015/components/input-rest-auto-complete/index.js +4 -0
  75. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.component.js +303 -0
  76. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.module.js +21 -0
  77. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.service.js +20 -0
  78. package/esm2015/components/input-rest-auto-complete-employee/index.js +3 -0
  79. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +190 -0
  80. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +28 -0
  81. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +20 -0
  82. package/esm2015/components/input-rest-auto-complete-employee-model/index.js +3 -0
  83. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +179 -0
  84. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +28 -0
  85. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +20 -0
  86. package/esm2015/components/input-rest-auto-complete-enum/index.js +4 -0
  87. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +146 -0
  88. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +28 -0
  89. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +23 -0
  90. package/esm2015/components/input-rest-auto-complete-jobposition/index.js +4 -0
  91. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +173 -0
  92. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +28 -0
  93. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +20 -0
  94. package/esm2015/components/input-rest-auto-complete-model/index.js +3 -0
  95. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +227 -0
  96. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +28 -0
  97. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +20 -0
  98. package/esm2015/components/input-rest-auto-complete-model-enum/index.js +3 -0
  99. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +124 -0
  100. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +28 -0
  101. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +23 -0
  102. package/esm2015/components/list-rest/index.js +3 -0
  103. package/esm2015/components/list-rest/list-rest.component.js +117 -0
  104. package/esm2015/components/list-rest/list-rest.module.js +33 -0
  105. package/esm2015/components/list-rest/list-rest.service.js +23 -0
  106. package/esm2015/components/lookup/index.js +2 -0
  107. package/esm2015/components/lookup/lookup.component.js +324 -0
  108. package/esm2015/components/lookup/lookup.module.js +20 -0
  109. package/esm2015/components/lookup/lookup.service.js +52 -0
  110. package/esm2015/components/shared/http-client.service.js +165 -0
  111. package/esm2015/components/shared/shared.module.js +21 -0
  112. package/esm2015/components/spinner/index.js +3 -0
  113. package/esm2015/components/spinner/spinner-loader.component.js +12 -0
  114. package/esm2015/components/spinner/spinner-loader.module.js +23 -0
  115. package/esm2015/components/toast/index.js +4 -0
  116. package/esm2015/components/toast/toast.component.js +88 -0
  117. package/esm2015/components/toast/toast.module.js +20 -0
  118. package/esm2015/components/toast/toast.service.js +42 -0
  119. package/esm2015/components/type-admission/index.js +3 -0
  120. package/esm2015/components/type-admission/type-admission.module.js +14 -0
  121. package/esm2015/components/type-admission/type-admission.services.js +62 -0
  122. package/esm2015/components/utils/cnpj-validator.js +62 -0
  123. package/esm2015/components/utils/cpf-validator.js +45 -0
  124. package/esm2015/components/utils/date-validator/date-validators.js +144 -0
  125. package/esm2015/components/utils/helpers.js +476 -0
  126. package/esm2015/components/utils/validations.js +127 -0
  127. package/esm2015/components/vanilla/string-methods.js +22 -0
  128. package/esm2015/components/workstationgroup-lookup/autocomplete.service.js +111 -0
  129. package/esm2015/components/workstationgroup-lookup/index.js +3 -0
  130. package/esm2015/components/workstationgroup-lookup/lookup.service.js +142 -0
  131. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.component.js +587 -0
  132. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +48 -0
  133. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.module.js +21 -0
  134. package/esm2015/core/entities/entity-odata-parameter.js +33 -0
  135. package/esm2015/core/entities/index.js +2 -0
  136. package/esm2015/core/enums/companyIndicationType.js +18 -0
  137. package/esm2015/core/enums/comparetype.enumeration.js +14 -0
  138. package/esm2015/core/enums/coreFieldType.js +5 -0
  139. package/esm2015/core/enums/direction.enumeration.js +6 -0
  140. package/esm2015/core/enums/httpRequestType.js +6 -0
  141. package/esm2015/core/enums/index.js +14 -0
  142. package/esm2015/core/enums/menu-type.enumeration.js +6 -0
  143. package/esm2015/core/enums/moduleType.js +22 -0
  144. package/esm2015/core/enums/operators.enumeration.js +14 -0
  145. package/esm2015/core/enums/parameter-type.enumeration.js +12 -0
  146. package/esm2015/core/enums/report-format.enumeration.js +12 -0
  147. package/esm2015/core/enums/report-stage.enumeration.js +12 -0
  148. package/esm2015/core/enums/serviceType.js +9 -0
  149. package/esm2015/core/enums/usingType.js +42 -0
  150. package/esm2015/core/interfaces/date-compare-options.js +1 -0
  151. package/esm2015/core/interfaces/date-validate-options.js +1 -0
  152. package/esm2015/core/interfaces/field-validators-object.js +1 -0
  153. package/esm2015/core/interfaces/index.js +1 -0
  154. package/esm2015/core/interfaces/pagination-data.js +1 -0
  155. package/esm2015/core/interfaces/report/domain-service.interface.js +1 -0
  156. package/esm2015/core/interfaces/report/generation-status.interface.js +1 -0
  157. package/esm2015/core/interfaces/report/get-parameters-out.interface.js +1 -0
  158. package/esm2015/core/interfaces/report/index.js +1 -0
  159. package/esm2015/core/interfaces/report/lookup-parameter.interface.js +1 -0
  160. package/esm2015/core/interfaces/report/parameter-def.interface.js +1 -0
  161. package/esm2015/core/interfaces/report/parameter-value.interface.js +1 -0
  162. package/esm2015/core/interfaces/report/report-header.interface.js +1 -0
  163. package/esm2015/core/interfaces/report/report-in.interface.js +1 -0
  164. package/esm2015/core/interfaces/report/report-menu.interface.js +1 -0
  165. package/esm2015/core/interfaces/report/report-out.interface.js +1 -0
  166. package/esm2015/core/interfaces/report/report.interface.js +1 -0
  167. package/esm2015/public_api.js +52 -58
  168. package/esm2015/senior-gestao-pessoas-payroll-core.js +19 -24
  169. package/esm2015/services/autocomplete-parameters.service.js +116 -0
  170. package/esm2015/services/company-indications.service.js +42 -0
  171. package/esm2015/services/form-comparator.service.js +99 -0
  172. package/esm2015/services/integration.service.js +19 -0
  173. package/esm2015/services/lookup-parameters.service.js +345 -0
  174. package/esm2015/services/permissions.service.js +89 -0
  175. package/esm2015/services/report.service.js +109 -0
  176. package/esm2015/services/services.module.js +29 -0
  177. package/esm2015/services/workflow-data.service.js +26 -0
  178. package/esm2015/services/workflow-integrator.service.js +248 -0
  179. package/esm5/components/admission-draft-summary/admission-draft-summary.component.js +109 -0
  180. package/esm5/components/admission-draft-summary/admission-draft-summary.module.js +20 -0
  181. package/esm5/components/admission-draft-summary/admission-draft-summary.service.js +28 -0
  182. package/esm5/components/admission-draft-summary/index.js +4 -0
  183. package/esm5/components/block-ui/block-ui.component.js +22 -0
  184. package/esm5/components/block-ui/block-ui.module.js +28 -0
  185. package/esm5/components/block-ui/index.js +3 -0
  186. package/esm5/components/breadcrumb/breadcrumb.component.js +79 -0
  187. package/esm5/components/breadcrumb/breadcrumb.module.js +28 -0
  188. package/esm5/components/breadcrumb/index.js +3 -0
  189. package/esm5/components/control-messages-error/control-messages-error.component.js +34 -0
  190. package/esm5/components/control-messages-error/control-messages-error.module.js +20 -0
  191. package/esm5/components/control-messages-error/index.js +3 -0
  192. package/esm5/components/custom-fields/custom-fields.component.js +33 -0
  193. package/esm5/components/custom-fields/custom-fields.module.js +34 -0
  194. package/esm5/components/custom-fields/index.js +3 -0
  195. package/esm5/components/data-list/data-list.component.js +338 -0
  196. package/esm5/components/data-list/data-list.module.js +31 -0
  197. package/esm5/components/data-list/data-list.service.js +20 -0
  198. package/esm5/components/data-list/entity-odata-response.js +40 -0
  199. package/esm5/components/data-list/index.js +2 -0
  200. package/esm5/components/data-list-rest/data-list-rest.component.js +264 -0
  201. package/esm5/components/data-list-rest/data-list-rest.module.js +31 -0
  202. package/esm5/components/data-list-rest/data-list-rest.service.js +20 -0
  203. package/esm5/components/data-list-rest/index.js +2 -0
  204. package/esm5/components/directives/directives.module.js +20 -0
  205. package/esm5/components/directives/index.js +4 -0
  206. package/esm5/components/directives/name-not-spaces.directive.js +32 -0
  207. package/esm5/components/directives/only-number.directive.js +42 -0
  208. package/esm5/components/employee-selector/employee-selector.component.js +75 -0
  209. package/esm5/components/employee-selector/employee-selector.module.js +21 -0
  210. package/esm5/components/employee-selector/index.js +3 -0
  211. package/esm5/components/employee-summary/employee-summary.component.js +111 -0
  212. package/esm5/components/employee-summary/employee-summary.module.js +20 -0
  213. package/esm5/components/employee-summary/employee-summary.service.js +34 -0
  214. package/esm5/components/employee-summary/index.js +4 -0
  215. package/esm5/components/error-page/error-page.component.js +17 -0
  216. package/esm5/components/error-page/error-page.module.js +19 -0
  217. package/esm5/components/error-page/index.js +3 -0
  218. package/esm5/components/field-validator/field-validator.component.js +42 -0
  219. package/esm5/components/field-validator/field-validator.module.js +21 -0
  220. package/esm5/components/field-validator/index.js +3 -0
  221. package/esm5/components/file-upload/file-upload.component.js +138 -0
  222. package/esm5/components/file-upload/file-upload.module.js +22 -0
  223. package/esm5/components/file-upload/file-upload.service.js +45 -0
  224. package/esm5/components/file-upload/index.js +3 -0
  225. package/esm5/components/from-to/from-to.component.js +18 -0
  226. package/esm5/components/from-to/from-to.module.js +22 -0
  227. package/esm5/components/from-to/index.js +3 -0
  228. package/esm5/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +353 -0
  229. package/esm5/components/historical-bank-account/historical-bank-account.component.js +363 -0
  230. package/esm5/components/historical-bank-account/historical-bank-account.module.js +59 -0
  231. package/esm5/components/historical-bank-account/historical-bank-account.service.js +22 -0
  232. package/esm5/components/historical-bank-account/index.js +4 -0
  233. package/esm5/components/historical-bank-account-list/historical-bank-account-list.component.js +243 -0
  234. package/esm5/components/historical-bank-account-list/historical-bank-account-list.module.js +42 -0
  235. package/esm5/components/historical-bank-account-list/historical-bank-account-list.service.js +37 -0
  236. package/esm5/components/historical-bank-account-list/index.js +4 -0
  237. package/esm5/components/image-cropper/image-crop.component.js +164 -0
  238. package/esm5/components/image-cropper/image-crop.module.js +41 -0
  239. package/esm5/components/image-cropper/image-crop.service.js +106 -0
  240. package/esm5/components/image-cropper/index.js +4 -0
  241. package/esm5/components/input-date/index.js +3 -0
  242. package/esm5/components/input-date/input-date.component.js +129 -0
  243. package/esm5/components/input-date/input-date.module.js +20 -0
  244. package/esm5/components/input-date-model/index.js +3 -0
  245. package/esm5/components/input-date-model/input-date-model.component.js +110 -0
  246. package/esm5/components/input-date-model/input-date-model.module.js +20 -0
  247. package/esm5/components/input-rest-auto-complete/index.js +4 -0
  248. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.component.js +317 -0
  249. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.module.js +24 -0
  250. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.service.js +22 -0
  251. package/esm5/components/input-rest-auto-complete-employee/index.js +3 -0
  252. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +192 -0
  253. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +31 -0
  254. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +21 -0
  255. package/esm5/components/input-rest-auto-complete-employee-model/index.js +3 -0
  256. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +185 -0
  257. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +31 -0
  258. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +21 -0
  259. package/esm5/components/input-rest-auto-complete-enum/index.js +4 -0
  260. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +162 -0
  261. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +31 -0
  262. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +24 -0
  263. package/esm5/components/input-rest-auto-complete-jobposition/index.js +4 -0
  264. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +176 -0
  265. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +31 -0
  266. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +21 -0
  267. package/esm5/components/input-rest-auto-complete-model/index.js +3 -0
  268. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +234 -0
  269. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +31 -0
  270. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +22 -0
  271. package/esm5/components/input-rest-auto-complete-model-enum/index.js +3 -0
  272. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +130 -0
  273. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +31 -0
  274. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +24 -0
  275. package/esm5/components/list-rest/index.js +3 -0
  276. package/esm5/components/list-rest/list-rest.component.js +119 -0
  277. package/esm5/components/list-rest/list-rest.module.js +36 -0
  278. package/esm5/components/list-rest/list-rest.service.js +24 -0
  279. package/esm5/components/lookup/index.js +2 -0
  280. package/esm5/components/lookup/lookup.component.js +339 -0
  281. package/esm5/components/lookup/lookup.module.js +23 -0
  282. package/esm5/components/lookup/lookup.service.js +54 -0
  283. package/esm5/components/shared/http-client.service.js +179 -0
  284. package/esm5/components/shared/shared.module.js +22 -0
  285. package/esm5/components/spinner/index.js +3 -0
  286. package/esm5/components/spinner/spinner-loader.component.js +15 -0
  287. package/esm5/components/spinner/spinner-loader.module.js +26 -0
  288. package/esm5/components/toast/index.js +4 -0
  289. package/esm5/components/toast/toast.component.js +88 -0
  290. package/esm5/components/toast/toast.module.js +23 -0
  291. package/esm5/components/toast/toast.service.js +47 -0
  292. package/esm5/components/type-admission/index.js +3 -0
  293. package/esm5/components/type-admission/type-admission.module.js +17 -0
  294. package/esm5/components/type-admission/type-admission.services.js +75 -0
  295. package/esm5/components/utils/cnpj-validator.js +66 -0
  296. package/esm5/components/utils/cpf-validator.js +49 -0
  297. package/esm5/components/utils/date-validator/date-validators.js +149 -0
  298. package/esm5/components/utils/helpers.js +502 -0
  299. package/esm5/components/utils/validations.js +131 -0
  300. package/esm5/components/vanilla/string-methods.js +24 -0
  301. package/esm5/components/workstationgroup-lookup/autocomplete.service.js +124 -0
  302. package/esm5/components/workstationgroup-lookup/index.js +3 -0
  303. package/esm5/components/workstationgroup-lookup/lookup.service.js +147 -0
  304. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.component.js +609 -0
  305. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +50 -0
  306. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.module.js +24 -0
  307. package/esm5/core/entities/entity-odata-parameter.js +47 -0
  308. package/esm5/core/entities/index.js +2 -0
  309. package/esm5/core/enums/companyIndicationType.js +18 -0
  310. package/esm5/core/enums/comparetype.enumeration.js +14 -0
  311. package/esm5/core/enums/coreFieldType.js +5 -0
  312. package/esm5/core/enums/direction.enumeration.js +6 -0
  313. package/esm5/core/enums/httpRequestType.js +6 -0
  314. package/esm5/core/enums/index.js +14 -0
  315. package/esm5/core/enums/menu-type.enumeration.js +6 -0
  316. package/esm5/core/enums/moduleType.js +22 -0
  317. package/esm5/core/enums/operators.enumeration.js +14 -0
  318. package/esm5/core/enums/parameter-type.enumeration.js +12 -0
  319. package/esm5/core/enums/report-format.enumeration.js +12 -0
  320. package/esm5/core/enums/report-stage.enumeration.js +12 -0
  321. package/esm5/core/enums/serviceType.js +9 -0
  322. package/esm5/core/enums/usingType.js +42 -0
  323. package/esm5/core/interfaces/date-compare-options.js +1 -0
  324. package/esm5/core/interfaces/date-validate-options.js +1 -0
  325. package/esm5/core/interfaces/field-validators-object.js +1 -0
  326. package/esm5/core/interfaces/index.js +1 -0
  327. package/esm5/core/interfaces/pagination-data.js +1 -0
  328. package/esm5/core/interfaces/report/domain-service.interface.js +1 -0
  329. package/esm5/core/interfaces/report/generation-status.interface.js +1 -0
  330. package/esm5/core/interfaces/report/get-parameters-out.interface.js +1 -0
  331. package/esm5/core/interfaces/report/index.js +1 -0
  332. package/esm5/core/interfaces/report/lookup-parameter.interface.js +1 -0
  333. package/esm5/core/interfaces/report/parameter-def.interface.js +1 -0
  334. package/esm5/core/interfaces/report/parameter-value.interface.js +1 -0
  335. package/esm5/core/interfaces/report/report-header.interface.js +1 -0
  336. package/esm5/core/interfaces/report/report-in.interface.js +1 -0
  337. package/esm5/core/interfaces/report/report-menu.interface.js +1 -0
  338. package/esm5/core/interfaces/report/report-out.interface.js +1 -0
  339. package/esm5/core/interfaces/report/report.interface.js +1 -0
  340. package/esm5/public_api.js +52 -58
  341. package/esm5/senior-gestao-pessoas-payroll-core.js +19 -24
  342. package/esm5/services/autocomplete-parameters.service.js +129 -0
  343. package/esm5/services/company-indications.service.js +43 -0
  344. package/esm5/services/form-comparator.service.js +119 -0
  345. package/esm5/services/integration.service.js +20 -0
  346. package/esm5/services/lookup-parameters.service.js +362 -0
  347. package/esm5/services/permissions.service.js +100 -0
  348. package/esm5/services/report.service.js +110 -0
  349. package/esm5/services/services.module.js +32 -0
  350. package/esm5/services/workflow-data.service.js +27 -0
  351. package/esm5/services/workflow-integrator.service.js +361 -0
  352. package/fesm2015/senior-gestao-pessoas-payroll-core.js +2939 -8866
  353. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  354. package/fesm5/senior-gestao-pessoas-payroll-core.js +2999 -10876
  355. package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
  356. package/package.json +7 -1
  357. package/public_api.d.ts +52 -52
  358. package/senior-gestao-pessoas-payroll-core.d.ts +17 -17
  359. package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
  360. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.component.js +0 -203
  361. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.module.js +0 -20
  362. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.service.js +0 -59
  363. package/esm2015/lib/components/admission-draft-summary/index.js +0 -9
  364. package/esm2015/lib/components/block-ui/block-ui.component.js +0 -26
  365. package/esm2015/lib/components/block-ui/block-ui.module.js +0 -28
  366. package/esm2015/lib/components/block-ui/index.js +0 -8
  367. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -151
  368. package/esm2015/lib/components/breadcrumb/breadcrumb.module.js +0 -28
  369. package/esm2015/lib/components/breadcrumb/index.js +0 -8
  370. package/esm2015/lib/components/control-messages-error/control-messages-error.component.js +0 -41
  371. package/esm2015/lib/components/control-messages-error/control-messages-error.module.js +0 -20
  372. package/esm2015/lib/components/control-messages-error/index.js +0 -8
  373. package/esm2015/lib/components/custom-fields/custom-fields.component.js +0 -65
  374. package/esm2015/lib/components/custom-fields/custom-fields.module.js +0 -34
  375. package/esm2015/lib/components/custom-fields/index.js +0 -8
  376. package/esm2015/lib/components/data-list/data-list.component.js +0 -456
  377. package/esm2015/lib/components/data-list/data-list.module.js +0 -31
  378. package/esm2015/lib/components/data-list/data-list.service.js +0 -38
  379. package/esm2015/lib/components/data-list/entity-odata-response.js +0 -72
  380. package/esm2015/lib/components/data-list/index.js +0 -7
  381. package/esm2015/lib/components/data-list-rest/data-list-rest.component.js +0 -354
  382. package/esm2015/lib/components/data-list-rest/data-list-rest.module.js +0 -31
  383. package/esm2015/lib/components/data-list-rest/data-list-rest.service.js +0 -38
  384. package/esm2015/lib/components/data-list-rest/index.js +0 -7
  385. package/esm2015/lib/components/directives/directives.module.js +0 -20
  386. package/esm2015/lib/components/directives/index.js +0 -9
  387. package/esm2015/lib/components/directives/name-not-spaces.directive.js +0 -59
  388. package/esm2015/lib/components/directives/only-number.directive.js +0 -60
  389. package/esm2015/lib/components/employee-selector/employee-selector.component.js +0 -145
  390. package/esm2015/lib/components/employee-selector/employee-selector.module.js +0 -21
  391. package/esm2015/lib/components/employee-selector/index.js +0 -8
  392. package/esm2015/lib/components/employee-summary/employee-summary.component.js +0 -200
  393. package/esm2015/lib/components/employee-summary/employee-summary.module.js +0 -20
  394. package/esm2015/lib/components/employee-summary/employee-summary.service.js +0 -74
  395. package/esm2015/lib/components/employee-summary/index.js +0 -9
  396. package/esm2015/lib/components/error-page/error-page.component.js +0 -23
  397. package/esm2015/lib/components/error-page/error-page.module.js +0 -19
  398. package/esm2015/lib/components/error-page/index.js +0 -8
  399. package/esm2015/lib/components/field-validator/field-validator.component.js +0 -64
  400. package/esm2015/lib/components/field-validator/field-validator.module.js +0 -21
  401. package/esm2015/lib/components/field-validator/index.js +0 -8
  402. package/esm2015/lib/components/file-upload/file-upload.component.js +0 -220
  403. package/esm2015/lib/components/file-upload/file-upload.module.js +0 -22
  404. package/esm2015/lib/components/file-upload/file-upload.service.js +0 -83
  405. package/esm2015/lib/components/file-upload/index.js +0 -8
  406. package/esm2015/lib/components/from-to/from-to.component.js +0 -25
  407. package/esm2015/lib/components/from-to/from-to.module.js +0 -22
  408. package/esm2015/lib/components/from-to/index.js +0 -8
  409. package/esm2015/lib/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +0 -514
  410. package/esm2015/lib/components/historical-bank-account/historical-bank-account.component.js +0 -542
  411. package/esm2015/lib/components/historical-bank-account/historical-bank-account.module.js +0 -59
  412. package/esm2015/lib/components/historical-bank-account/historical-bank-account.service.js +0 -40
  413. package/esm2015/lib/components/historical-bank-account/index.js +0 -9
  414. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.component.js +0 -359
  415. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.module.js +0 -42
  416. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.service.js +0 -62
  417. package/esm2015/lib/components/historical-bank-account-list/index.js +0 -9
  418. package/esm2015/lib/components/image-cropper/image-crop.component.js +0 -248
  419. package/esm2015/lib/components/image-cropper/image-crop.module.js +0 -38
  420. package/esm2015/lib/components/image-cropper/image-crop.service.js +0 -164
  421. package/esm2015/lib/components/image-cropper/index.js +0 -9
  422. package/esm2015/lib/components/input-date/index.js +0 -8
  423. package/esm2015/lib/components/input-date/input-date.component.js +0 -189
  424. package/esm2015/lib/components/input-date/input-date.module.js +0 -20
  425. package/esm2015/lib/components/input-date-model/index.js +0 -8
  426. package/esm2015/lib/components/input-date-model/input-date-model.component.js +0 -169
  427. package/esm2015/lib/components/input-date-model/input-date-model.module.js +0 -20
  428. package/esm2015/lib/components/input-rest-auto-complete/index.js +0 -9
  429. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.component.js +0 -444
  430. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.module.js +0 -24
  431. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.service.js +0 -40
  432. package/esm2015/lib/components/input-rest-auto-complete-employee/index.js +0 -8
  433. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +0 -263
  434. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +0 -31
  435. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +0 -40
  436. package/esm2015/lib/components/input-rest-auto-complete-employee-model/index.js +0 -8
  437. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +0 -253
  438. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +0 -31
  439. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +0 -40
  440. package/esm2015/lib/components/input-rest-auto-complete-enum/index.js +0 -9
  441. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +0 -209
  442. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +0 -31
  443. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +0 -44
  444. package/esm2015/lib/components/input-rest-auto-complete-jobposition/index.js +0 -9
  445. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +0 -254
  446. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +0 -31
  447. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +0 -40
  448. package/esm2015/lib/components/input-rest-auto-complete-model/index.js +0 -8
  449. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +0 -331
  450. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +0 -31
  451. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +0 -40
  452. package/esm2015/lib/components/input-rest-auto-complete-model-enum/index.js +0 -8
  453. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +0 -176
  454. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +0 -31
  455. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +0 -44
  456. package/esm2015/lib/components/list-rest/index.js +0 -8
  457. package/esm2015/lib/components/list-rest/list-rest.component.js +0 -192
  458. package/esm2015/lib/components/list-rest/list-rest.module.js +0 -36
  459. package/esm2015/lib/components/list-rest/list-rest.service.js +0 -48
  460. package/esm2015/lib/components/lookup/index.js +0 -7
  461. package/esm2015/lib/components/lookup/lookup.component.js +0 -471
  462. package/esm2015/lib/components/lookup/lookup.module.js +0 -23
  463. package/esm2015/lib/components/lookup/lookup.service.js +0 -91
  464. package/esm2015/lib/components/shared/http-client.service.js +0 -293
  465. package/esm2015/lib/components/shared/shared.module.js +0 -26
  466. package/esm2015/lib/components/spinner/index.js +0 -8
  467. package/esm2015/lib/components/spinner/spinner-loader.component.js +0 -15
  468. package/esm2015/lib/components/spinner/spinner-loader.module.js +0 -26
  469. package/esm2015/lib/components/toast/index.js +0 -9
  470. package/esm2015/lib/components/toast/toast.component.js +0 -156
  471. package/esm2015/lib/components/toast/toast.module.js +0 -23
  472. package/esm2015/lib/components/toast/toast.service.js +0 -76
  473. package/esm2015/lib/components/type-admission/index.js +0 -8
  474. package/esm2015/lib/components/type-admission/type-admission.module.js +0 -17
  475. package/esm2015/lib/components/type-admission/type-admission.services.js +0 -135
  476. package/esm2015/lib/components/utils/cnpj-validator.js +0 -82
  477. package/esm2015/lib/components/utils/cpf-validator.js +0 -76
  478. package/esm2015/lib/components/utils/date-validator/date-validators.js +0 -184
  479. package/esm2015/lib/components/utils/helpers.js +0 -737
  480. package/esm2015/lib/components/utils/validations.js +0 -237
  481. package/esm2015/lib/components/vanilla/string-methods.js +0 -37
  482. package/esm2015/lib/components/workstationgroup-lookup/autocomplete.service.js +0 -175
  483. package/esm2015/lib/components/workstationgroup-lookup/index.js +0 -8
  484. package/esm2015/lib/components/workstationgroup-lookup/lookup.service.js +0 -254
  485. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.component.js +0 -832
  486. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +0 -193
  487. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.module.js +0 -24
  488. package/esm2015/lib/core/entities/entity-odata-parameter.js +0 -82
  489. package/esm2015/lib/core/entities/index.js +0 -7
  490. package/esm2015/lib/core/enums/companyIndicationType.js +0 -24
  491. package/esm2015/lib/core/enums/comparetype.enumeration.js +0 -16
  492. package/esm2015/lib/core/enums/coreFieldType.js +0 -11
  493. package/esm2015/lib/core/enums/direction.enumeration.js +0 -12
  494. package/esm2015/lib/core/enums/httpRequestType.js +0 -12
  495. package/esm2015/lib/core/enums/index.js +0 -19
  496. package/esm2015/lib/core/enums/menu-type.enumeration.js +0 -12
  497. package/esm2015/lib/core/enums/moduleType.js +0 -28
  498. package/esm2015/lib/core/enums/operators.enumeration.js +0 -20
  499. package/esm2015/lib/core/enums/parameter-type.enumeration.js +0 -18
  500. package/esm2015/lib/core/enums/report-format.enumeration.js +0 -18
  501. package/esm2015/lib/core/enums/report-stage.enumeration.js +0 -18
  502. package/esm2015/lib/core/enums/serviceType.js +0 -15
  503. package/esm2015/lib/core/enums/usingType.js +0 -48
  504. package/esm2015/lib/core/interfaces/date-compare-options.js +0 -19
  505. package/esm2015/lib/core/interfaces/date-validate-options.js +0 -17
  506. package/esm2015/lib/core/interfaces/field-validators-object.js +0 -20
  507. package/esm2015/lib/core/interfaces/index.js +0 -10
  508. package/esm2015/lib/core/interfaces/pagination-data.js +0 -18
  509. package/esm2015/lib/core/interfaces/report/domain-service.interface.js +0 -16
  510. package/esm2015/lib/core/interfaces/report/generation-status.interface.js +0 -22
  511. package/esm2015/lib/core/interfaces/report/get-parameters-out.interface.js +0 -16
  512. package/esm2015/lib/core/interfaces/report/index.js +0 -15
  513. package/esm2015/lib/core/interfaces/report/lookup-parameter.interface.js +0 -20
  514. package/esm2015/lib/core/interfaces/report/parameter-def.interface.js +0 -20
  515. package/esm2015/lib/core/interfaces/report/parameter-value.interface.js +0 -16
  516. package/esm2015/lib/core/interfaces/report/report-header.interface.js +0 -16
  517. package/esm2015/lib/core/interfaces/report/report-in.interface.js +0 -20
  518. package/esm2015/lib/core/interfaces/report/report-menu.interface.js +0 -18
  519. package/esm2015/lib/core/interfaces/report/report-out.interface.js +0 -14
  520. package/esm2015/lib/core/interfaces/report/report.interface.js +0 -48
  521. package/esm2015/lib/services/autocomplete-parameters.service.js +0 -180
  522. package/esm2015/lib/services/company-indications.service.js +0 -101
  523. package/esm2015/lib/services/form-comparator.service.js +0 -208
  524. package/esm2015/lib/services/integration.service.js +0 -37
  525. package/esm2015/lib/services/lookup-parameters.service.js +0 -557
  526. package/esm2015/lib/services/permissions.service.js +0 -218
  527. package/esm2015/lib/services/report.service.js +0 -161
  528. package/esm2015/lib/services/services.module.js +0 -32
  529. package/esm2015/lib/services/workflow-data.service.js +0 -57
  530. package/esm2015/lib/services/workflow-integrator.service.js +0 -416
  531. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.component.js +0 -214
  532. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.module.js +0 -24
  533. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.service.js +0 -71
  534. package/esm5/lib/components/admission-draft-summary/index.js +0 -9
  535. package/esm5/lib/components/block-ui/block-ui.component.js +0 -30
  536. package/esm5/lib/components/block-ui/block-ui.module.js +0 -32
  537. package/esm5/lib/components/block-ui/index.js +0 -8
  538. package/esm5/lib/components/breadcrumb/breadcrumb.component.js +0 -170
  539. package/esm5/lib/components/breadcrumb/breadcrumb.module.js +0 -32
  540. package/esm5/lib/components/breadcrumb/index.js +0 -8
  541. package/esm5/lib/components/control-messages-error/control-messages-error.component.js +0 -48
  542. package/esm5/lib/components/control-messages-error/control-messages-error.module.js +0 -24
  543. package/esm5/lib/components/control-messages-error/index.js +0 -8
  544. package/esm5/lib/components/custom-fields/custom-fields.component.js +0 -70
  545. package/esm5/lib/components/custom-fields/custom-fields.module.js +0 -38
  546. package/esm5/lib/components/custom-fields/index.js +0 -8
  547. package/esm5/lib/components/data-list/data-list.component.js +0 -557
  548. package/esm5/lib/components/data-list/data-list.module.js +0 -35
  549. package/esm5/lib/components/data-list/data-list.service.js +0 -42
  550. package/esm5/lib/components/data-list/entity-odata-response.js +0 -83
  551. package/esm5/lib/components/data-list/index.js +0 -7
  552. package/esm5/lib/components/data-list-rest/data-list-rest.component.js +0 -414
  553. package/esm5/lib/components/data-list-rest/data-list-rest.module.js +0 -35
  554. package/esm5/lib/components/data-list-rest/data-list-rest.service.js +0 -42
  555. package/esm5/lib/components/data-list-rest/index.js +0 -7
  556. package/esm5/lib/components/directives/directives.module.js +0 -24
  557. package/esm5/lib/components/directives/index.js +0 -9
  558. package/esm5/lib/components/directives/name-not-spaces.directive.js +0 -66
  559. package/esm5/lib/components/directives/only-number.directive.js +0 -63
  560. package/esm5/lib/components/employee-selector/employee-selector.component.js +0 -168
  561. package/esm5/lib/components/employee-selector/employee-selector.module.js +0 -25
  562. package/esm5/lib/components/employee-selector/index.js +0 -8
  563. package/esm5/lib/components/employee-summary/employee-summary.component.js +0 -212
  564. package/esm5/lib/components/employee-summary/employee-summary.module.js +0 -24
  565. package/esm5/lib/components/employee-summary/employee-summary.service.js +0 -95
  566. package/esm5/lib/components/employee-summary/index.js +0 -9
  567. package/esm5/lib/components/error-page/error-page.component.js +0 -29
  568. package/esm5/lib/components/error-page/error-page.module.js +0 -23
  569. package/esm5/lib/components/error-page/index.js +0 -8
  570. package/esm5/lib/components/field-validator/field-validator.component.js +0 -74
  571. package/esm5/lib/components/field-validator/field-validator.module.js +0 -25
  572. package/esm5/lib/components/field-validator/index.js +0 -8
  573. package/esm5/lib/components/file-upload/file-upload.component.js +0 -261
  574. package/esm5/lib/components/file-upload/file-upload.module.js +0 -26
  575. package/esm5/lib/components/file-upload/file-upload.service.js +0 -99
  576. package/esm5/lib/components/file-upload/index.js +0 -8
  577. package/esm5/lib/components/from-to/from-to.component.js +0 -28
  578. package/esm5/lib/components/from-to/from-to.module.js +0 -26
  579. package/esm5/lib/components/from-to/index.js +0 -8
  580. package/esm5/lib/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +0 -657
  581. package/esm5/lib/components/historical-bank-account/historical-bank-account.component.js +0 -624
  582. package/esm5/lib/components/historical-bank-account/historical-bank-account.module.js +0 -63
  583. package/esm5/lib/components/historical-bank-account/historical-bank-account.service.js +0 -46
  584. package/esm5/lib/components/historical-bank-account/index.js +0 -9
  585. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.component.js +0 -402
  586. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.module.js +0 -46
  587. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.service.js +0 -68
  588. package/esm5/lib/components/historical-bank-account-list/index.js +0 -9
  589. package/esm5/lib/components/image-cropper/image-crop.component.js +0 -287
  590. package/esm5/lib/components/image-cropper/image-crop.module.js +0 -39
  591. package/esm5/lib/components/image-cropper/image-crop.service.js +0 -221
  592. package/esm5/lib/components/image-cropper/index.js +0 -9
  593. package/esm5/lib/components/input-date/index.js +0 -8
  594. package/esm5/lib/components/input-date/input-date.component.js +0 -218
  595. package/esm5/lib/components/input-date/input-date.module.js +0 -24
  596. package/esm5/lib/components/input-date-model/index.js +0 -8
  597. package/esm5/lib/components/input-date-model/input-date-model.component.js +0 -190
  598. package/esm5/lib/components/input-date-model/input-date-model.module.js +0 -24
  599. package/esm5/lib/components/input-rest-auto-complete/index.js +0 -9
  600. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.component.js +0 -497
  601. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.module.js +0 -28
  602. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.service.js +0 -46
  603. package/esm5/lib/components/input-rest-auto-complete-employee/index.js +0 -8
  604. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +0 -300
  605. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +0 -35
  606. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +0 -44
  607. package/esm5/lib/components/input-rest-auto-complete-employee-model/index.js +0 -8
  608. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +0 -291
  609. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +0 -35
  610. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +0 -44
  611. package/esm5/lib/components/input-rest-auto-complete-enum/index.js +0 -9
  612. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +0 -252
  613. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +0 -35
  614. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +0 -48
  615. package/esm5/lib/components/input-rest-auto-complete-jobposition/index.js +0 -9
  616. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +0 -302
  617. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +0 -35
  618. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +0 -44
  619. package/esm5/lib/components/input-rest-auto-complete-model/index.js +0 -8
  620. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +0 -379
  621. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +0 -35
  622. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +0 -46
  623. package/esm5/lib/components/input-rest-auto-complete-model-enum/index.js +0 -8
  624. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +0 -206
  625. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +0 -35
  626. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +0 -48
  627. package/esm5/lib/components/list-rest/index.js +0 -8
  628. package/esm5/lib/components/list-rest/list-rest.component.js +0 -219
  629. package/esm5/lib/components/list-rest/list-rest.module.js +0 -40
  630. package/esm5/lib/components/list-rest/list-rest.service.js +0 -57
  631. package/esm5/lib/components/lookup/index.js +0 -7
  632. package/esm5/lib/components/lookup/lookup.component.js +0 -600
  633. package/esm5/lib/components/lookup/lookup.module.js +0 -27
  634. package/esm5/lib/components/lookup/lookup.service.js +0 -94
  635. package/esm5/lib/components/shared/http-client.service.js +0 -355
  636. package/esm5/lib/components/shared/shared.module.js +0 -28
  637. package/esm5/lib/components/spinner/index.js +0 -8
  638. package/esm5/lib/components/spinner/spinner-loader.component.js +0 -19
  639. package/esm5/lib/components/spinner/spinner-loader.module.js +0 -30
  640. package/esm5/lib/components/toast/index.js +0 -9
  641. package/esm5/lib/components/toast/toast.component.js +0 -173
  642. package/esm5/lib/components/toast/toast.module.js +0 -27
  643. package/esm5/lib/components/toast/toast.service.js +0 -123
  644. package/esm5/lib/components/type-admission/index.js +0 -8
  645. package/esm5/lib/components/type-admission/type-admission.module.js +0 -21
  646. package/esm5/lib/components/type-admission/type-admission.services.js +0 -191
  647. package/esm5/lib/components/utils/cnpj-validator.js +0 -94
  648. package/esm5/lib/components/utils/cpf-validator.js +0 -98
  649. package/esm5/lib/components/utils/date-validator/date-validators.js +0 -289
  650. package/esm5/lib/components/utils/helpers.js +0 -763
  651. package/esm5/lib/components/utils/validations.js +0 -241
  652. package/esm5/lib/components/vanilla/string-methods.js +0 -42
  653. package/esm5/lib/components/workstationgroup-lookup/autocomplete.service.js +0 -250
  654. package/esm5/lib/components/workstationgroup-lookup/index.js +0 -8
  655. package/esm5/lib/components/workstationgroup-lookup/lookup.service.js +0 -318
  656. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.component.js +0 -908
  657. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +0 -200
  658. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.module.js +0 -28
  659. package/esm5/lib/core/entities/entity-odata-parameter.js +0 -96
  660. package/esm5/lib/core/entities/index.js +0 -7
  661. package/esm5/lib/core/enums/companyIndicationType.js +0 -24
  662. package/esm5/lib/core/enums/comparetype.enumeration.js +0 -16
  663. package/esm5/lib/core/enums/coreFieldType.js +0 -11
  664. package/esm5/lib/core/enums/direction.enumeration.js +0 -12
  665. package/esm5/lib/core/enums/httpRequestType.js +0 -12
  666. package/esm5/lib/core/enums/index.js +0 -19
  667. package/esm5/lib/core/enums/menu-type.enumeration.js +0 -12
  668. package/esm5/lib/core/enums/moduleType.js +0 -28
  669. package/esm5/lib/core/enums/operators.enumeration.js +0 -20
  670. package/esm5/lib/core/enums/parameter-type.enumeration.js +0 -18
  671. package/esm5/lib/core/enums/report-format.enumeration.js +0 -18
  672. package/esm5/lib/core/enums/report-stage.enumeration.js +0 -18
  673. package/esm5/lib/core/enums/serviceType.js +0 -15
  674. package/esm5/lib/core/enums/usingType.js +0 -48
  675. package/esm5/lib/core/interfaces/date-compare-options.js +0 -19
  676. package/esm5/lib/core/interfaces/date-validate-options.js +0 -17
  677. package/esm5/lib/core/interfaces/field-validators-object.js +0 -20
  678. package/esm5/lib/core/interfaces/index.js +0 -10
  679. package/esm5/lib/core/interfaces/pagination-data.js +0 -18
  680. package/esm5/lib/core/interfaces/report/domain-service.interface.js +0 -16
  681. package/esm5/lib/core/interfaces/report/generation-status.interface.js +0 -22
  682. package/esm5/lib/core/interfaces/report/get-parameters-out.interface.js +0 -16
  683. package/esm5/lib/core/interfaces/report/index.js +0 -15
  684. package/esm5/lib/core/interfaces/report/lookup-parameter.interface.js +0 -20
  685. package/esm5/lib/core/interfaces/report/parameter-def.interface.js +0 -20
  686. package/esm5/lib/core/interfaces/report/parameter-value.interface.js +0 -16
  687. package/esm5/lib/core/interfaces/report/report-header.interface.js +0 -16
  688. package/esm5/lib/core/interfaces/report/report-in.interface.js +0 -20
  689. package/esm5/lib/core/interfaces/report/report-menu.interface.js +0 -18
  690. package/esm5/lib/core/interfaces/report/report-out.interface.js +0 -14
  691. package/esm5/lib/core/interfaces/report/report.interface.js +0 -48
  692. package/esm5/lib/services/autocomplete-parameters.service.js +0 -255
  693. package/esm5/lib/services/company-indications.service.js +0 -126
  694. package/esm5/lib/services/form-comparator.service.js +0 -278
  695. package/esm5/lib/services/integration.service.js +0 -40
  696. package/esm5/lib/services/lookup-parameters.service.js +0 -748
  697. package/esm5/lib/services/permissions.service.js +0 -253
  698. package/esm5/lib/services/report.service.js +0 -231
  699. package/esm5/lib/services/services.module.js +0 -36
  700. package/esm5/lib/services/workflow-data.service.js +0 -73
  701. package/esm5/lib/services/workflow-integrator.service.js +0 -715
  702. package/lib/components/workstationgroup-lookup/autocomplete.service.d.ts +0 -31
  703. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.component.d.ts +0 -0
  704. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.module.d.ts +0 -0
  705. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.service.d.ts +0 -0
  706. /package/{lib/components → components}/admission-draft-summary/index.d.ts +0 -0
  707. /package/{lib/components → components}/block-ui/block-ui.component.d.ts +0 -0
  708. /package/{lib/components → components}/block-ui/block-ui.module.d.ts +0 -0
  709. /package/{lib/components → components}/block-ui/index.d.ts +0 -0
  710. /package/{lib/components → components}/breadcrumb/breadcrumb.component.d.ts +0 -0
  711. /package/{lib/components → components}/breadcrumb/breadcrumb.module.d.ts +0 -0
  712. /package/{lib/components → components}/breadcrumb/index.d.ts +0 -0
  713. /package/{lib/components → components}/control-messages-error/control-messages-error.component.d.ts +0 -0
  714. /package/{lib/components → components}/control-messages-error/control-messages-error.module.d.ts +0 -0
  715. /package/{lib/components → components}/control-messages-error/index.d.ts +0 -0
  716. /package/{lib/components → components}/custom-fields/custom-fields.component.d.ts +0 -0
  717. /package/{lib/components → components}/custom-fields/custom-fields.module.d.ts +0 -0
  718. /package/{lib/components → components}/custom-fields/index.d.ts +0 -0
  719. /package/{lib/components → components}/data-list/data-list.component.d.ts +0 -0
  720. /package/{lib/components → components}/data-list/data-list.module.d.ts +0 -0
  721. /package/{lib/components → components}/data-list/data-list.service.d.ts +0 -0
  722. /package/{lib/components → components}/data-list/entity-odata-response.d.ts +0 -0
  723. /package/{lib/components → components}/data-list/index.d.ts +0 -0
  724. /package/{lib/components → components}/data-list-rest/data-list-rest.component.d.ts +0 -0
  725. /package/{lib/components → components}/data-list-rest/data-list-rest.module.d.ts +0 -0
  726. /package/{lib/components → components}/data-list-rest/data-list-rest.service.d.ts +0 -0
  727. /package/{lib/components → components}/data-list-rest/index.d.ts +0 -0
  728. /package/{lib/components → components}/directives/directives.module.d.ts +0 -0
  729. /package/{lib/components → components}/directives/index.d.ts +0 -0
  730. /package/{lib/components → components}/directives/name-not-spaces.directive.d.ts +0 -0
  731. /package/{lib/components → components}/directives/only-number.directive.d.ts +0 -0
  732. /package/{lib/components → components}/employee-selector/employee-selector.component.d.ts +0 -0
  733. /package/{lib/components → components}/employee-selector/employee-selector.module.d.ts +0 -0
  734. /package/{lib/components → components}/employee-selector/index.d.ts +0 -0
  735. /package/{lib/components → components}/employee-summary/employee-summary.component.d.ts +0 -0
  736. /package/{lib/components → components}/employee-summary/employee-summary.module.d.ts +0 -0
  737. /package/{lib/components → components}/employee-summary/employee-summary.service.d.ts +0 -0
  738. /package/{lib/components → components}/employee-summary/index.d.ts +0 -0
  739. /package/{lib/components → components}/error-page/error-page.component.d.ts +0 -0
  740. /package/{lib/components → components}/error-page/error-page.module.d.ts +0 -0
  741. /package/{lib/components → components}/error-page/index.d.ts +0 -0
  742. /package/{lib/components → components}/field-validator/field-validator.component.d.ts +0 -0
  743. /package/{lib/components → components}/field-validator/field-validator.module.d.ts +0 -0
  744. /package/{lib/components → components}/field-validator/index.d.ts +0 -0
  745. /package/{lib/components → components}/file-upload/file-upload.component.d.ts +0 -0
  746. /package/{lib/components → components}/file-upload/file-upload.module.d.ts +0 -0
  747. /package/{lib/components → components}/file-upload/file-upload.service.d.ts +0 -0
  748. /package/{lib/components → components}/file-upload/index.d.ts +0 -0
  749. /package/{lib/components → components}/from-to/from-to.component.d.ts +0 -0
  750. /package/{lib/components → components}/from-to/from-to.module.d.ts +0 -0
  751. /package/{lib/components → components}/from-to/index.d.ts +0 -0
  752. /package/{lib/components → components}/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.d.ts +0 -0
  753. /package/{lib/components → components}/historical-bank-account/historical-bank-account.component.d.ts +0 -0
  754. /package/{lib/components → components}/historical-bank-account/historical-bank-account.module.d.ts +0 -0
  755. /package/{lib/components → components}/historical-bank-account/historical-bank-account.service.d.ts +0 -0
  756. /package/{lib/components → components}/historical-bank-account/index.d.ts +0 -0
  757. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.component.d.ts +0 -0
  758. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.module.d.ts +0 -0
  759. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.service.d.ts +0 -0
  760. /package/{lib/components → components}/historical-bank-account-list/index.d.ts +0 -0
  761. /package/{lib/components → components}/image-cropper/image-crop.component.d.ts +0 -0
  762. /package/{lib/components → components}/image-cropper/image-crop.module.d.ts +0 -0
  763. /package/{lib/components → components}/image-cropper/image-crop.service.d.ts +0 -0
  764. /package/{lib/components → components}/image-cropper/index.d.ts +0 -0
  765. /package/{lib/components → components}/input-date/index.d.ts +0 -0
  766. /package/{lib/components → components}/input-date/input-date.component.d.ts +0 -0
  767. /package/{lib/components → components}/input-date/input-date.module.d.ts +0 -0
  768. /package/{lib/components → components}/input-date-model/index.d.ts +0 -0
  769. /package/{lib/components → components}/input-date-model/input-date-model.component.d.ts +0 -0
  770. /package/{lib/components → components}/input-date-model/input-date-model.module.d.ts +0 -0
  771. /package/{lib/components → components}/input-rest-auto-complete/index.d.ts +0 -0
  772. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.component.d.ts +0 -0
  773. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.module.d.ts +0 -0
  774. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.service.d.ts +0 -0
  775. /package/{lib/components → components}/input-rest-auto-complete-employee/index.d.ts +0 -0
  776. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.d.ts +0 -0
  777. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.d.ts +0 -0
  778. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.d.ts +0 -0
  779. /package/{lib/components → components}/input-rest-auto-complete-employee-model/index.d.ts +0 -0
  780. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.d.ts +0 -0
  781. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.d.ts +0 -0
  782. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.d.ts +0 -0
  783. /package/{lib/components → components}/input-rest-auto-complete-enum/index.d.ts +0 -0
  784. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.d.ts +0 -0
  785. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.d.ts +0 -0
  786. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.d.ts +0 -0
  787. /package/{lib/components → components}/input-rest-auto-complete-jobposition/index.d.ts +0 -0
  788. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.d.ts +0 -0
  789. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.d.ts +0 -0
  790. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.d.ts +0 -0
  791. /package/{lib/components → components}/input-rest-auto-complete-model/index.d.ts +0 -0
  792. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.component.d.ts +0 -0
  793. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.module.d.ts +0 -0
  794. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.service.d.ts +0 -0
  795. /package/{lib/components → components}/input-rest-auto-complete-model-enum/index.d.ts +0 -0
  796. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.d.ts +0 -0
  797. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.d.ts +0 -0
  798. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.d.ts +0 -0
  799. /package/{lib/components → components}/list-rest/index.d.ts +0 -0
  800. /package/{lib/components → components}/list-rest/list-rest.component.d.ts +0 -0
  801. /package/{lib/components → components}/list-rest/list-rest.module.d.ts +0 -0
  802. /package/{lib/components → components}/list-rest/list-rest.service.d.ts +0 -0
  803. /package/{lib/components → components}/lookup/index.d.ts +0 -0
  804. /package/{lib/components → components}/lookup/lookup.component.d.ts +0 -0
  805. /package/{lib/components → components}/lookup/lookup.module.d.ts +0 -0
  806. /package/{lib/components → components}/lookup/lookup.service.d.ts +0 -0
  807. /package/{lib/components → components}/shared/http-client.service.d.ts +0 -0
  808. /package/{lib/components → components}/shared/shared.module.d.ts +0 -0
  809. /package/{lib/components → components}/spinner/index.d.ts +0 -0
  810. /package/{lib/components → components}/spinner/spinner-loader.component.d.ts +0 -0
  811. /package/{lib/components → components}/spinner/spinner-loader.module.d.ts +0 -0
  812. /package/{lib/components → components}/toast/index.d.ts +0 -0
  813. /package/{lib/components → components}/toast/toast.component.d.ts +0 -0
  814. /package/{lib/components → components}/toast/toast.module.d.ts +0 -0
  815. /package/{lib/components → components}/toast/toast.service.d.ts +0 -0
  816. /package/{lib/components → components}/type-admission/index.d.ts +0 -0
  817. /package/{lib/components → components}/type-admission/type-admission.module.d.ts +0 -0
  818. /package/{lib/components → components}/type-admission/type-admission.services.d.ts +0 -0
  819. /package/{lib/components → components}/utils/cnpj-validator.d.ts +0 -0
  820. /package/{lib/components → components}/utils/cpf-validator.d.ts +0 -0
  821. /package/{lib/components → components}/utils/date-validator/date-validators.d.ts +0 -0
  822. /package/{lib/components → components}/utils/helpers.d.ts +0 -0
  823. /package/{lib/components → components}/utils/validations.d.ts +0 -0
  824. /package/{lib/components → components}/vanilla/string-methods.d.ts +0 -0
  825. /package/{lib/components → components}/workstationgroup-lookup/index.d.ts +0 -0
  826. /package/{lib/components → components}/workstationgroup-lookup/lookup.service.d.ts +0 -0
  827. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.component.d.ts +0 -0
  828. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.dto.d.ts +0 -0
  829. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.module.d.ts +0 -0
  830. /package/{lib/core → core}/entities/entity-odata-parameter.d.ts +0 -0
  831. /package/{lib/core → core}/entities/index.d.ts +0 -0
  832. /package/{lib/core → core}/enums/companyIndicationType.d.ts +0 -0
  833. /package/{lib/core → core}/enums/comparetype.enumeration.d.ts +0 -0
  834. /package/{lib/core → core}/enums/coreFieldType.d.ts +0 -0
  835. /package/{lib/core → core}/enums/direction.enumeration.d.ts +0 -0
  836. /package/{lib/core → core}/enums/httpRequestType.d.ts +0 -0
  837. /package/{lib/core → core}/enums/index.d.ts +0 -0
  838. /package/{lib/core → core}/enums/menu-type.enumeration.d.ts +0 -0
  839. /package/{lib/core → core}/enums/moduleType.d.ts +0 -0
  840. /package/{lib/core → core}/enums/operators.enumeration.d.ts +0 -0
  841. /package/{lib/core → core}/enums/parameter-type.enumeration.d.ts +0 -0
  842. /package/{lib/core → core}/enums/report-format.enumeration.d.ts +0 -0
  843. /package/{lib/core → core}/enums/report-stage.enumeration.d.ts +0 -0
  844. /package/{lib/core → core}/enums/serviceType.d.ts +0 -0
  845. /package/{lib/core → core}/enums/usingType.d.ts +0 -0
  846. /package/{lib/core → core}/interfaces/date-compare-options.d.ts +0 -0
  847. /package/{lib/core → core}/interfaces/date-validate-options.d.ts +0 -0
  848. /package/{lib/core → core}/interfaces/field-validators-object.d.ts +0 -0
  849. /package/{lib/core → core}/interfaces/index.d.ts +0 -0
  850. /package/{lib/core → core}/interfaces/pagination-data.d.ts +0 -0
  851. /package/{lib/core → core}/interfaces/report/domain-service.interface.d.ts +0 -0
  852. /package/{lib/core → core}/interfaces/report/generation-status.interface.d.ts +0 -0
  853. /package/{lib/core → core}/interfaces/report/get-parameters-out.interface.d.ts +0 -0
  854. /package/{lib/core → core}/interfaces/report/index.d.ts +0 -0
  855. /package/{lib/core → core}/interfaces/report/lookup-parameter.interface.d.ts +0 -0
  856. /package/{lib/core → core}/interfaces/report/parameter-def.interface.d.ts +0 -0
  857. /package/{lib/core → core}/interfaces/report/parameter-value.interface.d.ts +0 -0
  858. /package/{lib/core → core}/interfaces/report/report-header.interface.d.ts +0 -0
  859. /package/{lib/core → core}/interfaces/report/report-in.interface.d.ts +0 -0
  860. /package/{lib/core → core}/interfaces/report/report-menu.interface.d.ts +0 -0
  861. /package/{lib/core → core}/interfaces/report/report-out.interface.d.ts +0 -0
  862. /package/{lib/core → core}/interfaces/report/report.interface.d.ts +0 -0
  863. /package/{lib/services → services}/autocomplete-parameters.service.d.ts +0 -0
  864. /package/{lib/services → services}/company-indications.service.d.ts +0 -0
  865. /package/{lib/services → services}/form-comparator.service.d.ts +0 -0
  866. /package/{lib/services → services}/integration.service.d.ts +0 -0
  867. /package/{lib/services → services}/lookup-parameters.service.d.ts +0 -0
  868. /package/{lib/services → services}/permissions.service.d.ts +0 -0
  869. /package/{lib/services → services}/report.service.d.ts +0 -0
  870. /package/{lib/services → services}/services.module.d.ts +0 -0
  871. /package/{lib/services → services}/workflow-data.service.d.ts +0 -0
  872. /package/{lib/services → services}/workflow-integrator.service.d.ts +0 -0
@@ -0,0 +1,345 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { TranslateService } from "@ngx-translate/core";
4
+ import { MessageService } from "primeng/api";
5
+ import { map, catchError } from "rxjs/operators";
6
+ import { throwError } from "rxjs";
7
+ import { FieldType } from '@seniorsistemas/angular-components';
8
+ import * as moment_ from 'moment';
9
+ import { HttpClient, HttpParams } from '@angular/common/http';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/common/http";
12
+ import * as i2 from "primeng/components/common/messageservice";
13
+ import * as i3 from "@ngx-translate/core";
14
+ const moment = moment_;
15
+ let LookupParametersService = class LookupParametersService {
16
+ constructor(http, messageService, translateService) {
17
+ this.http = http;
18
+ this.messageService = messageService;
19
+ this.translateService = translateService;
20
+ this._httpParams = new HttpParams();
21
+ }
22
+ lookupRequestPost(httpPostParams, endpoint, concatFields = null, lookupDisplayField) {
23
+ this.httpPostParams = httpPostParams;
24
+ this.postConfigPageSize(httpPostParams);
25
+ this.lookupDisplayField = lookupDisplayField;
26
+ this.concatFields = concatFields;
27
+ return this.postDataLookup(endpoint);
28
+ }
29
+ postConfigPageSize(httpPostParams) {
30
+ if (httpPostParams) {
31
+ this.httpPostParams.page.size = httpPostParams.page && httpPostParams.page.size ? httpPostParams.page.size : 10;
32
+ this.httpPostParams.page.current = httpPostParams.page && httpPostParams.page.current ? httpPostParams.page.current : 0;
33
+ }
34
+ }
35
+ /**
36
+ * Função chamada no change do autocomplete (Lookup fechado).
37
+ * @param event valor atribuido no autocomplete do lookup fechado
38
+ * @param endpoint endpoint que sera feito a requisição.
39
+ * @param searchLookupFields campos que seram filtrados pelo autocomplete (lookup fechado)
40
+ * @param searchFields array com os campos do filtro
41
+ * @param concatFields array com os formFields que seram concatenados
42
+ * @param concatOtherFields converte os campos enumeração para serem concatenados na grid
43
+ * @param lookupDisplayField campo que sera alterado com os dados concatenados informado acima
44
+ * @param params parâmetros para ser usado no lookup
45
+ */
46
+ lookupRequest(event, endpoint, searchLookupFields, searchFields, concatFields, lookupDisplayField, concatOtherFields = [], params = []) {
47
+ this.searchLookupFields = searchLookupFields;
48
+ this.endpoint = endpoint;
49
+ this.parameters = params;
50
+ this.concatFields = concatFields;
51
+ this.concatOtherFields = concatOtherFields;
52
+ this.lookupDisplayField = lookupDisplayField;
53
+ this.searchFields = searchFields;
54
+ this.generateLookupParameters(event);
55
+ this.configHttpParamsPagination('10', '0');
56
+ this.configHttpParamsOrderBy(event.multiSortMeta);
57
+ return this.getDataLookup();
58
+ }
59
+ /**
60
+ * Função chamada no change do filtro do lookup (Lookup aberto).
61
+ * @param event valor atribuido no autocomplete do lookup fechado
62
+ * @param endpoint endpoint que sera feito a requisição.
63
+ * @param searchFields array com os campos do filtro
64
+ * @param concatFields array com os formFields que seram concatenados
65
+ * @param concatOtherFields converte os campos enumeração para serem concatenados na grid
66
+ * @param lookupDisplayField campo que sera alterado com os dados concatenados informado acima
67
+ * @param params parâmetros para ser usado no lookup
68
+ */
69
+ searchRequest(event, endpoint, searchFields, concatFields, lookupDisplayField, concatOtherFields = [], params = []) {
70
+ this.endpoint = endpoint;
71
+ this.parameters = params;
72
+ this.concatFields = concatFields;
73
+ this.concatOtherFields = concatOtherFields;
74
+ this.lookupDisplayField = lookupDisplayField;
75
+ this.searchFields = searchFields;
76
+ this.generateGridParameters(event.filterData);
77
+ this.configHttpParamsPagination(event.rows.toString(), Math.floor(event.first / event.rows).toString());
78
+ this.configHttpParamsOrderBy(event.multiSortMeta);
79
+ return this.getDataLookup();
80
+ }
81
+ /**
82
+ * GET
83
+ * @param endpoint Busca e faz o tratamento dos dados do lookup.
84
+ * @param httpParams HttpParams
85
+ */
86
+ getDataLookup() {
87
+ return this.getUrlDataLookup(this.endpoint, this.httpParams).pipe(map((payload) => {
88
+ const { contents } = payload;
89
+ if (this.concatFields && this.concatFields.length) {
90
+ contents.map(value => {
91
+ this.convertGridFieldValue(value);
92
+ value[this.lookupDisplayField] = this.generateDisplayFieldValue(Object.assign({}, value));
93
+ });
94
+ }
95
+ return payload;
96
+ }));
97
+ }
98
+ /**
99
+ * POST
100
+ * @param endpoint Busca e faz o tratamento dos dados do lookup.
101
+ * @param httpParams HttpParams
102
+ */
103
+ postDataLookup(endpoint) {
104
+ return this.postUrlDataLookup(endpoint, this.httpPostParams).pipe(map((payload) => {
105
+ const { contents } = payload;
106
+ if (this.concatFields && this.concatFields.length) {
107
+ contents.map(value => {
108
+ if (this.concatOtherFields) {
109
+ this.convertGridFieldValue(value);
110
+ }
111
+ value[this.lookupDisplayField] = this.generateDisplayFieldValue(Object.assign({}, value));
112
+ });
113
+ }
114
+ return payload;
115
+ }));
116
+ }
117
+ /**
118
+ * Converte o valor do campo para apresentação no lookup.
119
+ *
120
+ * @param content Valor do campo para conversão.
121
+ * @param field FormField do campo.
122
+ */
123
+ convertLookupFieldValue(content, field) {
124
+ if (content) {
125
+ switch (field.type) {
126
+ case FieldType.Date:
127
+ content = moment(content).format('L');
128
+ break;
129
+ case FieldType.Enum:
130
+ const enumValue = field.options.filter((enumeration) => enumeration.value === content)[0];
131
+ content = enumValue ? enumValue.label : content;
132
+ break;
133
+ }
134
+ }
135
+ return content;
136
+ }
137
+ /**
138
+ * Converte os dados para visualização na grid
139
+ * @param content
140
+ */
141
+ convertGridFieldValue(content) {
142
+ if (content) {
143
+ this.concatOtherFields.forEach((field) => {
144
+ switch (field.type) {
145
+ case FieldType.Enum:
146
+ const enumValue = field.options.filter((enumeration) => enumeration.value === content[field.name])[0];
147
+ content[field.name] = enumValue ? enumValue.label : content[field.name];
148
+ break;
149
+ }
150
+ });
151
+ }
152
+ }
153
+ /**
154
+ * Faz a concatenação de valores do registro para ser apresentado no lookup ao selecionar o dado.
155
+ * @param contentValue Valor do registro.
156
+ */
157
+ generateDisplayFieldValue(contentValue) {
158
+ let displayField = '';
159
+ this.concatFields.forEach((field) => {
160
+ const fieldValue = this.convertLookupFieldValue(contentValue[field.name], field);
161
+ if (fieldValue) {
162
+ if (displayField) {
163
+ displayField += ` - ${fieldValue}`;
164
+ }
165
+ else {
166
+ displayField = fieldValue;
167
+ }
168
+ }
169
+ });
170
+ return displayField;
171
+ }
172
+ /**
173
+ * Gera os parametros de pesquisa via lookup
174
+ * @param value
175
+ */
176
+ generateLookupParameters(value) {
177
+ let lookupParameters = '';
178
+ this.searchLookupFields.forEach((lookupField) => {
179
+ const searchField = this.searchFields.filter(field => lookupField === field.name)[0];
180
+ if (lookupParameters) {
181
+ lookupParameters += ` or ${this.getParameterByType(searchField.type, lookupField, value)}`;
182
+ }
183
+ else {
184
+ lookupParameters = `${this.getParameterByType(searchField.type, lookupField, value)}`;
185
+ }
186
+ });
187
+ this.parameters.forEach((parameter) => {
188
+ if (lookupParameters) {
189
+ lookupParameters += ` and ${parameter.toString()}`;
190
+ }
191
+ else {
192
+ lookupParameters = `${parameter.toString()}`;
193
+ }
194
+ });
195
+ this.httpParams = new HttpParams().set('filter', lookupParameters);
196
+ }
197
+ /**
198
+ * Gera os parametros de pesquisa via pesquisa na grid
199
+ * @param filterData
200
+ */
201
+ generateGridParameters(filterData) {
202
+ let gridParameters = '';
203
+ Object.keys(filterData).forEach((attribute) => {
204
+ if (filterData[attribute]) {
205
+ const searchField = this.searchFields.filter(field => attribute === field.name)[0];
206
+ if (gridParameters) {
207
+ gridParameters += ` and ${this.getParameterByType(searchField.type, attribute, filterData[attribute])}`;
208
+ }
209
+ else {
210
+ gridParameters += this.getParameterByType(searchField.type, attribute, filterData[attribute]);
211
+ }
212
+ }
213
+ });
214
+ this.parameters.forEach((parameter) => {
215
+ if (gridParameters) {
216
+ gridParameters += ` and ${parameter.toString()}`;
217
+ }
218
+ else {
219
+ gridParameters = `${parameter.toString()}`;
220
+ }
221
+ });
222
+ this.httpParams = new HttpParams().set('filter', gridParameters);
223
+ }
224
+ /**
225
+ * Gera a string de consulta CRUD de um campo.
226
+ * @param type Tipo do campo.
227
+ * @param attribute Nome do atribute da entidade
228
+ * @param value Valor do campo
229
+ */
230
+ getParameterByType(type, attribute, value) {
231
+ switch (type) {
232
+ case FieldType.Date:
233
+ return `${attribute} eq '${moment(value).format('YYYY-MM-DD')}'`;
234
+ case FieldType.Enum:
235
+ return `${attribute} eq '${value}'`;
236
+ case FieldType.Integer:
237
+ return `${attribute} eq ${value}`;
238
+ case FieldType.Autocomplete:
239
+ return `${attribute} eq '${value.id}'`;
240
+ default:
241
+ return `containing(lower(${attribute}), lower('${value}'))`;
242
+ }
243
+ }
244
+ /**
245
+ *
246
+ * @param size a quantidade de registros na página.
247
+ * @param offset o número da página a ser recuperada, lembrando que a numeração de páginas começa em 0 (zero).
248
+ */
249
+ configHttpParamsPagination(size, offset) {
250
+ this.httpParams = this.httpParams.set('size', size);
251
+ this.httpParams = this.httpParams.set('offset', offset);
252
+ }
253
+ /**
254
+ * Gera o orderby do HttpParams
255
+ */
256
+ configHttpParamsOrderBy(multiSortMeta) {
257
+ if (multiSortMeta && multiSortMeta.length) {
258
+ let orderBy = '';
259
+ multiSortMeta.map(value => {
260
+ if (orderBy) {
261
+ orderBy += `,${value.field}+${value.order === 1 ? 'asc' : 'desc'}`;
262
+ }
263
+ else {
264
+ orderBy += `${value.field}+${value.order === 1 ? 'asc' : 'desc'}`;
265
+ }
266
+ });
267
+ this.httpParams = this.httpParams.set('orderby', orderBy);
268
+ }
269
+ }
270
+ set httpParams(value) {
271
+ this._httpParams = value;
272
+ }
273
+ get httpParams() {
274
+ return this._httpParams;
275
+ }
276
+ getUrlDataLookup(endpoint, httpParams) {
277
+ if (httpParams) {
278
+ return this.http.get(`${endpoint}`, { params: httpParams })
279
+ .pipe(catchError((exception) => {
280
+ if (exception && exception.status === 403)
281
+ this.messageService.add({
282
+ severity: 'error',
283
+ summary: this.translateService.instant('hcm.payroll.error'),
284
+ detail: this.translateService.instant("hcm.payroll.permission_error_not_allowed_search"),
285
+ sticky: true,
286
+ });
287
+ return throwError(exception);
288
+ }));
289
+ }
290
+ else {
291
+ return this.http.get(`${endpoint}`)
292
+ .pipe(catchError((exception) => {
293
+ if (exception && exception.status === 403)
294
+ this.messageService.add({
295
+ severity: 'error',
296
+ summary: this.translateService.instant('hcm.payroll.error'),
297
+ detail: this.translateService.instant("hcm.payroll.permission_error_not_allowed_search"),
298
+ sticky: true,
299
+ });
300
+ return throwError(exception);
301
+ }));
302
+ }
303
+ }
304
+ postUrlDataLookup(endpoint, httpParams) {
305
+ if (httpParams) {
306
+ return this.http.post(`${endpoint}`, Object.assign({}, httpParams))
307
+ .pipe(catchError((exception) => {
308
+ if (exception.status === 403)
309
+ this.messageService.add({
310
+ severity: 'error',
311
+ summary: this.translateService.instant('hcm.payroll.error'),
312
+ detail: this.translateService.instant("hcm.payroll.permission_error_not_allowed"),
313
+ sticky: true,
314
+ });
315
+ return throwError(exception);
316
+ }));
317
+ }
318
+ else {
319
+ return this.http.post(`${endpoint}`, {})
320
+ .pipe(catchError((exception) => {
321
+ if (exception.status === 403)
322
+ this.messageService.add({
323
+ severity: 'error',
324
+ summary: this.translateService.instant('hcm.payroll.error'),
325
+ detail: this.translateService.instant("hcm.payroll.permission_error_not_allowed"),
326
+ sticky: true,
327
+ });
328
+ return throwError(exception);
329
+ }));
330
+ }
331
+ }
332
+ };
333
+ LookupParametersService.ctorParameters = () => [
334
+ { type: HttpClient },
335
+ { type: MessageService },
336
+ { type: TranslateService }
337
+ ];
338
+ LookupParametersService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function LookupParametersService_Factory() { return new LookupParametersService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.MessageService), i0.ɵɵinject(i3.TranslateService)); }, token: LookupParametersService, providedIn: "root" });
339
+ LookupParametersService = tslib_1.__decorate([
340
+ Injectable({
341
+ providedIn: 'root',
342
+ })
343
+ ], LookupParametersService);
344
+ export { LookupParametersService };
345
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9va3VwLXBhcmFtZXRlcnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsic2VydmljZXMvbG9va3VwLXBhcmFtZXRlcnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU5QyxPQUFPLEVBQUUsU0FBUyxFQUFhLE1BQU0sb0NBQW9DLENBQUM7QUFDMUUsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7QUFDbEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7QUFHOUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDO0FBS3ZCLElBQWEsdUJBQXVCLEdBQXBDLE1BQWEsdUJBQXVCO0lBYWhDLFlBQW9CLElBQWdCLEVBQVUsY0FBOEIsRUFBVSxnQkFBa0M7UUFBcEcsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFVLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFGaEgsZ0JBQVcsR0FBZSxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBR25ELENBQUM7SUFHRCxpQkFBaUIsQ0FBQyxjQUFtQixFQUFFLFFBQWdCLEVBQUUsZUFBaUMsSUFBSSxFQUFFLGtCQUEwQjtRQUN0SCxJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztRQUNyQyxJQUFJLENBQUMsa0JBQWtC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LENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDO3dCQUNqRixNQUFNLEVBQUUsSUFBSTtxQkFDZixDQUFDLENBQUM7Z0JBRVAsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztTQUNUO0lBQ0wsQ0FBQztDQUNKLENBQUE7O1lBclc2QixVQUFVO1lBQTBCLGNBQWM7WUFBNEIsZ0JBQWdCOzs7QUFiL0csdUJBQXVCO0lBSG5DLFVBQVUsQ0FBQztRQUNSLFVBQVUsRUFBRSxNQUFNO0tBQ3JCLENBQUM7R0FDVyx1QkFBdUIsQ0FrWG5DO1NBbFhZLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiQG5neC10cmFuc2xhdGUvY29yZVwiO1xuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tIFwicHJpbWVuZy9hcGlcIjtcbmltcG9ydCB7IG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGhyb3dFcnJvciB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBFbnRpdHlPRGF0YVBhcmFtZXRlciB9IGZyb20gJy4uL2NvcmUvZW50aXRpZXMnO1xuaW1wb3J0IHsgRmllbGRUeXBlLCBGb3JtRmllbGQgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvYW5ndWxhci1jb21wb25lbnRzJztcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBQYXJhbXMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBQYWdpbmF0aW9uRGF0YSB9IGZyb20gJy4uL2NvcmUvaW50ZXJmYWNlcyc7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExvb2t1cFBhcmFtZXRlcnNTZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgc2VhcmNoTG9va3VwRmllbGRzOiBhbnk7XG4gICAgcHJpdmF0ZSBlbmRwb2ludDogc3RyaW5nO1xuICAgIHByaXZhdGUgcGFyYW1ldGVyczogYW55O1xuICAgIHByaXZhdGUgY29uY2F0RmllbGRzOiBhbnk7XG4gICAgcHJpdmF0ZSBjb25jYXRPdGhlckZpZWxkczogYW55O1xuICAgIHByaXZhdGUgbG9va3VwRGlzcGxheUZpZWxkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzZWFyY2hGaWVsZHM6IGFueTtcbiAgICBwcml2YXRlIGh0dHBQb3N0UGFyYW1zOiBhbnk7XG4gICAgcHJpdmF0ZSBwYWdlOiBQYWdpbmF0aW9uRGF0YTtcbiAgICBwcml2YXRlIF9odHRwUGFyYW1zOiBIdHRwUGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSkge1xuICAgIH1cblxuXG4gICAgbG9va3VwUmVxdWVzdFBvc3QoaHR0cFBvc3RQYXJhbXM6IGFueSwgZW5kcG9pbnQ6IHN0cmluZywgY29uY2F0RmllbGRzOiBBcnJheTxGb3JtRmllbGQ+ID0gbnVsbCwgbG9va3VwRGlzcGxheUZpZWxkOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5odHRwUG9zdFBhcmFtcyA9IGh0dHBQb3N0UGFyYW1zO1xuICAgICAgICB0aGlzLnBvc3RDb25maWdQYWdlU2l6ZShodHRwUG9zdFBhcmFtcyk7XG4gICAgICAgIHRoaXMubG9va3VwRGlzcGxheUZpZWxkID0gbG9va3VwRGlzcGxheUZpZWxkO1xuICAgICAgICB0aGlzLmNvbmNhdEZpZWxkcyA9IGNvbmNhdEZpZWxkcztcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zdERhdGFMb29rdXAoZW5kcG9pbnQpO1xuICAgIH1cblxuICAgIHBvc3RDb25maWdQYWdlU2l6ZShodHRwUG9zdFBhcmFtczogYW55KSB7XG4gICAgICAgIGlmIChodHRwUG9zdFBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5odHRwUG9zdFBhcmFtcy5wYWdlLnNpemUgPSBodHRwUG9zdFBhcmFtcy5wYWdlICYmIGh0dHBQb3N0UGFyYW1zLnBhZ2Uuc2l6ZSA/IGh0dHBQb3N0UGFyYW1zLnBhZ2Uuc2l6ZSA6IDEwO1xuICAgICAgICAgICAgdGhpcy5odHRwUG9zdFBhcmFtcy5wYWdlLmN1cnJlbnQgPSBodHRwUG9zdFBhcmFtcy5wYWdlICYmIGh0dHBQb3N0UGFyYW1zLnBhZ2UuY3VycmVudCA/IGh0dHBQb3N0UGFyYW1zLnBhZ2UuY3VycmVudCA6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGdW7Dp8OjbyBjaGFtYWRhIG5vIGNoYW5nZSBkbyBhdXRvY29tcGxldGUgKExvb2t1cCBmZWNoYWRvKS5cbiAgICAgKiBAcGFyYW0gZXZlbnQgdmFsb3IgYXRyaWJ1aWRvIG5vIGF1dG9jb21wbGV0ZSBkbyBsb29rdXAgZmVjaGFkb1xuICAgICAqIEBwYXJhbSBlbmRwb2ludCBlbmRwb2ludCBxdWUgc2VyYSBmZWl0byBhIHJlcXVpc2nDp8Ojby5cbiAgICAgKiBAcGFyYW0gc2VhcmNoTG9va3VwRmllbGRzIGNhbXBvcyBxdWUgc2VyYW0gZmlsdHJhZG9zIHBlbG8gYXV0b2NvbXBsZXRlIChsb29rdXAgZmVjaGFkbylcbiAgICAgKiBAcGFyYW0gc2VhcmNoRmllbGRzIGFycmF5IGNvbSBvcyBjYW1wb3MgZG8gZmlsdHJvXG4gICAgICogQHBhcmFtIGNvbmNhdEZpZWxkcyBhcnJheSBjb20gb3MgZm9ybUZpZWxkcyBxdWUgc2VyYW0gY29uY2F0ZW5hZG9zXG4gICAgICogQHBhcmFtIGNvbmNhdE90aGVyRmllbGRzIGNvbnZlcnRlIG9zIGNhbXBvcyBlbnVtZXJhw6fDo28gcGFyYSBzZXJlbSBjb25jYXRlbmFkb3MgbmEgZ3JpZFxuICAgICAqIEBwYXJhbSBsb29rdXBEaXNwbGF5RmllbGQgY2FtcG8gcXVlIHNlcmEgYWx0ZXJhZG8gY29tIG9zIGRhZG9zIGNvbmNhdGVuYWRvcyBpbmZvcm1hZG8gYWNpbWFcbiAgICAgKiBAcGFyYW0gcGFyYW1zIHBhcsOibWV0cm9zIHBhcmEgc2VyIHVzYWRvIG5vIGxvb2t1cFxuICAgICAqL1xuICAgIGxvb2t1cFJlcXVlc3QoZXZlbnQ6IGFueSwgZW5kcG9pbnQ6IHN0cmluZywgc2VhcmNoTG9va3VwRmllbGRzOiBBcnJheTxTdHJpbmc+LCBzZWFyY2hGaWVsZHM6IEFycmF5PEZvcm1GaWVsZD4sXG4gICAgICAgICAgICAgICAgICBjb25jYXRGaWVsZHM6IEFycmF5PEZvcm1GaWVsZD4sIGxvb2t1cERpc3BsYXlGaWVsZDogc3RyaW5nLCBjb25jYXRPdGhlckZpZWxkczogQXJyYXk8Rm9ybUZpZWxkPiA9IFtdLCBwYXJhbXM6IGFueSA9IFtdKSB7XG5cbiAgICAgICAgdGhpcy5zZWFyY2hMb29rdXBGaWVsZHMgPSBzZWFyY2hMb29rdXBGaWVsZHM7XG4gICAgICAgIHRoaXMuZW5kcG9pbnQgPSBlbmRwb2ludDtcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1zO1xuICAgICAgICB0aGlzLmNvbmNhdEZpZWxkcyA9IGNvbmNhdEZpZWxkcztcbiAgICAgICAgdGhpcy5jb25jYXRPdGhlckZpZWxkcyA9IGNvbmNhdE90aGVyRmllbGRzO1xuICAgICAgICB0aGlzLmxvb2t1cERpc3BsYXlGaWVsZCA9IGxvb2t1cERpc3BsYXlGaWVsZDtcbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZHMgPSBzZWFyY2hGaWVsZHM7XG5cbiAgICAgICAgdGhpcy5nZW5lcmF0ZUxvb2t1cFBhcmFtZXRlcnMoZXZlbnQpO1xuICAgICAgICB0aGlzLmNvbmZpZ0h0dHBQYXJhbXNQYWdpbmF0aW9uKCcxMCcsICcwJyk7XG4gICAgICAgIHRoaXMuY29uZmlnSHR0cFBhcmFtc09yZGVyQnkoZXZlbnQubXVsdGlTb3J0TWV0YSk7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGFMb29rdXAoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGdW7Dp8OjbyBjaGFtYWRhIG5vIGNoYW5nZSBkbyBmaWx0cm8gZG8gbG9va3VwIChMb29rdXAgYWJlcnRvKS5cbiAgICAgKiBAcGFyYW0gZXZlbnQgdmFsb3IgYXRyaWJ1aWRvIG5vIGF1dG9jb21wbGV0ZSBkbyBsb29rdXAgZmVjaGFkb1xuICAgICAqIEBwYXJhbSBlbmRwb2ludCBlbmRwb2ludCBxdWUgc2VyYSBmZWl0byBhIHJlcXVpc2nDp8Ojby5cbiAgICAgKiBAcGFyYW0gc2VhcmNoRmllbGRzIGFycmF5IGNvbSBvcyBjYW1wb3MgZG8gZmlsdHJvXG4gICAgICogQHBhcmFtIGNvbmNhdEZpZWxkcyBhcnJheSBjb20gb3MgZm9ybUZpZWxkcyBxdWUgc2VyYW0gY29uY2F0ZW5hZG9zXG4gICAgICogQHBhcmFtIGNvbmNhdE90aGVyRmllbGRzIGNvbnZlcnRlIG9zIGNhbXBvcyBlbnVtZXJhw6fDo28gcGFyYSBzZXJlbSBjb25jYXRlbmFkb3MgbmEgZ3JpZFxuICAgICAqIEBwYXJhbSBsb29rdXBEaXNwbGF5RmllbGQgY2FtcG8gcXVlIHNlcmEgYWx0ZXJhZG8gY29tIG9zIGRhZG9zIGNvbmNhdGVuYWRvcyBpbmZvcm1hZG8gYWNpbWFcbiAgICAgKiBAcGFyYW0gcGFyYW1zIHBhcsOibWV0cm9zIHBhcmEgc2VyIHVzYWRvIG5vIGxvb2t1cFxuICAgICAqL1xuICAgIHNlYXJjaFJlcXVlc3QoZXZlbnQ6IGFueSwgZW5kcG9pbnQ6IHN0cmluZywgc2VhcmNoRmllbGRzOiBBcnJheTxGb3JtRmllbGQ+LFxuICAgICAgICAgICAgICAgICAgY29uY2F0RmllbGRzOiBBcnJheTxGb3JtRmllbGQ+LCBsb29rdXBEaXNwbGF5RmllbGQ6IHN0cmluZywgY29uY2F0T3RoZXJGaWVsZHM6IEFycmF5PEZvcm1GaWVsZD4gPSBbXSwgcGFyYW1zOiBhbnkgPSBbXSkge1xuXG4gICAgICAgIHRoaXMuZW5kcG9pbnQgPSBlbmRwb2ludDtcbiAgICAgICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1zO1xuICAgICAgICB0aGlzLmNvbmNhdEZpZWxkcyA9IGNvbmNhdEZpZWxkcztcbiAgICAgICAgdGhpcy5jb25jYXRPdGhlckZpZWxkcyA9IGNvbmNhdE90aGVyRmllbGRzO1xuICAgICAgICB0aGlzLmxvb2t1cERpc3BsYXlGaWVsZCA9IGxvb2t1cERpc3BsYXlGaWVsZDtcbiAgICAgICAgdGhpcy5zZWFyY2hGaWVsZHMgPSBzZWFyY2hGaWVsZHM7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVHcmlkUGFyYW1ldGVycyhldmVudC5maWx0ZXJEYXRhKTtcbiAgICAgICAgdGhpcy5jb25maWdIdHRwUGFyYW1zUGFnaW5hdGlvbihldmVudC5yb3dzLnRvU3RyaW5nKCksIE1hdGguZmxvb3IoZXZlbnQuZmlyc3QgLyBldmVudC5yb3dzKS50b1N0cmluZygpKTtcbiAgICAgICAgdGhpcy5jb25maWdIdHRwUGFyYW1zT3JkZXJCeShldmVudC5tdWx0aVNvcnRNZXRhKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGF0YUxvb2t1cCgpO1xuICAgIH1cblxuXG4gICAgLyoqXG4gICAgICogR0VUXG4gICAgICogQHBhcmFtIGVuZHBvaW50IEJ1c2NhIGUgZmF6IG8gdHJhdGFtZW50byBkb3MgZGFkb3MgZG8gbG9va3VwLlxuICAgICAqIEBwYXJhbSBodHRwUGFyYW1zIEh0dHBQYXJhbXNcbiAgICAgKi9cbiAgICBwcml2YXRlIGdldERhdGFMb29rdXAoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFVybERhdGFMb29rdXAodGhpcy5lbmRwb2ludCwgdGhpcy5odHRwUGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGNvbnRlbnRzIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uY2F0RmllbGRzICYmIHRoaXMuY29uY2F0RmllbGRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50cy5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb252ZXJ0R3JpZEZpZWxkVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVbdGhpcy5sb29rdXBEaXNwbGF5RmllbGRdID0gdGhpcy5nZW5lcmF0ZURpc3BsYXlGaWVsZFZhbHVlKHsgLi4udmFsdWUgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBwYXlsb2FkO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgfVxuXG5cbiAgICAvKipcbiAgICAgKiBQT1NUXG4gICAgICogQHBhcmFtIGVuZHBvaW50IEJ1c2NhIGUgZmF6IG8gdHJhdGFtZW50byBkb3MgZGFkb3MgZG8gbG9va3VwLlxuICAgICAqIEBwYXJhbSBodHRwUGFyYW1zIEh0dHBQYXJhbXNcbiAgICAgKi9cbiAgICBwcml2YXRlIHBvc3REYXRhTG9va3VwKGVuZHBvaW50KSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBvc3RVcmxEYXRhTG9va3VwKGVuZHBvaW50LCB0aGlzLmh0dHBQb3N0UGFyYW1zKS5waXBlKFxuICAgICAgICAgICAgbWFwKChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGNvbnRlbnRzIH0gPSBwYXlsb2FkO1xuXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uY2F0RmllbGRzICYmIHRoaXMuY29uY2F0RmllbGRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50cy5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uY2F0T3RoZXJGaWVsZHMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnZlcnRHcmlkRmllbGRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZVt0aGlzLmxvb2t1cERpc3BsYXlGaWVsZF0gPSB0aGlzLmdlbmVyYXRlRGlzcGxheUZpZWxkVmFsdWUoeyAuLi52YWx1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIHBheWxvYWQ7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb252ZXJ0ZSBvIHZhbG9yIGRvIGNhbXBvIHBhcmEgYXByZXNlbnRhw6fDo28gbm8gbG9va3VwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNvbnRlbnQgVmFsb3IgZG8gY2FtcG8gcGFyYSBjb252ZXJzw6NvLlxuICAgICAqIEBwYXJhbSBmaWVsZCBGb3JtRmllbGQgZG8gY2FtcG8uXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb252ZXJ0TG9va3VwRmllbGRWYWx1ZShjb250ZW50OiBhbnksIGZpZWxkOiBGb3JtRmllbGQpOiBhbnkge1xuICAgICAgICBpZiAoY29udGVudCkge1xuICAgICAgICAgICAgc3dpdGNoIChmaWVsZC50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCA9IG1vbWVudChjb250ZW50KS5mb3JtYXQoJ0wnKTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZW51bVZhbHVlID0gZmllbGQub3B0aW9ucy5maWx0ZXIoKGVudW1lcmF0aW9uOiBhbnkpID0+IGVudW1lcmF0aW9uLnZhbHVlID09PSBjb250ZW50KVswXTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudCA9IGVudW1WYWx1ZSA/IGVudW1WYWx1ZS5sYWJlbCA6IGNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29udmVydGUgb3MgZGFkb3MgcGFyYSB2aXN1YWxpemHDp8OjbyBuYSBncmlkXG4gICAgICogQHBhcmFtIGNvbnRlbnRcbiAgICAgKi9cbiAgICBwcml2YXRlIGNvbnZlcnRHcmlkRmllbGRWYWx1ZShjb250ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvbnRlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY29uY2F0T3RoZXJGaWVsZHMuZm9yRWFjaCgoZmllbGQ6IEZvcm1GaWVsZCkgPT4ge1xuICAgICAgICAgICAgICAgIHN3aXRjaCAoZmllbGQudHlwZSkge1xuICAgICAgICAgICAgICAgICAgICBjYXNlIEZpZWxkVHlwZS5FbnVtOlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW51bVZhbHVlID0gZmllbGQub3B0aW9ucy5maWx0ZXIoKGVudW1lcmF0aW9uOiBhbnkpID0+IGVudW1lcmF0aW9uLnZhbHVlID09PSBjb250ZW50W2ZpZWxkLm5hbWVdKVswXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRbZmllbGQubmFtZV0gPSBlbnVtVmFsdWUgPyBlbnVtVmFsdWUubGFiZWwgOiBjb250ZW50W2ZpZWxkLm5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBGYXogYSBjb25jYXRlbmHDp8OjbyBkZSB2YWxvcmVzIGRvIHJlZ2lzdHJvIHBhcmEgc2VyIGFwcmVzZW50YWRvIG5vIGxvb2t1cCBhbyBzZWxlY2lvbmFyIG8gZGFkby5cbiAgICAgKiBAcGFyYW0gY29udGVudFZhbHVlIFZhbG9yIGRvIHJlZ2lzdHJvLlxuICAgICAqL1xuICAgIHByaXZhdGUgZ2VuZXJhdGVEaXNwbGF5RmllbGRWYWx1ZShjb250ZW50VmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGxldCBkaXNwbGF5RmllbGQgPSAnJztcblxuICAgICAgICB0aGlzLmNvbmNhdEZpZWxkcy5mb3JFYWNoKChmaWVsZDogRm9ybUZpZWxkKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBmaWVsZFZhbHVlID0gdGhpcy5jb252ZXJ0TG9va3VwRmllbGRWYWx1ZShjb250ZW50VmFsdWVbZmllbGQubmFtZV0sIGZpZWxkKTtcbiAgICAgICAgICAgIGlmIChmaWVsZFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGRpc3BsYXlGaWVsZCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5RmllbGQgKz0gYCAtICR7ZmllbGRWYWx1ZX1gO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXlGaWVsZCA9IGZpZWxkVmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGRpc3BsYXlGaWVsZDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXJhIG9zIHBhcmFtZXRyb3MgZGUgcGVzcXVpc2EgdmlhIGxvb2t1cFxuICAgICAqIEBwYXJhbSB2YWx1ZVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2VuZXJhdGVMb29rdXBQYXJhbWV0ZXJzKHZhbHVlPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGxldCBsb29rdXBQYXJhbWV0ZXJzID0gJyc7XG4gICAgICAgIHRoaXMuc2VhcmNoTG9va3VwRmllbGRzLmZvckVhY2goKGxvb2t1cEZpZWxkOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHNlYXJjaEZpZWxkID0gdGhpcy5zZWFyY2hGaWVsZHMuZmlsdGVyKGZpZWxkID0+IGxvb2t1cEZpZWxkID09PSBmaWVsZC5uYW1lKVswXTtcbiAgICAgICAgICAgIGlmIChsb29rdXBQYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgbG9va3VwUGFyYW1ldGVycyArPSBgIG9yICR7dGhpcy5nZXRQYXJhbWV0ZXJCeVR5cGUoc2VhcmNoRmllbGQudHlwZSwgbG9va3VwRmllbGQsIHZhbHVlKX1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsb29rdXBQYXJhbWV0ZXJzID0gYCR7dGhpcy5nZXRQYXJhbWV0ZXJCeVR5cGUoc2VhcmNoRmllbGQudHlwZSwgbG9va3VwRmllbGQsIHZhbHVlKX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnBhcmFtZXRlcnMuZm9yRWFjaCgocGFyYW1ldGVyOiBFbnRpdHlPRGF0YVBhcmFtZXRlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGxvb2t1cFBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgICAgICBsb29rdXBQYXJhbWV0ZXJzICs9IGAgYW5kICR7cGFyYW1ldGVyLnRvU3RyaW5nKCl9YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbG9va3VwUGFyYW1ldGVycyA9IGAke3BhcmFtZXRlci50b1N0cmluZygpfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdmaWx0ZXInLCBsb29rdXBQYXJhbWV0ZXJzKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXJhIG9zIHBhcmFtZXRyb3MgZGUgcGVzcXVpc2EgdmlhIHBlc3F1aXNhIG5hIGdyaWRcbiAgICAgKiBAcGFyYW0gZmlsdGVyRGF0YVxuICAgICAqL1xuICAgIHByaXZhdGUgZ2VuZXJhdGVHcmlkUGFyYW1ldGVycyhmaWx0ZXJEYXRhOiBvYmplY3QpOiB2b2lkIHtcbiAgICAgICAgbGV0IGdyaWRQYXJhbWV0ZXJzID0gJyc7XG4gICAgICAgIE9iamVjdC5rZXlzKGZpbHRlckRhdGEpLmZvckVhY2goKGF0dHJpYnV0ZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBpZiAoZmlsdGVyRGF0YVthdHRyaWJ1dGVdKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VhcmNoRmllbGQgPSB0aGlzLnNlYXJjaEZpZWxkcy5maWx0ZXIoZmllbGQgPT4gYXR0cmlidXRlID09PSBmaWVsZC5uYW1lKVswXTtcbiAgICAgICAgICAgICAgICBpZiAoZ3JpZFBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZFBhcmFtZXRlcnMgKz0gYCBhbmQgJHt0aGlzLmdldFBhcmFtZXRlckJ5VHlwZShzZWFyY2hGaWVsZC50eXBlLCBhdHRyaWJ1dGUsIGZpbHRlckRhdGFbYXR0cmlidXRlXSl9YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBncmlkUGFyYW1ldGVycyArPSB0aGlzLmdldFBhcmFtZXRlckJ5VHlwZShzZWFyY2hGaWVsZC50eXBlLCBhdHRyaWJ1dGUsIGZpbHRlckRhdGFbYXR0cmlidXRlXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnBhcmFtZXRlcnMuZm9yRWFjaCgocGFyYW1ldGVyOiBFbnRpdHlPRGF0YVBhcmFtZXRlcikgPT4ge1xuICAgICAgICAgICAgaWYgKGdyaWRQYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgZ3JpZFBhcmFtZXRlcnMgKz0gYCBhbmQgJHtwYXJhbWV0ZXIudG9TdHJpbmcoKX1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBncmlkUGFyYW1ldGVycyA9IGAke3BhcmFtZXRlci50b1N0cmluZygpfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuaHR0cFBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCkuc2V0KCdmaWx0ZXInLCBncmlkUGFyYW1ldGVycyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2VyYSBhIHN0cmluZyBkZSBjb25zdWx0YSBDUlVEIGRlIHVtIGNhbXBvLlxuICAgICAqIEBwYXJhbSB0eXBlIFRpcG8gZG8gY2FtcG8uXG4gICAgICogQHBhcmFtIGF0dHJpYnV0ZSBOb21lIGRvIGF0cmlidXRlIGRhIGVudGlkYWRlXG4gICAgICogQHBhcmFtIHZhbHVlIFZhbG9yIGRvIGNhbXBvXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRQYXJhbWV0ZXJCeVR5cGUodHlwZTogRmllbGRUeXBlLCBhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRGF0ZTpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7YXR0cmlidXRlfSBlcSAnJHttb21lbnQodmFsdWUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpfSdgO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuRW51bTpcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7YXR0cmlidXRlfSBlcSAnJHt2YWx1ZX0nYDtcbiAgICAgICAgICAgIGNhc2UgRmllbGRUeXBlLkludGVnZXI6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGAke2F0dHJpYnV0ZX0gZXEgJHt2YWx1ZX1gO1xuICAgICAgICAgICAgY2FzZSBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlOlxuICAgICAgICAgICAgICAgIHJldHVybiBgJHthdHRyaWJ1dGV9IGVxICcke3ZhbHVlLmlkfSdgO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gYGNvbnRhaW5pbmcobG93ZXIoJHthdHRyaWJ1dGV9KSwgbG93ZXIoJyR7dmFsdWV9JykpYDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHNpemUgYSBxdWFudGlkYWRlIGRlIHJlZ2lzdHJvcyBuYSBww6FnaW5hLlxuICAgICAqIEBwYXJhbSBvZmZzZXQgbyBuw7ptZXJvIGRhIHDDoWdpbmEgYSBzZXIgcmVjdXBlcmFkYSwgbGVtYnJhbmRvIHF1ZSBhIG51bWVyYcOnw6NvIGRlIHDDoWdpbmFzIGNvbWXDp2EgZW0gMCAoemVybykuXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb25maWdIdHRwUGFyYW1zUGFnaW5hdGlvbihzaXplOiBzdHJpbmcsIG9mZnNldDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaHR0cFBhcmFtcyA9IHRoaXMuaHR0cFBhcmFtcy5zZXQoJ3NpemUnLCBzaXplKTtcbiAgICAgICAgdGhpcy5odHRwUGFyYW1zID0gdGhpcy5odHRwUGFyYW1zLnNldCgnb2Zmc2V0Jywgb2Zmc2V0KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBHZXJhIG8gb3JkZXJieSBkbyBIdHRwUGFyYW1zXG4gICAgICovXG4gICAgcHJpdmF0ZSBjb25maWdIdHRwUGFyYW1zT3JkZXJCeShtdWx0aVNvcnRNZXRhOiB7IGZpZWxkOiBzdHJpbmc7IG9yZGVyOiBudW1iZXIgfVtdKTogdm9pZCB7XG4gICAgICAgIGlmIChtdWx0aVNvcnRNZXRhICYmIG11bHRpU29ydE1ldGEubGVuZ3RoKSB7XG4gICAgICAgICAgICBsZXQgb3JkZXJCeSA9ICcnO1xuICAgICAgICAgICAgbXVsdGlTb3J0TWV0YS5tYXAodmFsdWUgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChvcmRlckJ5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyQnkgKz0gYCwke3ZhbHVlLmZpZWxkfSske3ZhbHVlLm9yZGVyID09PSAxID8gJ2FzYycgOiAnZGVzYyd9YDtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBvcmRlckJ5ICs9IGAke3ZhbHVlLmZpZWxkfSske3ZhbHVlLm9yZGVyID09PSAxID8gJ2FzYycgOiAnZGVzYyd9YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5odHRwUGFyYW1zID0gdGhpcy5odHRwUGFyYW1zLnNldCgnb3JkZXJieScsIG9yZGVyQnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2V0IGh0dHBQYXJhbXModmFsdWU6IEh0dHBQYXJhbXMpIHtcbiAgICAgICAgdGhpcy5faHR0cFBhcmFtcyA9IHZhbHVlO1xuICAgIH1cblxuICAgIGdldCBodHRwUGFyYW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5faHR0cFBhcmFtcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFVybERhdGFMb29rdXAoZW5kcG9pbnQ6IHN0cmluZywgaHR0cFBhcmFtczogSHR0cFBhcmFtcyk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIGlmIChodHRwUGFyYW1zKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtlbmRwb2ludH1gLCB7IHBhcmFtczogaHR0cFBhcmFtcyB9KVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChleGNlcHRpb246IGFueSk6IGFueSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhjZXB0aW9uICYmIGV4Y2VwdGlvbi5zdGF0dXMgPT09IDQwMylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldmVyaXR5OiAnZXJyb3InLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdW1tYXJ5OiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnaGNtLnBheXJvbGwuZXJyb3InKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV0YWlsOiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudChcImhjbS5wYXlyb2xsLnBlcm1pc3Npb25fZXJyb3Jfbm90X2FsbG93ZWRfc2VhcmNoXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlja3k6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4Y2VwdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke2VuZHBvaW50fWApXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGV4Y2VwdGlvbjogYW55KTogYW55ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleGNlcHRpb24gJiYgZXhjZXB0aW9uLnN0YXR1cyA9PT0gNDAzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdoY20ucGF5cm9sbC5lcnJvcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwucGVybWlzc2lvbl9lcnJvcl9ub3RfYWxsb3dlZF9zZWFyY2hcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0aWNreTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoZXhjZXB0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwb3N0VXJsRGF0YUxvb2t1cChlbmRwb2ludDogc3RyaW5nLCBodHRwUGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICBpZiAoaHR0cFBhcmFtcykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke2VuZHBvaW50fWAsIHsgLi4uaHR0cFBhcmFtcyB9KVxuICAgICAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChleGNlcHRpb246IGFueSk6IGFueSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhjZXB0aW9uLnN0YXR1cyA9PT0gNDAzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1bW1hcnk6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdoY20ucGF5cm9sbC5lcnJvcicpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXRhaWw6IHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KFwiaGNtLnBheXJvbGwucGVybWlzc2lvbl9lcnJvcl9ub3RfYWxsb3dlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RpY2t5OiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihleGNlcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7ZW5kcG9pbnR9YCwge30pXG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGV4Y2VwdGlvbjogYW55KTogYW55ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleGNlcHRpb24uc3RhdHVzID09PSA0MDMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXZlcml0eTogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3VtbWFyeTogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2hjbS5wYXlyb2xsLmVycm9yJyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGFpbDogdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5wZXJtaXNzaW9uX2Vycm9yX25vdF9hbGxvd2VkXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlja3k6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKGV4Y2VwdGlvbik7XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,89 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { HttpClient, HttpHeaders } from '@angular/common/http';
3
+ import { Injectable } from '@angular/core';
4
+ import { service, user } from '@seniorsistemas/senior-platform-data';
5
+ import { Observable } from 'rxjs';
6
+ import { map } from 'rxjs/operators';
7
+ let PermissionService = class PermissionService {
8
+ constructor(http) {
9
+ this.http = http;
10
+ this.actionUrl = `platform/authorization/queries/checkAccess`;
11
+ this.resourceAddress = `res://senior.com.br/hcm/payroll/`;
12
+ this.defaultActions = ['Visualizar', 'Incluir', 'Editar', 'Excluir'];
13
+ this._resources = [];
14
+ this._attributes = [];
15
+ user.getAuthHeader().then(token => {
16
+ this.httpOptions = {
17
+ headers: new HttpHeaders({
18
+ 'Content-Type': 'application/json',
19
+ Accept: 'application/json',
20
+ Authorization: token,
21
+ }),
22
+ };
23
+ });
24
+ service.getRestUrl().then(restUrl => (this.restUrl = restUrl));
25
+ }
26
+ get(resource = '') {
27
+ if (this.permissions) {
28
+ this.observable = Observable.of(this.permissions);
29
+ }
30
+ else if (!this.observable) {
31
+ this.observable = this.getPermissions().pipe(map((permissions) => (this.permissions = permissions)));
32
+ }
33
+ return this.observable.pipe(map((permissions) => (resource ? permissions[resource] : permissions)));
34
+ }
35
+ getAbac(resource, attributes) {
36
+ this.attributes = attributes;
37
+ return this.getAbacPermission(resource);
38
+ }
39
+ getAbacPermission(resource) {
40
+ return this.http.post(this.actionUrl, {
41
+ includeFilters: false,
42
+ permissions: [
43
+ {
44
+ resource: `${this.resourceAddress}${resource}`,
45
+ action: 'Visualizar',
46
+ attributes: this._attributes.map((res) => ({
47
+ attribute: res.name,
48
+ value: res.value,
49
+ })),
50
+ }
51
+ ]
52
+ }, this.httpOptions);
53
+ }
54
+ getPermissions() {
55
+ const permissions = [];
56
+ this._resources.forEach((resource) => this.defaultActions.forEach((action) => permissions.push({ action, resource: `${this.resourceAddress}${resource}` })));
57
+ return this.http
58
+ .post(this.actionUrl, {
59
+ includeFilters: false,
60
+ permissions: [
61
+ ...permissions
62
+ ]
63
+ }, this.httpOptions)
64
+ .pipe(map((res) => {
65
+ const permissoes = res.permissions;
66
+ const values = {};
67
+ permissoes.forEach((perm) => {
68
+ const name = perm.resource.replace(this.resourceAddress, '');
69
+ values[name] = values[name] || {};
70
+ values[name][perm.action.toLowerCase()] = perm.authorized;
71
+ });
72
+ return values;
73
+ }));
74
+ }
75
+ set attributes(value) {
76
+ this._attributes = value;
77
+ }
78
+ setResources(values) {
79
+ this._resources = values;
80
+ }
81
+ };
82
+ PermissionService.ctorParameters = () => [
83
+ { type: HttpClient }
84
+ ];
85
+ PermissionService = tslib_1.__decorate([
86
+ Injectable()
87
+ ], PermissionService);
88
+ export { PermissionService };
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVybWlzc2lvbnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BzZW5pb3ItZ2VzdGFvLXBlc3NvYXMvcGF5cm9sbC1jb3JlLyIsInNvdXJjZXMiOlsic2VydmljZXMvcGVybWlzc2lvbnMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDckUsT0FBTyxFQUFRLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN4QyxPQUFPLEVBQVcsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHOUMsSUFBYSxpQkFBaUIsR0FBOUIsTUFBYSxpQkFBaUI7SUFXMUIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVY1QixjQUFTLEdBQUcsNENBQTRDLENBQUM7UUFDekQsb0JBQWUsR0FBRyxrQ0FBa0MsQ0FBQztRQUNyRCxtQkFBYyxHQUFHLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDaEUsZUFBVSxHQUFhLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFzQyxFQUFFLENBQUM7UUFPeEQsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM5QixJQUFJLENBQUMsV0FBVyxHQUFHO2dCQUNmLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztvQkFDckIsY0FBYyxFQUFFLGtCQUFrQjtvQkFDbEMsTUFBTSxFQUFFLGtCQUFrQjtvQkFDMUIsYUFBYSxFQUFFLEtBQUs7aUJBQ3ZCLENBQUM7YUFDTCxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMs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QUM7Z0JBQzdELE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDOUQsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLE1BQU0sQ0FBQztRQUNsQixDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ1YsQ0FBQztJQUVELElBQVksVUFBVSxDQUFDLEtBQXdDO1FBQzNELElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO0lBQzdCLENBQUM7SUFFUyxZQUFZLENBQUMsTUFBZ0I7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7SUFDN0IsQ0FBQztDQUNKLENBQUE7O1lBekY2QixVQUFVOztBQVgzQixpQkFBaUI7SUFEN0IsVUFBVSxFQUFFO0dBQ0EsaUJBQWlCLENBb0c3QjtTQXBHWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHNlcnZpY2UsIHVzZXIgfSBmcm9tICdAc2VuaW9yc2lzdGVtYXMvc2VuaW9yLXBsYXRmb3JtLWRhdGEnO1xuaW1wb3J0IHsgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmxhdE1hcCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgYWN0aW9uVXJsID0gYHBsYXRmb3JtL2F1dGhvcml6YXRpb24vcXVlcmllcy9jaGVja0FjY2Vzc2A7XG4gICAgcHJpdmF0ZSByZXNvdXJjZUFkZHJlc3MgPSBgcmVzOi8vc2VuaW9yLmNvbS5ici9oY20vcGF5cm9sbC9gO1xuICAgIHByaXZhdGUgZGVmYXVsdEFjdGlvbnMgPSBbJ1Zpc3VhbGl6YXInLCAnSW5jbHVpcicsICdFZGl0YXInLCAnRXhjbHVpciddO1xuICAgIHByaXZhdGUgX3Jlc291cmNlczogc3RyaW5nW10gPSBbXTtcbiAgICBwcml2YXRlIF9hdHRyaWJ1dGVzOiB7IG5hbWU6IHN0cmluZzsgdmFsdWU6IHN0cmluZyB9W10gPSBbXTtcbiAgICBwcml2YXRlIG9ic2VydmFibGU6IE9ic2VydmFibGU8YW55PjtcbiAgICBwcml2YXRlIHBlcm1pc3Npb25zOiBhbnk7XG4gICAgcHJpdmF0ZSBodHRwT3B0aW9ucztcbiAgICBwcml2YXRlIHJlc3RVcmw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcbiAgICAgICAgdXNlci5nZXRBdXRoSGVhZGVyKCkudGhlbih0b2tlbiA9PiB7XG4gICAgICAgICAgICB0aGlzLmh0dHBPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgICAgICAgICAgICAgIEFjY2VwdDogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiB0b2tlbixcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNlcnZpY2UuZ2V0UmVzdFVybCgpLnRoZW4ocmVzdFVybCA9PiAodGhpcy5yZXN0VXJsID0gcmVzdFVybCkpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQocmVzb3VyY2U6IHN0cmluZyA9ICcnKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgaWYgKHRoaXMucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMub2JzZXJ2YWJsZSA9IE9ic2VydmFibGUub2YodGhpcy5wZXJtaXNzaW9ucyk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMub2JzZXJ2YWJsZSkge1xuICAgICAgICAgICAgdGhpcy5vYnNlcnZhYmxlID0gdGhpcy5nZXRQZXJtaXNzaW9ucygpLnBpcGUobWFwKChwZXJtaXNzaW9uczogYW55KSA9PiAodGhpcy5wZXJtaXNzaW9ucyA9IHBlcm1pc3Npb25zKSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMub2JzZXJ2YWJsZS5waXBlKG1hcCgocGVybWlzc2lvbnM6IGFueSkgPT4gKHJlc291cmNlID8gcGVybWlzc2lvbnNbcmVzb3VyY2VdIDogcGVybWlzc2lvbnMpKSk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldEFiYWMocmVzb3VyY2U6IHN0cmluZywgYXR0cmlidXRlczogeyBuYW1lOiBzdHJpbmc7IHZhbHVlOiBzdHJpbmcgfVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgdGhpcy5hdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRBYmFjUGVybWlzc2lvbihyZXNvdXJjZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRBYmFjUGVybWlzc2lvbihyZXNvdXJjZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KFxuICAgICAgICAgICAgdGhpcy5hY3Rpb25VcmwsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgaW5jbHVkZUZpbHRlcnM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHBlcm1pc3Npb25zOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc291cmNlOiBgJHt0aGlzLnJlc291cmNlQWRkcmVzc30ke3Jlc291cmNlfWAsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246ICdWaXN1YWxpemFyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHRoaXMuX2F0dHJpYnV0ZXMubWFwKChyZXM6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH0pID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiByZXMubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcmVzLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHRoaXMuaHR0cE9wdGlvbnNcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBlcm1pc3Npb25zKCkge1xuICAgICAgICBjb25zdCBwZXJtaXNzaW9ucyA9IFtdO1xuICAgICAgICB0aGlzLl9yZXNvdXJjZXMuZm9yRWFjaCgocmVzb3VyY2U6IHN0cmluZykgPT5cbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdEFjdGlvbnMuZm9yRWFjaCgoYWN0aW9uOiBzdHJpbmcpID0+XG4gICAgICAgICAgICAgICAgcGVybWlzc2lvbnMucHVzaCh7IGFjdGlvbiwgcmVzb3VyY2U6IGAke3RoaXMucmVzb3VyY2VBZGRyZXNzfSR7cmVzb3VyY2V9YCB9KVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdCh0aGlzLmFjdGlvblVybCwge1xuICAgICAgICAgICAgICAgIGluY2x1ZGVGaWx0ZXJzOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBwZXJtaXNzaW9uczogW1xuICAgICAgICAgICAgICAgICAgICAuLi5wZXJtaXNzaW9uc1xuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdGhpcy5odHRwT3B0aW9uc1xuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBwZXJtaXNzb2VzID0gcmVzLnBlcm1pc3Npb25zO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZXMgPSB7fTtcblxuICAgICAgICAgICAgICAgICAgICBwZXJtaXNzb2VzLmZvckVhY2goKHBlcm06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IHBlcm0ucmVzb3VyY2UucmVwbGFjZSh0aGlzLnJlc291cmNlQWRkcmVzcywgJycpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzW25hbWVdID0gdmFsdWVzW25hbWVdIHx8IHt9O1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVzW25hbWVdW3Blcm0uYWN0aW9uLnRvTG93ZXJDYXNlKCldID0gcGVybS5hdXRob3JpemVkO1xuICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWVzO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0IGF0dHJpYnV0ZXModmFsdWU6IHsgbmFtZTogc3RyaW5nOyB2YWx1ZTogc3RyaW5nIH1bXSkge1xuICAgICAgICB0aGlzLl9hdHRyaWJ1dGVzID0gdmFsdWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFJlc291cmNlcyh2YWx1ZXM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuX3Jlc291cmNlcyA9IHZhbHVlcztcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,109 @@
1
+ import * as tslib_1 from "tslib";
2
+ import { HttpClient } from "@angular/common/http";
3
+ import { Injectable } from "@angular/core";
4
+ import { map } from "rxjs/operators";
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ const ENDPOINTS = {
8
+ reportParameters: "platform/report/queries/getParameters",
9
+ reportUri: "platform/report/queries/getReportUri",
10
+ reportStatus: "platform/report/queries/getReportStatus",
11
+ reportsByName: "platform/report/queries/findReportsByName",
12
+ reportsRunning: "platform/report/queries/getRunningReports",
13
+ reportsGenerate: "platform/report/actions/generateReport"
14
+ };
15
+ let ReportService = class ReportService {
16
+ constructor(http) {
17
+ this.http = http;
18
+ }
19
+ /**
20
+ * Procura por relatórios que contenham no seu nome a string conforme parâmetro `name`
21
+ * @param name Nome ou parte do nome do relatório
22
+ */
23
+ findReportsByName(name) {
24
+ return this.http
25
+ .post(`${ENDPOINTS.reportsByName}`, {
26
+ name: name
27
+ })
28
+ .pipe(map((payload) => {
29
+ const result = payload.reports ? payload.reports : [];
30
+ return result;
31
+ }));
32
+ }
33
+ /**
34
+ * Procura por relatórios que contenham o nome exato conforme parâmetro `name`.
35
+ * No momento a plataforma não disponibilza uma query exata para isso.
36
+ * Portanto este método procura pelo nome informado dentro do resultado da query `findReportsByName`
37
+ * @param name Nome exato do relatório
38
+ */
39
+ findReportByName(name) {
40
+ name = name || "";
41
+ return this.findReportsByName(name).pipe(map((payload) => {
42
+ const filtered = payload && payload.filter((report) => report.name && report.name === name);
43
+ return filtered && filtered.length == 1 ? filtered[0] : null;
44
+ }));
45
+ }
46
+ /**
47
+ * Retorna a lista de parâmetros de entrada do relatório
48
+ * @param reportId Id do relatório
49
+ * @param reportFileId Identificador de um arquivo de relatório (opcional)
50
+ */
51
+ getParameters(reportId, reportFileId) {
52
+ return this.http
53
+ .post(`${ENDPOINTS.reportParameters}`, { id: reportId, reportFileId: reportFileId })
54
+ .pipe(map((payload) => {
55
+ return payload ? payload : null;
56
+ }));
57
+ }
58
+ /**
59
+ * Retorna a URL para visualização do relatório gerado
60
+ * @param reportTicket Ticket do relatório gerado
61
+ */
62
+ getReportUri(reportTicket) {
63
+ return this.http.post(`${ENDPOINTS.reportUri}`, { reportTicket: reportTicket }).pipe(map((payload) => {
64
+ return payload && payload.reportUri;
65
+ }));
66
+ }
67
+ /**
68
+ * Retorna o status do relatório
69
+ * @param reportTicket Ticket do relatório gerado
70
+ */
71
+ getReportStatus(reportTicket) {
72
+ return this.http.post(`${ENDPOINTS.reportStatus}`, { reportTicket: reportTicket }).pipe(map((payload) => {
73
+ return payload && payload.reportStatus;
74
+ }));
75
+ }
76
+ /**
77
+ * Gera o relatório
78
+ * @param reportIn Dados do relatório a ser gerado
79
+ */
80
+ generateReport(reportIn) {
81
+ return this.http.post(`${ENDPOINTS.reportsGenerate}`, reportIn).pipe(map((payload) => {
82
+ return payload ? payload : null;
83
+ }));
84
+ }
85
+ /**
86
+ * Retorna uma lista com os relatórios sendo executados ou já finalizados
87
+ * @param page página inicial
88
+ * @param size tamanho da página
89
+ */
90
+ getRunningReports(page, size) {
91
+ return this.http.post(`${ENDPOINTS.reportsRunning}`, {
92
+ offset: page,
93
+ limit: size,
94
+ orderByDesc: true,
95
+ filterCancelled: true
96
+ });
97
+ }
98
+ };
99
+ ReportService.ctorParameters = () => [
100
+ { type: HttpClient }
101
+ ];
102
+ ReportService.ngInjectableDef = i0.ɵɵdefineInjectable({ factory: function ReportService_Factory() { return new ReportService(i0.ɵɵinject(i1.HttpClient)); }, token: ReportService, providedIn: "root" });
103
+ ReportService = tslib_1.__decorate([
104
+ Injectable({
105
+ providedIn: "root"
106
+ })
107
+ ], ReportService);
108
+ export { ReportService };
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3J0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac2VuaW9yLWdlc3Rhby1wZXNzb2FzL3BheXJvbGwtY29yZS8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL3JlcG9ydC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUdyQyxNQUFNLFNBQVMsR0FBRztJQUNkLGdCQUFnQixFQUFFLHVDQUF1QztJQUN6RCxTQUFTLEVBQUUsc0NBQXNDO0lBQ2pELFlBQVksRUFBRSx5Q0FBeUM7SUFDdkQsYUFBYSxFQUFFLDJDQUEyQztJQUMxRCxjQUFjLEVBQUUsMkNBQTJDO0lBQzNELGVBQWUsRUFBRSx3Q0FBd0M7Q0FDNUQsQ0FBQztBQUtGLElBQWEsYUFBYSxHQUExQixNQUFhLGFBQWE7SUFDdEIsWUFBb0IsSUFBZ0I7UUFBaEIsU0FBSSxHQUFKLElBQUksQ0FBWTtJQUFHLENBQUM7SUFFeEM7OztPQUdHO0lBQ0ksaUJBQWlCLENBQ3BCLElBQVk7UUFFWixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsSUFBSSxDQUFDLEdBQUcsU0FBUyxDQUFDLGFBQWEsRUFBRSxFQUFFO1lBQ2hDLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQzthQUNELElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxPQUFZLEVBQUUsRUFBRTtZQUNqQixNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEQsT0FBTyxNQUFrQixDQUFDO1FBQzlCLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQkFB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QztHQUNXLGFBQWEsQ0F5R3pCO1NBekdZLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBSZXBvcnQsIFJlcG9ydEluLCBSZXBvcnRPdXQsIEdldFBhcmFtZXRlcnNPdXQgfSBmcm9tIFwiLi4vY29yZS9pbnRlcmZhY2VzXCI7XG5cbmNvbnN0IEVORFBPSU5UUyA9IHtcbiAgICByZXBvcnRQYXJhbWV0ZXJzOiBcInBsYXRmb3JtL3JlcG9ydC9xdWVyaWVzL2dldFBhcmFtZXRlcnNcIixcbiAgICByZXBvcnRVcmk6IFwicGxhdGZvcm0vcmVwb3J0L3F1ZXJpZXMvZ2V0UmVwb3J0VXJpXCIsXG4gICAgcmVwb3J0U3RhdHVzOiBcInBsYXRmb3JtL3JlcG9ydC9xdWVyaWVzL2dldFJlcG9ydFN0YXR1c1wiLFxuICAgIHJlcG9ydHNCeU5hbWU6IFwicGxhdGZvcm0vcmVwb3J0L3F1ZXJpZXMvZmluZFJlcG9ydHNCeU5hbWVcIixcbiAgICByZXBvcnRzUnVubmluZzogXCJwbGF0Zm9ybS9yZXBvcnQvcXVlcmllcy9nZXRSdW5uaW5nUmVwb3J0c1wiLFxuICAgIHJlcG9ydHNHZW5lcmF0ZTogXCJwbGF0Zm9ybS9yZXBvcnQvYWN0aW9ucy9nZW5lcmF0ZVJlcG9ydFwiXG59O1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogXCJyb290XCJcbn0pXG5leHBvcnQgY2xhc3MgUmVwb3J0U2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50KSB7fVxuXG4gICAgLyoqXG4gICAgICogUHJvY3VyYSBwb3IgcmVsYXTDs3Jpb3MgcXVlIGNvbnRlbmhhbSBubyBzZXUgbm9tZSBhIHN0cmluZyBjb25mb3JtZSBwYXLDom1ldHJvIGBuYW1lYFxuICAgICAqIEBwYXJhbSBuYW1lIE5vbWUgb3UgcGFydGUgZG8gbm9tZSBkbyByZWxhdMOzcmlvXG4gICAgICovXG4gICAgcHVibGljIGZpbmRSZXBvcnRzQnlOYW1lKFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgKTogT2JzZXJ2YWJsZTxSZXBvcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdChgJHtFTkRQT0lOVFMucmVwb3J0c0J5TmFtZX1gLCB7XG4gICAgICAgICAgICAgICAgbmFtZTogbmFtZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHBheWxvYWQucmVwb3J0cyA/IHBheWxvYWQucmVwb3J0cyA6IFtdO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0IGFzIFJlcG9ydFtdO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByb2N1cmEgcG9yIHJlbGF0w7NyaW9zIHF1ZSBjb250ZW5oYW0gbyBub21lIGV4YXRvIGNvbmZvcm1lIHBhcsOibWV0cm8gYG5hbWVgLlxuICAgICAqIE5vIG1vbWVudG8gYSBwbGF0YWZvcm1hIG7Do28gZGlzcG9uaWJpbHphIHVtYSBxdWVyeSBleGF0YSBwYXJhIGlzc28uXG4gICAgICogUG9ydGFudG8gZXN0ZSBtw6l0b2RvIHByb2N1cmEgcGVsbyBub21lIGluZm9ybWFkbyBkZW50cm8gZG8gcmVzdWx0YWRvIGRhIHF1ZXJ5IGBmaW5kUmVwb3J0c0J5TmFtZWBcbiAgICAgKiBAcGFyYW0gbmFtZSBOb21lIGV4YXRvIGRvIHJlbGF0w7NyaW9cbiAgICAgKi9cbiAgICBwdWJsaWMgZmluZFJlcG9ydEJ5TmFtZShcbiAgICAgICAgbmFtZTogc3RyaW5nLFxuICAgICk6IE9ic2VydmFibGU8UmVwb3J0PiB7XG4gICAgICAgIG5hbWUgPSBuYW1lIHx8IFwiXCI7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmRSZXBvcnRzQnlOYW1lKG5hbWUpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHBheWxvYWQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbHRlcmVkID1cbiAgICAgICAgICAgICAgICAgICAgcGF5bG9hZCAmJiBwYXlsb2FkLmZpbHRlcigocmVwb3J0OiBhbnkpID0+IHJlcG9ydC5uYW1lICYmIHJlcG9ydC5uYW1lID09PSBuYW1lKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyZWQgJiYgZmlsdGVyZWQubGVuZ3RoID09IDEgPyAoZmlsdGVyZWRbMF0gYXMgUmVwb3J0KSA6IG51bGw7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgYSBsaXN0YSBkZSBwYXLDom1ldHJvcyBkZSBlbnRyYWRhIGRvIHJlbGF0w7NyaW9cbiAgICAgKiBAcGFyYW0gcmVwb3J0SWQgSWQgZG8gcmVsYXTDs3Jpb1xuICAgICAqIEBwYXJhbSByZXBvcnRGaWxlSWQgSWRlbnRpZmljYWRvciBkZSB1bSBhcnF1aXZvIGRlIHJlbGF0w7NyaW8gKG9wY2lvbmFsKVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQYXJhbWV0ZXJzKHJlcG9ydElkOiBzdHJpbmcsIHJlcG9ydEZpbGVJZD86IGFueSk6IE9ic2VydmFibGU8R2V0UGFyYW1ldGVyc091dD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdChgJHtFTkRQT0lOVFMucmVwb3J0UGFyYW1ldGVyc31gLCB7IGlkOiByZXBvcnRJZCwgcmVwb3J0RmlsZUlkOiByZXBvcnRGaWxlSWQgfSlcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcCgocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBwYXlsb2FkID8gKHBheWxvYWQgYXMgR2V0UGFyYW1ldGVyc091dCkgOiBudWxsO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgYSBVUkwgcGFyYSB2aXN1YWxpemHDp8OjbyBkbyByZWxhdMOzcmlvIGdlcmFkb1xuICAgICAqIEBwYXJhbSByZXBvcnRUaWNrZXQgVGlja2V0IGRvIHJlbGF0w7NyaW8gZ2VyYWRvXG4gICAgICovXG4gICAgcHVibGljIGdldFJlcG9ydFVyaShyZXBvcnRUaWNrZXQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtFTkRQT0lOVFMucmVwb3J0VXJpfWAsIHsgcmVwb3J0VGlja2V0OiByZXBvcnRUaWNrZXQgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBheWxvYWQgJiYgcGF5bG9hZC5yZXBvcnRVcmk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldG9ybmEgbyBzdGF0dXMgZG8gcmVsYXTDs3Jpb1xuICAgICAqIEBwYXJhbSByZXBvcnRUaWNrZXQgVGlja2V0IGRvIHJlbGF0w7NyaW8gZ2VyYWRvXG4gICAgICovXG4gICAgcHVibGljIGdldFJlcG9ydFN0YXR1cyhyZXBvcnRUaWNrZXQ6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtFTkRQT0lOVFMucmVwb3J0U3RhdHVzfWAsIHsgcmVwb3J0VGlja2V0OiByZXBvcnRUaWNrZXQgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgocGF5bG9hZDogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHBheWxvYWQgJiYgcGF5bG9hZC5yZXBvcnRTdGF0dXM7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdlcmEgbyByZWxhdMOzcmlvXG4gICAgICogQHBhcmFtIHJlcG9ydEluIERhZG9zIGRvIHJlbGF0w7NyaW8gYSBzZXIgZ2VyYWRvXG4gICAgICovXG4gICAgcHVibGljIGdlbmVyYXRlUmVwb3J0KHJlcG9ydEluOiBSZXBvcnRJbik6IE9ic2VydmFibGU8UmVwb3J0T3V0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHtFTkRQT0lOVFMucmVwb3J0c0dlbmVyYXRlfWAsIHJlcG9ydEluKS5waXBlKFxuICAgICAgICAgICAgbWFwKChwYXlsb2FkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcGF5bG9hZCA/IChwYXlsb2FkIGFzIFJlcG9ydE91dCkgOiBudWxsO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXRvcm5hIHVtYSBsaXN0YSBjb20gb3MgcmVsYXTDs3Jpb3Mgc2VuZG8gZXhlY3V0YWRvcyBvdSBqw6EgZmluYWxpemFkb3NcbiAgICAgKiBAcGFyYW0gcGFnZSBww6FnaW5hIGluaWNpYWxcbiAgICAgKiBAcGFyYW0gc2l6ZSB0YW1hbmhvIGRhIHDDoWdpbmFcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UnVubmluZ1JlcG9ydHMocGFnZTogbnVtYmVyLCBzaXplOiBudW1iZXIpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7RU5EUE9JTlRTLnJlcG9ydHNSdW5uaW5nfWAsIHtcbiAgICAgICAgICAgIG9mZnNldDogcGFnZSxcbiAgICAgICAgICAgIGxpbWl0OiBzaXplLFxuICAgICAgICAgICAgb3JkZXJCeURlc2M6IHRydWUsXG4gICAgICAgICAgICBmaWx0ZXJDYW5jZWxsZWQ6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19