ngx-techlify-core 15.0.1 → 16.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 (476) hide show
  1. package/esm2022/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +135 -0
  2. package/{esm2020 → esm2022}/lib/access-control-config/access-control-config-routing.module.mjs +5 -5
  3. package/esm2022/lib/access-control-config/access-control-config.component.mjs +137 -0
  4. package/esm2022/lib/access-control-config/access-control-config.model.mjs +34 -0
  5. package/{esm2020 → esm2022}/lib/access-control-config/access-control-config.module.mjs +24 -24
  6. package/esm2022/lib/access-control-config/access-control-config.service.mjs +32 -0
  7. package/esm2022/lib/action-popup/action-popup.component.mjs +36 -0
  8. package/{esm2020 → esm2022}/lib/action-popup/action-popup.model.mjs +4 -1
  9. package/{esm2020 → esm2022}/lib/action-popup/action-popup.module.mjs +9 -9
  10. package/{esm2020 → esm2022}/lib/audit-log/audit-log-for-model/audit-log-for-model-routing.module.mjs +5 -5
  11. package/esm2022/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +54 -0
  12. package/{esm2020 → esm2022}/lib/audit-log/audit-log-for-model/audit-log-for-model.module.mjs +15 -15
  13. package/{esm2020 → esm2022}/lib/audit-log/audit-log-list/audit-log-list-routing.module.mjs +5 -5
  14. package/esm2022/lib/audit-log/audit-log-list/audit-log-list.component.mjs +146 -0
  15. package/{esm2020 → esm2022}/lib/audit-log/audit-log-list/audit-log-list.module.mjs +19 -19
  16. package/{esm2020 → esm2022}/lib/audit-log/audit-log-list-filter/audit-log-list-filter-routing.module.mjs +5 -5
  17. package/esm2022/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +79 -0
  18. package/{esm2020 → esm2022}/lib/audit-log/audit-log-list-filter/audit-log-list-filter.module.mjs +15 -15
  19. package/{esm2020 → esm2022}/lib/audit-log/audit-log-routing.module.mjs +5 -5
  20. package/{esm2020 → esm2022}/lib/audit-log/audit-log-view/audit-log-view-routing.module.mjs +5 -5
  21. package/esm2022/lib/audit-log/audit-log-view/audit-log-view.component.mjs +55 -0
  22. package/{esm2020 → esm2022}/lib/audit-log/audit-log-view/audit-log-view.module.mjs +11 -11
  23. package/{esm2020 → esm2022}/lib/audit-log/audit-log-view-model/audit-log-view-model-routing.module.mjs +5 -5
  24. package/esm2022/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +60 -0
  25. package/{esm2020 → esm2022}/lib/audit-log/audit-log-view-model/audit-log-view-model.module.mjs +11 -11
  26. package/{esm2020 → esm2022}/lib/audit-log/audit-log.module.mjs +11 -11
  27. package/{esm2020 → esm2022}/lib/audit-log/audit-logs-view-model/audit-logs-view-model-routing.module.mjs +5 -5
  28. package/esm2022/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +40 -0
  29. package/{esm2020 → esm2022}/lib/audit-log/audit-logs-view-model/audit-logs-view-model.module.mjs +11 -11
  30. package/esm2022/lib/base-model/techlify-form-component.class.mjs +52 -0
  31. package/esm2022/lib/base-model/techlify-listing-component.class.mjs +64 -0
  32. package/esm2022/lib/base-model/techlify-service.class.mjs +69 -0
  33. package/{esm2020 → esm2022}/lib/change-password/change-password-routing.module.mjs +5 -5
  34. package/esm2022/lib/change-password/change-password.component.mjs +96 -0
  35. package/{esm2020 → esm2022}/lib/change-password/change-password.module.mjs +19 -19
  36. package/esm2022/lib/column-selector/column-selector/column-selector.component.mjs +36 -0
  37. package/{esm2020 → esm2022}/lib/column-selector/column-selector.module.mjs +13 -13
  38. package/esm2022/lib/core/alert.service.mjs +39 -0
  39. package/esm2022/lib/core/api-prefix.interceptor.mjs +27 -0
  40. package/esm2022/lib/core/authentication.guard.mjs +37 -0
  41. package/esm2022/lib/core/authentication.service.mjs +65 -0
  42. package/esm2022/lib/core/cache.interceptor.mjs +59 -0
  43. package/esm2022/lib/core/config.service.mjs +46 -0
  44. package/esm2022/lib/core/core.module.mjs +63 -0
  45. package/esm2022/lib/core/credentials.service.mjs +80 -0
  46. package/esm2022/lib/core/dataManager.service.mjs +120 -0
  47. package/esm2022/lib/core/error-handler.interceptor.mjs +50 -0
  48. package/esm2022/lib/core/error-handler.service.mjs +57 -0
  49. package/esm2022/lib/core/filter.service.mjs +39 -0
  50. package/{esm2020 → esm2022}/lib/core/form-validator.service.mjs +4 -4
  51. package/{esm2020 → esm2022}/lib/core/header.interceptor.mjs +4 -4
  52. package/esm2022/lib/core/http-cache.service.mjs +110 -0
  53. package/esm2022/lib/core/http.service.mjs +89 -0
  54. package/esm2022/lib/core/logger.service.mjs +101 -0
  55. package/{esm2020 → esm2022}/lib/core/route-reusable-strategy.mjs +4 -4
  56. package/esm2022/lib/core/snack/snack.component.mjs +35 -0
  57. package/{esm2020 → esm2022}/lib/core/snack/snack.module.mjs +11 -11
  58. package/esm2022/lib/core/storage.service.mjs +38 -0
  59. package/esm2022/lib/core/techlify-config.model.mjs +30 -0
  60. package/esm2022/lib/core/token.interceptor.mjs +29 -0
  61. package/esm2022/lib/data-table/data-table.component.mjs +211 -0
  62. package/esm2022/lib/data-table/data-table.model.mjs +46 -0
  63. package/{esm2020 → esm2022}/lib/data-table/data-table.module.mjs +11 -11
  64. package/esm2022/lib/document-viewer/document-viewer.component.mjs +69 -0
  65. package/{esm2020 → esm2022}/lib/document-viewer/document-viewer.module.mjs +11 -11
  66. package/{esm2020 → esm2022}/lib/document-viewer/viewer-config.model.mjs +4 -1
  67. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/email-subscription-for-user-routing.module.mjs +5 -5
  68. package/esm2022/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +77 -0
  69. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.module.mjs +13 -13
  70. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-routing.module.mjs +5 -5
  71. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form-routing.module.mjs +5 -5
  72. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +118 -0
  73. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.module.mjs +17 -17
  74. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list-routing.module.mjs +5 -5
  75. package/esm2022/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +164 -0
  76. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.module.mjs +17 -17
  77. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-routing.module.mjs +5 -5
  78. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type.module.mjs +7 -7
  79. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form-routing.module.mjs +5 -5
  80. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +114 -0
  81. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.module.mjs +17 -17
  82. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list-routing.module.mjs +5 -5
  83. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +169 -0
  84. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.module.mjs +19 -19
  85. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter-routing.module.mjs +5 -5
  86. package/esm2022/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +54 -0
  87. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.module.mjs +15 -15
  88. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-routing.module.mjs +5 -5
  89. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user.module.mjs +7 -7
  90. package/{esm2020 → esm2022}/lib/email-subscription/email-subscription.module.mjs +7 -7
  91. package/esm2022/lib/entity-files/entity-file-form/entity-file-form.component.mjs +174 -0
  92. package/esm2022/lib/entity-files/entity-file.service.mjs +37 -0
  93. package/esm2022/lib/entity-files/entity-files-view-all.component.mjs +364 -0
  94. package/{esm2020 → esm2022}/lib/entity-files/entity-files-view-all.module.mjs +29 -29
  95. package/esm2022/lib/export-excel/export-excel-button/export-excel-button.component.mjs +31 -0
  96. package/{esm2020 → esm2022}/lib/export-excel/export-excel.module.mjs +7 -7
  97. package/esm2022/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +92 -0
  98. package/{esm2020 → esm2022}/lib/file-dragdrop-uploader/file-dragdrop-uploader.module.mjs +13 -13
  99. package/esm2022/lib/file-dropper/file-dropper.component.mjs +129 -0
  100. package/esm2022/lib/file-dropper/file-dropper.model.mjs +11 -0
  101. package/{esm2020 → esm2022}/lib/file-dropper/file-dropper.module.mjs +9 -9
  102. package/{esm2020 → esm2022}/lib/forgot-password/forgot-password-routing.module.mjs +5 -5
  103. package/esm2022/lib/forgot-password/forgot-password.component.mjs +81 -0
  104. package/{esm2020 → esm2022}/lib/forgot-password/forgot-password.module.mjs +11 -11
  105. package/{esm2020 → esm2022}/lib/import-csv/data-import/data-import.component.mjs +5 -4
  106. package/esm2022/lib/import-csv/failed-items-list/failed-items-list.component.mjs +38 -0
  107. package/esm2022/lib/import-csv/field-mapping/field-mapping.component.mjs +160 -0
  108. package/esm2022/lib/import-csv/import-csv.component.mjs +207 -0
  109. package/{esm2020 → esm2022}/lib/import-csv/import-csv.module.mjs +28 -28
  110. package/esm2022/lib/import-csv/import-history-list/import-history-list.component.mjs +75 -0
  111. package/esm2022/lib/import-csv/import-success/import-success.component.mjs +26 -0
  112. package/{esm2020 → esm2022}/lib/ip-address-selector/ip-address-selector.module.mjs +17 -17
  113. package/esm2022/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +108 -0
  114. package/esm2022/lib/loader/loader.component.mjs +23 -0
  115. package/{esm2020 → esm2022}/lib/loader/loader.module.mjs +7 -7
  116. package/{esm2020 → esm2022}/lib/login/login-routing.module.mjs +5 -5
  117. package/esm2022/lib/login/login.component.mjs +170 -0
  118. package/{esm2020 → esm2022}/lib/login/login.module.mjs +19 -19
  119. package/{esm2020 → esm2022}/lib/login-history-for-user/login-history-for-user-routing.module.mjs +5 -5
  120. package/esm2022/lib/login-history-for-user/login-history-for-user.component.mjs +96 -0
  121. package/{esm2020 → esm2022}/lib/login-history-for-user/login-history-for-user.module.mjs +17 -17
  122. package/{esm2020 → esm2022}/lib/material.module.mjs +53 -53
  123. package/{esm2020 → esm2022}/lib/ngx-techlify-users/ngx-techlify-users-routing.module.mjs +5 -5
  124. package/{esm2020 → esm2022}/lib/ngx-techlify-users/ngx-techlify-users.module.mjs +7 -7
  125. package/esm2022/lib/note/comment-form/comment-form.component.mjs +82 -0
  126. package/esm2022/lib/note/note-form/note-form.component.mjs +88 -0
  127. package/esm2022/lib/note/note-list/note-list.component.mjs +153 -0
  128. package/{esm2020 → esm2022}/lib/note/note.module.mjs +19 -19
  129. package/esm2022/lib/note/note.service.mjs +30 -0
  130. package/esm2022/lib/number-input-button/number-input-button/number-input-button.component.mjs +104 -0
  131. package/{esm2020 → esm2022}/lib/number-input-button/number-input-button.module.mjs +9 -9
  132. package/{esm2020 → esm2022}/lib/password-requirement-check/password-check.service.mjs +4 -4
  133. package/esm2022/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +50 -0
  134. package/{esm2020 → esm2022}/lib/password-requirement-check/password-requirement-check.module.mjs +5 -5
  135. package/esm2022/lib/profile/profile-edit.component.mjs +84 -0
  136. package/{esm2020 → esm2022}/lib/profile/profile-routing.module.mjs +5 -5
  137. package/{esm2020 → esm2022}/lib/profile/profile.module.mjs +11 -11
  138. package/esm2022/lib/read-more/read-more.component.mjs +44 -0
  139. package/{esm2020 → esm2022}/lib/read-more/read-more.module.mjs +9 -9
  140. package/esm2022/lib/request-helper/request-helper.service.mjs +107 -0
  141. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +93 -0
  142. package/{esm2020 → esm2022}/lib/restrictors/restrictor-level-selector/restrictor-level-selector.module.mjs +11 -11
  143. package/esm2022/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +20 -0
  144. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +93 -0
  145. package/{esm2020 → esm2022}/lib/restrictors/restrictor-status-selector/restrictor-status-selector.module.mjs +9 -9
  146. package/esm2022/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +20 -0
  147. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +94 -0
  148. package/{esm2020 → esm2022}/lib/restrictors/restrictor-type-selector/restrictor-type-selector.module.mjs +11 -11
  149. package/esm2022/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +20 -0
  150. package/esm2022/lib/restrictors/restrictor.service.mjs +20 -0
  151. package/esm2022/lib/restrictors/restrictors-form/restrictors-form.component.mjs +111 -0
  152. package/esm2022/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +49 -0
  153. package/esm2022/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +152 -0
  154. package/{esm2020 → esm2022}/lib/restrictors/restrictors-routing.module.mjs +5 -5
  155. package/{esm2020 → esm2022}/lib/restrictors/restrictors.module.mjs +43 -43
  156. package/{esm2020 → esm2022}/lib/role/permission/permission.model.mjs +4 -1
  157. package/{esm2020 → esm2022}/lib/role/permission/permission.module.mjs +15 -15
  158. package/{esm2020 → esm2022}/lib/role/permission/permission.routes.mjs +5 -5
  159. package/esm2022/lib/role/permission/permissions-management.component.mjs +127 -0
  160. package/esm2022/lib/role/role-form.component.mjs +109 -0
  161. package/esm2022/lib/role/role-view/role-view.component.mjs +44 -0
  162. package/esm2022/lib/role/role.model.mjs +66 -0
  163. package/{esm2020 → esm2022}/lib/role/role.module.mjs +21 -21
  164. package/{esm2020 → esm2022}/lib/role/role.routes.mjs +5 -5
  165. package/esm2022/lib/role/role.service.mjs +27 -0
  166. package/esm2022/lib/role/roles-view-all.component.mjs +140 -0
  167. package/esm2022/lib/searchable-selector/searchable-selector.component.mjs +365 -0
  168. package/{esm2020 → esm2022}/lib/searchable-selector/searchable-selector.module.mjs +11 -11
  169. package/{esm2020 → esm2022}/lib/signup/signup-routing.module.mjs +5 -5
  170. package/esm2022/lib/signup/signup.component.mjs +87 -0
  171. package/{esm2020 → esm2022}/lib/signup/signup.module.mjs +11 -11
  172. package/esm2022/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +73 -0
  173. package/{esm2020 → esm2022}/lib/techlify-company-switcher/techlify-company-switcher.module.mjs +9 -9
  174. package/esm2022/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +27 -0
  175. package/esm2022/lib/techlify-feature/techlify-feature-enabled.directive.mjs +79 -0
  176. package/esm2022/lib/techlify-feature/techlify-feature-listing.component.mjs +179 -0
  177. package/{esm2020 → esm2022}/lib/techlify-feature/techlify-feature.module.mjs +17 -17
  178. package/esm2022/lib/techlify-feature/techlify-feature.service.mjs +27 -0
  179. package/{esm2020 → esm2022}/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier-routing.module.mjs +5 -5
  180. package/esm2022/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.mjs +109 -0
  181. package/{esm2020 → esm2022}/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.module.mjs +15 -15
  182. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user-routing.module.mjs +5 -5
  183. package/esm2022/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +90 -0
  184. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.module.mjs +13 -13
  185. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-routing.module.mjs +5 -5
  186. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard-routing.module.mjs +5 -5
  187. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.mjs +180 -0
  188. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.module.mjs +19 -19
  189. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form-routing.module.mjs +5 -5
  190. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.mjs +131 -0
  191. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.module.mjs +17 -17
  192. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list-routing.module.mjs +5 -5
  193. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.mjs +186 -0
  194. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.module.mjs +19 -19
  195. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter-routing.module.mjs +5 -5
  196. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.mjs +72 -0
  197. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.module.mjs +15 -15
  198. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-routing.module.mjs +5 -5
  199. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber.module.mjs +19 -19
  200. package/esm2022/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.mjs +6 -0
  201. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form-routing.module.mjs +5 -5
  202. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.mjs +111 -0
  203. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.module.mjs +19 -19
  204. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list-routing.module.mjs +5 -5
  205. package/esm2022/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.mjs +171 -0
  206. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.module.mjs +17 -17
  207. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-routing.module.mjs +5 -5
  208. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-type/techlify-notification-type.module.mjs +17 -17
  209. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification-user-status.model.mjs +3 -3
  210. package/{esm2020 → esm2022}/lib/techlify-notifications/techlify-notification.module.mjs +7 -7
  211. package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +24 -0
  212. package/esm2022/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +301 -0
  213. package/{esm2020 → esm2022}/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.module.mjs +13 -13
  214. package/esm2022/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +189 -0
  215. package/{esm2020 → esm2022}/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.module.mjs +17 -17
  216. package/esm2022/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +124 -0
  217. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-form/techlify-update-form.module.mjs +13 -13
  218. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-history/techlify-update-history-routing.module.mjs +5 -5
  219. package/esm2022/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +151 -0
  220. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-history/techlify-update-history.module.mjs +19 -19
  221. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update-routing.module.mjs +5 -5
  222. package/{esm2020 → esm2022}/lib/techlify-update/techlify-update.module.mjs +21 -21
  223. package/esm2022/lib/techlify-update/techlify-update.service.mjs +42 -0
  224. package/esm2022/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +169 -0
  225. package/esm2022/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +63 -0
  226. package/{esm2020 → esm2022}/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.module.mjs +11 -11
  227. package/esm2022/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +85 -0
  228. package/esm2022/lib/techlify-update/update-notifier/update-notifier.component.mjs +57 -0
  229. package/{esm2020 → esm2022}/lib/techlify-update/update-notifier/update-notifier.module.mjs +13 -13
  230. package/esm2022/lib/techlify-update/update-view/update-view.component.mjs +43 -0
  231. package/{esm2020 → esm2022}/lib/techlify-update/update-view/update-view.module.mjs +9 -9
  232. package/{esm2020 → esm2022}/lib/timeline-filter/timeline-filter-routing.module.mjs +5 -5
  233. package/esm2022/lib/timeline-filter/timeline-filter.component.mjs +253 -0
  234. package/{esm2020 → esm2022}/lib/timeline-filter/timeline-filter.module.mjs +25 -25
  235. package/esm2022/lib/timeline-filter/timeline.model.mjs +18 -0
  236. package/esm2022/lib/user/current-user.service.mjs +155 -0
  237. package/esm2022/lib/user/user-enable-button-component/user-enable-button.component.mjs +65 -0
  238. package/esm2022/lib/user/user-explore.component.mjs +55 -0
  239. package/esm2022/lib/user/user-form.component.mjs +234 -0
  240. package/esm2022/lib/user/user-view.component.mjs +76 -0
  241. package/esm2022/lib/user/user.model.mjs +49 -0
  242. package/{esm2020 → esm2022}/lib/user/user.module.mjs +42 -42
  243. package/{esm2020 → esm2022}/lib/user/user.routes.mjs +5 -5
  244. package/esm2022/lib/user/user.service.mjs +42 -0
  245. package/esm2022/lib/user/users-view-all.component.mjs +226 -0
  246. package/esm2022/lib/user-config/user-config.model.mjs +81 -0
  247. package/esm2022/lib/user-config/user-config.service.mjs +68 -0
  248. package/esm2022/lib/user-selector/user-data.service.mjs +37 -0
  249. package/esm2022/lib/user-selector/user-selector.component.mjs +100 -0
  250. package/{esm2020 → esm2022}/lib/user-selector/user-selector.module.mjs +11 -11
  251. package/{esm2020 → esm2022}/lib/utility/date-utils.service.mjs +4 -4
  252. package/esm2022/lib/utility/num-items-selector.component.mjs +33 -0
  253. package/esm2022/lib/utility/number-selector.component.mjs +46 -0
  254. package/{esm2020 → esm2022}/lib/utility/utility.module.mjs +7 -7
  255. package/{fesm2020 → fesm2022}/ngx-techlify-core.mjs +3136 -2422
  256. package/fesm2022/ngx-techlify-core.mjs.map +1 -0
  257. package/lib/audit-log/audit-log-for-model/audit-log-for-model.component.d.ts +1 -1
  258. package/lib/audit-log/audit-log-list/audit-log-list.component.d.ts +1 -1
  259. package/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.d.ts +1 -1
  260. package/lib/column-selector/column-selector/column-selector.component.d.ts +1 -1
  261. package/lib/data-table/data-table.component.d.ts +1 -3
  262. package/lib/document-viewer/document-viewer.component.d.ts +1 -1
  263. package/lib/entity-files/entity-files-view-all.component.d.ts +1 -3
  264. package/lib/export-excel/export-excel-button/export-excel-button.component.d.ts +1 -1
  265. package/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.d.ts +1 -1
  266. package/lib/file-dropper/file-dropper.component.d.ts +1 -1
  267. package/lib/import-csv/data-import/data-import.component.d.ts +1 -1
  268. package/lib/import-csv/failed-items-list/failed-items-list.component.d.ts +1 -1
  269. package/lib/import-csv/field-mapping/field-mapping.component.d.ts +1 -1
  270. package/lib/import-csv/import-csv.component.d.ts +1 -1
  271. package/lib/import-csv/import-history-list/import-history-list.component.d.ts +1 -1
  272. package/lib/import-csv/import-success/import-success.component.d.ts +1 -1
  273. package/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.d.ts +1 -1
  274. package/lib/loader/loader.component.d.ts +1 -1
  275. package/lib/login-history-for-user/login-history-for-user.component.d.ts +1 -1
  276. package/lib/note/comment-form/comment-form.component.d.ts +1 -1
  277. package/lib/note/note-list/note-list.component.d.ts +1 -1
  278. package/lib/number-input-button/number-input-button/number-input-button.component.d.ts +1 -1
  279. package/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.d.ts +1 -1
  280. package/lib/read-more/read-more.component.d.ts +1 -1
  281. package/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.d.ts +1 -1
  282. package/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.d.ts +1 -1
  283. package/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.d.ts +1 -1
  284. package/lib/restrictors/restrictors-form/restrictors-form.component.d.ts +1 -1
  285. package/lib/restrictors/restrictors-list-page/restrictors-list-page.component.d.ts +1 -2
  286. package/lib/role/permission/permissions-management.component.d.ts +1 -1
  287. package/lib/role/roles-view-all.component.d.ts +1 -1
  288. package/lib/searchable-selector/searchable-selector.component.d.ts +1 -1
  289. package/lib/techlify-feature/on-off-switch/on-off-switch.component.d.ts +1 -1
  290. package/lib/techlify-feature/techlify-feature-enabled.directive.d.ts +1 -1
  291. package/lib/techlify-feature/techlify-feature-listing.component.d.ts +0 -2
  292. package/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.d.ts +1 -1
  293. package/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.d.ts +1 -1
  294. package/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.d.ts +1 -1
  295. package/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.d.ts +1 -1
  296. package/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.d.ts +1 -1
  297. package/lib/techlify-update/update-notifier/update-notifier.component.d.ts +1 -1
  298. package/lib/timeline-filter/timeline-filter.component.d.ts +1 -1
  299. package/lib/user/user-enable-button-component/user-enable-button.component.d.ts +1 -1
  300. package/lib/user/user-form.component.d.ts +1 -1
  301. package/lib/user/users-view-all.component.d.ts +2 -3
  302. package/lib/user-selector/user-selector.component.d.ts +1 -1
  303. package/lib/utility/num-items-selector.component.d.ts +1 -1
  304. package/lib/utility/number-selector.component.d.ts +1 -1
  305. package/package.json +19 -25
  306. package/esm2020/lib/access-control-config/access-control-config-form/access-control-config-form.component.mjs +0 -127
  307. package/esm2020/lib/access-control-config/access-control-config.component.mjs +0 -131
  308. package/esm2020/lib/access-control-config/access-control-config.model.mjs +0 -21
  309. package/esm2020/lib/access-control-config/access-control-config.service.mjs +0 -31
  310. package/esm2020/lib/action-popup/action-popup.component.mjs +0 -34
  311. package/esm2020/lib/audit-log/audit-log-for-model/audit-log-for-model.component.mjs +0 -51
  312. package/esm2020/lib/audit-log/audit-log-list/audit-log-list.component.mjs +0 -139
  313. package/esm2020/lib/audit-log/audit-log-list-filter/audit-log-list-filter.component.mjs +0 -74
  314. package/esm2020/lib/audit-log/audit-log-view/audit-log-view.component.mjs +0 -51
  315. package/esm2020/lib/audit-log/audit-log-view-model/audit-log-view-model.component.mjs +0 -56
  316. package/esm2020/lib/audit-log/audit-logs-view-model/audit-logs-view-model.component.mjs +0 -37
  317. package/esm2020/lib/base-model/techlify-form-component.class.mjs +0 -49
  318. package/esm2020/lib/base-model/techlify-listing-component.class.mjs +0 -65
  319. package/esm2020/lib/base-model/techlify-service.class.mjs +0 -68
  320. package/esm2020/lib/change-password/change-password.component.mjs +0 -87
  321. package/esm2020/lib/column-selector/column-selector/column-selector.component.mjs +0 -37
  322. package/esm2020/lib/core/alert.service.mjs +0 -38
  323. package/esm2020/lib/core/api-prefix.interceptor.mjs +0 -26
  324. package/esm2020/lib/core/authentication.guard.mjs +0 -35
  325. package/esm2020/lib/core/authentication.service.mjs +0 -62
  326. package/esm2020/lib/core/cache.interceptor.mjs +0 -58
  327. package/esm2020/lib/core/config.service.mjs +0 -45
  328. package/esm2020/lib/core/core.module.mjs +0 -63
  329. package/esm2020/lib/core/credentials.service.mjs +0 -79
  330. package/esm2020/lib/core/dataManager.service.mjs +0 -119
  331. package/esm2020/lib/core/error-handler.interceptor.mjs +0 -48
  332. package/esm2020/lib/core/error-handler.service.mjs +0 -55
  333. package/esm2020/lib/core/filter.service.mjs +0 -37
  334. package/esm2020/lib/core/http-cache.service.mjs +0 -107
  335. package/esm2020/lib/core/http.service.mjs +0 -84
  336. package/esm2020/lib/core/logger.service.mjs +0 -100
  337. package/esm2020/lib/core/snack/snack.component.mjs +0 -33
  338. package/esm2020/lib/core/storage.service.mjs +0 -38
  339. package/esm2020/lib/core/techlify-config.model.mjs +0 -28
  340. package/esm2020/lib/core/token.interceptor.mjs +0 -28
  341. package/esm2020/lib/data-table/data-table.component.mjs +0 -208
  342. package/esm2020/lib/data-table/data-table.model.mjs +0 -11
  343. package/esm2020/lib/document-viewer/document-viewer.component.mjs +0 -65
  344. package/esm2020/lib/email-subscription/email-subscription-for-user/email-subscription-for-user.component.mjs +0 -76
  345. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-form/email-subscription-type-form.component.mjs +0 -105
  346. package/esm2020/lib/email-subscription/email-subscription-type/email-subscription-type-list/email-subscription-type-list.component.mjs +0 -161
  347. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-form/email-subscription-user-form.component.mjs +0 -101
  348. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list/email-subscription-user-list.component.mjs +0 -165
  349. package/esm2020/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/email-subscription-user-list-filter.component.mjs +0 -52
  350. package/esm2020/lib/entity-files/entity-file-form/entity-file-form.component.mjs +0 -161
  351. package/esm2020/lib/entity-files/entity-file.service.mjs +0 -36
  352. package/esm2020/lib/entity-files/entity-files-view-all.component.mjs +0 -349
  353. package/esm2020/lib/export-excel/export-excel-button/export-excel-button.component.mjs +0 -32
  354. package/esm2020/lib/file-dragdrop-uploader/file-dragdrop-uploader/file-dragdrop-uploader.component.mjs +0 -90
  355. package/esm2020/lib/file-dropper/file-dropper.component.mjs +0 -125
  356. package/esm2020/lib/file-dropper/file-dropper.model.mjs +0 -3
  357. package/esm2020/lib/forgot-password/forgot-password.component.mjs +0 -69
  358. package/esm2020/lib/import-csv/failed-items-list/failed-items-list.component.mjs +0 -35
  359. package/esm2020/lib/import-csv/field-mapping/field-mapping.component.mjs +0 -153
  360. package/esm2020/lib/import-csv/import-csv.component.mjs +0 -199
  361. package/esm2020/lib/import-csv/import-history-list/import-history-list.component.mjs +0 -71
  362. package/esm2020/lib/import-csv/import-success/import-success.component.mjs +0 -24
  363. package/esm2020/lib/ip-address-selector/ip-range-selector/ip-range-selector.component.mjs +0 -109
  364. package/esm2020/lib/loader/loader.component.mjs +0 -23
  365. package/esm2020/lib/login/login.component.mjs +0 -153
  366. package/esm2020/lib/login-history-for-user/login-history-for-user.component.mjs +0 -92
  367. package/esm2020/lib/note/comment-form/comment-form.component.mjs +0 -77
  368. package/esm2020/lib/note/note-form/note-form.component.mjs +0 -79
  369. package/esm2020/lib/note/note-list/note-list.component.mjs +0 -148
  370. package/esm2020/lib/note/note.service.mjs +0 -29
  371. package/esm2020/lib/number-input-button/number-input-button/number-input-button.component.mjs +0 -104
  372. package/esm2020/lib/password-requirement-check/password-requirement-check/password-requirement-check.component.mjs +0 -47
  373. package/esm2020/lib/profile/profile-edit.component.mjs +0 -75
  374. package/esm2020/lib/read-more/read-more.component.mjs +0 -43
  375. package/esm2020/lib/request-helper/request-helper.service.mjs +0 -105
  376. package/esm2020/lib/restrictors/restrictor-level-selector/restrictor-level-selector/restrictor-level-selector.component.mjs +0 -91
  377. package/esm2020/lib/restrictors/restrictor-level-selector/restrictor-level.service.mjs +0 -19
  378. package/esm2020/lib/restrictors/restrictor-status-selector/restrictor-status-selector/restrictor-status-selector.component.mjs +0 -91
  379. package/esm2020/lib/restrictors/restrictor-status-selector/restrictor-status.service.mjs +0 -19
  380. package/esm2020/lib/restrictors/restrictor-type-selector/restrictor-type-selector/restrictor-type-selector.component.mjs +0 -92
  381. package/esm2020/lib/restrictors/restrictor-type-selector/restrictor-type.service.mjs +0 -19
  382. package/esm2020/lib/restrictors/restrictor.service.mjs +0 -19
  383. package/esm2020/lib/restrictors/restrictors-form/restrictors-form.component.mjs +0 -102
  384. package/esm2020/lib/restrictors/restrictors-form-page/restrictors-form-page.component.mjs +0 -44
  385. package/esm2020/lib/restrictors/restrictors-list-page/restrictors-list-page.component.mjs +0 -145
  386. package/esm2020/lib/role/permission/permissions-management.component.mjs +0 -114
  387. package/esm2020/lib/role/role-form.component.mjs +0 -99
  388. package/esm2020/lib/role/role-view/role-view.component.mjs +0 -39
  389. package/esm2020/lib/role/role.model.mjs +0 -56
  390. package/esm2020/lib/role/role.service.mjs +0 -26
  391. package/esm2020/lib/role/roles-view-all.component.mjs +0 -131
  392. package/esm2020/lib/searchable-selector/searchable-selector.component.mjs +0 -348
  393. package/esm2020/lib/signup/signup.component.mjs +0 -78
  394. package/esm2020/lib/techlify-company-switcher/techlify-company-switcher/techlify-company-switcher.component.mjs +0 -68
  395. package/esm2020/lib/techlify-feature/on-off-switch/on-off-switch.component.mjs +0 -24
  396. package/esm2020/lib/techlify-feature/techlify-feature-enabled.directive.mjs +0 -73
  397. package/esm2020/lib/techlify-feature/techlify-feature-listing.component.mjs +0 -172
  398. package/esm2020/lib/techlify-feature/techlify-feature.service.mjs +0 -26
  399. package/esm2020/lib/techlify-notifications/ngx-techlify-notifier/ngx-techlify-notifier.component.mjs +0 -103
  400. package/esm2020/lib/techlify-notifications/techlify-notification-for-user/techlify-notification-for-user.component.mjs +0 -86
  401. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notfication-subscriber-dashboard/techlify-notfication-subscriber-dashboard.component.mjs +0 -173
  402. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-form/techlify-notification-subscriber-form.component.mjs +0 -117
  403. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list/techlify-notification-subscriber-list.component.mjs +0 -180
  404. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscriber-list-filter/techlify-notification-subscriber-list-filter.component.mjs +0 -69
  405. package/esm2020/lib/techlify-notifications/techlify-notification-subscriber/techlify-notification-subscription-entity.model.mjs +0 -6
  406. package/esm2020/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-form/techlify-notification-type-form.component.mjs +0 -99
  407. package/esm2020/lib/techlify-notifications/techlify-notification-type/techlify-notification-type-list/techlify-notification-type-list.component.mjs +0 -166
  408. package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-config.model.mjs +0 -15
  409. package/esm2020/lib/techlify-tagger-tag-form-field/techlify-tagger-tag-form-field.component.mjs +0 -285
  410. package/esm2020/lib/techlify-tagger-tag-selector/techlify-tagger-tag-selector.component.mjs +0 -180
  411. package/esm2020/lib/techlify-update/techlify-update-form/techlify-update-form.component.mjs +0 -116
  412. package/esm2020/lib/techlify-update/techlify-update-history/techlify-update-history.component.mjs +0 -145
  413. package/esm2020/lib/techlify-update/techlify-update.service.mjs +0 -41
  414. package/esm2020/lib/techlify-update/techlify-updates-list/techlify-updates-list.component.mjs +0 -163
  415. package/esm2020/lib/techlify-update/techlify-updates-teaser/techlify-updates-teaser.component.mjs +0 -60
  416. package/esm2020/lib/techlify-update/update-notifier/update-notifier-snack/update-notifier-snack.component.mjs +0 -77
  417. package/esm2020/lib/techlify-update/update-notifier/update-notifier.component.mjs +0 -53
  418. package/esm2020/lib/techlify-update/update-view/update-view.component.mjs +0 -38
  419. package/esm2020/lib/timeline-filter/timeline-filter.component.mjs +0 -243
  420. package/esm2020/lib/timeline-filter/timeline.model.mjs +0 -18
  421. package/esm2020/lib/user/current-user.service.mjs +0 -151
  422. package/esm2020/lib/user/user-enable-button-component/user-enable-button.component.mjs +0 -59
  423. package/esm2020/lib/user/user-explore.component.mjs +0 -50
  424. package/esm2020/lib/user/user-form.component.mjs +0 -219
  425. package/esm2020/lib/user/user-view.component.mjs +0 -68
  426. package/esm2020/lib/user/user.model.mjs +0 -30
  427. package/esm2020/lib/user/user.service.mjs +0 -41
  428. package/esm2020/lib/user/users-view-all.component.mjs +0 -214
  429. package/esm2020/lib/user-config/user-config.model.mjs +0 -50
  430. package/esm2020/lib/user-config/user-config.service.mjs +0 -65
  431. package/esm2020/lib/user-selector/user-data.service.mjs +0 -35
  432. package/esm2020/lib/user-selector/user-selector.component.mjs +0 -91
  433. package/esm2020/lib/utility/num-items-selector.component.mjs +0 -31
  434. package/esm2020/lib/utility/number-selector.component.mjs +0 -42
  435. package/fesm2015/ngx-techlify-core.mjs +0 -13488
  436. package/fesm2015/ngx-techlify-core.mjs.map +0 -1
  437. package/fesm2020/ngx-techlify-core.mjs.map +0 -1
  438. /package/{esm2020 → esm2022}/lib/action-popup/index.mjs +0 -0
  439. /package/{esm2020 → esm2022}/lib/base-model/index.mjs +0 -0
  440. /package/{esm2020 → esm2022}/lib/column-selector/index.mjs +0 -0
  441. /package/{esm2020 → esm2022}/lib/core/index.mjs +0 -0
  442. /package/{esm2020 → esm2022}/lib/data-table/index.mjs +0 -0
  443. /package/{esm2020 → esm2022}/lib/date-validator.mjs +0 -0
  444. /package/{esm2020 → esm2022}/lib/document-viewer/index.mjs +0 -0
  445. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-for-user/index.mjs +0 -0
  446. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-form/index.mjs +0 -0
  447. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-type/email-subscription-type-list/index.mjs +0 -0
  448. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-form/index.mjs +0 -0
  449. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list/index.mjs +0 -0
  450. /package/{esm2020 → esm2022}/lib/email-subscription/email-subscription-user/email-subscription-user-list-filter/index.mjs +0 -0
  451. /package/{esm2020 → esm2022}/lib/entity-files/index.mjs +0 -0
  452. /package/{esm2020 → esm2022}/lib/file-dropper/index.mjs +0 -0
  453. /package/{esm2020 → esm2022}/lib/forgot-password/index.mjs +0 -0
  454. /package/{esm2020 → esm2022}/lib/import-csv/import-csv-config.mjs +0 -0
  455. /package/{esm2020 → esm2022}/lib/loader/index.mjs +0 -0
  456. /package/{esm2020 → esm2022}/lib/login/index.mjs +0 -0
  457. /package/{esm2020 → esm2022}/lib/note/index.mjs +0 -0
  458. /package/{esm2020 → esm2022}/lib/number-input-button/index.mjs +0 -0
  459. /package/{esm2020 → esm2022}/lib/password-requirement-check/password-check-result.mjs +0 -0
  460. /package/{esm2020 → esm2022}/lib/profile/index.mjs +0 -0
  461. /package/{esm2020 → esm2022}/lib/restrictors/index.mjs +0 -0
  462. /package/{esm2020 → esm2022}/lib/role/index.mjs +0 -0
  463. /package/{esm2020 → esm2022}/lib/searchable-selector/index.mjs +0 -0
  464. /package/{esm2020 → esm2022}/lib/signup/index.mjs +0 -0
  465. /package/{esm2020 → esm2022}/lib/techlify-company-switcher/index.mjs +0 -0
  466. /package/{esm2020 → esm2022}/lib/techlify-feature/techlify-feature.routing.mjs +0 -0
  467. /package/{esm2020 → esm2022}/lib/techlify-notifications/index.mjs +0 -0
  468. /package/{esm2020 → esm2022}/lib/timeline-filter/calculate-timeline.mjs +0 -0
  469. /package/{esm2020 → esm2022}/lib/timeline-filter/index.mjs +0 -0
  470. /package/{esm2020 → esm2022}/lib/user/index.mjs +0 -0
  471. /package/{esm2020 → esm2022}/lib/user/user-type.enum.mjs +0 -0
  472. /package/{esm2020 → esm2022}/lib/user-config/index.mjs +0 -0
  473. /package/{esm2020 → esm2022}/lib/user-selector/index.mjs +0 -0
  474. /package/{esm2020 → esm2022}/lib/utility/index.mjs +0 -0
  475. /package/{esm2020 → esm2022}/ngx-techlify-core.mjs +0 -0
  476. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
