@devtron-labs/devtron-fe-common-lib 0.0.58-beta-1 → 0.0.58-beta-4

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 (588) hide show
  1. package/.eslintignore +96 -0
  2. package/.eslintrc.js +109 -0
  3. package/.github/pull_request_template.md +25 -0
  4. package/.github/workflows/ci.yml +31 -0
  5. package/.github/workflows/release-package.yml +48 -0
  6. package/.husky/pre-commit +5 -0
  7. package/.lintstagedrc +3 -0
  8. package/.nvmrc +1 -0
  9. package/.prettierrc.js +7 -0
  10. package/dist/Common/AddCDButton/AddCDButton.d.ts +3 -3
  11. package/dist/Common/AddCDButton/index.d.ts +2 -2
  12. package/dist/Common/AddCDButton/types.d.ts +26 -26
  13. package/dist/Common/AddCDButton/utils.d.ts +2 -2
  14. package/dist/Common/Api.d.ts +5 -5
  15. package/dist/Common/AppStatus/AppStatus.d.ts +3 -3
  16. package/dist/Common/AppStatus/constants.d.ts +51 -51
  17. package/dist/Common/AppStatus/index.d.ts +1 -1
  18. package/dist/Common/AppStatus/types.d.ts +12 -12
  19. package/dist/Common/AppStatus/utils.d.ts +1 -1
  20. package/dist/Common/BreadCrumb/BreadCrumb.d.ts +5 -5
  21. package/dist/Common/BreadCrumb/BreadcrumbStore.d.ts +17 -17
  22. package/dist/Common/BreadCrumb/Types.d.ts +28 -28
  23. package/dist/Common/CIPipeline.Types.d.ts +265 -265
  24. package/dist/Common/ChartVersionAndTypeSelector.d.ts +4 -3
  25. package/dist/Common/Checkbox.d.ts +5 -5
  26. package/dist/Common/ClipboardButton/ClipboardButton.d.ts +10 -10
  27. package/dist/Common/ClipboardButton/types.d.ts +8 -8
  28. package/dist/Common/Common.service.d.ts +20 -20
  29. package/dist/Common/Constants.d.ts +76 -81
  30. package/dist/Common/CustomInput/CustomInput.d.ts +3 -3
  31. package/dist/Common/CustomInput/Types.d.ts +30 -30
  32. package/dist/Common/CustomInput/index.d.ts +2 -2
  33. package/dist/Common/CustomTagSelector/PropagateTagInfo.d.ts +4 -4
  34. package/dist/Common/CustomTagSelector/ResizableTagTextArea.d.ts +3 -3
  35. package/dist/Common/CustomTagSelector/TagDetails.d.ts +3 -2
  36. package/dist/Common/CustomTagSelector/TagLabelSelect.d.ts +3 -2
  37. package/dist/Common/CustomTagSelector/TagLabelValueSelector.d.ts +3 -2
  38. package/dist/Common/CustomTagSelector/TagSelector.utils.d.ts +12 -12
  39. package/dist/Common/CustomTagSelector/Types.d.ts +68 -68
  40. package/dist/Common/CustomTagSelector/ValidationRules.d.ts +10 -10
  41. package/dist/Common/CustomTagSelector/index.d.ts +6 -6
  42. package/dist/Common/DebouncedSearch/DebouncedSearch.d.ts +17 -17
  43. package/dist/Common/DebouncedSearch/Types.d.ts +14 -14
  44. package/dist/Common/DebouncedSearch/Utils.d.ts +1 -1
  45. package/dist/Common/DeleteComponentModal/DeleteComponent.d.ts +4 -4
  46. package/dist/Common/DeleteComponentModal/types.d.ts +15 -15
  47. package/dist/Common/DevtronProgressing/DevtronProgressing.d.ts +3 -3
  48. package/dist/Common/DevtronProgressing/index.d.ts +1 -1
  49. package/dist/Common/DevtronProgressing/types.d.ts +4 -4
  50. package/dist/Common/Dialogs/ConfirmationDialog.d.ts +9 -9
  51. package/dist/Common/Dialogs/DeleteDialog.d.ts +5 -5
  52. package/dist/Common/Dialogs/DialogForm.d.ts +14 -14
  53. package/dist/Common/Dialogs/ForceDeleteDialog.d.ts +3 -3
  54. package/dist/Common/Dialogs/Types.d.ts +45 -45
  55. package/dist/Common/Dialogs/index.d.ts +4 -4
  56. package/dist/Common/DraggableWrapper/DraggableButton.d.ts +3 -3
  57. package/dist/Common/DraggableWrapper/DraggableWrapper.d.ts +9 -9
  58. package/dist/Common/DraggableWrapper/index.d.ts +3 -3
  59. package/dist/Common/DraggableWrapper/types.d.ts +23 -23
  60. package/dist/Common/Drawer/Drawer.d.ts +16 -14
  61. package/dist/Common/EmptyState/EmptyState.d.ts +25 -28
  62. package/dist/Common/EmptyState/GenericEmptyState.d.ts +5 -4
  63. package/dist/Common/Error.d.ts +17 -17
  64. package/dist/Common/ErrorScreenNotFound.d.ts +3 -3
  65. package/dist/Common/Grid/Grid.d.ts +3 -3
  66. package/dist/Common/Grid/types.d.ts +10 -10
  67. package/dist/Common/Helper.d.ts +64 -65
  68. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.d.ts +1 -1
  69. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.d.ts +6 -6
  70. package/dist/Common/Hooks/UseSuperAdmin/types.d.ts +3 -3
  71. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.d.ts +4 -4
  72. package/dist/Common/Hooks/index.d.ts +3 -3
  73. package/dist/Common/ImageTags.Types.d.ts +40 -40
  74. package/dist/Common/ImageTags.d.ts +4 -3
  75. package/dist/Common/InfoColorBar/InfoColourbar.d.ts +5 -4
  76. package/dist/Common/Modals/Modal.d.ts +3 -3
  77. package/dist/Common/Modals/OpaqueModal.d.ts +12 -12
  78. package/dist/Common/Modals/VisibleModal.d.ts +15 -15
  79. package/dist/Common/Modals/VisibleModal2.d.ts +12 -12
  80. package/dist/Common/MultiSelectCustomization.d.ts +37 -37
  81. package/dist/Common/Pagination/PageSizeSelector.d.ts +4 -3
  82. package/dist/Common/Pagination/Pagination.d.ts +5 -3
  83. package/dist/Common/Pagination/constants.d.ts +5 -5
  84. package/dist/Common/Pagination/index.d.ts +1 -1
  85. package/dist/Common/Pagination/types.d.ts +51 -51
  86. package/dist/Common/Pagination/utils.d.ts +6 -6
  87. package/dist/Common/Policy.Types.d.ts +56 -56
  88. package/dist/Common/PopupMenu.d.ts +8 -8
  89. package/dist/Common/Progressing.d.ts +4 -4
  90. package/dist/Common/RJSF/Form.d.ts +4 -2
  91. package/dist/Common/RJSF/common/FieldRow.d.ts +6 -5
  92. package/dist/Common/RJSF/common/types.d.ts +8 -8
  93. package/dist/Common/RJSF/config.d.ts +4 -4
  94. package/dist/Common/RJSF/constants.d.ts +7 -7
  95. package/dist/Common/RJSF/index.d.ts +3 -3
  96. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.d.ts +3 -2
  97. package/dist/Common/RJSF/templates/ArrayFieldTemplate.d.ts +3 -2
  98. package/dist/Common/RJSF/templates/BaseInput.d.ts +3 -2
  99. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.d.ts +3 -2
  100. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.d.ts +3 -2
  101. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.d.ts +3 -2
  102. package/dist/Common/RJSF/templates/ButtonTemplates/index.d.ts +3 -3
  103. package/dist/Common/RJSF/templates/Description.d.ts +3 -2
  104. package/dist/Common/RJSF/templates/Field.d.ts +3 -2
  105. package/dist/Common/RJSF/templates/FieldErrorTemplate.d.ts +3 -2
  106. package/dist/Common/RJSF/templates/ObjectFieldTemplate.d.ts +3 -2
  107. package/dist/Common/RJSF/templates/TitleField.d.ts +3 -2
  108. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.d.ts +3 -2
  109. package/dist/Common/RJSF/templates/index.d.ts +10 -10
  110. package/dist/Common/RJSF/types.d.ts +3 -3
  111. package/dist/Common/RJSF/utils.d.ts +26 -25
  112. package/dist/Common/RJSF/widgets/Checkbox.d.ts +3 -2
  113. package/dist/Common/RJSF/widgets/Select.d.ts +3 -2
  114. package/dist/Common/RJSF/widgets/index.d.ts +2 -2
  115. package/dist/Common/RadioGroup/RadioGroup.d.ts +17 -16
  116. package/dist/Common/RadioGroup.d.ts +8 -8
  117. package/dist/Common/Reload.d.ts +3 -3
  118. package/dist/Common/ResizableTextarea.d.ts +3 -3
  119. package/dist/Common/SearchBar/SearchBar.component.d.ts +39 -37
  120. package/dist/Common/SearchBar/index.d.ts +2 -2
  121. package/dist/Common/SearchBar/types.d.ts +35 -35
  122. package/dist/Common/Security/ScanVulnerabilitiesTable.d.ts +4 -3
  123. package/dist/Common/ServerError.d.ts +15 -15
  124. package/dist/Common/TippyCustomized.d.ts +4 -3
  125. package/dist/Common/ToastBody.d.ts +23 -23
  126. package/dist/Common/Toggle/Toggle.d.ts +14 -12
  127. package/dist/Common/Types.d.ts +692 -691
  128. package/dist/Common/index.d.ts +50 -51
  129. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraConfigForm.d.ts +4 -0
  130. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraDescriptionField.d.ts +4 -0
  131. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormAction.d.ts +7 -0
  132. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormItem.d.ts +4 -0
  133. package/dist/Pages/GlobalConfigurations/BuildInfra/BuildInfraProfileNameField.d.ts +4 -0
  134. package/dist/Pages/GlobalConfigurations/BuildInfra/Descriptor.d.ts +4 -0
  135. package/dist/Pages/GlobalConfigurations/BuildInfra/Footer.d.ts +4 -0
  136. package/dist/Pages/GlobalConfigurations/BuildInfra/constants.d.ts +48 -0
  137. package/dist/Pages/GlobalConfigurations/BuildInfra/index.d.ts +7 -0
  138. package/dist/Pages/GlobalConfigurations/BuildInfra/services.d.ts +13 -0
  139. package/dist/Pages/GlobalConfigurations/BuildInfra/types.d.ts +281 -0
  140. package/dist/Pages/GlobalConfigurations/BuildInfra/utils.d.ts +12 -0
  141. package/dist/Pages/GlobalConfigurations/index.d.ts +1 -0
  142. package/dist/Pages/index.d.ts +1 -0
  143. package/dist/Shared/Components/APIResponseHandler/APIResponseHandler.d.ts +4 -0
  144. package/dist/Shared/Components/APIResponseHandler/index.d.ts +2 -0
  145. package/dist/Shared/Components/APIResponseHandler/types.d.ts +37 -0
  146. package/dist/Shared/Components/ReactSelect/index.d.ts +1 -0
  147. package/dist/Shared/Components/ReactSelect/utils.d.ts +12 -0
  148. package/dist/Shared/Components/index.d.ts +2 -0
  149. package/dist/Shared/index.d.ts +2 -0
  150. package/dist/Shared/validations.d.ts +7 -0
  151. package/dist/index.d.ts +3 -1
  152. package/dist/index.js +29849 -225
  153. package/package.json +23 -35
  154. package/rollup.config.js +31 -0
  155. package/src/Assets/Icon/ic-add.svg +3 -0
  156. package/src/Assets/Icon/ic-appstatus-cancelled.svg +6 -0
  157. package/src/Assets/Icon/ic-arrow-counter-clockwise.svg +5 -0
  158. package/src/Assets/Icon/ic-check.svg +5 -0
  159. package/src/Assets/Icon/ic-chevron-down.svg +5 -0
  160. package/src/Assets/Icon/ic-copy.svg +3 -0
  161. package/src/Assets/Icon/ic-cpu.svg +4 -0
  162. package/src/Assets/Icon/ic-cross.svg +3 -0
  163. package/src/Assets/Icon/ic-drag.svg +8 -0
  164. package/src/Assets/Icon/ic-enter.svg +3 -0
  165. package/src/Assets/Icon/ic-error-cross.svg +8 -0
  166. package/src/Assets/Icon/ic-error-exclamation.svg +6 -0
  167. package/src/Assets/Icon/ic-error-medium.svg +6 -0
  168. package/src/Assets/Icon/ic-help-outline.svg +3 -0
  169. package/src/Assets/Icon/ic-help.svg +3 -0
  170. package/src/Assets/Icon/ic-info-filled.svg +7 -0
  171. package/src/Assets/Icon/ic-info-outlined.svg +13 -0
  172. package/src/Assets/Icon/ic-memory.svg +3 -0
  173. package/src/Assets/Icon/ic-minus.svg +3 -0
  174. package/src/Assets/Icon/ic-pencil.svg +3 -0
  175. package/src/Assets/Icon/ic-progressing.svg +6 -0
  176. package/src/Assets/Icon/ic-rotate-devtron.svg +103 -0
  177. package/src/Assets/Icon/ic-search.svg +6 -0
  178. package/src/Assets/Icon/ic-timer.svg +3 -0
  179. package/src/Assets/Icon/ic-warning.svg +7 -0
  180. package/src/Assets/Icon/inject-tag.svg +5 -0
  181. package/src/Assets/Img/app-not-deployed.png +0 -0
  182. package/src/Assets/Img/delete-medium.svg +15 -0
  183. package/src/Assets/Img/ic-empty-error@2x.png +0 -0
  184. package/src/Assets/Img/ic-loading-failure.png +0 -0
  185. package/src/Assets/Img/ic-not-authorized.svg +62 -0
  186. package/src/Common/AddCDButton/AddCDButton.tsx +68 -0
  187. package/src/Common/AddCDButton/index.ts +2 -0
  188. package/src/Common/AddCDButton/types.ts +38 -0
  189. package/src/Common/AddCDButton/utils.tsx +35 -0
  190. package/src/Common/Api.ts +230 -0
  191. package/src/Common/AppStatus/AppStatus.tsx +64 -0
  192. package/src/Common/AppStatus/constants.ts +53 -0
  193. package/src/Common/AppStatus/index.ts +1 -0
  194. package/src/Common/AppStatus/types.ts +12 -0
  195. package/src/Common/AppStatus/utils.ts +14 -0
  196. package/src/Common/BreadCrumb/BreadCrumb.tsx +105 -0
  197. package/src/Common/BreadCrumb/BreadcrumbStore.tsx +25 -0
  198. package/src/Common/BreadCrumb/Types.ts +29 -0
  199. package/src/Common/CIPipeline.Types.ts +277 -0
  200. package/src/Common/ChartVersionAndTypeSelector.tsx +78 -0
  201. package/src/Common/Checkbox.tsx +37 -0
  202. package/src/Common/ClipboardButton/ClipboardButton.tsx +61 -0
  203. package/src/Common/ClipboardButton/__tests__/ClipboardButton.test.tsx +43 -0
  204. package/src/Common/ClipboardButton/types.ts +7 -0
  205. package/src/Common/Common.service.ts +315 -0
  206. package/src/Common/Constants.ts +255 -0
  207. package/src/Common/CustomInput/CustomInput.tsx +132 -0
  208. package/src/Common/CustomInput/Types.ts +31 -0
  209. package/src/Common/CustomInput/index.ts +2 -0
  210. package/src/Common/CustomTagSelector/PropagateTagInfo.tsx +46 -0
  211. package/src/Common/CustomTagSelector/ResizableTagTextArea.tsx +84 -0
  212. package/src/Common/CustomTagSelector/TagDetails.tsx +76 -0
  213. package/src/Common/CustomTagSelector/TagLabelSelect.tsx +61 -0
  214. package/src/Common/CustomTagSelector/TagLabelValueSelector.tsx +198 -0
  215. package/src/Common/CustomTagSelector/TagSelector.utils.ts +71 -0
  216. package/src/Common/CustomTagSelector/Types.ts +72 -0
  217. package/src/Common/CustomTagSelector/ValidationRules.ts +58 -0
  218. package/src/Common/CustomTagSelector/index.ts +6 -0
  219. package/src/Common/DebouncedSearch/DebouncedSearch.tsx +78 -0
  220. package/src/Common/DebouncedSearch/Types.ts +13 -0
  221. package/src/Common/DebouncedSearch/Utils.ts +19 -0
  222. package/src/Common/DebouncedSearch/__tests__/DebouncedSearch.test.tsx +61 -0
  223. package/src/Common/DeleteComponentModal/DeleteComponent.tsx +95 -0
  224. package/src/Common/DeleteComponentModal/types.ts +15 -0
  225. package/src/Common/DevtronProgressing/DevtronProgressing.tsx +11 -0
  226. package/src/Common/DevtronProgressing/index.ts +1 -0
  227. package/src/Common/DevtronProgressing/types.ts +4 -0
  228. package/src/Common/Dialogs/ConfirmationDialog.tsx +34 -0
  229. package/src/Common/Dialogs/DeleteDialog.tsx +69 -0
  230. package/src/Common/Dialogs/DialogForm.tsx +86 -0
  231. package/src/Common/Dialogs/ForceDeleteDialog.tsx +19 -0
  232. package/src/Common/Dialogs/Types.ts +47 -0
  233. package/src/Common/Dialogs/index.ts +4 -0
  234. package/src/Common/DraggableWrapper/DraggableButton.tsx +14 -0
  235. package/src/Common/DraggableWrapper/DraggableWrapper.tsx +118 -0
  236. package/src/Common/DraggableWrapper/index.ts +3 -0
  237. package/src/Common/DraggableWrapper/types.ts +27 -0
  238. package/src/Common/Drawer/Drawer.scss +40 -0
  239. package/src/Common/Drawer/Drawer.tsx +49 -0
  240. package/src/Common/EmptyState/EmptyState.tsx +42 -0
  241. package/src/Common/EmptyState/GenericEmptyState.tsx +81 -0
  242. package/src/Common/EmptyState/emptyState.scss +74 -0
  243. package/src/Common/Error.tsx +61 -0
  244. package/src/Common/ErrorScreenNotFound.tsx +31 -0
  245. package/src/Common/Grid/Grid.tsx +44 -0
  246. package/src/Common/Grid/types.ts +11 -0
  247. package/src/Common/Helper.tsx +576 -0
  248. package/src/Common/Hooks/UseClickOutside/UseClickOutside.tsx +15 -0
  249. package/src/Common/Hooks/UseSuperAdmin/UseSuperAdmin.tsx +24 -0
  250. package/src/Common/Hooks/UseSuperAdmin/types.ts +3 -0
  251. package/src/Common/Hooks/UseWindowSize/UseWindowSize.tsx +31 -0
  252. package/src/Common/Hooks/index.ts +3 -0
  253. package/src/Common/ImageTags.Types.ts +44 -0
  254. package/src/Common/ImageTags.tsx +586 -0
  255. package/src/Common/InfoColorBar/InfoColourbar.tsx +80 -0
  256. package/src/Common/InfoColorBar/infoColourBar.scss +28 -0
  257. package/src/Common/Modals/Modal.tsx +68 -0
  258. package/src/Common/Modals/OpaqueModal.tsx +36 -0
  259. package/src/Common/Modals/VisibleModal.tsx +55 -0
  260. package/src/Common/Modals/VisibleModal2.tsx +35 -0
  261. package/src/Common/MultiSelectCustomization.tsx +148 -0
  262. package/src/Common/Pagination/PageSizeSelector.tsx +78 -0
  263. package/src/Common/Pagination/Pagination.tsx +127 -0
  264. package/src/Common/Pagination/constants.ts +6 -0
  265. package/src/Common/Pagination/index.tsx +3 -0
  266. package/src/Common/Pagination/pagination.scss +123 -0
  267. package/src/Common/Pagination/types.ts +55 -0
  268. package/src/Common/Pagination/utils.tsx +24 -0
  269. package/src/Common/Policy.Types.ts +63 -0
  270. package/src/Common/PopupMenu.tsx +199 -0
  271. package/src/Common/Progressing.tsx +53 -0
  272. package/src/Common/RJSF/Form.tsx +29 -0
  273. package/src/Common/RJSF/common/FieldRow.tsx +35 -0
  274. package/src/Common/RJSF/common/types.ts +9 -0
  275. package/src/Common/RJSF/config.ts +37 -0
  276. package/src/Common/RJSF/constants.ts +10 -0
  277. package/src/Common/RJSF/index.ts +3 -0
  278. package/src/Common/RJSF/rjsfForm.scss +18 -0
  279. package/src/Common/RJSF/templates/ArrayFieldItemTemplate.tsx +31 -0
  280. package/src/Common/RJSF/templates/ArrayFieldTemplate.tsx +78 -0
  281. package/src/Common/RJSF/templates/BaseInput.tsx +16 -0
  282. package/src/Common/RJSF/templates/ButtonTemplates/AddButton.tsx +18 -0
  283. package/src/Common/RJSF/templates/ButtonTemplates/RemoveButton.tsx +10 -0
  284. package/src/Common/RJSF/templates/ButtonTemplates/SubmitButton.tsx +18 -0
  285. package/src/Common/RJSF/templates/ButtonTemplates/index.ts +3 -0
  286. package/src/Common/RJSF/templates/Description.tsx +12 -0
  287. package/src/Common/RJSF/templates/Field.tsx +30 -0
  288. package/src/Common/RJSF/templates/FieldErrorTemplate.tsx +25 -0
  289. package/src/Common/RJSF/templates/ObjectFieldTemplate.tsx +105 -0
  290. package/src/Common/RJSF/templates/TitleField.tsx +9 -0
  291. package/src/Common/RJSF/templates/WrapIfAdditionalTemplate.tsx +51 -0
  292. package/src/Common/RJSF/templates/index.ts +10 -0
  293. package/src/Common/RJSF/types.ts +4 -0
  294. package/src/Common/RJSF/utils.ts +126 -0
  295. package/src/Common/RJSF/widgets/Checkbox.tsx +44 -0
  296. package/src/Common/RJSF/widgets/Select.tsx +77 -0
  297. package/src/Common/RJSF/widgets/index.ts +2 -0
  298. package/src/Common/RadioGroup/RadioGroup.tsx +105 -0
  299. package/src/Common/RadioGroup/radioGroup.scss +46 -0
  300. package/src/Common/RadioGroup.tsx +53 -0
  301. package/src/Common/Reload.tsx +23 -0
  302. package/src/Common/ResizableTextarea.tsx +73 -0
  303. package/src/Common/SearchBar/SearchBar.component.tsx +133 -0
  304. package/src/Common/SearchBar/index.ts +2 -0
  305. package/src/Common/SearchBar/searchBar.scss +31 -0
  306. package/src/Common/SearchBar/types.ts +36 -0
  307. package/src/Common/Security/ScanVulnerabilitiesTable.tsx +55 -0
  308. package/src/Common/Security/scanVulnerabilities.css +69 -0
  309. package/src/Common/ServerError.ts +31 -0
  310. package/src/Common/TippyCustomized.tsx +172 -0
  311. package/src/Common/ToastBody.tsx +62 -0
  312. package/src/Common/Toggle/Toggle.scss +78 -0
  313. package/src/Common/Toggle/Toggle.tsx +50 -0
  314. package/src/Common/Types.ts +765 -0
  315. package/src/Common/index.ts +50 -0
  316. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraConfigForm.tsx +121 -0
  317. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraDescriptionField.tsx +44 -0
  318. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormAction.tsx +99 -0
  319. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraFormItem.tsx +55 -0
  320. package/src/Pages/GlobalConfigurations/BuildInfra/BuildInfraProfileNameField.tsx +32 -0
  321. package/src/Pages/GlobalConfigurations/BuildInfra/Descriptor.tsx +38 -0
  322. package/src/Pages/GlobalConfigurations/BuildInfra/Footer.tsx +45 -0
  323. package/src/Pages/GlobalConfigurations/BuildInfra/Readme.md +4 -0
  324. package/src/Pages/GlobalConfigurations/BuildInfra/constants.tsx +137 -0
  325. package/src/Pages/GlobalConfigurations/BuildInfra/index.ts +7 -0
  326. package/src/Pages/GlobalConfigurations/BuildInfra/services.tsx +183 -0
  327. package/src/Pages/GlobalConfigurations/BuildInfra/types.tsx +334 -0
  328. package/src/Pages/GlobalConfigurations/BuildInfra/utils.tsx +489 -0
  329. package/src/Pages/GlobalConfigurations/index.ts +1 -0
  330. package/src/Pages/index.ts +1 -0
  331. package/src/Shared/Components/APIResponseHandler/APIResponseHandler.tsx +39 -0
  332. package/src/Shared/Components/APIResponseHandler/index.ts +2 -0
  333. package/src/Shared/Components/APIResponseHandler/types.tsx +39 -0
  334. package/src/Shared/Components/ReactSelect/index.ts +1 -0
  335. package/src/Shared/Components/ReactSelect/utils.tsx +97 -0
  336. package/src/Shared/Components/index.ts +2 -0
  337. package/src/Shared/index.ts +2 -0
  338. package/src/Shared/validations.tsx +72 -0
  339. package/src/custom.d.ts +13 -0
  340. package/src/index.ts +3 -0
  341. package/tsconfig.json +40 -0
  342. package/dist/CodeEditor-3c2aaef5.js +0 -103695
  343. package/dist/Common/AddCDButton/AddCDButton.js +0 -61
  344. package/dist/Common/AddCDButton/index.js +0 -6
  345. package/dist/Common/AddCDButton/types.js +0 -1
  346. package/dist/Common/AddCDButton/utils.js +0 -19
  347. package/dist/Common/Api.js +0 -167
  348. package/dist/Common/AppStatus/AppStatus.js +0 -37
  349. package/dist/Common/AppStatus/constants.js +0 -37
  350. package/dist/Common/AppStatus/index.js +0 -4
  351. package/dist/Common/AppStatus/types.js +0 -1
  352. package/dist/Common/AppStatus/utils.js +0 -8
  353. package/dist/Common/BreadCrumb/BreadCrumb.js +0 -71
  354. package/dist/Common/BreadCrumb/BreadcrumbStore.js +0 -22
  355. package/dist/Common/BreadCrumb/Types.js +0 -1
  356. package/dist/Common/CIPipeline.Types.js +0 -10
  357. package/dist/Common/ChartVersionAndTypeSelector.js +0 -61
  358. package/dist/Common/Checkbox.js +0 -28
  359. package/dist/Common/ClipboardButton/ClipboardButton.js +0 -40
  360. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.d.ts +0 -1
  361. package/dist/Common/ClipboardButton/__tests__/ClipboardButton.test.js +0 -27
  362. package/dist/Common/ClipboardButton/types.js +0 -1
  363. package/dist/Common/CodeEditor/CodeEditor.d.ts +0 -47
  364. package/dist/Common/CodeEditor/CodeEditor.js +0 -15
  365. package/dist/Common/Common.service.js +0 -191
  366. package/dist/Common/Constants.js +0 -239
  367. package/dist/Common/CustomInput/CustomInput.js +0 -81
  368. package/dist/Common/CustomInput/Types.js +0 -1
  369. package/dist/Common/CustomInput/index.js +0 -4
  370. package/dist/Common/CustomTagSelector/PropagateTagInfo.js +0 -43
  371. package/dist/Common/CustomTagSelector/ResizableTagTextArea.js +0 -58
  372. package/dist/Common/CustomTagSelector/TagDetails.js +0 -65
  373. package/dist/Common/CustomTagSelector/TagLabelSelect.js +0 -50
  374. package/dist/Common/CustomTagSelector/TagLabelValueSelector.js +0 -121
  375. package/dist/Common/CustomTagSelector/TagSelector.utils.js +0 -61
  376. package/dist/Common/CustomTagSelector/Types.js +0 -1
  377. package/dist/Common/CustomTagSelector/ValidationRules.js +0 -35
  378. package/dist/Common/CustomTagSelector/index.js +0 -12
  379. package/dist/Common/DebouncedSearch/DebouncedSearch.js +0 -56
  380. package/dist/Common/DebouncedSearch/Types.js +0 -1
  381. package/dist/Common/DebouncedSearch/Utils.js +0 -19
  382. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.d.ts +0 -1
  383. package/dist/Common/DebouncedSearch/__tests__/DebouncedSearch.test.js +0 -34
  384. package/dist/Common/DeleteComponentModal/DeleteComponent.js +0 -63
  385. package/dist/Common/DeleteComponentModal/types.js +0 -1
  386. package/dist/Common/DevtronProgressing/DevtronProgressing.js +0 -98
  387. package/dist/Common/DevtronProgressing/index.js +0 -4
  388. package/dist/Common/DevtronProgressing/types.js +0 -1
  389. package/dist/Common/Dialogs/ConfirmationDialog.js +0 -24
  390. package/dist/Common/Dialogs/DeleteDialog.js +0 -49
  391. package/dist/Common/Dialogs/DialogForm.js +0 -63
  392. package/dist/Common/Dialogs/ForceDeleteDialog.js +0 -23
  393. package/dist/Common/Dialogs/Types.js +0 -1
  394. package/dist/Common/Dialogs/index.js +0 -11
  395. package/dist/Common/DraggableWrapper/DraggableButton.js +0 -16
  396. package/dist/Common/DraggableWrapper/DraggableWrapper.js +0 -73
  397. package/dist/Common/DraggableWrapper/index.js +0 -8
  398. package/dist/Common/DraggableWrapper/types.js +0 -4
  399. package/dist/Common/Drawer/Drawer.js +0 -22
  400. package/dist/Common/EmptyState/EmptyState.js +0 -32
  401. package/dist/Common/EmptyState/GenericEmptyState.js +0 -79
  402. package/dist/Common/Error.js +0 -49
  403. package/dist/Common/ErrorScreenNotFound.js +0 -23
  404. package/dist/Common/Grid/Grid.js +0 -31
  405. package/dist/Common/Grid/types.js +0 -1
  406. package/dist/Common/Helper.js +0 -39
  407. package/dist/Common/Hooks/UseClickOutside/UseClickOutside.js +0 -14
  408. package/dist/Common/Hooks/UseSuperAdmin/UseSuperAdmin.js +0 -16
  409. package/dist/Common/Hooks/UseSuperAdmin/types.js +0 -1
  410. package/dist/Common/Hooks/UseWindowSize/UseWindowSize.js +0 -17
  411. package/dist/Common/Hooks/index.js +0 -8
  412. package/dist/Common/ImageTags.Types.js +0 -1
  413. package/dist/Common/ImageTags.js +0 -384
  414. package/dist/Common/InfoColorBar/InfoColourbar.js +0 -65
  415. package/dist/Common/Modals/Modal.js +0 -48
  416. package/dist/Common/Modals/OpaqueModal.js +0 -32
  417. package/dist/Common/Modals/VisibleModal.js +0 -31
  418. package/dist/Common/Modals/VisibleModal2.js +0 -31
  419. package/dist/Common/MultiSelectCustomization.js +0 -97
  420. package/dist/Common/Pagination/PageSizeSelector.js +0 -52
  421. package/dist/Common/Pagination/Pagination.js +0 -98
  422. package/dist/Common/Pagination/constants.js +0 -9
  423. package/dist/Common/Pagination/index.js +0 -4
  424. package/dist/Common/Pagination/types.js +0 -1
  425. package/dist/Common/Pagination/utils.js +0 -15
  426. package/dist/Common/Policy.Types.js +0 -6
  427. package/dist/Common/PopupMenu.js +0 -148
  428. package/dist/Common/Progressing.js +0 -52
  429. package/dist/Common/RJSF/Form.js +0 -25
  430. package/dist/Common/RJSF/common/FieldRow.js +0 -25
  431. package/dist/Common/RJSF/common/types.js +0 -1
  432. package/dist/Common/RJSF/config.js +0 -33
  433. package/dist/Common/RJSF/constants.js +0 -10
  434. package/dist/Common/RJSF/index.js +0 -7
  435. package/dist/Common/RJSF/templates/ArrayFieldItemTemplate.js +0 -30
  436. package/dist/Common/RJSF/templates/ArrayFieldTemplate.js +0 -60
  437. package/dist/Common/RJSF/templates/BaseInput.js +0 -16
  438. package/dist/Common/RJSF/templates/ButtonTemplates/AddButton.js +0 -18
  439. package/dist/Common/RJSF/templates/ButtonTemplates/RemoveButton.js +0 -6
  440. package/dist/Common/RJSF/templates/ButtonTemplates/SubmitButton.js +0 -17
  441. package/dist/Common/RJSF/templates/ButtonTemplates/index.js +0 -8
  442. package/dist/Common/RJSF/templates/Description.js +0 -9
  443. package/dist/Common/RJSF/templates/Field.js +0 -18
  444. package/dist/Common/RJSF/templates/FieldErrorTemplate.js +0 -13
  445. package/dist/Common/RJSF/templates/ObjectFieldTemplate.js +0 -71
  446. package/dist/Common/RJSF/templates/TitleField.js +0 -8
  447. package/dist/Common/RJSF/templates/WrapIfAdditionalTemplate.js +0 -43
  448. package/dist/Common/RJSF/templates/index.js +0 -26
  449. package/dist/Common/RJSF/types.js +0 -1
  450. package/dist/Common/RJSF/utils.js +0 -95
  451. package/dist/Common/RJSF/widgets/Checkbox.js +0 -39
  452. package/dist/Common/RJSF/widgets/Select.js +0 -625
  453. package/dist/Common/RJSF/widgets/index.js +0 -6
  454. package/dist/Common/RadioGroup/RadioGroup.js +0 -76
  455. package/dist/Common/RadioGroup.js +0 -47
  456. package/dist/Common/Reload.js +0 -16
  457. package/dist/Common/ResizableTextarea.js +0 -60
  458. package/dist/Common/SearchBar/SearchBar.component.js +0 -66
  459. package/dist/Common/SearchBar/index.js +0 -4
  460. package/dist/Common/SearchBar/types.js +0 -1
  461. package/dist/Common/Security/ScanVulnerabilitiesTable.js +0 -49
  462. package/dist/Common/Select/Select.d.ts +0 -4
  463. package/dist/Common/Select/Select.js +0 -193
  464. package/dist/Common/Select/types.d.ts +0 -29
  465. package/dist/Common/Select/types.js +0 -1
  466. package/dist/Common/ServerError.js +0 -26
  467. package/dist/Common/TippyCustomized.js +0 -10
  468. package/dist/Common/ToastBody.js +0 -41
  469. package/dist/Common/Toggle/Toggle.js +0 -40
  470. package/dist/Common/Types.js +0 -24
  471. package/dist/Common/index.js +0 -226
  472. package/dist/Helper-a0caa238.js +0 -9834
  473. package/dist/TippyCustomized-7b9b46b9.js +0 -124
  474. package/dist/_commonjsHelpers-aeeeeb92.js +0 -30
  475. package/dist/abap-9f67f57a.js +0 -1314
  476. package/dist/apex-ff62e532.js +0 -315
  477. package/dist/assets/CodeEditor.css +0 -1
  478. package/dist/assets/Drawer.css +0 -1
  479. package/dist/assets/Form.css +0 -1
  480. package/dist/assets/GenericEmptyState.css +0 -1
  481. package/dist/assets/InfoColourbar.css +0 -1
  482. package/dist/assets/Pagination.css +0 -1
  483. package/dist/assets/RadioGroup.css +0 -1
  484. package/dist/assets/ScanVulnerabilitiesTable.css +0 -1
  485. package/dist/assets/SearchBar.component.css +0 -1
  486. package/dist/assets/Select.css +0 -1
  487. package/dist/assets/TippyCustomized.css +0 -1
  488. package/dist/assets/Toggle.css +0 -1
  489. package/dist/assets/editor.worker-d26000ef.js +0 -9
  490. package/dist/assets/json.worker-f23a4654.js +0 -40
  491. package/dist/assets/yaml.worker-64fecd27.js +0 -463
  492. package/dist/azcli-31e64a7f.js +0 -74
  493. package/dist/bat-0ffe897e.js +0 -95
  494. package/dist/bicep-3414a2b1.js +0 -108
  495. package/dist/cameligo-df1f3f25.js +0 -168
  496. package/dist/clojure-65b0f010.js +0 -754
  497. package/dist/coffee-437f0fba.js +0 -228
  498. package/dist/cpp-66843dd5.js +0 -390
  499. package/dist/csharp-621d9a49.js +0 -320
  500. package/dist/csp-de0d5244.js +0 -57
  501. package/dist/css-7cd5ed4c.js +0 -186
  502. package/dist/cssMode-c5cae484.js +0 -1446
  503. package/dist/cypher-70ad96fe.js +0 -262
  504. package/dist/dart-33ae3739.js +0 -270
  505. package/dist/dockerfile-f2274a50.js +0 -132
  506. package/dist/ecl-3b8294a3.js +0 -454
  507. package/dist/elixir-b9dcc73a.js +0 -489
  508. package/dist/extends-70f3d2a3.js +0 -13
  509. package/dist/flow9-bdde8316.js +0 -141
  510. package/dist/freemarker2-b9a8615c.js +0 -643
  511. package/dist/fsharp-eac2e449.js +0 -210
  512. package/dist/go-d12ed8d4.js +0 -208
  513. package/dist/graphql-c7356b69.js +0 -141
  514. package/dist/handlebars-3803af36.js +0 -391
  515. package/dist/hcl-e883a0d4.js +0 -177
  516. package/dist/html-498f0150.js +0 -281
  517. package/dist/htmlMode-a8ae8cc5.js +0 -1456
  518. package/dist/ic-add-4787ded5.js +0 -5
  519. package/dist/ic-chevron-down-eb7fd953.js +0 -6
  520. package/dist/ic-copy-118b83dc.js +0 -5
  521. package/dist/ic-cross-0e71861d.js +0 -6
  522. package/dist/ic-error-cross-2760059a.js +0 -5
  523. package/dist/ic-error-exclamation-5f9af461.js +0 -5
  524. package/dist/ic-info-filled-31a15add.js +0 -6
  525. package/dist/ic-info-outlined-8fa45e87.js +0 -5
  526. package/dist/ic-warning-42534af1.js +0 -5
  527. package/dist/ini-425ab711.js +0 -68
  528. package/dist/inject-tag-824bf92c.js +0 -5
  529. package/dist/java-2bc0fd68.js +0 -221
  530. package/dist/javascript-4363ced3.js +0 -75
  531. package/dist/jsonMode-80290b9e.js +0 -1867
  532. package/dist/jsx-runtime-0dcb030c.js +0 -667
  533. package/dist/julia-1c932615.js +0 -496
  534. package/dist/kotlin-1ab839c8.js +0 -245
  535. package/dist/less-6fe856f5.js +0 -168
  536. package/dist/lexon-4955ac52.js +0 -151
  537. package/dist/liquid-1398df0a.js +0 -238
  538. package/dist/lua-3cca0047.js +0 -157
  539. package/dist/m3-132e9cb6.js +0 -210
  540. package/dist/markdown-ea59a0c1.js +0 -202
  541. package/dist/mips-19811f4b.js +0 -194
  542. package/dist/msdax-69954a10.js +0 -377
  543. package/dist/mysql-82088e5d.js +0 -876
  544. package/dist/objective-c-1976eccc.js +0 -188
  545. package/dist/pascal-8ef177cb.js +0 -245
  546. package/dist/pascaligo-bc517b9e.js +0 -158
  547. package/dist/perl-8b93582c.js +0 -599
  548. package/dist/pgsql-00c11a6d.js +0 -847
  549. package/dist/php-4c8c276f.js +0 -471
  550. package/dist/pla-e9b4ffb1.js +0 -131
  551. package/dist/postiats-2071af8c.js +0 -544
  552. package/dist/powerquery-8e388ceb.js +0 -890
  553. package/dist/powershell-e35db398.js +0 -233
  554. package/dist/protobuf-a24b9176.js +0 -422
  555. package/dist/pug-2c94d9b8.js +0 -393
  556. package/dist/python-dd2d43e8.js +0 -259
  557. package/dist/qsharp-d730d7fe.js +0 -282
  558. package/dist/r-be193556.js +0 -245
  559. package/dist/razor-20a66096.js +0 -512
  560. package/dist/react-select.esm-97f26847.js +0 -4160
  561. package/dist/react-toastify.esm-1042de65.js +0 -792
  562. package/dist/react.esm-2c92920f.js +0 -13727
  563. package/dist/redis-9690c6ac.js +0 -298
  564. package/dist/redshift-6bdcdeaa.js +0 -806
  565. package/dist/restructuredtext-a08c1d20.js +0 -162
  566. package/dist/ruby-2247692b.js +0 -444
  567. package/dist/rust-1dffb4d5.js +0 -337
  568. package/dist/sb-136598e9.js +0 -110
  569. package/dist/scala-b1100fed.js +0 -353
  570. package/dist/scheme-038c8094.js +0 -114
  571. package/dist/scss-700d1b52.js +0 -244
  572. package/dist/shell-86c16e0f.js +0 -224
  573. package/dist/solidity-c05fdf3c.js +0 -1351
  574. package/dist/sophia-cd645d71.js +0 -190
  575. package/dist/sparql-01d9ec9c.js +0 -193
  576. package/dist/sql-4c33df41.js +0 -818
  577. package/dist/st-52cf1408.js +0 -414
  578. package/dist/swift-13c792ba.js +0 -315
  579. package/dist/systemverilog-0bd8b730.js +0 -556
  580. package/dist/tcl-463d7c75.js +0 -232
  581. package/dist/tippy-react.esm-8dc66a75.js +0 -2018
  582. package/dist/tsMode-3fa4eb6a.js +0 -811
  583. package/dist/twig-0d98f5ec.js +0 -323
  584. package/dist/typescript-1bbaf605.js +0 -328
  585. package/dist/vb-3a2b0a51.js +0 -364
  586. package/dist/wgsl-b2ddb3e4.js +0 -420
  587. package/dist/xml-a2693dbd.js +0 -95
  588. package/dist/yaml-01ce4fdd.js +0 -184