@@ -0,0 +1,135 @@
1
+ import { Validators } from '@angular/forms';
2
+ import { Component } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/forms";
5
+ import * as i2 from "../../core";
6
+ import * as i3 from "../access-control-config.service";
7
+ import * as i4 from "@angular/common";
8
+ import * as i5 from "@angular/flex-layout/flex";
9
+ import * as i6 from "@angular/material/button";
10
+ import * as i7 from "@angular/material/form-field";
11
+ import * as i8 from "@angular/material/input";
12
+ import * as i9 from "@angular/material/card";
13
+ import * as i10 from "@angular/material/button-toggle";
14
+ import * as i11 from "@angular/material/progress-bar";
15
+ const errorMessages = {
16
+ max_failed_consecutive_login_attempts: {
17
+ required: 'The max failed consecutive login attempts field is required.',
18
+ },
19
+ max_old_passwords_block: {
20
+ required: 'The max old passwords block field is required.',
21
+ },
22
+ };
23
+ export class AccessControlConfigFormComponent {
24
+ fb;
25
+ formValidatorService;
26
+ alertService;
27
+ accessControlConfigService;
28
+ location;
29
+ configForm;
30
+ isWorking;
31
+ isSaving;
32
+ constructor(fb, formValidatorService, alertService, accessControlConfigService, location) {
33
+ this.fb = fb;
34
+ this.formValidatorService = formValidatorService;
35
+ this.alertService = alertService;
36
+ this.accessControlConfigService = accessControlConfigService;
37
+ this.location = location;
38
+ this.createForm();
39
+ }
40
+ /**
41
+ * Create the form instance.
42
+ *
43
+ * @private
44
+ */
45
+ createForm() {
46
+ this.configForm = this.fb.group({
47
+ id: [''],
48
+ client_id: [''],
49
+ max_failed_consecutive_login_attempts: [5, Validators.required],
50
+ is_track_old_passwords: [false],
51
+ max_old_passwords_block: [2, Validators.required],
52
+ is_password_require_number: [false],
53
+ is_password_require_symbol: [false],
54
+ is_password_require_capital_letter: [false],
55
+ min_password_length: [5],
56
+ });
57
+ }
58
+ ngOnInit() {
59
+ // fetch the access control config for client
60
+ this.fetchAccessControlConfig();
61
+ }
62
+ /**
63
+ * Save the access control configuration.
64
+ */
65
+ submit() {
66
+ if (this.configForm.invalid) {
67
+ this.alertService.addAlert('Please check the form for errors.', 'error');
68
+ return;
69
+ }
70
+ const data = { ...this.configForm.value };
71
+ let subscription = this.accessControlConfigService.store(data);
72
+ if (data?.client_id) {
73
+ subscription = this.accessControlConfigService.update(data);
74
+ }
75
+ this.isSaving = true;
76
+ subscription.subscribe({
77
+ next: (response) => {
78
+ this.isSaving = false;
79
+ // update the form with response.
80
+ this.configForm.patchValue({
81
+ ...response?.item
82
+ });
83
+ this.alertService.addAlert('Configuration saved successfully', 'success');
84
+ },
85
+ error: () => this.isSaving = false
86
+ });
87
+ }
88
+ resetFieldValue(field) {
89
+ this.configForm.get(field).setValue('');
90
+ }
91
+ getFieldValue(field) {
92
+ return this.configForm.get(field).value;
93
+ }
94
+ isFieldValid(field) {
95
+ return this.formValidatorService.isFieldValid(field, this.configForm);
96
+ }
97
+ getErrorMessage(field) {
98
+ return this.formValidatorService.getErrorMessage(field, this.configForm, errorMessages);
99
+ }
100
+ /**
101
+ * Fetch access control config and update the form.
102
+ *
103
+ * @private
104
+ */
105
+ fetchAccessControlConfig() {
106
+ this.isWorking = true;
107
+ this.accessControlConfigService.index().subscribe({
108
+ next: (response) => {
109
+ this.isWorking = false;
110
+ const data = response?.data;
111
+ // set the defaults
112
+ if (!data?.client_id) {
113
+ data.max_failed_consecutive_login_attempts = 5;
114
+ data.max_old_passwords_block = 2;
115
+ data.min_password_length = 5;
116
+ }
117
+ this.configForm.patchValue(data);
118
+ },
119
+ error: () => this.isWorking = false
120
+ });
121
+ }
122
+ /**
123
+ * Redirect back to last page.
124
+ */
125
+ redirectBack() {
126
+ this.location.back();
127
+ }
128
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigFormComponent, deps: [{ token: i1.UntypedFormBuilder }, { token: i2.FormValidatorService }, { token: i2.AlertService }, { token: i3.AccessControlConfigService }, { token: i4.Location }], target: i0.ɵɵFactoryTarget.Component });
129
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AccessControlConfigFormComponent, selector: "app-access-control-config-form", ngImport: i0, template: "<mat-card fxLayout=\"row\" fxLayoutAlign=\"center\" fxFlexOffset=\"25%\" fxFlex=\"50%\">\n <mat-card-content>\n <form [formGroup]=\"configForm\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div class=\"text-center\">\n <h2>\n Access Control Configuration\n </h2>\n </div>\n <div class=\"alert alert-warning\" role=\"alert\">\n Be careful with these configurations as they affect all users in your entire app.\n </div>\n <div *ngIf=\"!isWorking\" fxLayout=\"row wrap\" fxLayoutGap=\"1rem grid\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Max Failed Login Attempts\n </mat-label>\n <input matInput formControlName=\"max_failed_consecutive_login_attempts\"\n placeholder=\"Max Failed Login Attempts\"\n autocomplete=\"off\"\n type=\"number\"\n min=\"0\"\n required />\n <mat-hint>After how many failed login attempts should this user\u2019s account be locked?</mat-hint>\n <mat-error *ngIf=\"isFieldValid('max_failed_consecutive_login_attempts')\">\n {{getErrorMessage('max_failed_consecutive_login_attempts')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Block x most recent passwords\n </mat-label>\n <input matInput\n formControlName=\"max_old_passwords_block\"\n placeholder=\"Block x most recent passwords\"\n type=\"number\"\n min=\"0\"\n autocomplete=\"off\"\n required />\n <mat-hint>\n How many recent passwords should the system block the user from reusing?\n Example: The user cannot reuse any of his/her last 3 passwords.\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('max_old_passwords_block')\">\n {{getErrorMessage('max_old_passwords_block')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Minimum Password Length\n </mat-label>\n <input matInput\n formControlName=\"min_password_length\"\n placeholder=\"Minimum Password Length\"\n type=\"number\"\n min=\"1\"\n autocomplete=\"off\" />\n <mat-hint>\n What is the minimum length of a user\u2019s password?\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('min_password_length')\">\n {{getErrorMessage('min_password_length')}}\n </mat-error>\n </mat-form-field>\n\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Track Old Passwords?</p>\n <div>\n <mat-button-toggle-group formControlName=\"is_track_old_passwords\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should our software track old passwords to ensure users do not reuse old passwords?\n </mat-hint>\n </div>\n </div>\n </div>\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Number </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_number\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a number in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Symbol </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_symbol\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a symbol in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Capital Letter </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_capital_letter\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a capital letter in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n </div>\n <div class=\"mt-3 mb-3\">\n <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </div>\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button [disabled]=\"isSaving\" mat-flat-button type=\"button\" (click)=\"redirectBack()\">\n Cancel\n </button>\n <button [disabled]=\"isSaving\"\n mat-raised-button type=\"submit\" color=\"primary\">\n {{ isSaving ? 'Saving...' : 'Save' }}\n </button>\n </div>\n </div>\n </form>\n </mat-card-content>\n</mat-card>\n", styles: [".custom-hint{font-size:10.5px}\n"], dependencies: [{ kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i5.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i5.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexOffsetDirective, selector: " [fxFlexOffset], [fxFlexOffset.xs], [fxFlexOffset.sm], [fxFlexOffset.md], [fxFlexOffset.lg], [fxFlexOffset.xl], [fxFlexOffset.lt-sm], [fxFlexOffset.lt-md], [fxFlexOffset.lt-lg], [fxFlexOffset.lt-xl], [fxFlexOffset.gt-xs], [fxFlexOffset.gt-sm], [fxFlexOffset.gt-md], [fxFlexOffset.gt-lg]", inputs: ["fxFlexOffset", "fxFlexOffset.xs", "fxFlexOffset.sm", "fxFlexOffset.md", "fxFlexOffset.lg", "fxFlexOffset.xl", "fxFlexOffset.lt-sm", "fxFlexOffset.lt-md", "fxFlexOffset.lt-lg", "fxFlexOffset.lt-xl", "fxFlexOffset.gt-xs", "fxFlexOffset.gt-sm", "fxFlexOffset.gt-md", "fxFlexOffset.gt-lg"] }, { kind: "directive", type: i5.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i7.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i7.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i8.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i9.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i9.MatCardContent, selector: "mat-card-content" }, { kind: "directive", type: i10.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i10.MatButtonToggle, selector: "mat-button-toggle", inputs: ["disableRipple", "aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i11.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }] });
130
+ }
131
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigFormComponent, decorators: [{
132
+ type: Component,
133
+ args: [{ selector: 'app-access-control-config-form', template: "<mat-card fxLayout=\"row\" fxLayoutAlign=\"center\" fxFlexOffset=\"25%\" fxFlex=\"50%\">\n <mat-card-content>\n <form [formGroup]=\"configForm\" (ngSubmit)=\"submit()\">\n <div fxLayout=\"column\" class=\"mat-typography\">\n <div class=\"text-center\">\n <h2>\n Access Control Configuration\n </h2>\n </div>\n <div class=\"alert alert-warning\" role=\"alert\">\n Be careful with these configurations as they affect all users in your entire app.\n </div>\n <div *ngIf=\"!isWorking\" fxLayout=\"row wrap\" fxLayoutGap=\"1rem grid\">\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Max Failed Login Attempts\n </mat-label>\n <input matInput formControlName=\"max_failed_consecutive_login_attempts\"\n placeholder=\"Max Failed Login Attempts\"\n autocomplete=\"off\"\n type=\"number\"\n min=\"0\"\n required />\n <mat-hint>After how many failed login attempts should this user\u2019s account be locked?</mat-hint>\n <mat-error *ngIf=\"isFieldValid('max_failed_consecutive_login_attempts')\">\n {{getErrorMessage('max_failed_consecutive_login_attempts')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Block x most recent passwords\n </mat-label>\n <input matInput\n formControlName=\"max_old_passwords_block\"\n placeholder=\"Block x most recent passwords\"\n type=\"number\"\n min=\"0\"\n autocomplete=\"off\"\n required />\n <mat-hint>\n How many recent passwords should the system block the user from reusing?\n Example: The user cannot reuse any of his/her last 3 passwords.\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('max_old_passwords_block')\">\n {{getErrorMessage('max_old_passwords_block')}}\n </mat-error>\n </mat-form-field>\n\n <mat-form-field fxFlex=\"100%\">\n <mat-label>\n Minimum Password Length\n </mat-label>\n <input matInput\n formControlName=\"min_password_length\"\n placeholder=\"Minimum Password Length\"\n type=\"number\"\n min=\"1\"\n autocomplete=\"off\" />\n <mat-hint>\n What is the minimum length of a user\u2019s password?\n </mat-hint>\n <mat-error *ngIf=\"isFieldValid('min_password_length')\">\n {{getErrorMessage('min_password_length')}}\n </mat-error>\n </mat-form-field>\n\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Track Old Passwords?</p>\n <div>\n <mat-button-toggle-group formControlName=\"is_track_old_passwords\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should our software track old passwords to ensure users do not reuse old passwords?\n </mat-hint>\n </div>\n </div>\n </div>\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Number </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_number\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a number in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Symbol </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_symbol\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a symbol in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n <div fxFlex=\"0 1 calc(50%-1rem)\">\n <div fxLayout=\"column\">\n <p class=\"text-secondary mb-0\"> Password Require Capital Letter </p>\n <div>\n <mat-button-toggle-group formControlName=\"is_password_require_capital_letter\" class=\"status\" name=\"status\">\n <mat-button-toggle [value]=\"true\">\n Yes\n </mat-button-toggle>\n <mat-button-toggle [value]=\"false\">\n No\n </mat-button-toggle>\n </mat-button-toggle-group>\n <br>\n <mat-hint class=\"custom-hint\">\n Should the system force a user to have a capital letter in his/her password?\n </mat-hint>\n </div>\n </div>\n </div>\n </div>\n <div class=\"mt-3 mb-3\">\n <mat-progress-bar *ngIf=\"isWorking\" mode=\"indeterminate\"></mat-progress-bar>\n </div>\n <div fxFlex=\"100%\" fxLayout fxLayoutAlign=\"end\" fxLayoutGap=\"1rem\">\n <button [disabled]=\"isSaving\" mat-flat-button type=\"button\" (click)=\"redirectBack()\">\n Cancel\n </button>\n <button [disabled]=\"isSaving\"\n mat-raised-button type=\"submit\" color=\"primary\">\n {{ isSaving ? 'Saving...' : 'Save' }}\n </button>\n </div>\n </div>\n </form>\n </mat-card-content>\n</mat-card>\n", styles: [".custom-hint{font-size:10.5px}\n"] }]
134
+ }], ctorParameters: function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.FormValidatorService }, { type: i2.AlertService }, { type: i3.AccessControlConfigService }, { type: i4.Location }]; } });
135
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hY2Nlc3MtY29udHJvbC1jb25maWcvYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hY2Nlc3MtY29udHJvbC1jb25maWcvYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzVDLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFNbEQsTUFBTSxhQUFhLEdBQVE7SUFDekIscUNBQXFDLEVBQUU7UUFDckMsUUFBUSxFQUFFLDhEQUE4RDtLQUN6RTtJQUNELHVCQUF1QixFQUFFO1FBQ3ZCLFFBQVEsRUFBRSxnREFBZ0Q7S0FDM0Q7Q0FDRixDQUFDO0FBT0YsTUFBTSxPQUFPLGdDQUFnQztJQU9qQztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBVFYsVUFBVSxDQUFtQjtJQUM3QixTQUFTLENBQVU7SUFDbkIsUUFBUSxDQUFVO0lBRWxCLFlBQ1UsRUFBc0IsRUFDdEIsb0JBQTBDLEVBQzFDLFlBQTBCLEVBQzFCLDBCQUFzRCxFQUN0RCxRQUFrQjtRQUpsQixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQUN0Qix5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBQzFDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLCtCQUEwQixHQUExQiwwQkFBMEIsQ0FB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Q0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxTQUFTLENBQUM7WUFDaEQsSUFBSSxFQUFFLENBQUMsUUFBYSxFQUFRLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixNQUFNLElBQUksR0FBUSxRQUFRLEVBQUUsSUFBSSxDQUFDO2dCQUNqQyxtQkFBbUI7Z0JBQ25CLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxFQUFFO29CQUNwQixJQUFJLENBQUMscUNBQXFDLEdBQUcsQ0FBQyxDQUFDO29CQUMvQyxJQUFJLENBQUMsdUJBQXVCLEdBQUksQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO2lCQUM5QjtnQkFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSztTQUNwQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO3dHQXBIVSxnQ0FBZ0M7NEZBQWhDLGdDQUFnQyxzRUN2QjdDLG0wTkFpS0E7OzRGRDFJYSxnQ0FBZ0M7a0JBTDVDLFNBQVM7K0JBQ0UsZ0NBQWdDIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGU6Y29tcG9uZW50LXNlbGVjdG9yICovXG5pbXBvcnQgeyBBY2Nlc3NDb250cm9sQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2FjY2Vzcy1jb250cm9sLWNvbmZpZy5zZXJ2aWNlJztcbmltcG9ydCB7IFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWxlcnRTZXJ2aWNlLCBGb3JtVmFsaWRhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHtMb2NhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmNvbnN0IGVycm9yTWVzc2FnZXM6IGFueSA9IHtcbiAgbWF4X2ZhaWxlZF9jb25zZWN1dGl2ZV9sb2dpbl9hdHRlbXB0czoge1xuICAgIHJlcXVpcmVkOiAnVGhlIG1heCBmYWlsZWQgY29uc2VjdXRpdmUgbG9naW4gYXR0ZW1wdHMgZmllbGQgaXMgcmVxdWlyZWQuJyxcbiAgfSxcbiAgbWF4X29sZF9wYXNzd29yZHNfYmxvY2s6IHtcbiAgICByZXF1aXJlZDogJ1RoZSBtYXggb2xkIHBhc3N3b3JkcyBibG9jayBmaWVsZCBpcyByZXF1aXJlZC4nLFxuICB9LFxufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWFjY2Vzcy1jb250cm9sLWNvbmZpZy1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY2Vzcy1jb250cm9sLWNvbmZpZy1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBY2Nlc3NDb250cm9sQ29uZmlnRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uZmlnRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcbiAgaXNXb3JraW5nOiBib29sZWFuO1xuICBpc1NhdmluZzogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBmb3JtVmFsaWRhdG9yU2VydmljZTogRm9ybVZhbGlkYXRvclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGFjY2Vzc0NvbnRyb2xDb25maWdTZXJ2aWNlOiBBY2Nlc3NDb250cm9sQ29uZmlnU2VydmljZSxcbiAgICBwcml2YXRlIGxvY2F0aW9uOiBMb2NhdGlvblxuICApIHtcbiAgICB0aGlzLmNyZWF0ZUZvcm0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgdGhlIGZvcm0gaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIGNyZWF0ZUZvcm0oKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWdGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBpZDogWycnXSxcbiAgICAgIGNsaWVudF9pZDogWycnXSxcbiAgICAgIG1heF9mYWlsZWRfY29uc2VjdXRpdmVfbG9naW5fYXR0ZW1wdHM6IFs1LCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgIGlzX3RyYWNrX29sZF9wYXNzd29yZHM6IFtmYWxzZV0sXG4gICAgICBtYXhfb2xkX3Bhc3N3b3Jkc19ibG9jazogWzIsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgaXNfcGFzc3dvcmRfcmVxdWlyZV9udW1iZXI6IFtmYWxzZV0sXG4gICAgICBpc19wYXNzd29yZF9yZXF1aXJlX3N5bWJvbDogW2ZhbHNlXSxcbiAgICAgIGlzX3Bhc3N3b3JkX3JlcXVpcmVfY2FwaXRhbF9sZXR0ZXI6IFtmYWxzZV0sXG4gICAgICBtaW5fcGFzc3dvcmRfbGVuZ3RoOiBbNV0sXG4gICAgfSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyBmZXRjaCB0aGUgYWNjZXNzIGNvbnRyb2wgY29uZmlnIGZvciBjbGllbnRcbiAgICB0aGlzLmZldGNoQWNjZXNzQ29udHJvbENvbmZpZygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmUgdGhlIGFjY2VzcyBjb250cm9sIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBzdWJtaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY29uZmlnRm9ybS5pbnZhbGlkKSB7XG4gICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydCgnUGxlYXNlIGNoZWNrIHRoZSBmb3JtIGZvciBlcnJvcnMuJywgJ2Vycm9yJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0YTogYW55ID0geyAuLi50aGlzLmNvbmZpZ0Zvcm0udmFsdWUgfTtcbiAgICBsZXQgc3Vic2NyaXB0aW9uOiBPYnNlcnZhYmxlPGFueT4gPSB0aGlzLmFjY2Vzc0NvbnRyb2xDb25maWdTZXJ2aWNlLnN0b3JlKGRhdGEpO1xuICAgIGlmIChkYXRhPy5jbGllbnRfaWQpIHtcbiAgICAgIHN1YnNjcmlwdGlvbiA9IHRoaXMuYWNjZXNzQ29udHJvbENvbmZpZ1NlcnZpY2UudXBkYXRlKGRhdGEpO1xuICAgIH1cbiAgICB0aGlzLmlzU2F2aW5nID0gdHJ1ZTtcbiAgICBzdWJzY3JpcHRpb24uc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuaXNTYXZpbmcgPSBmYWxzZTtcbiAgICAgICAgLy8gdXBkYXRlIHRoZSBmb3JtIHdpdGggcmVzcG9uc2UuXG4gICAgICAgIHRoaXMuY29uZmlnRm9ybS5wYXRjaFZhbHVlKHtcbiAgICAgICAgICAuLi5yZXNwb25zZT8uaXRlbVxuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFsZXJ0U2VydmljZS5hZGRBbGVydChcbiAgICAgICAgICAnQ29uZmlndXJhdGlvbiBzYXZlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICAgICdzdWNjZXNzJ1xuICAgICAgICApO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoKSA9PiB0aGlzLmlzU2F2aW5nID0gZmFsc2VcbiAgICB9KTtcbiAgfVxuXG4gIHJlc2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5jb25maWdGb3JtLmdldChmaWVsZCkuc2V0VmFsdWUoJycpO1xuICB9XG5cbiAgZ2V0RmllbGRWYWx1ZShmaWVsZDogc3RyaW5nKTogYW55IHtcbiAgICByZXR1cm4gdGhpcy5jb25maWdGb3JtLmdldChmaWVsZCkudmFsdWU7XG4gIH1cblxuICBpc0ZpZWxkVmFsaWQoZmllbGQ6IHN0cmluZyk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybVZhbGlkYXRvclNlcnZpY2UuaXNGaWVsZFZhbGlkKGZpZWxkLCB0aGlzLmNvbmZpZ0Zvcm0pO1xuICB9XG5cbiAgZ2V0RXJyb3JNZXNzYWdlKGZpZWxkOiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiB0aGlzLmZvcm1WYWxpZGF0b3JTZXJ2aWNlLmdldEVycm9yTWVzc2FnZShmaWVsZCwgdGhpcy5jb25maWdGb3JtLCBlcnJvck1lc3NhZ2VzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGZXRjaCBhY2Nlc3MgY29udHJvbCBjb25maWcgYW5kIHVwZGF0ZSB0aGUgZm9ybS5cbiAgICpcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgZmV0Y2hBY2Nlc3NDb250cm9sQ29uZmlnKCk6IHZvaWQge1xuICAgIHRoaXMuaXNXb3JraW5nID0gdHJ1ZTtcbiAgICB0aGlzLmFjY2Vzc0NvbnRyb2xDb25maWdTZXJ2aWNlLmluZGV4KCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHJlc3BvbnNlPy5kYXRhO1xuICAgICAgICAvLyBzZXQgdGhlIGRlZmF1bHRzXG4gICAgICAgIGlmICghZGF0YT8uY2xpZW50X2lkKSB7XG4gICAgICAgICAgZGF0YS5tYXhfZmFpbGVkX2NvbnNlY3V0aXZlX2xvZ2luX2F0dGVtcHRzID0gNTtcbiAgICAgICAgICBkYXRhLm1heF9vbGRfcGFzc3dvcmRzX2Jsb2NrID0gIDI7XG4gICAgICAgICAgZGF0YS5taW5fcGFzc3dvcmRfbGVuZ3RoID0gNTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNvbmZpZ0Zvcm0ucGF0Y2hWYWx1ZShkYXRhKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKCkgPT4gdGhpcy5pc1dvcmtpbmcgPSBmYWxzZVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZGlyZWN0IGJhY2sgdG8gbGFzdCBwYWdlLlxuICAgKi9cbiAgcmVkaXJlY3RCYWNrKCk6IHZvaWQge1xuICAgIHRoaXMubG9jYXRpb24uYmFjaygpO1xuICB9XG59XG4iLCI8bWF0LWNhcmQgZnhMYXlvdXQ9XCJyb3dcIiBmeExheW91dEFsaWduPVwiY2VudGVyXCIgZnhGbGV4T2Zmc2V0PVwiMjUlXCIgZnhGbGV4PVwiNTAlXCI+XG4gIDxtYXQtY2FyZC1jb250ZW50PlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiY29uZmlnRm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoKVwiPlxuICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiIGNsYXNzPVwibWF0LXR5cG9ncmFwaHlcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyXCI+XG4gICAgICAgICAgPGgyPlxuICAgICAgICAgICAgQWNjZXNzIENvbnRyb2wgQ29uZmlndXJhdGlvblxuICAgICAgICAgIDwvaDI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgYWxlcnQtd2FybmluZ1wiIHJvbGU9XCJhbGVydFwiPlxuICAgICAgICAgIEJlIGNhcmVmdWwgd2l0aCB0aGVzZSBjb25maWd1cmF0aW9ucyBhcyB0aGV5IGFmZmVjdCBhbGwgdXNlcnMgaW4geW91ciBlbnRpcmUgYXBwLlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiAqbmdJZj1cIiFpc1dvcmtpbmdcIiBmeExheW91dD1cInJvdyB3cmFwXCIgZnhMYXlvdXRHYXA9XCIxcmVtIGdyaWRcIj5cbiAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgZnhGbGV4PVwiMTAwJVwiPlxuICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgTWF4IEZhaWxlZCBMb2dpbiBBdHRlbXB0c1xuICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXQgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwibWF4X2ZhaWxlZF9jb25zZWN1dGl2ZV9sb2dpbl9hdHRlbXB0c1wiXG4gICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJNYXggRmFpbGVkIExvZ2luIEF0dGVtcHRzXCJcbiAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgIG1pbj1cIjBcIlxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICA8bWF0LWhpbnQ+QWZ0ZXIgaG93IG1hbnkgZmFpbGVkIGxvZ2luIGF0dGVtcHRzIHNob3VsZCB0aGlzIHVzZXLigJlzIGFjY291bnQgYmUgbG9ja2VkPzwvbWF0LWhpbnQ+XG4gICAgICAgICAgICA8bWF0LWVycm9yICpuZ0lmPVwiaXNGaWVsZFZhbGlkKCdtYXhfZmFpbGVkX2NvbnNlY3V0aXZlX2xvZ2luX2F0dGVtcHRzJylcIj5cbiAgICAgICAgICAgICAge3tnZXRFcnJvck1lc3NhZ2UoJ21heF9mYWlsZWRfY29uc2VjdXRpdmVfbG9naW5fYXR0ZW1wdHMnKX19XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIEJsb2NrIHggbW9zdCByZWNlbnQgcGFzc3dvcmRzXG4gICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1heF9vbGRfcGFzc3dvcmRzX2Jsb2NrXCJcbiAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIkJsb2NrIHggbW9zdCByZWNlbnQgcGFzc3dvcmRzXCJcbiAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICBtaW49XCIwXCJcbiAgICAgICAgICAgICAgICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkIC8+XG4gICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgIEhvdyBtYW55IHJlY2VudCBwYXNzd29yZHMgc2hvdWxkIHRoZSBzeXN0ZW0gYmxvY2sgdGhlIHVzZXIgZnJvbSByZXVzaW5nP1xuICAgICAgICAgICAgICBFeGFtcGxlOiAgVGhlIHVzZXIgY2Fubm90IHJldXNlIGFueSBvZiBoaXMvaGVyIGxhc3QgMyBwYXNzd29yZHMuXG4gICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnbWF4X29sZF9wYXNzd29yZHNfYmxvY2snKVwiPlxuICAgICAgICAgICAgICB7e2dldEVycm9yTWVzc2FnZSgnbWF4X29sZF9wYXNzd29yZHNfYmxvY2snKX19XG4gICAgICAgICAgICA8L21hdC1lcnJvcj5cbiAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuXG4gICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGZ4RmxleD1cIjEwMCVcIj5cbiAgICAgICAgICAgIDxtYXQtbGFiZWw+XG4gICAgICAgICAgICAgIE1pbmltdW0gUGFzc3dvcmQgTGVuZ3RoXG4gICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dCBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1pbl9wYXNzd29yZF9sZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTWluaW11bSBQYXNzd29yZCBMZW5ndGhcIlxuICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgIG1pbj1cIjFcIlxuICAgICAgICAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XG4gICAgICAgICAgICA8bWF0LWhpbnQ+XG4gICAgICAgICAgICAgIFdoYXQgaXMgdGhlIG1pbmltdW0gbGVuZ3RoIG9mIGEgdXNlcuKAmXMgcGFzc3dvcmQ/XG4gICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgICAgPG1hdC1lcnJvciAqbmdJZj1cImlzRmllbGRWYWxpZCgnbWluX3Bhc3N3b3JkX2xlbmd0aCcpXCI+XG4gICAgICAgICAgICAgIHt7Z2V0RXJyb3JNZXNzYWdlKCdtaW5fcGFzc3dvcmRfbGVuZ3RoJyl9fVxuICAgICAgICAgICAgPC9tYXQtZXJyb3I+XG4gICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cblxuICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMCAxIGNhbGMoNTAlLTFyZW0pXCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgbWItMFwiPiBUcmFjayBPbGQgUGFzc3dvcmRzPzwvcD5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgZm9ybUNvbnRyb2xOYW1lPVwiaXNfdHJhY2tfb2xkX3Bhc3N3b3Jkc1wiIGNsYXNzPVwic3RhdHVzXCIgbmFtZT1cInN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIFllc1xuICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgTm9cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiY3VzdG9tLWhpbnRcIj5cbiAgICAgICAgICAgICAgICAgIFNob3VsZCBvdXIgc29mdHdhcmUgdHJhY2sgb2xkIHBhc3N3b3JkcyB0byBlbnN1cmUgdXNlcnMgZG8gbm90IHJldXNlIG9sZCBwYXNzd29yZHM/XG4gICAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8ZGl2IGZ4RmxleD1cIjAgMSBjYWxjKDUwJS0xcmVtKVwiPlxuICAgICAgICAgICAgPGRpdiBmeExheW91dD1cImNvbHVtblwiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cInRleHQtc2Vjb25kYXJ5IG1iLTBcIj4gUGFzc3dvcmQgUmVxdWlyZSBOdW1iZXIgPC9wPlxuICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZS1ncm91cCBmb3JtQ29udHJvbE5hbWU9XCJpc19wYXNzd29yZF9yZXF1aXJlX251bWJlclwiIGNsYXNzPVwic3RhdHVzXCIgbmFtZT1cInN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIFllc1xuICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgTm9cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiY3VzdG9tLWhpbnRcIj5cbiAgICAgICAgICAgICAgICAgIFNob3VsZCB0aGUgc3lzdGVtIGZvcmNlIGEgdXNlciB0byBoYXZlIGEgbnVtYmVyIGluIGhpcy9oZXIgcGFzc3dvcmQ/XG4gICAgICAgICAgICAgICAgPC9tYXQtaGludD5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMCAxIGNhbGMoNTAlLTFyZW0pXCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgbWItMFwiPiBQYXNzd29yZCBSZXF1aXJlIFN5bWJvbCA8L3A+XG4gICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlLWdyb3VwIGZvcm1Db250cm9sTmFtZT1cImlzX3Bhc3N3b3JkX3JlcXVpcmVfc3ltYm9sXCIgY2xhc3M9XCJzdGF0dXNcIiBuYW1lPVwic3RhdHVzXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUgW3ZhbHVlXT1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgWWVzXG4gICAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlPlxuICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJmYWxzZVwiPlxuICAgICAgICAgICAgICAgICAgICBOb1xuICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICA8L21hdC1idXR0b24tdG9nZ2xlLWdyb3VwPlxuICAgICAgICAgICAgICAgIDxicj5cbiAgICAgICAgICAgICAgICA8bWF0LWhpbnQgY2xhc3M9XCJjdXN0b20taGludFwiPlxuICAgICAgICAgICAgICAgICAgU2hvdWxkIHRoZSBzeXN0ZW0gZm9yY2UgYSB1c2VyIHRvIGhhdmUgYSBzeW1ib2wgaW4gaGlzL2hlciBwYXNzd29yZD9cbiAgICAgICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgZnhGbGV4PVwiMCAxIGNhbGMoNTAlLTFyZW0pXCI+XG4gICAgICAgICAgICA8ZGl2IGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gICAgICAgICAgICAgIDxwIGNsYXNzPVwidGV4dC1zZWNvbmRhcnkgbWItMFwiPiBQYXNzd29yZCBSZXF1aXJlIENhcGl0YWwgTGV0dGVyIDwvcD5cbiAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICA8bWF0LWJ1dHRvbi10b2dnbGUtZ3JvdXAgZm9ybUNvbnRyb2xOYW1lPVwiaXNfcGFzc3dvcmRfcmVxdWlyZV9jYXBpdGFsX2xldHRlclwiIGNsYXNzPVwic3RhdHVzXCIgbmFtZT1cInN0YXR1c1wiPlxuICAgICAgICAgICAgICAgICAgPG1hdC1idXR0b24tdG9nZ2xlIFt2YWx1ZV09XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIFllc1xuICAgICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZT5cbiAgICAgICAgICAgICAgICAgIDxtYXQtYnV0dG9uLXRvZ2dsZSBbdmFsdWVdPVwiZmFsc2VcIj5cbiAgICAgICAgICAgICAgICAgICAgTm9cbiAgICAgICAgICAgICAgICAgIDwvbWF0LWJ1dHRvbi10b2dnbGU+XG4gICAgICAgICAgICAgICAgPC9tYXQtYnV0dG9uLXRvZ2dsZS1ncm91cD5cbiAgICAgICAgICAgICAgICA8YnI+XG4gICAgICAgICAgICAgICAgPG1hdC1oaW50IGNsYXNzPVwiY3VzdG9tLWhpbnRcIj5cbiAgICAgICAgICAgICAgICAgIFNob3VsZCB0aGUgc3lzdGVtIGZvcmNlIGEgdXNlciB0byBoYXZlIGEgY2FwaXRhbCBsZXR0ZXIgaW4gaGlzL2hlciBwYXNzd29yZD9cbiAgICAgICAgICAgICAgICA8L21hdC1oaW50PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm10LTMgbWItM1wiPlxuICAgICAgICAgIDxtYXQtcHJvZ3Jlc3MtYmFyICpuZ0lmPVwiaXNXb3JraW5nXCIgbW9kZT1cImluZGV0ZXJtaW5hdGVcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGZ4RmxleD1cIjEwMCVcIiBmeExheW91dCBmeExheW91dEFsaWduPVwiZW5kXCIgZnhMYXlvdXRHYXA9XCIxcmVtXCI+XG4gICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNTYXZpbmdcIiBtYXQtZmxhdC1idXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJyZWRpcmVjdEJhY2soKVwiPlxuICAgICAgICAgICAgQ2FuY2VsXG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNTYXZpbmdcIlxuICAgICAgICAgICAgICAgICAgbWF0LXJhaXNlZC1idXR0b24gdHlwZT1cInN1Ym1pdFwiIGNvbG9yPVwicHJpbWFyeVwiPlxuICAgICAgICAgICAge3sgaXNTYXZpbmcgPyAnU2F2aW5nLi4uJyA6ICdTYXZlJyB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgPC9tYXQtY2FyZC1jb250ZW50PlxuPC9tYXQtY2FyZD5cbiJdfQ==
@@ -17,15 +17,15 @@ const routes = [
17
17
  }