@@ -0,0 +1,183 @@
1
+ // TODO: Remove these comment on API integration
2
+ /* eslint-disable no-console */
3
+ /* eslint-disable @typescript-eslint/no-unused-vars */
4
+ import { ROUTES, ResponseType, get, put, showError } from '../../../Common'
5
+ import { CREATE_PROFILE_BASE_VALUE, CREATE_VIEW_CHECKED_CONFIGS } from './constants'
6
+ import {
7
+ BuildInfraConfigTypes,
8
+ BuildInfraConfigurationMapType,
9
+ BuildInfraConfigurationType,
10
+ BuildInfraProfileAPIResponseType,
11
+ BuildInfraProfileBase,
12
+ BuildInfraProfileResponseDataType,
13
+ BuildInfraProfileResponseType,
14
+ BuildInfraProfileTransformerType,
15
+ BuildInfraProfileVariants,
16
+ BuildInfraUnitsMapType,
17
+ ConfigurationUnitMapType,
18
+ CreateBuildInfraProfileType,
19
+ CreateBuildInfraServicePayloadType,
20
+ CreateBuildInfraServiceConfigurationType,
21
+ GetBuildInfraProfileType,
22
+ UpdateBuildInfraProfileType,
23
+ } from './types'
24
+
25
+ const getBaseProfileObject = (
26
+ fromCreateView: boolean,
27
+ profile: BuildInfraProfileResponseDataType,
28
+ ): BuildInfraProfileBase => {
29
+ if (fromCreateView) {
30
+ return CREATE_PROFILE_BASE_VALUE
31
+ }
32
+
33
+ return {
34
+ id: profile.id,
35
+ name: profile.name,
36
+ description: profile.description,
37
+ type: profile.type,
38
+ appCount: profile.appCount,
39
+ }
40
+ }
41
+
42
+ // Would receive a single profile and return transformed response
43
+ export const getTransformedBuildInfraProfileResponse = ({
44
+ configurationUnits,
45
+ defaultConfigurations,
46
+ profile,
47
+ fromCreateView,
48
+ }: BuildInfraProfileTransformerType): BuildInfraProfileResponseType => {
49
+ // Assuming would contain all the keys
50
+ const defaultConfigurationsMap =
51
+ defaultConfigurations?.reduce((acc, configuration) => {
52
+ acc[configuration.key] = configuration
53
+ return acc
54
+ }, {}) ?? {}
55
+
56
+ const profileConfigurations =
57
+ profile?.configurations?.reduce((acc, configuration) => {
58
+ acc[configuration.key] = configuration
59
+ return acc
60
+ }, {}) ?? {}
61
+
62
+ // traversing defaultConfigurationsMap and if key is present in profileConfigurations then use that else use defaultConfigurationsMap
63
+ const configurations = Object.keys(defaultConfigurationsMap).reduce((acc, key) => {
64
+ const defaultConfiguration: BuildInfraConfigurationType = defaultConfigurationsMap[key]
65
+ const profileConfiguration = profileConfigurations[key]
66
+ if (fromCreateView) {
67
+ acc[key] = {
68
+ key,
69
+ value: defaultConfiguration.value,
70
+ unit: defaultConfiguration.unit,
71
+ active: CREATE_VIEW_CHECKED_CONFIGS[key] ?? false,
72
+ }
73
+ } else if (profileConfiguration) {
74
+ acc[key] = profileConfiguration
75
+ } else {
76
+ // Removing id from it since we do not have a configuration
77
+ // While generating payload, we will check on the basis of id and active flag.
78
+ acc[key] = {
79
+ key,
80
+ value: defaultConfiguration.value,
81
+ // saving profile name as undefined and this would be a check, if we are deriving from default or not
82
+ unit: defaultConfiguration.unit,
83
+ active: false,
84
+ }
85
+ }
86
+ acc[key].defaultValue = {
87
+ value: defaultConfiguration.value,
88
+ unit: defaultConfiguration.unit,
89
+ }
90
+ return acc
91
+ }, {} as BuildInfraConfigurationMapType)
92
+
93
+ return {
94
+ configurationUnits,
95
+ profile: {
96
+ ...(profile && getBaseProfileObject(fromCreateView, profile)),
97
+ configurations,
98
+ },
99
+ }
100
+ }
101
+
102
+ export const getBuildInfraProfileByName = async ({
103
+ name,
104
+ fromCreateView,
105
+ }: GetBuildInfraProfileType): Promise<BuildInfraProfileResponseType> => {
106
+ try {
107
+ const response = await get(`${ROUTES.INFRA_CONFIG_PROFILE}/${name}`)
108
+ const {
109
+ result: { configurationUnits, defaultConfigurations, profile },
110
+ } = response as ResponseType<BuildInfraProfileAPIResponseType>
111
+
112
+ return getTransformedBuildInfraProfileResponse({
113
+ configurationUnits,
114
+ defaultConfigurations,
115
+ profile,
116
+ fromCreateView,
117
+ })
118
+ } catch (error) {
119
+ showError(error)
120
+ throw error
121
+ }
122
+ }
123
+
124
+ const getBuildInfraProfilePayload = (
125
+ profileInput: CreateBuildInfraProfileType['profileInput'],
126
+ ): CreateBuildInfraServicePayloadType => {
127
+ const currentConfigurations = profileInput.configurations
128
+ const configurationKeys = Object.keys(currentConfigurations) as BuildInfraConfigTypes[]
129
+ // would only keep the configurations with id or active flag as true
130
+ const configurations: CreateBuildInfraServiceConfigurationType[] = configurationKeys.reduce((acc, key) => {
131
+ const configuration = currentConfigurations[key]
132
+ if (configuration.id || configuration.active) {
133
+ acc.push({
134
+ id: configuration.id,
135
+ key,
136
+ value: configuration.value,
137
+ unit: configuration.unit,
138
+ active: configuration.active,
139
+ })
140
+ }
141
+ return acc
142
+ }, [] as CreateBuildInfraServiceConfigurationType[])
143
+
144
+ const payload: CreateBuildInfraServicePayloadType = {
145
+ name: profileInput.name,
146
+ description: profileInput.description,
147
+ type: profileInput.type,
148
+ configurations,
149
+ }
150
+ return payload
151
+ }
152
+
153
+ export const updateBuildInfraProfile = ({ name, profileInput }: UpdateBuildInfraProfileType) => {
154
+ const payload = getBuildInfraProfilePayload(profileInput)
155
+ // TODO: Would remove this
156
+ console.log(payload, 'edit payload')
157
+ return put(`${ROUTES.INFRA_CONFIG_PROFILE}/${name}`, payload)
158
+ }
159
+
160
+ export const createBuildInfraProfile = async ({ profileInput }: CreateBuildInfraProfileType) => {
161
+ // Adding a timeout to show the loader
162
+ // eslint-disable-next-line no-promise-executor-return
163
+ await new Promise((resolve) => setTimeout(resolve, 1000))
164
+ const payload = getBuildInfraProfilePayload(profileInput)
165
+ // TODO: Remove this
166
+ console.log(payload, 'create payload')
167
+ return Promise.resolve({
168
+ code: 200,
169
+ result: profileInput,
170
+ })
171
+ // return post(`${ROUTES}/${name}`, payload)
172
+ }
173
+
174
+ export const deleteBuildInfraProfileByName = async (name: string) => {
175
+ // Adding a timeout to show the loader
176
+ // eslint-disable-next-line no-promise-executor-return
177
+ await new Promise((resolve) => setTimeout(resolve, 1000))
178
+ return Promise.resolve({
179
+ code: 200,
180
+ result: null,
181
+ })
182
+ // return trash(`${ROUTES}/${name}`)
183
+ }
@@ -0,0 +1,334 @@
1
+ import { FormEvent, FunctionComponent, ReactNode } from 'react'
2
+ import { Breadcrumb } from '../../../Common/BreadCrumb/Types'
3
+ import { ValidationResponseType } from '../../../Shared'
4
+ import { ServerErrors } from '../../../Common'
5
+
6
+ /**
7
+ * Unique actions that will be dispatched and,
8
+ * Keeping some values (cpu_limit, etc) in sync with backend
9
+ */
10
+ export enum BuildInfraConfigTypes {
11
+ CPU_LIMIT = 'cpu_limit',
12
+ CPU_REQUEST = 'cpu_request',
13
+ MEMORY_LIMIT = 'memory_limit',
14
+ MEMORY_REQUEST = 'memory_request',
15
+ BUILD_TIMEOUT = 'timeout',
16
+ }
17
+
18
+ /**
19
+ * Combination of BuildInfraConfigTypes and BuildInfraMetaConfigTypes is going to derive error state and actions(actions will also be derived with BuildInfraInheritActions)
20
+ */
21
+ export enum BuildInfraMetaConfigTypes {
22
+ NAME = 'name',
23
+ DESCRIPTION = 'description',
24
+ }
25
+
26
+ /**
27
+ * Would be used as key for few components and would be appending activate and de_activate actions to it
28
+ */
29
+ export enum BuildInfraLocators {
30
+ CPU = 'cpu',
31
+ MEMORY = 'memory',
32
+ // This name can be also different from BuildInfraConfigTypes[BUILD_TIMEOUT] in case we want to show different label
33
+ BUILD_TIMEOUT = 'timeout',
34
+ }
35
+
36
+ // FIXME: Derive this from BuildInfraLocators
37
+ // Appending the locators from above
38
+ export enum BuildInfraInheritActions {
39
+ ACTIVATE_CPU = `activate_cpu`,
40
+ DE_ACTIVATE_CPU = `de_activate_cpu`,
41
+ ACTIVATE_MEMORY = `activate_memory`,
42
+ DE_ACTIVATE_MEMORY = `de_activate_memory`,
43
+ ACTIVATE_BUILD_TIMEOUT = `activate_build_timeout`,
44
+ DE_ACTIVATE_BUILD_TIMEOUT = `de_activate_build_timeout`,
45
+ }
46
+
47
+ // TODO: Better name would be BuildInfraConfigActionMap
48
+ export const BuildInfraLocatorsActionMap = {
49
+ [BuildInfraConfigTypes.BUILD_TIMEOUT]: BuildInfraLocators.BUILD_TIMEOUT,
50
+ [BuildInfraConfigTypes.CPU_LIMIT]: BuildInfraLocators.CPU,
51
+ [BuildInfraConfigTypes.CPU_REQUEST]: BuildInfraLocators.CPU,
52
+ [BuildInfraConfigTypes.MEMORY_LIMIT]: BuildInfraLocators.MEMORY,
53
+ [BuildInfraConfigTypes.MEMORY_REQUEST]: BuildInfraLocators.MEMORY,
54
+ }
55
+
56
+ export enum BuildInfraProfileVariants {
57
+ DEFAULT = 'DEFAULT',
58
+ NORMAL = 'NORMAL',
59
+ CUSTOM = 'CUSTOM',
60
+ }
61
+
62
+ export interface DescriptorProps {
63
+ /**
64
+ * In case we want to restrict the max-width
65
+ */
66
+ additionalContainerClasses?: string
67
+ breadCrumbs: Breadcrumb[]
68
+ /**
69
+ * Would stick at right of div
70
+ */
71
+ children?: ReactNode
72
+ }
73
+
74
+ export interface BuildInfraActionType {
75
+ /**
76
+ * Type of action to be dispatched, would be suffixed with type of change
77
+ */
78
+ actionType: BuildInfraConfigTypes
79
+ /**
80
+ * Label to be shown above input
81
+ */
82
+ label: string
83
+ /**
84
+ * Placeholder for input, can be optional
85
+ */
86
+ placeholder?: string
87
+ // Can add a prop for variant, if there is a need to show different types of inputs
88
+ }
89
+
90
+ export interface BuildInfraConfigurationMarkerProps {
91
+ className?: string
92
+ }
93
+
94
+ export interface BuildInfraFormFieldType {
95
+ /**
96
+ * Heading of the form item
97
+ */
98
+ heading: ReactNode
99
+ /**
100
+ * Icon/Checkbox to be shown in front of heading
101
+ */
102
+ marker: FunctionComponent<BuildInfraConfigurationMarkerProps>
103
+ /**
104
+ * Actions to be shown in the form item
105
+ */
106
+ actions: BuildInfraActionType[]
107
+ /**
108
+ * Unique identifier for the form item used for key
109
+ */
110
+ locator: BuildInfraLocators
111
+ }
112
+
113
+ export interface ConfigurationUnitType {
114
+ name: string
115
+ conversionFactor: number
116
+ }
117
+
118
+ // key would be the name of ConfigurationUnitType
119
+ export type ConfigurationUnitMapType = {
120
+ [key: ConfigurationUnitType['name']]: ConfigurationUnitType
121
+ }
122
+
123
+ export type BuildInfraUnitsMapType = {
124
+ [key in BuildInfraConfigTypes]: ConfigurationUnitMapType
125
+ }
126
+
127
+ export interface BuildInfraConfigValuesType {
128
+ value: string
129
+ unit?: ConfigurationUnitType['name']
130
+ }
131
+
132
+ interface BuildInfraProfileConfigBase {
133
+ id?: number
134
+ key: BuildInfraConfigTypes
135
+ profileName: string
136
+ active: boolean
137
+ }
138
+
139
+ export interface BuildInfraProfileConfigResponseDataType
140
+ extends BuildInfraConfigValuesType,
141
+ BuildInfraProfileConfigBase {}
142
+
143
+ export interface BuildInfraConfigurationType extends BuildInfraConfigValuesType, BuildInfraProfileConfigBase {
144
+ defaultValue: BuildInfraConfigValuesType
145
+ }
146
+
147
+ export type BuildInfraConfigurationMapType = {
148
+ [key in BuildInfraConfigTypes]: BuildInfraConfigurationType
149
+ }
150
+
151
+ export interface BuildInfraProfileBase {
152
+ id?: number
153
+ name: string
154
+ description: string
155
+ type: BuildInfraProfileVariants
156
+ appCount: number
157
+ }
158
+
159
+ export interface BuildInfraProfileResponseDataType extends BuildInfraProfileBase {
160
+ configurations: BuildInfraProfileConfigResponseDataType[]
161
+ }
162
+
163
+ export interface BuildInfraProfileData extends BuildInfraProfileBase {
164
+ configurations: BuildInfraConfigurationMapType
165
+ }
166
+
167
+ export interface GetBuildInfraProfileType {
168
+ name: string
169
+ fromCreateView?: boolean
170
+ }
171
+
172
+ export interface BuildInfraProfileResponseType {
173
+ configurationUnits: BuildInfraUnitsMapType | null
174
+ profile: BuildInfraProfileData | null
175
+ }
176
+
177
+ export interface UseBuildInfraFormProps {
178
+ /**
179
+ * Name of the profile, if not provided assumption would be for create view
180
+ */
181
+ name?: string
182
+ /**
183
+ * If true, would send put request else would create profile via post
184
+ */
185
+ editProfile?: boolean
186
+ /**
187
+ * If true, call this on form submission success
188
+ */
189
+ handleSuccessRedirection?: () => void
190
+ }
191
+
192
+ export type ProfileInputErrorType = {
193
+ [key in BuildInfraConfigTypes | BuildInfraMetaConfigTypes]: string
194
+ }
195
+
196
+ export interface ProfileInputDispatchDataType {
197
+ value: string
198
+ unit?: string
199
+ }
200
+
201
+ export interface HandleProfileInputChangeType {
202
+ action: BuildInfraConfigTypes | BuildInfraInheritActions | BuildInfraMetaConfigTypes
203
+ data?: ProfileInputDispatchDataType
204
+ }
205
+
206
+ export interface UseBuildInfraFormResponseType {
207
+ isLoading: boolean
208
+ profileResponse: BuildInfraProfileResponseType | null
209
+ responseError: ServerErrors | null
210
+ reloadRequest: () => void
211
+ profileInput: BuildInfraProfileData
212
+ profileInputErrors: ProfileInputErrorType
213
+ handleProfileInputChange: ({ action, data }: HandleProfileInputChangeType) => void
214
+ loadingActionRequest: boolean
215
+ handleSubmit: (e: FormEvent<HTMLFormElement>) => Promise<void>
216
+ }
217
+
218
+ export interface BuildInfraFormItemProps extends Pick<BuildInfraFormFieldType, 'marker' | 'heading'> {
219
+ children?: ReactNode
220
+ /**
221
+ * If true, means profile is inheriting values from other profile (e.g, default)
222
+ */
223
+ isInheriting?: boolean
224
+ /**
225
+ * Would be false for last item
226
+ */
227
+ showDivider?: boolean
228
+
229
+ /**
230
+ * Would be used to dispatch inherit actions (activate_cpu, de_activate_cpu, etc)
231
+ */
232
+ handleProfileInputChange: UseBuildInfraFormResponseType['handleProfileInputChange']
233
+ locator: BuildInfraFormFieldType['locator']
234
+ isDefaultProfile: boolean
235
+ }
236
+
237
+ export interface ValidateRequestLimitType {
238
+ request: BuildInfraConfigValuesType
239
+ limit: BuildInfraConfigValuesType
240
+ unitsMap: ConfigurationUnitMapType
241
+ }
242
+
243
+ export interface ValidateRequestLimitResponseType {
244
+ request: ValidationResponseType
245
+ limit: ValidationResponseType
246
+ }
247
+
248
+ export interface BuildInfraConfigFormProps
249
+ extends Pick<UseBuildInfraFormResponseType, 'profileInput' | 'profileInputErrors' | 'handleProfileInputChange'> {
250
+ isDefaultProfile?: boolean
251
+ unitsMap?: BuildInfraProfileResponseType['configurationUnits']
252
+ configurationContainerLabel?: ReactNode
253
+ }
254
+
255
+ export interface BuildInfraFormActionProps extends BuildInfraActionType {
256
+ handleProfileInputChange: UseBuildInfraFormResponseType['handleProfileInputChange']
257
+ currentValue: BuildInfraConfigValuesType['value']
258
+ error?: string
259
+ isRequired?: boolean
260
+ profileUnitsMap?: ConfigurationUnitMapType
261
+ currentUnitName?: BuildInfraConfigValuesType['unit']
262
+ }
263
+
264
+ export interface FooterProps {
265
+ /**
266
+ * If true, means form contains errors
267
+ */
268
+ disabled?: boolean
269
+ hideCancelButton?: boolean
270
+ /**
271
+ * If true would show save changes else would show save for submit button
272
+ */
273
+ editProfile?: boolean
274
+ loading?: boolean
275
+ }
276
+
277
+ export interface UpdateBuildInfraProfileType extends Pick<UseBuildInfraFormResponseType, 'profileInput'> {
278
+ name: string
279
+ }
280
+
281
+ export interface CreateBuildInfraProfileType extends Pick<UseBuildInfraFormResponseType, 'profileInput'> {}
282
+
283
+ export interface CreateBuildInfraServiceConfigurationType {
284
+ key: BuildInfraConfigTypes
285
+ value: string
286
+ active: boolean
287
+ unit?: string
288
+ /**
289
+ * Would send for those that are available in profileInput
290
+ */
291
+ id?: number
292
+ }
293
+
294
+ export interface CreateBuildInfraServicePayloadType {
295
+ name: string
296
+ description: string
297
+ type: BuildInfraProfileVariants
298
+ configurations: CreateBuildInfraServiceConfigurationType[]
299
+ }
300
+
301
+ export interface BuildInfraInputFieldComponentProps {
302
+ handleProfileInputChange: UseBuildInfraFormResponseType['handleProfileInputChange']
303
+ currentValue: BuildInfraConfigValuesType['value']
304
+ error?: string
305
+ }
306
+
307
+ export interface InheritingHeaderProps {
308
+ defaultHeading: BuildInfraFormFieldType['heading']
309
+ inheritingData: BuildInfraConfigValuesType[]
310
+ isInheriting: boolean
311
+ isDefaultProfile: boolean
312
+ }
313
+
314
+ export interface BuildInfraConfigResponseDataType {
315
+ name: BuildInfraConfigTypes
316
+ units: ConfigurationUnitType[]
317
+ }
318
+
319
+ interface BaseBuildInfraProfileResponseType {
320
+ defaultConfigurations: BuildInfraProfileConfigResponseDataType[]
321
+ configurationUnits: BuildInfraUnitsMapType
322
+ }
323
+
324
+ export interface BuildInfraListResponseType extends BaseBuildInfraProfileResponseType {
325
+ profiles: BuildInfraProfileResponseDataType[]
326
+ }
327
+
328
+ export interface BuildInfraProfileAPIResponseType extends BaseBuildInfraProfileResponseType {
329
+ profile: BuildInfraProfileResponseDataType
330
+ }
331
+
332
+ export interface BuildInfraProfileTransformerType
333
+ extends BuildInfraProfileAPIResponseType,
334
+ Pick<GetBuildInfraProfileType, 'fromCreateView'> {}