18
18
  ];
19
19
  export class AccessControlConfigRoutingModule {
20
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
22
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
20
23
  }
21
- AccessControlConfigRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
22
- AccessControlConfigRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
23
- AccessControlConfigRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigRoutingModule, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigRoutingModule, decorators: [{
25
25
  type: NgModule,
26
26
  args: [{
27
27
  imports: [RouterModule.forChild(routes)],
28
28
  exports: [RouterModule]
29
29
  }]
30
30
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hY2Nlc3MtY29udHJvbC1jb25maWcvYWNjZXNzLWNvbnRyb2wtY29uZmlnLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQzs7O0FBRW5ILE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsZ0NBQWdDO1FBQzNDLFdBQVcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0tBQ25DO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsSUFBSTtRQUNWLFVBQVUsRUFBRSxFQUFFO1FBQ2QsU0FBUyxFQUFFLE1BQU07S0FDbEI7Q0FDRixDQUFDO0FBS0YsTUFBTSxPQUFPLGdDQUFnQzs7OEhBQWhDLGdDQUFnQzsrSEFBaEMsZ0NBQWdDLHdDQUZqQyxZQUFZOytIQUVYLGdDQUFnQyxZQUhqQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUM3QixZQUFZOzRGQUVYLGdDQUFnQztrQkFKNUMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uR3VhcmQgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7QWNjZXNzQ29udHJvbENvbmZpZ0Zvcm1Db21wb25lbnR9IGZyb20gJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IEFjY2Vzc0NvbnRyb2xDb25maWdGb3JtQ29tcG9uZW50LFxuICAgIGNhbkFjdGl2YXRlOiBbQXV0aGVudGljYXRpb25HdWFyZF1cbiAgfSxcbiAge1xuICAgIHBhdGg6ICcqKicsXG4gICAgcmVkaXJlY3RUbzogJycsXG4gICAgcGF0aE1hdGNoOiAnZnVsbCdcbiAgfVxuXTtcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEFjY2Vzc0NvbnRyb2xDb25maWdSb3V0aW5nTW9kdWxlIHsgfVxuIl19
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hY2Nlc3MtY29udHJvbC1jb25maWcvYWNjZXNzLWNvbnRyb2wtY29uZmlnLXJvdXRpbmcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUM5QyxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxtRUFBbUUsQ0FBQzs7O0FBRW5ILE1BQU0sTUFBTSxHQUFXO0lBQ3JCO1FBQ0UsSUFBSSxFQUFFLEVBQUU7UUFDUixTQUFTLEVBQUUsZ0NBQWdDO1FBQzNDLFdBQVcsRUFBRSxDQUFDLG1CQUFtQixDQUFDO0tBQ25DO0lBQ0Q7UUFDRSxJQUFJLEVBQUUsSUFBSTtRQUNWLFVBQVUsRUFBRSxFQUFFO1FBQ2QsU0FBUyxFQUFFLE1BQU07S0FDbEI7Q0FDRixDQUFDO0FBS0YsTUFBTSxPQUFPLGdDQUFnQzt3R0FBaEMsZ0NBQWdDO3lHQUFoQyxnQ0FBZ0Msd0NBRmpDLFlBQVk7eUdBRVgsZ0NBQWdDLFlBSGpDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQzdCLFlBQVk7OzRGQUVYLGdDQUFnQztrQkFKNUMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUN4QyxPQUFPLEVBQUUsQ0FBQyxZQUFZLENBQUM7aUJBQ3hCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSwgUm91dGVzIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEF1dGhlbnRpY2F0aW9uR3VhcmQgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7QWNjZXNzQ29udHJvbENvbmZpZ0Zvcm1Db21wb25lbnR9IGZyb20gJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50JztcblxuY29uc3Qgcm91dGVzOiBSb3V0ZXMgPSBbXG4gIHtcbiAgICBwYXRoOiAnJyxcbiAgICBjb21wb25lbnQ6IEFjY2Vzc0NvbnRyb2xDb25maWdGb3JtQ29tcG9uZW50LFxuICAgIGNhbkFjdGl2YXRlOiBbQXV0aGVudGljYXRpb25HdWFyZF1cbiAgfSxcbiAge1xuICAgIHBhdGg6ICcqKicsXG4gICAgcmVkaXJlY3RUbzogJycsXG4gICAgcGF0aE1hdGNoOiAnZnVsbCdcbiAgfVxuXTtcbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtSb3V0ZXJNb2R1bGUuZm9yQ2hpbGQocm91dGVzKV0sXG4gIGV4cG9ydHM6IFtSb3V0ZXJNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEFjY2Vzc0NvbnRyb2xDb25maWdSb3V0aW5nTW9kdWxlIHsgfVxuIl19
@@ -0,0 +1,137 @@
1
+ import { __decorate } from "tslib";
2
+ import { AccessControlConfigFormComponent } from './access-control-config-form/access-control-config-form.component';
3
+ import { UntilDestroy } from '@ngneat/until-destroy';
4
+ import { untilDestroyed } from '@ngneat/until-destroy';
5
+ import { UntypedFormControl } from '@angular/forms';
6
+ import { Component } from '@angular/core';
7
+ import { debounceTime } from 'rxjs/operators';
8
+ import { ActionPopupComponent } from '../action-popup';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@angular/material/dialog";
11
+ import * as i2 from "../core";
12
+ import * as i3 from "@angular/forms";
13
+ import * as i4 from "./access-control-config.service";
14
+ import * as i5 from "@angular/common";
15
+ import * as i6 from "@angular/flex-layout/flex";
16
+ import * as i7 from "@angular/material/button";
17
+ import * as i8 from "@angular/material/icon";
18
+ import * as i9 from "@angular/material/table";
19
+ let AccessControlConfigComponent = class AccessControlConfigComponent {
20
+ dialog;
21
+ alertService;
22
+ fb;
23
+ configService;
24
+ configs = [];
25
+ displayedColumns = [
26
+ 'index',
27
+ 'max_failed_consecutive_login_attempts',
28
+ 'is_track_old_passwords',
29
+ 'max_old_passwords_block',
30
+ 'min_password_length',
31
+ 'is_password_require_number',
32
+ 'is_password_require_symbol',
33
+ 'is_password_require_capital_letter',
34
+ 'actions'
35
+ ];
36
+ page = 1;
37
+ lastPage;
38
+ perPage = 25;
39
+ isWorking = false;
40
+ filterFormGroup;
41
+ constructor(dialog, alertService, fb, configService) {
42
+ this.dialog = dialog;
43
+ this.alertService = alertService;
44
+ this.fb = fb;
45
+ this.configService = configService;
46
+ this.filterFormGroup = this.fb.group({
47
+ search: new UntypedFormControl(''),
48
+ version: new UntypedFormControl(''),
49
+ sort_by: new UntypedFormControl('released_on|DESC'),
50
+ });
51
+ }
52
+ ngOnInit() {
53
+ this.loadData();
54
+ this.listenChanges();
55
+ }
56
+ listenChanges() {
57
+ this.filterFormGroup.valueChanges.pipe(debounceTime(500), untilDestroyed(this))
58
+ .subscribe(changes => {
59
+ this.reload();
60
+ });
61
+ }
62
+ ngOnDestroy() { }
63
+ async loadData() {
64
+ try {
65
+ this.isWorking = true;
66
+ const filters = this.filterFormGroup.value;
67
+ filters.perPage = this.perPage;
68
+ filters.page = this.page;
69
+ const result = await this.configService.getConfigs(filters);
70
+ this.lastPage = result.last_page || this.page;
71
+ this.configs = this.configs.concat(result.data);
72
+ }
73
+ catch (error) {
74
+ this.alertService.addAlert('Unable to process, try later', 'warn');
75
+ }
76
+ finally {
77
+ this.isWorking = false;
78
+ }
79
+ }
80
+ reload() {
81
+ this.configs = [];
82
+ this.page = 1;
83
+ if (!this.isWorking) {
84
+ this.loadData();
85
+ }
86
+ }
87
+ modifyTechlifyUpdate(model) {
88
+ const dialogRef = this.dialog.open(AccessControlConfigFormComponent, {
89
+ width: '600px',
90
+ data: {
91
+ configDetails: model,
92
+ }
93
+ });
94
+ dialogRef.afterClosed().subscribe(result => {
95
+ if (result) {
96
+ this.reload();
97
+ }
98
+ });
99
+ }
100
+ async deleteTechlifyUpdate(model) {
101
+ const dialogRef = this.dialog.open(ActionPopupComponent, {
102
+ width: '400px',
103
+ data: {
104
+ title: 'Delete Update',
105
+ message: `Are you sure to delete this update?`
106
+ },
107
+ autoFocus: false
108
+ });
109
+ dialogRef.afterClosed().subscribe(async (result) => {
110
+ if (result) {
111
+ // Action confirmed
112
+ try {
113
+ await this.configService.deleteConfig(model.id);
114
+ this.alertService.addAlert('Successfully deleted the config', 'success');
115
+ this.reload();
116
+ }
117
+ catch (error) {
118
+ this.alertService.addAlert('Unable to process, try later', 'warn');
119
+ }
120
+ }
121
+ });
122
+ }
123
+ resetFieldValue(field) {
124
+ this.filterFormGroup.get(field).setValue('');
125
+ }
126
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigComponent, deps: [{ token: i1.MatDialog }, { token: i2.AlertService }, { token: i3.UntypedFormBuilder }, { token: i4.AccessControlConfigService }], target: i0.ɵɵFactoryTarget.Component });
127
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: AccessControlConfigComponent, selector: "app-access-control-config", ngImport: i0, template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n Access Control Configs\n <button mat-raised-button color=\"primary\" (click)=\"modifyTechlifyUpdate()\" class=\"primary-bg text-white\"\n *ngIf=\"!configs.length\">\n <mat-icon>\n add\n </mat-icon>\n Config\n </button>\n </h3>\n\n <table mat-table [dataSource]=\"configs\" class=\"mat-elevation-z8 w-100\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"max_failed_consecutive_login_attempts\">\n <th mat-header-cell *matHeaderCellDef>\n Max Failed Login Attempts\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.max_failed_consecutive_login_attempts}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_track_old_passwords\">\n <th mat-header-cell *matHeaderCellDef>\n Track Old Passwords\n </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.is_track_old_passwords ? 'Yes' : 'No'}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"max_old_passwords_block\">\n <th mat-header-cell *matHeaderCellDef>\n Max old password block\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.max_old_passwords_block }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"min_password_length\">\n <th mat-header-cell *matHeaderCellDef>\n Minimum Password Length\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.min_password_length}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_number\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Number\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_number ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_symbol\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Symbol\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_symbol ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_capital_letter\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Capital Letter\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_capital_letter ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"modifyTechlifyUpdate(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"deleteTechlifyUpdate(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatTable, selector: "mat-table, table[mat-table]", exportAs: ["matTable"] }, { kind: "directive", type: i9.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { kind: "directive", type: i9.MatHeaderRowDef, selector: "[matHeaderRowDef]", inputs: ["matHeaderRowDef", "matHeaderRowDefSticky"] }, { kind: "directive", type: i9.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { kind: "directive", type: i9.MatCellDef, selector: "[matCellDef]" }, { kind: "directive", type: i9.MatRowDef, selector: "[matRowDef]", inputs: ["matRowDefColumns", "matRowDefWhen"] }, { kind: "directive", type: i9.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { kind: "directive", type: i9.MatCell, selector: "mat-cell, td[mat-cell]" }, { kind: "component", type: i9.MatHeaderRow, selector: "mat-header-row, tr[mat-header-row]", exportAs: ["matHeaderRow"] }, { kind: "component", type: i9.MatRow, selector: "mat-row, tr[mat-row]", exportAs: ["matRow"] }] });
128
+ };
129
+ AccessControlConfigComponent = __decorate([
130
+ UntilDestroy()
131
+ ], AccessControlConfigComponent);
132
+ export { AccessControlConfigComponent };
133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigComponent, decorators: [{
134
+ type: Component,
135
+ args: [{ selector: 'app-access-control-config', template: "<section class=\"p-4\" fxLayout=\"column\">\n <h3 class=\"primary-color text-center\">\n Access Control Configs\n <button mat-raised-button color=\"primary\" (click)=\"modifyTechlifyUpdate()\" class=\"primary-bg text-white\"\n *ngIf=\"!configs.length\">\n <mat-icon>\n add\n </mat-icon>\n Config\n </button>\n </h3>\n\n <table mat-table [dataSource]=\"configs\" class=\"mat-elevation-z8 w-100\">\n\n <ng-container matColumnDef=\"index\">\n <th mat-header-cell *matHeaderCellDef> # </th>\n <td mat-cell *matCellDef=\"let element;let i=index\"> {{ i+1 }} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"max_failed_consecutive_login_attempts\">\n <th mat-header-cell *matHeaderCellDef>\n Max Failed Login Attempts\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.max_failed_consecutive_login_attempts}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_track_old_passwords\">\n <th mat-header-cell *matHeaderCellDef>\n Track Old Passwords\n </th>\n <td mat-cell *matCellDef=\"let element\"> {{element?.is_track_old_passwords ? 'Yes' : 'No'}} </td>\n </ng-container>\n\n <ng-container matColumnDef=\"max_old_passwords_block\">\n <th mat-header-cell *matHeaderCellDef>\n Max old password block\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.max_old_passwords_block }}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"min_password_length\">\n <th mat-header-cell *matHeaderCellDef>\n Minimum Password Length\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.min_password_length}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_number\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Number\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_number ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_symbol\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Symbol\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_symbol ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <ng-container matColumnDef=\"is_password_require_capital_letter\">\n <th mat-header-cell *matHeaderCellDef>\n Password: Require Capital Letter\n </th>\n <td mat-cell *matCellDef=\"let element\">\n {{element?.is_password_require_capital_letter ? 'Yes' : 'No'}}\n </td>\n </ng-container>\n\n <!-- Actions Column -->\n <ng-container matColumnDef=\"actions\">\n <th mat-header-cell *matHeaderCellDef> Actions </th>\n <td mat-cell *matCellDef=\"let element\" class=\"secondary-color\">\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"modifyTechlifyUpdate(element)\">\n <mat-icon>edit</mat-icon>\n </button>\n\n <button type=\"button\" class=\"secondary-color\" mat-icon-button (click)=\"deleteTechlifyUpdate(element)\">\n <mat-icon>delete</mat-icon>\n </button>\n </td>\n </ng-container>\n\n <tr mat-header-row *matHeaderRowDef=\"displayedColumns\"></tr>\n <tr mat-row *matRowDef=\"let row; columns: displayedColumns;\"></tr>\n </table>\n</section>\n" }]
136
+ }], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.AlertService }, { type: i3.UntypedFormBuilder }, { type: i4.AccessControlConfigService }]; } });
137
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYWNjZXNzLWNvbnRyb2wtY29uZmlnL2FjY2Vzcy1jb250cm9sLWNvbmZpZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2FjY2Vzcy1jb250cm9sLWNvbmZpZy9hY2Nlc3MtY29udHJvbC1jb25maWcuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1FQUFtRSxDQUFDO0FBRXJILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGtCQUFrQixFQUFzQixNQUFNLGdCQUFnQixDQUFDO0FBR3hFLE9BQU8sRUFBRSxTQUFTLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBZSxvQkFBb0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7OztBQVM3RCxJQUFNLDRCQUE0QixHQUFsQyxNQUFNLDRCQUE0QjtJQW9CN0I7SUFDQTtJQUNBO0lBQ0E7SUF0QlYsT0FBTyxHQUFVLEVBQUUsQ0FBQztJQUNwQixnQkFBZ0IsR0FBYTtRQUMzQixPQUFPO1FBQ1AsdUNBQXVDO1FBQ3ZDLHdCQUF3QjtRQUN4Qix5QkFBeUI7UUFDekIscUJBQXFCO1FBQ3JCLDRCQUE0QjtRQUM1Qiw0QkFBNEI7UUFDNUIsb0NBQW9DO1FBQ3BDLFNBQVM7S0FDVixDQUFDO0lBQ0YsSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNULFFB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eyBBY2Nlc3NDb250cm9sQ29uZmlnRm9ybUNvbXBvbmVudCB9IGZyb20gJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0vYWNjZXNzLWNvbnRyb2wtY29uZmlnLWZvcm0uY29tcG9uZW50JztcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi9hY2Nlc3MtY29udHJvbC1jb25maWcuc2VydmljZSc7XG5pbXBvcnQgeyBVbnRpbERlc3Ryb3kgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgdW50aWxEZXN0cm95ZWQgfSBmcm9tICdAbmduZWF0L3VudGlsLWRlc3Ryb3knO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUJ1aWxkZXIgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25Qb3B1cCwgQWN0aW9uUG9wdXBDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb24tcG9wdXAnO1xuaW1wb3J0IHtBbGVydFNlcnZpY2V9IGZyb20gJy4uL2NvcmUnO1xuQFVudGlsRGVzdHJveSgpXG5AQ29tcG9uZW50KHtcbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOmNvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ2FwcC1hY2Nlc3MtY29udHJvbC1jb25maWcnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgQWNjZXNzQ29udHJvbENvbmZpZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGNvbmZpZ3M6IGFueVtdID0gW107XG4gIGRpc3BsYXllZENvbHVtbnM6IHN0cmluZ1tdID0gW1xuICAgICdpbmRleCcsXG4gICAgJ21heF9mYWlsZWRfY29uc2VjdXRpdmVfbG9naW5fYXR0ZW1wdHMnLFxuICAgICdpc190cmFja19vbGRfcGFzc3dvcmRzJyxcbiAgICAnbWF4X29sZF9wYXNzd29yZHNfYmxvY2snLFxuICAgICdtaW5fcGFzc3dvcmRfbGVuZ3RoJyxcbiAgICAnaXNfcGFzc3dvcmRfcmVxdWlyZV9udW1iZXInLFxuICAgICdpc19wYXNzd29yZF9yZXF1aXJlX3N5bWJvbCcsXG4gICAgJ2lzX3Bhc3N3b3JkX3JlcXVpcmVfY2FwaXRhbF9sZXR0ZXInLFxuICAgICdhY3Rpb25zJ1xuICBdO1xuICBwYWdlID0gMTtcbiAgbGFzdFBhZ2U6IG51bWJlcjtcbiAgcGVyUGFnZSA9IDI1O1xuICBpc1dvcmtpbmcgPSBmYWxzZTtcbiAgZmlsdGVyRm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZGlhbG9nOiBNYXREaWFsb2csXG4gICAgcHJpdmF0ZSBhbGVydFNlcnZpY2U6IEFsZXJ0U2VydmljZSxcbiAgICBwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBjb25maWdTZXJ2aWNlOiBBY2Nlc3NDb250cm9sQ29uZmlnU2VydmljZVxuICApIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cCA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgc2VhcmNoOiBuZXcgVW50eXBlZEZvcm1Db250cm9sKCcnKSxcbiAgICAgIHZlcnNpb246IG5ldyBVbnR5cGVkRm9ybUNvbnRyb2woJycpLFxuICAgICAgc29ydF9ieTogbmV3IFVudHlwZWRGb3JtQ29udHJvbCgncmVsZWFzZWRfb258REVTQycpLFxuICAgIH0pO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIHRoaXMubGlzdGVuQ2hhbmdlcygpO1xuICB9XG5cbiAgbGlzdGVuQ2hhbmdlcygpIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZUNoYW5nZXMucGlwZShkZWJvdW5jZVRpbWUoNTAwKSwgdW50aWxEZXN0cm95ZWQodGhpcykpXG4gICAgICAuc3Vic2NyaWJlKGNoYW5nZXMgPT4ge1xuICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHsgfVxuXG4gIGFzeW5jIGxvYWREYXRhKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmlzV29ya2luZyA9IHRydWU7XG4gICAgICBjb25zdCBmaWx0ZXJzOiBhbnkgPSB0aGlzLmZpbHRlckZvcm1Hcm91cC52YWx1ZTtcbiAgICAgIGZpbHRlcnMucGVyUGFnZSA9IHRoaXMucGVyUGFnZTtcbiAgICAgIGZpbHRlcnMucGFnZSA9IHRoaXMucGFnZTtcbiAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gYXdhaXQgdGhpcy5jb25maWdTZXJ2aWNlLmdldENvbmZpZ3MoXG4gICAgICAgIGZpbHRlcnNcbiAgICAgICk7XG4gICAgICB0aGlzLmxhc3RQYWdlID0gcmVzdWx0Lmxhc3RfcGFnZSB8fCB0aGlzLnBhZ2U7XG4gICAgICB0aGlzLmNvbmZpZ3MgPSB0aGlzLmNvbmZpZ3MuY29uY2F0KHJlc3VsdC5kYXRhKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5hbGVydFNlcnZpY2UuYWRkQWxlcnQoJ1VuYWJsZSB0byBwcm9jZXNzLCB0cnkgbGF0ZXInLCAnd2FybicpO1xuICAgIH1cbiAgICBmaW5hbGx5IHtcbiAgICAgIHRoaXMuaXNXb3JraW5nID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmVsb2FkKCkge1xuICAgIHRoaXMuY29uZmlncyA9IFtdO1xuICAgIHRoaXMucGFnZSA9IDE7XG4gICAgaWYgKCF0aGlzLmlzV29ya2luZykge1xuICAgICAgdGhpcy5sb2FkRGF0YSgpO1xuICAgIH1cbiAgfVxuXG4gIG1vZGlmeVRlY2hsaWZ5VXBkYXRlKG1vZGVsPzogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBY2Nlc3NDb250cm9sQ29uZmlnRm9ybUNvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc2MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIGNvbmZpZ0RldGFpbHM6IG1vZGVsLFxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKHJlc3VsdCA9PiB7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIHRoaXMucmVsb2FkKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkZWxldGVUZWNobGlmeVVwZGF0ZShtb2RlbDogYW55KSB7XG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cub3BlbihBY3Rpb25Qb3B1cENvbXBvbmVudCwge1xuICAgICAgd2lkdGg6ICc0MDBweCcsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIHRpdGxlOiAnRGVsZXRlIFVwZGF0ZScsXG4gICAgICAgIG1lc3NhZ2U6IGBBcmUgeW91IHN1cmUgdG8gZGVsZXRlIHRoaXMgdXBkYXRlP2BcbiAgICAgIH0gYXMgQWN0aW9uUG9wdXAsXG4gICAgICBhdXRvRm9jdXM6IGZhbHNlXG4gICAgfSk7XG5cbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoYXN5bmMgcmVzdWx0ID0+IHtcbiAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgLy8gQWN0aW9uIGNvbmZpcm1lZFxuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IHRoaXMuY29uZmlnU2VydmljZS5kZWxldGVDb25maWcobW9kZWwuaWQpO1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KFxuICAgICAgICAgICAgJ1N1Y2Nlc3NmdWxseSBkZWxldGVkIHRoZSBjb25maWcnLFxuICAgICAgICAgICAgJ3N1Y2Nlc3MnXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0aGlzLnJlbG9hZCgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHRoaXMuYWxlcnRTZXJ2aWNlLmFkZEFsZXJ0KCdVbmFibGUgdG8gcHJvY2VzcywgdHJ5IGxhdGVyJywgJ3dhcm4nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmVzZXRGaWVsZFZhbHVlKGZpZWxkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmZpbHRlckZvcm1Hcm91cC5nZXQoZmllbGQpLnNldFZhbHVlKCcnKTtcbiAgfVxuXG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cInAtNFwiIGZ4TGF5b3V0PVwiY29sdW1uXCI+XG4gIDxoMyBjbGFzcz1cInByaW1hcnktY29sb3IgdGV4dC1jZW50ZXJcIj5cbiAgICBBY2Nlc3MgQ29udHJvbCBDb25maWdzXG4gICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiAoY2xpY2spPVwibW9kaWZ5VGVjaGxpZnlVcGRhdGUoKVwiIGNsYXNzPVwicHJpbWFyeS1iZyB0ZXh0LXdoaXRlXCJcbiAgICAgICpuZ0lmPVwiIWNvbmZpZ3MubGVuZ3RoXCI+XG4gICAgICA8bWF0LWljb24+XG4gICAgICAgIGFkZFxuICAgICAgPC9tYXQtaWNvbj5cbiAgICAgIENvbmZpZ1xuICAgIDwvYnV0dG9uPlxuICA8L2gzPlxuXG4gIDx0YWJsZSBtYXQtdGFibGUgW2RhdGFTb3VyY2VdPVwiY29uZmlnc1wiIGNsYXNzPVwibWF0LWVsZXZhdGlvbi16OCB3LTEwMFwiPlxuXG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJpbmRleFwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj4gIyA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnQ7bGV0IGk9aW5kZXhcIj4ge3sgaSsxIH19IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm1heF9mYWlsZWRfY29uc2VjdXRpdmVfbG9naW5fYXR0ZW1wdHNcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgIE1heCBGYWlsZWQgTG9naW4gQXR0ZW1wdHNcbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICB7e2VsZW1lbnQ/Lm1heF9mYWlsZWRfY29uc2VjdXRpdmVfbG9naW5fYXR0ZW1wdHN9fVxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNfdHJhY2tfb2xkX3Bhc3N3b3Jkc1wiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgVHJhY2sgT2xkIFBhc3N3b3Jkc1xuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+IHt7ZWxlbWVudD8uaXNfdHJhY2tfb2xkX3Bhc3N3b3JkcyA/ICdZZXMnIDogJ05vJ319IDwvdGQ+XG4gICAgPC9uZy1jb250YWluZXI+XG5cbiAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm1heF9vbGRfcGFzc3dvcmRzX2Jsb2NrXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPlxuICAgICAgICBNYXggb2xkIHBhc3N3b3JkIGJsb2NrXG4gICAgICA8L3RoPlxuICAgICAgPHRkIG1hdC1jZWxsICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIj5cbiAgICAgICAge3tlbGVtZW50Py5tYXhfb2xkX3Bhc3N3b3Jkc19ibG9jayB9fVxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwibWluX3Bhc3N3b3JkX2xlbmd0aFwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgTWluaW11bSBQYXNzd29yZCBMZW5ndGhcbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICB7e2VsZW1lbnQ/Lm1pbl9wYXNzd29yZF9sZW5ndGh9fVxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNfcGFzc3dvcmRfcmVxdWlyZV9udW1iZXJcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgIFBhc3N3b3JkOiBSZXF1aXJlIE51bWJlclxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgIHt7ZWxlbWVudD8uaXNfcGFzc3dvcmRfcmVxdWlyZV9udW1iZXIgPyAnWWVzJyA6ICdObyd9fVxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNfcGFzc3dvcmRfcmVxdWlyZV9zeW1ib2xcIj5cbiAgICAgIDx0aCBtYXQtaGVhZGVyLWNlbGwgKm1hdEhlYWRlckNlbGxEZWY+XG4gICAgICAgIFBhc3N3b3JkOiBSZXF1aXJlIFN5bWJvbFxuICAgICAgPC90aD5cbiAgICAgIDx0ZCBtYXQtY2VsbCAqbWF0Q2VsbERlZj1cImxldCBlbGVtZW50XCI+XG4gICAgICAgIHt7ZWxlbWVudD8uaXNfcGFzc3dvcmRfcmVxdWlyZV9zeW1ib2wgPyAnWWVzJyA6ICdObyd9fVxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwiaXNfcGFzc3dvcmRfcmVxdWlyZV9jYXBpdGFsX2xldHRlclwiPlxuICAgICAgPHRoIG1hdC1oZWFkZXItY2VsbCAqbWF0SGVhZGVyQ2VsbERlZj5cbiAgICAgICAgUGFzc3dvcmQ6IFJlcXVpcmUgQ2FwaXRhbCBMZXR0ZXJcbiAgICAgIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiPlxuICAgICAgICB7e2VsZW1lbnQ/LmlzX3Bhc3N3b3JkX3JlcXVpcmVfY2FwaXRhbF9sZXR0ZXIgPyAnWWVzJyA6ICdObyd9fVxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDwhLS0gQWN0aW9ucyBDb2x1bW4gLS0+XG4gICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJhY3Rpb25zXCI+XG4gICAgICA8dGggbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmPiBBY3Rpb25zIDwvdGg+XG4gICAgICA8dGQgbWF0LWNlbGwgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIGNsYXNzPVwic2Vjb25kYXJ5LWNvbG9yXCI+XG4gICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwic2Vjb25kYXJ5LWNvbG9yXCIgbWF0LWljb24tYnV0dG9uIChjbGljayk9XCJtb2RpZnlUZWNobGlmeVVwZGF0ZShlbGVtZW50KVwiPlxuICAgICAgICAgIDxtYXQtaWNvbj5lZGl0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJzZWNvbmRhcnktY29sb3JcIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cImRlbGV0ZVRlY2hsaWZ5VXBkYXRlKGVsZW1lbnQpXCI+XG4gICAgICAgICAgPG1hdC1pY29uPmRlbGV0ZTwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC90ZD5cbiAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgIDx0ciBtYXQtaGVhZGVyLXJvdyAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiPjwvdHI+XG4gICAgPHRyIG1hdC1yb3cgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnM7XCI+PC90cj5cbiAgPC90YWJsZT5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -0,0 +1,34 @@
1
+ export class AccessControlConfiguration {
2
+ id;
3
+ clientId;
4
+ maxFailedConsecutiveLoginAttempts;
5
+ isTrackOldPasswords;
6
+ maxOldPasswordsBlock;
7
+ minPasswordLength;
8
+ isPasswordRequireNumber;
9
+ isPasswordRequireSymbol;
10
+ isPasswordRequireCapitalLetter;
11
+ creatorId;
12
+ createdAt;
13
+ updatedAt;
14
+ deletedAt;
15
+ constructor(id, clientId, maxFailedConsecutiveLoginAttempts, isTrackOldPasswords, maxOldPasswordsBlock, minPasswordLength, isPasswordRequireNumber, isPasswordRequireSymbol, isPasswordRequireCapitalLetter, creatorId, createdAt, updatedAt, deletedAt) {
16
+ this.id = id;
17
+ this.clientId = clientId;
18
+ this.maxFailedConsecutiveLoginAttempts = maxFailedConsecutiveLoginAttempts;
19
+ this.isTrackOldPasswords = isTrackOldPasswords;
20
+ this.maxOldPasswordsBlock = maxOldPasswordsBlock;
21
+ this.minPasswordLength = minPasswordLength;
22
+ this.isPasswordRequireNumber = isPasswordRequireNumber;
23
+ this.isPasswordRequireSymbol = isPasswordRequireSymbol;
24
+ this.isPasswordRequireCapitalLetter = isPasswordRequireCapitalLetter;
25
+ this.creatorId = creatorId;
26
+ this.createdAt = createdAt;
27
+ this.updatedAt = updatedAt;
28
+ this.deletedAt = deletedAt;
29
+ }
30
+ static fromObject(obj) {
31
+ return new AccessControlConfiguration(obj.id, obj.client_id, obj.max_failed_consecutive_login_attempts, obj.is_track_old_passwords, obj.max_old_passwords_block, obj.min_password_length, obj.is_password_require_number, obj.is_password_require_symbol, obj.is_password_require_capital_letter, obj.creator_id, obj.created_at, obj.updated_at, obj.deleted_at);
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXRlY2hsaWZ5LWNvcmUvc3JjL2xpYi9hY2Nlc3MtY29udHJvbC1jb25maWcvYWNjZXNzLWNvbnRyb2wtY29uZmlnLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTywwQkFBMEI7SUFFNUI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFiVCxZQUNTLEVBQVcsRUFDWCxRQUFpQixFQUNqQixpQ0FBaUQsRUFDakQsbUJBQTZCLEVBQzdCLG9CQUE2QixFQUM3QixpQkFBMEIsRUFDMUIsdUJBQWlDLEVBQ2pDLHVCQUFpQyxFQUNqQyw4QkFBd0MsRUFDeEMsU0FBeUIsRUFDekIsU0FBZ0IsRUFDaEIsU0FBZ0IsRUFDaEIsU0FBdUI7UUFadkIsT0FBRSxHQUFGLEVBQUUsQ0FBUztRQUNYLGFBQVEsR0FBUixRQUFRLENBQVM7UUFDakIsc0NBQWlDLEdBQWpDLGlDQUFpQyxDQUFnQjtRQUNqRCx3QkFBbUIsR0FBbkIsbUJBQW1CLENBQVU7UUFDN0IseUJBQW9CLEdBQXBCLG9CQUFvQixDQUFTO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBUztRQUMxQiw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVU7UUFDakMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFVO1FBQ2pDLG1DQUE4QixHQUE5Qiw4QkFBOEIsQ0FBVTtRQUN4QyxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUN6QixjQUFTLEdBQVQsU0FBUyxDQUFPO1FBQ2hCLGNBQVMsR0FBVCxTQUFTLENBQU87UUFDaEIsY0FBUyxHQUFULFNBQVMsQ0FBYztJQUM3QixDQUFDO0lBRUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFRO1FBQy9CLE9BQU8sSUFBSSwwQkFBMEIsQ0FDbkMsR0FBRyxDQUFDLEVBQUUsRUFDTixHQUFHLENBQUMsU0FBUyxFQUNiLEdBQUcsQ0FBQyxxQ0FBcUMsRUFDekMsR0FBRyxDQUFDLHNCQUFzQixFQUMxQixHQUFHLENBQUMsdUJBQXVCLEVBQzNCLEdBQUcsQ0FBQyxtQkFBbUIsRUFDdkIsR0FBRyxDQUFDLDBCQUEwQixFQUM5QixHQUFHLENBQUMsMEJBQTBCLEVBQzlCLEdBQUcsQ0FBQyxrQ0FBa0MsRUFDdEMsR0FBRyxDQUFDLFVBQVUsRUFDZCxHQUFHLENBQUMsVUFBVSxFQUNkLEdBQUcsQ0FBQyxVQUFVLEVBQ2QsR0FBRyxDQUFDLFVBQVUsQ0FDZixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIEFjY2Vzc0NvbnRyb2xDb25maWd1cmF0aW9uIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGlkPzogbnVtYmVyLFxuICAgIHB1YmxpYyBjbGllbnRJZD86IG51bWJlcixcbiAgICBwdWJsaWMgbWF4RmFpbGVkQ29uc2VjdXRpdmVMb2dpbkF0dGVtcHRzPzogbnVtYmVyIHwgbnVsbCxcbiAgICBwdWJsaWMgaXNUcmFja09sZFBhc3N3b3Jkcz86IGJvb2xlYW4sXG4gICAgcHVibGljIG1heE9sZFBhc3N3b3Jkc0Jsb2NrPzogbnVtYmVyLFxuICAgIHB1YmxpYyBtaW5QYXNzd29yZExlbmd0aD86IG51bWJlcixcbiAgICBwdWJsaWMgaXNQYXNzd29yZFJlcXVpcmVOdW1iZXI/OiBib29sZWFuLFxuICAgIHB1YmxpYyBpc1Bhc3N3b3JkUmVxdWlyZVN5bWJvbD86IGJvb2xlYW4sXG4gICAgcHVibGljIGlzUGFzc3dvcmRSZXF1aXJlQ2FwaXRhbExldHRlcj86IGJvb2xlYW4sXG4gICAgcHVibGljIGNyZWF0b3JJZD86IG51bWJlciB8IG51bGwsXG4gICAgcHVibGljIGNyZWF0ZWRBdD86IERhdGUsXG4gICAgcHVibGljIHVwZGF0ZWRBdD86IERhdGUsXG4gICAgcHVibGljIGRlbGV0ZWRBdD86IERhdGUgfCBudWxsXG4gICkge31cblxuICBwdWJsaWMgc3RhdGljIGZyb21PYmplY3Qob2JqOiBhbnkpOiBBY2Nlc3NDb250cm9sQ29uZmlndXJhdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBBY2Nlc3NDb250cm9sQ29uZmlndXJhdGlvbihcbiAgICAgIG9iai5pZCxcbiAgICAgIG9iai5jbGllbnRfaWQsXG4gICAgICBvYmoubWF4X2ZhaWxlZF9jb25zZWN1dGl2ZV9sb2dpbl9hdHRlbXB0cyxcbiAgICAgIG9iai5pc190cmFja19vbGRfcGFzc3dvcmRzLFxuICAgICAgb2JqLm1heF9vbGRfcGFzc3dvcmRzX2Jsb2NrLFxuICAgICAgb2JqLm1pbl9wYXNzd29yZF9sZW5ndGgsXG4gICAgICBvYmouaXNfcGFzc3dvcmRfcmVxdWlyZV9udW1iZXIsXG4gICAgICBvYmouaXNfcGFzc3dvcmRfcmVxdWlyZV9zeW1ib2wsXG4gICAgICBvYmouaXNfcGFzc3dvcmRfcmVxdWlyZV9jYXBpdGFsX2xldHRlcixcbiAgICAgIG9iai5jcmVhdG9yX2lkLFxuICAgICAgb2JqLmNyZWF0ZWRfYXQsXG4gICAgICBvYmoudXBkYXRlZF9hdCxcbiAgICAgIG9iai5kZWxldGVkX2F0XG4gICAgKTtcbiAgfVxufVxuIl19
@@ -13,30 +13,30 @@ import { MatButtonModule } from '@angular/material/button';
13
13
  import { MatProgressBarModule } from '@angular/material/progress-bar';
14
14
  import * as i0 from "@angular/core";
15
15
  export class AccessControlConfigModule {
16
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
17
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigModule, declarations: [AccessControlConfigComponent,
18
+ AccessControlConfigFormComponent], imports: [CommonModule,
19
+ ReactiveFormsModule,
20
+ InfiniteScrollModule,
21
+ FlexLayoutModule,
22
+ AccessControlConfigRoutingModule,
23
+ MaterialModule,
24
+ MatCardModule,
25
+ MatButtonToggleModule,
26
+ MatButtonModule,
27
+ MatProgressBarModule] });
28
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigModule, imports: [CommonModule,
29
+ ReactiveFormsModule,
30
+ InfiniteScrollModule,
31
+ FlexLayoutModule,
32
+ AccessControlConfigRoutingModule,
33
+ MaterialModule,
34
+ MatCardModule,
35
+ MatButtonToggleModule,
36
+ MatButtonModule,
37
+ MatProgressBarModule] });
16
38
  }
17
- AccessControlConfigModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
- AccessControlConfigModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigModule, declarations: [AccessControlConfigComponent,
19
- AccessControlConfigFormComponent], imports: [CommonModule,
20
- ReactiveFormsModule,
21
- InfiniteScrollModule,
22
- FlexLayoutModule,
23
- AccessControlConfigRoutingModule,
24
- MaterialModule,
25
- MatCardModule,
26
- MatButtonToggleModule,
27
- MatButtonModule,
28
- MatProgressBarModule] });
29
- AccessControlConfigModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigModule, imports: [CommonModule,
30
- ReactiveFormsModule,
31
- InfiniteScrollModule,
32
- FlexLayoutModule,
33
- AccessControlConfigRoutingModule,
34
- MaterialModule,
35
- MatCardModule,
36
- MatButtonToggleModule,
37
- MatButtonModule,
38
- MatProgressBarModule] });
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: AccessControlConfigModule, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigModule, decorators: [{
40
40
  type: NgModule,
41
41
  args: [{
42
42
  declarations: [
@@ -57,4 +57,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
57
57
  ]
58
58
  }]
59
59
  }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYWNjZXNzLWNvbnRyb2wtY29uZmlnL2FjY2Vzcy1jb250cm9sLWNvbmZpZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDckgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7O0FBcUJwRSxNQUFNLE9BQU8seUJBQXlCOzt1SEFBekIseUJBQXlCO3dIQUF6Qix5QkFBeUIsaUJBaEJsQyw0QkFBNEI7UUFDNUIsZ0NBQWdDLGFBR2hDLFlBQVk7UUFDWixtQkFBbUI7UUFDbkIsb0JBQW9CO1FBQ3BCLGdCQUFnQjtRQUNoQixnQ0FBZ0M7UUFDaEMsY0FBYztRQUNkLGFBQWE7UUFDYixxQkFBcUI7UUFDckIsZUFBZTtRQUNmLG9CQUFvQjt3SEFHWCx5QkFBeUIsWUFabEMsWUFBWTtRQUNaLG1CQUFtQjtRQUNuQixvQkFBb0I7UUFDcEIsZ0JBQWdCO1FBQ2hCLGdDQUFnQztRQUNoQyxjQUFjO1FBQ2QsYUFBYTtRQUNiLHFCQUFxQjtRQUNyQixlQUFlO1FBQ2Ysb0JBQW9COzRGQUdYLHlCQUF5QjtrQkFsQnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixnQ0FBZ0M7d0JBQ2hDLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0NvbnRyb2xDb25maWdSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9hY2Nlc3MtY29udHJvbC1jb25maWctcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgQWNjZXNzQ29udHJvbENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xDb25maWdGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9hY2Nlc3MtY29udHJvbC1jb25maWctZm9ybS9hY2Nlc3MtY29udHJvbC1jb25maWctZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7TWF0QnV0dG9uVG9nZ2xlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBY2Nlc3NDb250cm9sQ29uZmlnQ29tcG9uZW50LFxuICAgIEFjY2Vzc0NvbnRyb2xDb25maWdGb3JtQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIEFjY2Vzc0NvbnRyb2xDb25maWdSb3V0aW5nTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFjY2Vzc0NvbnRyb2xDb25maWdNb2R1bGUgeyB9XG4iXX0=
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC10ZWNobGlmeS1jb3JlL3NyYy9saWIvYWNjZXNzLWNvbnRyb2wtY29uZmlnL2FjY2Vzcy1jb250cm9sLWNvbmZpZy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDckgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sZ0NBQWdDLENBQUM7O0FBcUJwRSxNQUFNLE9BQU8seUJBQXlCO3dHQUF6Qix5QkFBeUI7eUdBQXpCLHlCQUF5QixpQkFoQmxDLDRCQUE0QjtZQUM1QixnQ0FBZ0MsYUFHaEMsWUFBWTtZQUNaLG1CQUFtQjtZQUNuQixvQkFBb0I7WUFDcEIsZ0JBQWdCO1lBQ2hCLGdDQUFnQztZQUNoQyxjQUFjO1lBQ2QsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2Ysb0JBQW9CO3lHQUdYLHlCQUF5QixZQVpsQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixnQkFBZ0I7WUFDaEIsZ0NBQWdDO1lBQ2hDLGNBQWM7WUFDZCxhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixvQkFBb0I7OzRGQUdYLHlCQUF5QjtrQkFsQnJDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDRCQUE0Qjt3QkFDNUIsZ0NBQWdDO3FCQUNqQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLG9CQUFvQjt3QkFDcEIsZ0JBQWdCO3dCQUNoQixnQ0FBZ0M7d0JBQ2hDLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2Ysb0JBQW9CO3FCQUNyQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjY2Vzc0NvbnRyb2xDb25maWdSb3V0aW5nTW9kdWxlIH0gZnJvbSAnLi9hY2Nlc3MtY29udHJvbC1jb25maWctcm91dGluZy5tb2R1bGUnO1xuaW1wb3J0IHsgQWNjZXNzQ29udHJvbENvbmZpZ0NvbXBvbmVudCB9IGZyb20gJy4vYWNjZXNzLWNvbnRyb2wtY29uZmlnLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEluZmluaXRlU2Nyb2xsTW9kdWxlIH0gZnJvbSAnbmd4LWluZmluaXRlLXNjcm9sbCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRmxleExheW91dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2ZsZXgtbGF5b3V0JztcbmltcG9ydCB7IEFjY2Vzc0NvbnRyb2xDb25maWdGb3JtQ29tcG9uZW50IH0gZnJvbSAnLi9hY2Nlc3MtY29udHJvbC1jb25maWctZm9ybS9hY2Nlc3MtY29udHJvbC1jb25maWctZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxNb2R1bGUgfSBmcm9tICcuLi9tYXRlcmlhbC5tb2R1bGUnO1xuaW1wb3J0IHtNYXRDYXJkTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcbmltcG9ydCB7TWF0QnV0dG9uVG9nZ2xlTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24tdG9nZ2xlJztcbmltcG9ydCB7TWF0QnV0dG9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcblxuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBBY2Nlc3NDb250cm9sQ29uZmlnQ29tcG9uZW50LFxuICAgIEFjY2Vzc0NvbnRyb2xDb25maWdGb3JtQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBJbmZpbml0ZVNjcm9sbE1vZHVsZSxcbiAgICBGbGV4TGF5b3V0TW9kdWxlLFxuICAgIEFjY2Vzc0NvbnRyb2xDb25maWdSb3V0aW5nTW9kdWxlLFxuICAgIE1hdGVyaWFsTW9kdWxlLFxuICAgIE1hdENhcmRNb2R1bGUsXG4gICAgTWF0QnV0dG9uVG9nZ2xlTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRQcm9ncmVzc0Jhck1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEFjY2Vzc0NvbnRyb2xDb25maWdNb2R1bGUgeyB9XG4iXX0=
@@ -0,0 +1,32 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { TechlifyServiceBaseClass } from '../base-model';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../core";
5
+ export class AccessControlConfigService extends TechlifyServiceBaseClass {
6
+ http;
7
+ constructor(http) {
8
+ super(http, 'access-control-configs');
9
+ this.http = http;
10
+ }
11
+ getConfigs(filters) {
12
+ return this.http.get(`api/access-control-configs`, { params: filters }).toPromise();
13
+ }
14
+ createConfig(config) {
15
+ return this.http.post(`api/access-control-configs`, config).toPromise();
16
+ }
17
+ updateConfig(config) {
18
+ return this.http.put(`api/access-control-configs/${config.id}`, config).toPromise();
19
+ }
20
+ deleteConfig(configId) {
21
+ return this.http.delete(`api/access-control-configs/${configId}`).toPromise();
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigService, deps: [{ token: i1.HttpService }], target: i0.ɵɵFactoryTarget.Injectable });
24
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigService, providedIn: 'root' });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AccessControlConfigService, decorators: [{
27
+ type: Injectable,
28
+ args: [{
29
+ providedIn: 'root'
30
+ }]
31
+ }], ctorParameters: function () { return [{ type: i1.HttpService }]; } });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWNvbnRyb2wtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtdGVjaGxpZnktY29yZS9zcmMvbGliL2FjY2Vzcy1jb250cm9sLWNvbmZpZy9hY2Nlc3MtY29udHJvbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBTXpELE1BQU0sT0FBTywwQkFBMkIsU0FBUSx3QkFBd0I7SUFHN0Q7SUFEVCxZQUNTLElBQWlCO1FBRXhCLEtBQUssQ0FBQyxJQUFJLEVBQUUsd0JBQXdCLENBQUMsQ0FBQztRQUYvQixTQUFJLEdBQUosSUFBSSxDQUFhO0lBRzFCLENBQUM7SUFFRCxVQUFVLENBQUMsT0FBWTtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLDRCQUE0QixFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDdEYsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFXO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDMUUsQ0FBQztJQUVELFlBQVksQ0FBQyxNQUFXO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsOEJBQThCLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN0RixDQUFDO0lBRUQsWUFBWSxDQUFDLFFBQWE7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyw4QkFBOEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNoRixDQUFDO3dHQXRCVSwwQkFBMEI7NEdBQTFCLDBCQUEwQixjQUZ6QixNQUFNOzs0RkFFUCwwQkFBMEI7a0JBSHRDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVGVjaGxpZnlTZXJ2aWNlQmFzZUNsYXNzIH0gZnJvbSAnLi4vYmFzZS1tb2RlbCc7XG5pbXBvcnQgeyBIdHRwU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBBY2Nlc3NDb250cm9sQ29uZmlnU2VydmljZSBleHRlbmRzIFRlY2hsaWZ5U2VydmljZUJhc2VDbGFzcyB7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGh0dHA6IEh0dHBTZXJ2aWNlXG4gICkge1xuICAgIHN1cGVyKGh0dHAsICdhY2Nlc3MtY29udHJvbC1jb25maWdzJyk7XG4gIH1cblxuICBnZXRDb25maWdzKGZpbHRlcnM6IGFueSkge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGBhcGkvYWNjZXNzLWNvbnRyb2wtY29uZmlnc2AsIHsgcGFyYW1zOiBmaWx0ZXJzIH0pLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgY3JlYXRlQ29uZmlnKGNvbmZpZzogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGBhcGkvYWNjZXNzLWNvbnRyb2wtY29uZmlnc2AsIGNvbmZpZykudG9Qcm9taXNlKCk7XG4gIH1cblxuICB1cGRhdGVDb25maWcoY29uZmlnOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgYXBpL2FjY2Vzcy1jb250cm9sLWNvbmZpZ3MvJHtjb25maWcuaWR9YCwgY29uZmlnKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGRlbGV0ZUNvbmZpZyhjb25maWdJZDogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGUoYGFwaS9hY2Nlc3MtY29udHJvbC1jb25maWdzLyR7Y29uZmlnSWR9YCkudG9Qcm9taXNlKCk7XG4gIH1cbn1cbiJdfQ==