@ynput/ayon-frontend-shared 0.2.26 → 0.2.28
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.
- package/dist/DetailsPanel.cjs.js +1 -1
- package/dist/DetailsPanel.es.js +25 -22
- package/dist/DetailsPanel.es.js.map +1 -1
- package/dist/Views.cjs.js +1 -1
- package/dist/Views.cjs.js.map +1 -1
- package/dist/Views.es.js +13 -11
- package/dist/Views.es.js.map +1 -1
- package/dist/api.cjs.js +1 -1
- package/dist/api.es.js +153 -151
- package/dist/components.cjs.js +1 -1
- package/dist/components.es.js +62 -51
- package/dist/components.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +12 -6
- package/dist/index.es.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/entityLists.es.js.map +1 -1
- package/dist/shared/src/api/generated/users.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/users.es.js.map +1 -1
- package/dist/shared/src/api/generated/views.cjs.js.map +1 -1
- package/dist/shared/src/api/generated/views.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/getLists.es.js +142 -117
- package/dist/shared/src/api/queries/entityLists/getLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js +110 -95
- package/dist/shared/src/api/queries/entityLists/updateLists.es.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js +1 -1
- package/dist/shared/src/api/queries/users/getUsers.cjs.js.map +1 -1
- package/dist/shared/src/api/queries/users/getUsers.es.js +21 -17
- package/dist/shared/src/api/queries/users/getUsers.es.js.map +1 -1
- package/dist/shared/src/components/AccessUser/AccessUser.cjs.js +2 -0
- package/dist/shared/src/components/AccessUser/AccessUser.cjs.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.es.js +33 -0
- package/dist/shared/src/components/AccessUser/AccessUser.es.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js +42 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.cjs.js.map +1 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js +46 -0
- package/dist/shared/src/components/AccessUser/AccessUser.styled.es.js.map +1 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js +34 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.cjs.js.map +1 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js +46 -0
- package/dist/shared/src/components/DetailsMetaData/DetailsMetaData.es.js.map +1 -0
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js +20 -10
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js +81 -67
- package/dist/shared/src/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.es.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js +3 -3
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.cjs.js.map +1 -1
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js +59 -52
- package/dist/shared/src/components/DetailsPanelAttributes/components/RenderFieldWidget.es.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.cjs.js.map +1 -1
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js +5 -2
- package/dist/shared/src/components/EntityPanelUploader/EntityPanelUploader.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js +5 -2
- package/dist/shared/src/components/LinksManager/AddNewLinks.es.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.cjs.js.map +1 -1
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js +5 -2
- package/dist/shared/src/components/LinksManager/hooks/useUpdateLinks.es.js.map +1 -1
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js +2 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.cjs.js.map +1 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js +205 -0
- package/dist/shared/src/components/ListAttributeForm/ListAttributeForm.es.js.map +1 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js +2 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.cjs.js.map +1 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js +25 -0
- package/dist/shared/src/components/ListMetaData/ListMetaData.es.js.map +1 -0
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js +3 -3
- package/dist/shared/src/components/Powerpack/PowerpackButton.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js +5 -5
- package/dist/shared/src/components/Powerpack/PowerpackButton.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js +5 -2
- package/dist/shared/src/components/Powerpack/PowerpackDialog.es.js.map +1 -1
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js +9 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.cjs.js.map +1 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js +25 -0
- package/dist/shared/src/components/Powerpack/RequiredPowerpackVersion.es.js.map +1 -0
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js +7 -4
- package/dist/shared/src/components/ProjectTableSettings/ProjectTableSettings.es.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js +18 -21
- package/dist/shared/src/components/ProjectTableSettings/TableSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js +5 -2
- package/dist/shared/src/components/ReviewablesList/ReviewablesList.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js +6 -3
- package/dist/shared/src/components/ReviewablesList/ReviewablesUpload.es.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.cjs.js.map +1 -1
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js +5 -2
- package/dist/shared/src/components/ReviewablesList/SortableReviewableCard.es.js.map +1 -1
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js +2 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.cjs.js.map +1 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js +17 -0
- package/dist/shared/src/components/ShareOptionIcon/ShareOptionIcon.es.js.map +1 -0
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js +2 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.cjs.js.map +1 -1
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js +5 -2
- package/dist/shared/src/components/SimpleFormDialog/SimpleFormDialog.es.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.cjs.js.map +1 -1
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js +5 -2
- package/dist/shared/src/components/VersionUploader/components/UploadVersionForm.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js +5 -2
- package/dist/shared/src/containers/Actions/ActionConfigDialog.es.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js +5 -2
- package/dist/shared/src/containers/Actions/InteractiveActionDialog.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js +146 -157
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js +7 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js +13 -6
- package/dist/shared/src/containers/DetailsPanel/DetailsPanel.styled.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js +5 -2
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFiles/DetailsPanelFiles.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js +6 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelFloating/DetailsPanelFloating.es.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js +6 -3
- package/dist/shared/src/containers/DetailsPanel/DetailsPanelHeader/DetailsPanelHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/EntityPickerDialog.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTable.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableHeader.es.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.cjs.js.map +1 -1
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js +5 -2
- package/dist/shared/src/containers/EntityPickerDialog/components/EntityTypeTableSearch.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js +413 -396
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js +104 -25
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js +131 -52
- package/dist/shared/src/containers/ProjectTreeTable/ProjectTreeTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js +136 -129
- package/dist/shared/src/containers/ProjectTreeTable/buildTreeTableColumns.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js +16 -53
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js +100 -120
- package/dist/shared/src/containers/ProjectTreeTable/components/ColumnHeaderMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/components/GroupSettingsFallback.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js +7 -3
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js +12 -8
- package/dist/shared/src/containers/ProjectTreeTable/components/HeaderActionButton.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/CellEditingProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js +3 -3
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js +250 -235
- package/dist/shared/src/containers/ProjectTreeTable/context/ClipboardContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js +24 -21
- package/dist/shared/src/containers/ProjectTreeTable/context/ProjectDataContext.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/context/SelectionCellsProvider.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardTypes.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js +10 -10
- package/dist/shared/src/containers/ProjectTreeTable/context/clipboard/clipboardValidation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js +13 -9
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useAttributesList.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js +65 -60
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCellContextMenu.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useCheckSelectedCellsVisible.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useGetGroupedFields.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useKeyboardNavigation.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useMoveEntities.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/usePasteLinks.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js +5 -2
- package/dist/shared/src/containers/ProjectTreeTable/hooks/useQueryFilters.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js +16 -13
- package/dist/shared/src/containers/ProjectTreeTable/utils/cellUtils.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js +41 -14
- package/dist/shared/src/containers/ProjectTreeTable/utils/getReadOnlyLists.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js +7 -7
- package/dist/shared/src/containers/ProjectTreeTable/widgets/BooleanWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js +110 -104
- package/dist/shared/src/containers/ProjectTreeTable/widgets/CellWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js +8 -8
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumCellValue.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js +2 -2
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js +44 -43
- package/dist/shared/src/containers/ProjectTreeTable/widgets/EnumWidget.es.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.cjs.js.map +1 -1
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js +7 -4
- package/dist/shared/src/containers/ProjectTreeTable/widgets/LinksWidget.es.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.cjs.js.map +1 -1
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js +5 -2
- package/dist/shared/src/containers/RepresentationsList/RepresentationsList.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js +118 -103
- package/dist/shared/src/containers/SimpleTable/SimpleTable.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js +16 -4
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js +13 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTable.styled.es.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.cjs.js.map +1 -1
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js +62 -50
- package/dist/shared/src/containers/SimpleTable/SimpleTableRowTemplate.es.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.cjs.js.map +1 -1
- package/dist/shared/src/containers/Views/context/ViewsContext.es.js.map +1 -1
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js +2 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.cjs.js.map +1 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js +64 -0
- package/dist/shared/src/containers/Views/hooks/pages/useReportsViewSettings.es.js.map +1 -0
- package/dist/shared/src/context/MenuContext.cjs.js +2 -0
- package/dist/shared/src/context/MenuContext.cjs.js.map +1 -0
- package/dist/shared/src/context/MenuContext.es.js +28 -0
- package/dist/shared/src/context/MenuContext.es.js.map +1 -0
- package/dist/shared/src/context/PowerpackContext.cjs.js +1 -1
- package/dist/shared/src/context/PowerpackContext.cjs.js.map +1 -1
- package/dist/shared/src/context/PowerpackContext.es.js +20 -15
- package/dist/shared/src/context/PowerpackContext.es.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js +1 -1
- package/dist/shared/src/context/RemoteModulesContext.cjs.js.map +1 -1
- package/dist/shared/src/context/RemoteModulesContext.es.js +19 -19
- package/dist/shared/src/context/RemoteModulesContext.es.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.cjs.js.map +1 -1
- package/dist/shared/src/hooks/useLoadModule.es.js.map +1 -1
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/Menu.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.es.js +55 -0
- package/dist/src/components/Menu/MenuComponents/Menu.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js +254 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js +265 -0
- package/dist/src/components/Menu/MenuComponents/Menu.styled.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js +80 -0
- package/dist/src/components/Menu/MenuComponents/MenuContainer2.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js +59 -0
- package/dist/src/components/Menu/MenuComponents/MenuItem.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js +112 -0
- package/dist/src/components/Menu/MenuComponents/MenuList.es.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js +2 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.cjs.js.map +1 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js +35 -0
- package/dist/src/components/Menu/MenuComponents/useMenuPosition.es.js.map +1 -0
- package/dist/types/api/generated/entityLists.d.ts +8 -8
- package/dist/types/api/generated/users.d.ts +18 -14
- package/dist/types/api/generated/views.d.ts +47 -9
- package/dist/types/api/queries/entityLists/getLists.d.ts +133 -0
- package/dist/types/api/queries/entityLists/types.d.ts +2 -1
- package/dist/types/api/queries/permissions/getPermissions.d.ts +22 -22
- package/dist/types/api/queries/users/getUsers.d.ts +132 -0
- package/dist/types/api/queries/users/updateUsers.d.ts +3 -3
- package/dist/types/components/AccessUser/AccessUser.d.ts +22 -0
- package/dist/types/components/AccessUser/AccessUser.styled.d.ts +1 -0
- package/dist/types/components/AccessUser/index.d.ts +1 -0
- package/dist/types/components/DetailsMetaData/DetailsMetaData.d.ts +8 -0
- package/dist/types/components/DetailsMetaData/index.d.ts +1 -0
- package/dist/types/components/DetailsPanelAttributes/DetailsPanelAttributesEditor.d.ts +4 -0
- package/dist/types/components/ListAttributeForm/ListAttributeForm.d.ts +13 -0
- package/dist/types/components/ListAttributeForm/index.d.ts +1 -0
- package/dist/types/components/ListMetaData/ListMetaData.d.ts +8 -0
- package/dist/types/components/ListMetaData/index.d.ts +1 -0
- package/dist/types/components/Powerpack/RequiredPowerpackVersion.d.ts +5 -0
- package/dist/types/components/Powerpack/index.d.ts +1 -0
- package/dist/types/components/ShareOptionIcon/ShareOptionIcon.d.ts +10 -0
- package/dist/types/components/ShareOptionIcon/index.d.ts +2 -0
- package/dist/types/components/index.d.ts +4 -0
- package/dist/types/containers/DetailsPanel/DetailsPanel.styled.d.ts +7 -0
- package/dist/types/containers/ProjectTreeTable/ProjectTreeTable.styled.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/components/ColumnHeaderMenu.d.ts +4 -1
- package/dist/types/containers/ProjectTreeTable/context/ProjectDataContext.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/context/clipboard/clipboardTypes.d.ts +3 -1
- package/dist/types/containers/ProjectTreeTable/hooks/useAttributesList.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/utils/getReadOnlyLists.d.ts +1 -1
- package/dist/types/containers/ProjectTreeTable/widgets/BooleanWidget.d.ts +1 -0
- package/dist/types/containers/ProjectTreeTable/widgets/EnumCellValue.d.ts +2 -2
- package/dist/types/containers/SimpleTable/SimpleTable.d.ts +3 -0
- package/dist/types/containers/SimpleTable/SimpleTableRowTemplate.d.ts +5 -1
- package/dist/types/containers/Views/hooks/pages/useReportsViewSettings.d.ts +11 -0
- package/dist/types/containers/Views/index.d.ts +6 -2
- package/dist/types/context/MenuContext.d.ts +12 -0
- package/dist/types/context/PowerpackContext.d.ts +1 -1
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -1
|
@@ -11,7 +11,7 @@ import "../../generated/authentication.es.js";
|
|
|
11
11
|
import "../../generated/bundles.es.js";
|
|
12
12
|
import "../../generated/configuration.es.js";
|
|
13
13
|
import "../../generated/desktop.es.js";
|
|
14
|
-
import { api as
|
|
14
|
+
import { api as h } from "../../generated/entityLists.es.js";
|
|
15
15
|
import "../../generated/events.es.js";
|
|
16
16
|
import "../../generated/files.es.js";
|
|
17
17
|
import "../../generated/folders.es.js";
|
|
@@ -36,169 +36,184 @@ import "../../generated/workfiles.es.js";
|
|
|
36
36
|
import "../../generated/ynputCloud.es.js";
|
|
37
37
|
import "../../generated/grouping.es.js";
|
|
38
38
|
import "../../generated/views.es.js";
|
|
39
|
-
import
|
|
40
|
-
const v =
|
|
39
|
+
import L from "./getLists.es.js";
|
|
40
|
+
const v = h.enhanceEndpoints({
|
|
41
41
|
endpoints: {
|
|
42
42
|
// LIST MUTATIONS
|
|
43
43
|
createEntityList: {
|
|
44
44
|
invalidatesTags: [{ type: "entityList", id: "LIST" }]
|
|
45
45
|
},
|
|
46
46
|
updateEntityList: {
|
|
47
|
-
async onQueryStarted({ listId: n, entityListPatchModel:
|
|
48
|
-
const
|
|
49
|
-
let
|
|
50
|
-
for (const
|
|
51
|
-
const
|
|
52
|
-
|
|
53
|
-
for (const
|
|
54
|
-
const
|
|
55
|
-
if (
|
|
56
|
-
const s =
|
|
57
|
-
Object.assign(s,
|
|
47
|
+
async onQueryStarted({ listId: n, entityListPatchModel: t }, { dispatch: i, queryFulfilled: u, getState: f }) {
|
|
48
|
+
const r = f(), g = [{ type: "entityList", id: n }], I = L.util.selectInvalidatedBy(r, g).filter((a) => a.endpointName === "getListsInfinite");
|
|
49
|
+
let c = [];
|
|
50
|
+
for (const a of I) {
|
|
51
|
+
const y = i(
|
|
52
|
+
L.util.updateQueryData("getListsInfinite", a.originalArgs, (d) => {
|
|
53
|
+
for (const l of d.pages) {
|
|
54
|
+
const e = l.lists.findIndex((s) => s.id === n);
|
|
55
|
+
if (e !== -1) {
|
|
56
|
+
const s = l.lists[e];
|
|
57
|
+
Object.assign(s, t);
|
|
58
58
|
break;
|
|
59
59
|
}
|
|
60
60
|
}
|
|
61
61
|
})
|
|
62
62
|
);
|
|
63
|
-
|
|
63
|
+
c.push(y);
|
|
64
|
+
}
|
|
65
|
+
const o = h.util.selectInvalidatedBy(r, g).filter((a) => a.endpointName === "getEntityList" && a.originalArgs.listId === n);
|
|
66
|
+
for (const a of o) {
|
|
67
|
+
const y = i(
|
|
68
|
+
h.util.updateQueryData("getEntityList", a.originalArgs, (d) => {
|
|
69
|
+
Object.assign(d, {
|
|
70
|
+
...d,
|
|
71
|
+
...t
|
|
72
|
+
});
|
|
73
|
+
})
|
|
74
|
+
);
|
|
75
|
+
c.push(y);
|
|
64
76
|
}
|
|
65
77
|
try {
|
|
66
|
-
await
|
|
78
|
+
await u;
|
|
67
79
|
} catch {
|
|
68
|
-
|
|
69
|
-
|
|
80
|
+
c.forEach((a) => {
|
|
81
|
+
a.undo();
|
|
70
82
|
});
|
|
71
83
|
}
|
|
72
|
-
}
|
|
73
|
-
invalidatesTags: (
|
|
84
|
+
}
|
|
85
|
+
// invalidatesTags: (_s, _e, { listId }) => {
|
|
86
|
+
// const tags = [{ type: 'entityList', id: listId }]
|
|
87
|
+
// return tags
|
|
88
|
+
// },
|
|
74
89
|
},
|
|
75
90
|
deleteEntityList: {
|
|
76
91
|
invalidatesTags: [{ type: "entityList", id: "LIST" }]
|
|
77
92
|
},
|
|
78
93
|
// LIST ITEM MUTATIONS
|
|
79
94
|
updateEntityListItems: {
|
|
80
|
-
async onQueryStarted({ listId: n, entityListMultiPatchModel:
|
|
81
|
-
const
|
|
82
|
-
let
|
|
83
|
-
if (!
|
|
84
|
-
await
|
|
95
|
+
async onQueryStarted({ listId: n, entityListMultiPatchModel: t }, { dispatch: i, queryFulfilled: u, getState: f }) {
|
|
96
|
+
const r = f(), g = [{ type: "entityListItem", id: n }], I = L.util.selectInvalidatedBy(r, g).filter((o) => o.endpointName === "getListItemsInfinite");
|
|
97
|
+
let c = [];
|
|
98
|
+
if (!t.items || t.items.length === 0) {
|
|
99
|
+
await u;
|
|
85
100
|
return;
|
|
86
101
|
}
|
|
87
|
-
for (const
|
|
88
|
-
if (
|
|
89
|
-
const
|
|
90
|
-
|
|
91
|
-
var
|
|
92
|
-
let
|
|
93
|
-
for (const
|
|
94
|
-
(
|
|
95
|
-
const
|
|
96
|
-
(
|
|
102
|
+
for (const o of I) {
|
|
103
|
+
if (o.originalArgs.listId !== n) continue;
|
|
104
|
+
const a = i(
|
|
105
|
+
L.util.updateQueryData("getListItemsInfinite", o.originalArgs, (y) => {
|
|
106
|
+
var l;
|
|
107
|
+
let d = !1;
|
|
108
|
+
for (const e of y.pages)
|
|
109
|
+
(l = t.items) == null || l.forEach((s) => {
|
|
110
|
+
const p = e.items.findIndex(
|
|
111
|
+
(m) => m.id === s.id || m.entityId === s.entityId
|
|
97
112
|
);
|
|
98
|
-
if (
|
|
99
|
-
const
|
|
100
|
-
...
|
|
101
|
-
...
|
|
113
|
+
if (p !== -1) {
|
|
114
|
+
const m = e.items[p], E = {
|
|
115
|
+
...m,
|
|
116
|
+
...s,
|
|
102
117
|
// Apply all top-level fields from patchItem
|
|
103
118
|
attrib: {
|
|
104
|
-
...
|
|
105
|
-
...
|
|
119
|
+
...m.attrib,
|
|
120
|
+
...s.attrib || {}
|
|
106
121
|
// Merge attrib safely
|
|
107
122
|
}
|
|
108
123
|
};
|
|
109
|
-
Object.assign(
|
|
124
|
+
Object.assign(e.items[p], E), s.position !== void 0 && (d = !0);
|
|
110
125
|
}
|
|
111
126
|
});
|
|
112
|
-
if (
|
|
113
|
-
let
|
|
114
|
-
|
|
115
|
-
const E = typeof
|
|
116
|
-
return E -
|
|
127
|
+
if (d) {
|
|
128
|
+
let e = y.pages.flatMap((p) => p.items);
|
|
129
|
+
e.sort((p, m) => {
|
|
130
|
+
const E = typeof p.position == "number" ? p.position : 1 / 0, b = typeof m.position == "number" ? m.position : 1 / 0;
|
|
131
|
+
return E - b;
|
|
117
132
|
});
|
|
118
|
-
let
|
|
119
|
-
for (const
|
|
120
|
-
const
|
|
121
|
-
|
|
133
|
+
let s = 0;
|
|
134
|
+
for (const p of y.pages) {
|
|
135
|
+
const m = p.items.length;
|
|
136
|
+
p.items = e.slice(s, s + m), s += m;
|
|
122
137
|
}
|
|
123
138
|
}
|
|
124
139
|
})
|
|
125
140
|
);
|
|
126
|
-
|
|
141
|
+
c.push(a);
|
|
127
142
|
}
|
|
128
143
|
try {
|
|
129
|
-
await
|
|
144
|
+
await u;
|
|
130
145
|
} catch {
|
|
131
|
-
|
|
132
|
-
|
|
146
|
+
c.forEach((o) => {
|
|
147
|
+
o.undo();
|
|
133
148
|
});
|
|
134
149
|
}
|
|
135
150
|
},
|
|
136
|
-
invalidatesTags: (n,
|
|
137
|
-
{ type: "entityList", id:
|
|
138
|
-
{ type: "entityListItem", id:
|
|
139
|
-
...(
|
|
140
|
-
(
|
|
141
|
-
|
|
151
|
+
invalidatesTags: (n, t, { listId: i, entityListMultiPatchModel: { items: u } }) => [
|
|
152
|
+
{ type: "entityList", id: i },
|
|
153
|
+
{ type: "entityListItem", id: i },
|
|
154
|
+
...(u || []).flatMap(
|
|
155
|
+
(r) => (r.id ? [{ type: "entityListItem", id: r.id }] : []).concat(
|
|
156
|
+
r.entityId ? [{ type: "entityListItem", id: r.entityId }] : []
|
|
142
157
|
)
|
|
143
158
|
)
|
|
144
159
|
]
|
|
145
160
|
},
|
|
146
161
|
updateEntityListItem: {
|
|
147
|
-
async onQueryStarted({ listItemId: n, entityListItemPatchModel:
|
|
148
|
-
const
|
|
149
|
-
let
|
|
150
|
-
for (const
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
for (const
|
|
154
|
-
const
|
|
155
|
-
if (
|
|
156
|
-
const
|
|
157
|
-
...
|
|
162
|
+
async onQueryStarted({ listItemId: n, entityListItemPatchModel: t }, { dispatch: i, queryFulfilled: u, getState: f }) {
|
|
163
|
+
const r = f(), g = [{ type: "entityListItem", id: n }], I = L.util.selectInvalidatedBy(r, g).filter((o) => o.endpointName === "getListItemsInfinite");
|
|
164
|
+
let c = [];
|
|
165
|
+
for (const o of I) {
|
|
166
|
+
const a = i(
|
|
167
|
+
L.util.updateQueryData("getListItemsInfinite", o.originalArgs, (y) => {
|
|
168
|
+
for (const d of y.pages) {
|
|
169
|
+
const l = d.items.findIndex((e) => e.id === n);
|
|
170
|
+
if (l !== -1) {
|
|
171
|
+
const e = d.items[l], s = {
|
|
172
|
+
...e,
|
|
158
173
|
attrib: {
|
|
159
|
-
...
|
|
160
|
-
...
|
|
174
|
+
...e.attrib,
|
|
175
|
+
...t.attrib
|
|
161
176
|
}
|
|
162
177
|
};
|
|
163
|
-
Object.assign(
|
|
178
|
+
Object.assign(e, s);
|
|
164
179
|
break;
|
|
165
180
|
}
|
|
166
181
|
}
|
|
167
182
|
})
|
|
168
183
|
);
|
|
169
|
-
|
|
184
|
+
c.push(a);
|
|
170
185
|
}
|
|
171
186
|
try {
|
|
172
|
-
await
|
|
187
|
+
await u;
|
|
173
188
|
} catch {
|
|
174
|
-
|
|
175
|
-
|
|
189
|
+
c.forEach((o) => {
|
|
190
|
+
o.undo();
|
|
176
191
|
});
|
|
177
192
|
}
|
|
178
193
|
}
|
|
179
194
|
},
|
|
180
195
|
createEntityListItem: {
|
|
181
|
-
invalidatesTags: (n,
|
|
182
|
-
{ type: "entityList", id:
|
|
183
|
-
{ type: "entityListItem", id:
|
|
196
|
+
invalidatesTags: (n, t, { listId: i }) => [
|
|
197
|
+
{ type: "entityList", id: i },
|
|
198
|
+
{ type: "entityListItem", id: i }
|
|
184
199
|
]
|
|
185
200
|
},
|
|
186
201
|
deleteEntityListItem: {
|
|
187
|
-
invalidatesTags: (n,
|
|
188
|
-
{ type: "entityList", id:
|
|
189
|
-
{ type: "entityListItem", id:
|
|
202
|
+
invalidatesTags: (n, t, { listId: i }) => [
|
|
203
|
+
{ type: "entityList", id: i },
|
|
204
|
+
{ type: "entityListItem", id: i }
|
|
190
205
|
]
|
|
191
206
|
}
|
|
192
207
|
}
|
|
193
|
-
}),
|
|
208
|
+
}), R = v.injectEndpoints({
|
|
194
209
|
endpoints: (n) => ({
|
|
195
210
|
createSessionFromList: n.mutation({
|
|
196
|
-
query: (
|
|
197
|
-
url: `/api/addons/review/${
|
|
211
|
+
query: (t) => ({
|
|
212
|
+
url: `/api/addons/review/${t.addonVersion}/${t.projectName}/sessions/fromList`,
|
|
198
213
|
method: "POST",
|
|
199
|
-
body:
|
|
214
|
+
body: t.sessionFromListRequest
|
|
200
215
|
}),
|
|
201
|
-
transformErrorResponse: (
|
|
216
|
+
transformErrorResponse: (t) => t.data.detail,
|
|
202
217
|
invalidatesTags: () => [{ type: "entityList", id: "LIST" }]
|
|
203
218
|
})
|
|
204
219
|
})
|
|
@@ -213,14 +228,14 @@ const v = b.enhanceEndpoints({
|
|
|
213
228
|
useCreateEntityListItemMutation: lt,
|
|
214
229
|
useDeleteEntityListItemMutation: ft,
|
|
215
230
|
// REVIEW SESSION MUTATIONS
|
|
216
|
-
useCreateSessionFromListMutation:
|
|
217
|
-
} =
|
|
231
|
+
useCreateSessionFromListMutation: gt
|
|
232
|
+
} = R;
|
|
218
233
|
export {
|
|
219
|
-
|
|
220
|
-
|
|
234
|
+
L as entityListsQueriesGql,
|
|
235
|
+
R as entityListsQueriesRest,
|
|
221
236
|
lt as useCreateEntityListItemMutation,
|
|
222
237
|
mt as useCreateEntityListMutation,
|
|
223
|
-
|
|
238
|
+
gt as useCreateSessionFromListMutation,
|
|
224
239
|
ft as useDeleteEntityListItemMutation,
|
|
225
240
|
ct as useDeleteEntityListMutation,
|
|
226
241
|
ut as useUpdateEntityListItemMutation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateLists.es.js","sources":["../../../../../../src/api/queries/entityLists/updateLists.ts"],"sourcesContent":["import { entityListsApi } from '@shared/api/generated'\nimport gqlApi from './getLists'\nimport { CreateSessionFromListApiArg, CreateSessionFromListApiResponse } from './types'\n\nconst updateListsEnhancedApi = entityListsApi.enhanceEndpoints({\n endpoints: {\n // LIST MUTATIONS\n createEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n updateEntityList: {\n async onQueryStarted(\n { listId, entityListPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityList', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListsInfinite')\n\n let patchResults: any[] = []\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.lists.findIndex((list) => list.id === listId)\n if (listIndex !== -1) {\n const list = page.lists[listIndex]\n // Update the list with the new data\n Object.assign(list, entityListPatchModel)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId }) => {\n const tags = [{ type: 'entityList', id: listId }]\n return tags\n },\n },\n deleteEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n // LIST ITEM MUTATIONS\n updateEntityListItems: {\n async onQueryStarted(\n { listId, entityListMultiPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n // We are primarily interested in updating the items within a specific list\n const tags = [{ type: 'entityListItem', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n\n if (!entityListMultiPatchModel.items || entityListMultiPatchModel.items.length === 0) {\n // No items to update, proceed without optimistic update\n await queryFulfilled\n return\n }\n\n for (const entry of infiniteEntries) {\n // only update entries that match the listId\n if (entry.originalArgs.listId !== listId) continue\n\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n let overallPositionChanged = false\n // First pass: update items in place and check if any position changed\n for (const page of draft.pages) {\n entityListMultiPatchModel.items?.forEach((patchItem) => {\n const itemIndex = page.items.findIndex(\n (item) => item.id === patchItem.id || item.entityId === patchItem.entityId,\n )\n\n if (itemIndex !== -1) {\n const existingItem = page.items[itemIndex]\n // Merge existing item with patchItem, ensuring attrib is also merged\n const updatedItem = {\n ...existingItem,\n ...patchItem, // Apply all top-level fields from patchItem\n attrib: {\n ...existingItem.attrib,\n ...(patchItem.attrib || {}), // Merge attrib safely\n },\n }\n Object.assign(page.items[itemIndex], updatedItem)\n\n if (patchItem.position !== undefined) {\n overallPositionChanged = true\n }\n }\n })\n }\n\n if (overallPositionChanged) {\n // Collect all items from all pages for this specific cache entry\n let allItems = draft.pages.flatMap((page) => page.items)\n\n // Sort all items based on position\n allItems.sort((a, b) => {\n const posA = typeof a.position === 'number' ? a.position : Infinity\n const posB = typeof b.position === 'number' ? b.position : Infinity\n return posA - posB\n })\n\n // Re-distribute sorted items back into pages, maintaining original page sizes\n let currentItemIndex = 0\n for (const page of draft.pages) {\n const pageItemCount = page.items.length // Get original item count for this page\n // Replace page items with the corresponding slice from the globally sorted list\n page.items = allItems.slice(currentItemIndex, currentItemIndex + pageItemCount)\n currentItemIndex += pageItemCount\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId, entityListMultiPatchModel: { items } }) => {\n const tags = [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ...(items || []).flatMap((i) =>\n (i.id ? [{ type: 'entityListItem', id: i.id }] : []).concat(\n i.entityId ? [{ type: 'entityListItem', id: i.entityId }] : [],\n ),\n ),\n ]\n return tags\n },\n },\n updateEntityListItem: {\n async onQueryStarted(\n { listItemId, entityListItemPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityListItem', id: listItemId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.items.findIndex((list) => list.id === listItemId)\n if (listIndex !== -1) {\n const list = page.items[listIndex]\n const newListItem = {\n ...list,\n attrib: {\n ...list.attrib,\n ...entityListItemPatchModel.attrib,\n },\n }\n // Update the list with the new data\n Object.assign(list, newListItem)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n },\n createEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n deleteEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n },\n})\n\n// inject review addon endpoint Create Session From List\nconst updateListsInjectedApi = updateListsEnhancedApi.injectEndpoints({\n endpoints: (build) => ({\n createSessionFromList: build.mutation<\n CreateSessionFromListApiResponse,\n CreateSessionFromListApiArg\n >({\n query: (queryArg) => ({\n url: `/api/addons/review/${queryArg.addonVersion}/${queryArg.projectName}/sessions/fromList`,\n method: 'POST',\n body: queryArg.sessionFromListRequest,\n }),\n transformErrorResponse: (error: any) => error.data.detail,\n invalidatesTags: () => [{ type: 'entityList', id: 'LIST' }],\n }),\n }),\n})\n\nexport const {\n // LIST MUTATIONS\n useCreateEntityListMutation,\n useUpdateEntityListMutation,\n useDeleteEntityListMutation,\n // LIST ITEM MUTATIONS\n useUpdateEntityListItemsMutation,\n useUpdateEntityListItemMutation,\n useCreateEntityListItemMutation,\n useDeleteEntityListItemMutation,\n // REVIEW SESSION MUTATIONS\n useCreateSessionFromListMutation,\n} = updateListsInjectedApi\nexport { updateListsInjectedApi as entityListsQueriesRest, gqlApi as entityListsQueriesGql }\n"],"names":["updateListsEnhancedApi","entityListsApi","listId","entityListPatchModel","dispatch","queryFulfilled","getState","state","tags","infiniteEntries","gqlApi","e","patchResults","entry","patchResult","draft","page","listIndex","list","_s","_e","entityListMultiPatchModel","overallPositionChanged","_a","patchItem","itemIndex","item","existingItem","updatedItem","allItems","b","posA","posB","currentItemIndex","pageItemCount","items","i","listItemId","entityListItemPatchModel","newListItem","updateListsInjectedApi","build","queryArg","error","useCreateEntityListMutation","useUpdateEntityListMutation","useDeleteEntityListMutation","useUpdateEntityListItemsMutation","useUpdateEntityListItemMutation","useCreateEntityListItemMutation","useDeleteEntityListItemMutation","useCreateSessionFromListMutation"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updateLists.es.js","sources":["../../../../../../src/api/queries/entityLists/updateLists.ts"],"sourcesContent":["import { entityListsApi } from '@shared/api/generated'\nimport gqlApi from './getLists'\nimport { CreateSessionFromListApiArg, CreateSessionFromListApiResponse } from './types'\n\nconst updateListsEnhancedApi = entityListsApi.enhanceEndpoints({\n endpoints: {\n // LIST MUTATIONS\n createEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n updateEntityList: {\n async onQueryStarted(\n { listId, entityListPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityList', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListsInfinite')\n\n let patchResults: any[] = []\n\n // Update getListsInfinite cache (GraphQL)\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.lists.findIndex((list) => list.id === listId)\n if (listIndex !== -1) {\n const list = page.lists[listIndex]\n // Update the list with the new data\n Object.assign(list, entityListPatchModel)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n // Update getEntityList cache (REST API)\n const entityListEntries = entityListsApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getEntityList' && e.originalArgs.listId === listId)\n\n for (const entry of entityListEntries) {\n const patchResult = dispatch(\n entityListsApi.util.updateQueryData('getEntityList', entry.originalArgs, (draft) => {\n // Update the entity list with the new data\n Object.assign(draft, {\n ...draft,\n ...entityListPatchModel,\n })\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n // invalidatesTags: (_s, _e, { listId }) => {\n // const tags = [{ type: 'entityList', id: listId }]\n // return tags\n // },\n },\n deleteEntityList: {\n invalidatesTags: [{ type: 'entityList', id: 'LIST' }],\n },\n // LIST ITEM MUTATIONS\n updateEntityListItems: {\n async onQueryStarted(\n { listId, entityListMultiPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n // We are primarily interested in updating the items within a specific list\n const tags = [{ type: 'entityListItem', id: listId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n\n if (!entityListMultiPatchModel.items || entityListMultiPatchModel.items.length === 0) {\n // No items to update, proceed without optimistic update\n await queryFulfilled\n return\n }\n\n for (const entry of infiniteEntries) {\n // only update entries that match the listId\n if (entry.originalArgs.listId !== listId) continue\n\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n let overallPositionChanged = false\n // First pass: update items in place and check if any position changed\n for (const page of draft.pages) {\n entityListMultiPatchModel.items?.forEach((patchItem) => {\n const itemIndex = page.items.findIndex(\n (item) => item.id === patchItem.id || item.entityId === patchItem.entityId,\n )\n\n if (itemIndex !== -1) {\n const existingItem = page.items[itemIndex]\n // Merge existing item with patchItem, ensuring attrib is also merged\n const updatedItem = {\n ...existingItem,\n ...patchItem, // Apply all top-level fields from patchItem\n attrib: {\n ...existingItem.attrib,\n ...(patchItem.attrib || {}), // Merge attrib safely\n },\n }\n Object.assign(page.items[itemIndex], updatedItem)\n\n if (patchItem.position !== undefined) {\n overallPositionChanged = true\n }\n }\n })\n }\n\n if (overallPositionChanged) {\n // Collect all items from all pages for this specific cache entry\n let allItems = draft.pages.flatMap((page) => page.items)\n\n // Sort all items based on position\n allItems.sort((a, b) => {\n const posA = typeof a.position === 'number' ? a.position : Infinity\n const posB = typeof b.position === 'number' ? b.position : Infinity\n return posA - posB\n })\n\n // Re-distribute sorted items back into pages, maintaining original page sizes\n let currentItemIndex = 0\n for (const page of draft.pages) {\n const pageItemCount = page.items.length // Get original item count for this page\n // Replace page items with the corresponding slice from the globally sorted list\n page.items = allItems.slice(currentItemIndex, currentItemIndex + pageItemCount)\n currentItemIndex += pageItemCount\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n invalidatesTags: (_s, _e, { listId, entityListMultiPatchModel: { items } }) => {\n const tags = [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ...(items || []).flatMap((i) =>\n (i.id ? [{ type: 'entityListItem', id: i.id }] : []).concat(\n i.entityId ? [{ type: 'entityListItem', id: i.entityId }] : [],\n ),\n ),\n ]\n return tags\n },\n },\n updateEntityListItem: {\n async onQueryStarted(\n { listItemId, entityListItemPatchModel },\n { dispatch, queryFulfilled, getState },\n ) {\n const state = getState()\n // Find all caches that are invalidated by this mutation\n const tags = [{ type: 'entityListItem', id: listItemId }]\n const infiniteEntries = gqlApi.util\n .selectInvalidatedBy(state, tags)\n .filter((e) => e.endpointName === 'getListItemsInfinite')\n\n let patchResults: any[] = []\n for (const entry of infiniteEntries) {\n const patchResult = dispatch(\n gqlApi.util.updateQueryData('getListItemsInfinite', entry.originalArgs, (draft) => {\n for (const page of draft.pages) {\n const listIndex = page.items.findIndex((list) => list.id === listItemId)\n if (listIndex !== -1) {\n const list = page.items[listIndex]\n const newListItem = {\n ...list,\n attrib: {\n ...list.attrib,\n ...entityListItemPatchModel.attrib,\n },\n }\n // Update the list with the new data\n Object.assign(list, newListItem)\n break\n }\n }\n }),\n )\n // Store the patch result to undo it later if needed\n patchResults.push(patchResult)\n }\n try {\n await queryFulfilled\n } catch {\n patchResults.forEach((patchResult) => {\n // Undo the optimistic update if the mutation fails\n patchResult.undo()\n })\n }\n },\n },\n createEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n deleteEntityListItem: {\n invalidatesTags: (_s, _e, { listId }) => [\n { type: 'entityList', id: listId },\n { type: 'entityListItem', id: listId },\n ],\n },\n },\n})\n\n// inject review addon endpoint Create Session From List\nconst updateListsInjectedApi = updateListsEnhancedApi.injectEndpoints({\n endpoints: (build) => ({\n createSessionFromList: build.mutation<\n CreateSessionFromListApiResponse,\n CreateSessionFromListApiArg\n >({\n query: (queryArg) => ({\n url: `/api/addons/review/${queryArg.addonVersion}/${queryArg.projectName}/sessions/fromList`,\n method: 'POST',\n body: queryArg.sessionFromListRequest,\n }),\n transformErrorResponse: (error: any) => error.data.detail,\n invalidatesTags: () => [{ type: 'entityList', id: 'LIST' }],\n }),\n }),\n})\n\nexport const {\n // LIST MUTATIONS\n useCreateEntityListMutation,\n useUpdateEntityListMutation,\n useDeleteEntityListMutation,\n // LIST ITEM MUTATIONS\n useUpdateEntityListItemsMutation,\n useUpdateEntityListItemMutation,\n useCreateEntityListItemMutation,\n useDeleteEntityListItemMutation,\n // REVIEW SESSION MUTATIONS\n useCreateSessionFromListMutation,\n} = updateListsInjectedApi\nexport { updateListsInjectedApi as entityListsQueriesRest, gqlApi as entityListsQueriesGql }\n"],"names":["updateListsEnhancedApi","entityListsApi","listId","entityListPatchModel","dispatch","queryFulfilled","getState","state","tags","infiniteEntries","gqlApi","e","patchResults","entry","patchResult","draft","page","listIndex","list","entityListEntries","entityListMultiPatchModel","overallPositionChanged","_a","patchItem","itemIndex","item","existingItem","updatedItem","allItems","a","b","posA","posB","currentItemIndex","pageItemCount","_s","_e","items","i","listItemId","entityListItemPatchModel","newListItem","updateListsInjectedApi","build","queryArg","error","useCreateEntityListMutation","useUpdateEntityListMutation","useDeleteEntityListMutation","useUpdateEntityListItemsMutation","useUpdateEntityListItemMutation","useCreateEntityListItemMutation","useDeleteEntityListItemMutation","useCreateSessionFromListMutation"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAMA,IAAyBC,EAAe,iBAAiB;AAAA,EAC7D,WAAW;AAAA;AAAA,IAET,kBAAkB;AAAA,MAChB,iBAAiB,CAAC,EAAE,MAAM,cAAc,IAAI,OAAQ,CAAA;AAAA,IACtD;AAAA,IACA,kBAAkB;AAAA,MAChB,MAAM,eACJ,EAAE,QAAAC,GAAQ,sBAAAC,EAAA,GACV,EAAE,UAAAC,GAAU,gBAAAC,GAAgB,UAAAC,KAC5B;AACA,cAAMC,IAAQD,EAAS,GAEjBE,IAAO,CAAC,EAAE,MAAM,cAAc,IAAIN,GAAQ,GAC1CO,IAAkBC,EAAO,KAC5B,oBAAoBH,GAAOC,CAAI,EAC/B,OAAO,CAACG,MAAMA,EAAE,iBAAiB,kBAAkB;AAEtD,YAAIC,IAAsB,CAAC;AAG3B,mBAAWC,KAASJ,GAAiB;AACnC,gBAAMK,IAAcV;AAAA,YAClBM,EAAO,KAAK,gBAAgB,oBAAoBG,EAAM,cAAc,CAACE,MAAU;AAClE,yBAAAC,KAAQD,EAAM,OAAO;AACxB,sBAAAE,IAAYD,EAAK,MAAM,UAAU,CAACE,MAASA,EAAK,OAAOhB,CAAM;AACnE,oBAAIe,MAAc,IAAI;AACd,wBAAAC,IAAOF,EAAK,MAAMC,CAAS;AAE1B,yBAAA,OAAOC,GAAMf,CAAoB;AACxC;AAAA,gBAAA;AAAA,cACF;AAAA,YAEH,CAAA;AAAA,UACH;AAEA,UAAAS,EAAa,KAAKE,CAAW;AAAA,QAAA;AAI/B,cAAMK,IAAoBlB,EAAe,KACtC,oBAAoBM,GAAOC,CAAI,EAC/B,OAAO,CAACG,MAAMA,EAAE,iBAAiB,mBAAmBA,EAAE,aAAa,WAAWT,CAAM;AAEvF,mBAAWW,KAASM,GAAmB;AACrC,gBAAML,IAAcV;AAAA,YAClBH,EAAe,KAAK,gBAAgB,iBAAiBY,EAAM,cAAc,CAACE,MAAU;AAElF,qBAAO,OAAOA,GAAO;AAAA,gBACnB,GAAGA;AAAA,gBACH,GAAGZ;AAAA,cAAA,CACJ;AAAA,YACF,CAAA;AAAA,UACH;AAEA,UAAAS,EAAa,KAAKE,CAAW;AAAA,QAAA;AAG3B,YAAA;AACI,gBAAAT;AAAA,QAAA,QACA;AACO,UAAAO,EAAA,QAAQ,CAACE,MAAgB;AAEpC,YAAAA,EAAY,KAAK;AAAA,UAAA,CAClB;AAAA,QAAA;AAAA,MACH;AAAA;AAAA;AAAA;AAAA;AAAA,IAMJ;AAAA,IACA,kBAAkB;AAAA,MAChB,iBAAiB,CAAC,EAAE,MAAM,cAAc,IAAI,OAAQ,CAAA;AAAA,IACtD;AAAA;AAAA,IAEA,uBAAuB;AAAA,MACrB,MAAM,eACJ,EAAE,QAAAZ,GAAQ,2BAAAkB,EAAA,GACV,EAAE,UAAAhB,GAAU,gBAAAC,GAAgB,UAAAC,KAC5B;AACA,cAAMC,IAAQD,EAAS,GAGjBE,IAAO,CAAC,EAAE,MAAM,kBAAkB,IAAIN,GAAQ,GAC9CO,IAAkBC,EAAO,KAC5B,oBAAoBH,GAAOC,CAAI,EAC/B,OAAO,CAACG,MAAMA,EAAE,iBAAiB,sBAAsB;AAE1D,YAAIC,IAAsB,CAAC;AAE3B,YAAI,CAACQ,EAA0B,SAASA,EAA0B,MAAM,WAAW,GAAG;AAE9E,gBAAAf;AACN;AAAA,QAAA;AAGF,mBAAWQ,KAASJ,GAAiB;AAE/B,cAAAI,EAAM,aAAa,WAAWX,EAAQ;AAE1C,gBAAMY,IAAcV;AAAA,YAClBM,EAAO,KAAK,gBAAgB,wBAAwBG,EAAM,cAAc,CAACE,MAAU;;AACjF,kBAAIM,IAAyB;AAElB,yBAAAL,KAAQD,EAAM;AACG,iBAAAO,IAAAF,EAAA,UAAA,QAAAE,EAAO,QAAQ,CAACC,MAAc;AAChD,wBAAAC,IAAYR,EAAK,MAAM;AAAA,oBAC3B,CAACS,MAASA,EAAK,OAAOF,EAAU,MAAME,EAAK,aAAaF,EAAU;AAAA,kBACpE;AAEA,sBAAIC,MAAc,IAAI;AACd,0BAAAE,IAAeV,EAAK,MAAMQ,CAAS,GAEnCG,IAAc;AAAA,sBAClB,GAAGD;AAAA,sBACH,GAAGH;AAAA;AAAA,sBACH,QAAQ;AAAA,wBACN,GAAGG,EAAa;AAAA,wBAChB,GAAIH,EAAU,UAAU,CAAA;AAAA;AAAA,sBAAC;AAAA,oBAE7B;AACA,2BAAO,OAAOP,EAAK,MAAMQ,CAAS,GAAGG,CAAW,GAE5CJ,EAAU,aAAa,WACAF,IAAA;AAAA,kBAC3B;AAAA,gBACF;AAIJ,kBAAIA,GAAwB;AAE1B,oBAAIO,IAAWb,EAAM,MAAM,QAAQ,CAACC,MAASA,EAAK,KAAK;AAG9C,gBAAAY,EAAA,KAAK,CAACC,GAAGC,MAAM;AACtB,wBAAMC,IAAO,OAAOF,EAAE,YAAa,WAAWA,EAAE,WAAW,OACrDG,IAAO,OAAOF,EAAE,YAAa,WAAWA,EAAE,WAAW;AAC3D,yBAAOC,IAAOC;AAAA,gBAAA,CACf;AAGD,oBAAIC,IAAmB;AACZ,2BAAAjB,KAAQD,EAAM,OAAO;AACxB,wBAAAmB,IAAgBlB,EAAK,MAAM;AAEjC,kBAAAA,EAAK,QAAQY,EAAS,MAAMK,GAAkBA,IAAmBC,CAAa,GAC1DD,KAAAC;AAAA,gBAAA;AAAA,cACtB;AAAA,YAEH,CAAA;AAAA,UACH;AAEA,UAAAtB,EAAa,KAAKE,CAAW;AAAA,QAAA;AAG3B,YAAA;AACI,gBAAAT;AAAA,QAAA,QACA;AACO,UAAAO,EAAA,QAAQ,CAACE,MAAgB;AAEpC,YAAAA,EAAY,KAAK;AAAA,UAAA,CAClB;AAAA,QAAA;AAAA,MAEL;AAAA,MACA,iBAAiB,CAACqB,GAAIC,GAAI,EAAE,QAAAlC,GAAQ,2BAA2B,EAAE,OAAAmC,EAAM,QACxD;AAAA,QACX,EAAE,MAAM,cAAc,IAAInC,EAAO;AAAA,QACjC,EAAE,MAAM,kBAAkB,IAAIA,EAAO;AAAA,QACrC,IAAImC,KAAS,CAAA,GAAI;AAAA,UAAQ,CAACC,OACvBA,EAAE,KAAK,CAAC,EAAE,MAAM,kBAAkB,IAAIA,EAAE,IAAI,IAAI,CAAI,GAAA;AAAA,YACnDA,EAAE,WAAW,CAAC,EAAE,MAAM,kBAAkB,IAAIA,EAAE,SAAA,CAAU,IAAI,CAAA;AAAA,UAAC;AAAA,QAC/D;AAAA,MAEJ;AAAA,IAGJ;AAAA,IACA,sBAAsB;AAAA,MACpB,MAAM,eACJ,EAAE,YAAAC,GAAY,0BAAAC,EAAA,GACd,EAAE,UAAApC,GAAU,gBAAAC,GAAgB,UAAAC,KAC5B;AACA,cAAMC,IAAQD,EAAS,GAEjBE,IAAO,CAAC,EAAE,MAAM,kBAAkB,IAAI+B,GAAY,GAClD9B,IAAkBC,EAAO,KAC5B,oBAAoBH,GAAOC,CAAI,EAC/B,OAAO,CAACG,MAAMA,EAAE,iBAAiB,sBAAsB;AAE1D,YAAIC,IAAsB,CAAC;AAC3B,mBAAWC,KAASJ,GAAiB;AACnC,gBAAMK,IAAcV;AAAA,YAClBM,EAAO,KAAK,gBAAgB,wBAAwBG,EAAM,cAAc,CAACE,MAAU;AACtE,yBAAAC,KAAQD,EAAM,OAAO;AACxB,sBAAAE,IAAYD,EAAK,MAAM,UAAU,CAACE,MAASA,EAAK,OAAOqB,CAAU;AACvE,oBAAItB,MAAc,IAAI;AACd,wBAAAC,IAAOF,EAAK,MAAMC,CAAS,GAC3BwB,IAAc;AAAA,oBAClB,GAAGvB;AAAA,oBACH,QAAQ;AAAA,sBACN,GAAGA,EAAK;AAAA,sBACR,GAAGsB,EAAyB;AAAA,oBAAA;AAAA,kBAEhC;AAEO,yBAAA,OAAOtB,GAAMuB,CAAW;AAC/B;AAAA,gBAAA;AAAA,cACF;AAAA,YAEH,CAAA;AAAA,UACH;AAEA,UAAA7B,EAAa,KAAKE,CAAW;AAAA,QAAA;AAE3B,YAAA;AACI,gBAAAT;AAAA,QAAA,QACA;AACO,UAAAO,EAAA,QAAQ,CAACE,MAAgB;AAEpC,YAAAA,EAAY,KAAK;AAAA,UAAA,CAClB;AAAA,QAAA;AAAA,MACH;AAAA,IAEJ;AAAA,IACA,sBAAsB;AAAA,MACpB,iBAAiB,CAACqB,GAAIC,GAAI,EAAE,QAAAlC,QAAa;AAAA,QACvC,EAAE,MAAM,cAAc,IAAIA,EAAO;AAAA,QACjC,EAAE,MAAM,kBAAkB,IAAIA,EAAO;AAAA,MAAA;AAAA,IAEzC;AAAA,IACA,sBAAsB;AAAA,MACpB,iBAAiB,CAACiC,GAAIC,GAAI,EAAE,QAAAlC,QAAa;AAAA,QACvC,EAAE,MAAM,cAAc,IAAIA,EAAO;AAAA,QACjC,EAAE,MAAM,kBAAkB,IAAIA,EAAO;AAAA,MAAA;AAAA,IACvC;AAAA,EACF;AAEJ,CAAC,GAGKwC,IAAyB1C,EAAuB,gBAAgB;AAAA,EACpE,WAAW,CAAC2C,OAAW;AAAA,IACrB,uBAAuBA,EAAM,SAG3B;AAAA,MACA,OAAO,CAACC,OAAc;AAAA,QACpB,KAAK,sBAAsBA,EAAS,YAAY,IAAIA,EAAS,WAAW;AAAA,QACxE,QAAQ;AAAA,QACR,MAAMA,EAAS;AAAA,MAAA;AAAA,MAEjB,wBAAwB,CAACC,MAAeA,EAAM,KAAK;AAAA,MACnD,iBAAiB,MAAM,CAAC,EAAE,MAAM,cAAc,IAAI,OAAQ,CAAA;AAAA,IAC3D,CAAA;AAAA,EACH;AACF,CAAC,GAEY;AAAA;AAAA,EAEX,6BAAAC;AAAA,EACA,6BAAAC;AAAA,EACA,6BAAAC;AAAA;AAAA,EAEA,kCAAAC;AAAA,EACA,iCAAAC;AAAA,EACA,iCAAAC;AAAA,EACA,iCAAAC;AAAA;AAAA,EAEA,kCAAAC;AACF,IAAIX;"}
|
|
@@ -68,5 +68,5 @@ query Assignees($projectName: String) {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
-
}`,y=d.api.enhanceEndpoints({endpoints:{getCurrentUser:{providesTags:[{type:"user",id:"LIST"}]},getUserSessions:{transformResponse:r=>r==null?void 0:r.sessions,providesTags:(r,e,{userName:s})=>[{type:"session",id:s}]}}}),n=o.api.injectEndpoints({endpoints:r=>({getUsers:r.query({query:()=>({url:"/graphql",method:"POST",body:{query:p,variables:{}}}),transformResponse:(e,s,{selfName:t})=>{var u;if(e!=null&&e.errors)throw console.log(e.errors),new Error(e.errors[0].message);return(u=e==null?void 0:e.data)==null?void 0:u.users.edges.map(i=>({...i.node,self:i.node.name===t,avatarUrl:`/api/users/${i.node.name}/avatar`,accessGroups:i.node.accessGroups?JSON.parse(i.node.accessGroups):{},attrib:a.parseAllAttribs(i.node.allAttrib)}))},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:[{type:"user",id:"LIST"}]}),getUserByName:r.query({query:({name:e})=>({url:"/graphql",method:"POST",body:{query:q,variables:{name:e}}}),transformResponse:e=>{var s;return(s=e==null?void 0:e.data)==null?void 0:s.users.edges.map(t=>{var u;return{...t.node,avatarUrl:`/api/users/${(u=t.node)==null?void 0:u.name}/avatar`,attrib:a.parseAllAttribs(t.node.allAttrib)}})},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:["user",{type:"user",id:"LIST"}]}),getUsersAssignee:r.query({query:({names:e,projectName:s})=>({url:"/graphql",method:"POST",body:{query:e?l:m,variables:{names:e,projectName:s}}}),transformResponse:e=>{var s;return(s=e==null?void 0:e.data)==null?void 0:s.users.edges.flatMap(t=>{var i;if(!t.node)return[];const u=t.node;return{name:u.name,fullName:(i=u.attrib)==null?void 0:i.fullName,avatarUrl:`/api/users/${u.name}/avatar`}})},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:[{type:"user",id:"LIST"}]})}),overrideExisting:!0}),g=n.enhanceEndpoints({endpoints:{GetAllProjectUsersAsAssignee:{transformResponse:r=>r.users.edges.map(e=>({name:e.node.name,fullName:e.node.attrib.fullName,updatedAt:e.node.updatedAt})),providesTags:r=>r?[{type:"user",id:"LIST"},...r.map(e=>({type:"user",id:e.name}))]:[{type:"user",id:"LIST"}]},GetActiveUsersCount:{transformResponse:r=>r.users.edges.filter(e=>e.node.active&&!e.node.isGuest).length,providesTags:[{type:"user",id:"LIST"}]},GetAllAssignees:{transformResponse:r=>r.users.edges.map(e=>({name:e.node.name,fullName:e.node.attrib.fullName,updatedAt:e.node.updatedAt})),providesTags:r=>r?[{type:"user",id:"LIST"},...r.map(e=>({type:"user",id:e.name}))]:[{type:"user",id:"LIST"}]}}}),{useGetAllProjectUsersAsAssigneeQuery:A,useLazyGetAllProjectUsersAsAssigneeQuery:c,useGetActiveUsersCountQuery:
|
|
71
|
+
}`,y=d.api.enhanceEndpoints({endpoints:{getCurrentUser:{providesTags:[{type:"user",id:"LIST"}]},getUser:{providesTags:r=>r?[{type:"user",id:r.name}]:[{type:"user",id:"LIST"}]},getUserSessions:{transformResponse:r=>r==null?void 0:r.sessions,providesTags:(r,e,{userName:s})=>[{type:"session",id:s}]}}}),n=o.api.injectEndpoints({endpoints:r=>({getUsers:r.query({query:()=>({url:"/graphql",method:"POST",body:{query:p,variables:{}}}),transformResponse:(e,s,{selfName:t})=>{var u;if(e!=null&&e.errors)throw console.log(e.errors),new Error(e.errors[0].message);return(u=e==null?void 0:e.data)==null?void 0:u.users.edges.map(i=>({...i.node,self:i.node.name===t,avatarUrl:`/api/users/${i.node.name}/avatar`,accessGroups:i.node.accessGroups?JSON.parse(i.node.accessGroups):{},attrib:a.parseAllAttribs(i.node.allAttrib)}))},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:[{type:"user",id:"LIST"}]}),getUserByName:r.query({query:({name:e})=>({url:"/graphql",method:"POST",body:{query:q,variables:{name:e}}}),transformResponse:e=>{var s;return(s=e==null?void 0:e.data)==null?void 0:s.users.edges.map(t=>{var u;return{...t.node,avatarUrl:`/api/users/${(u=t.node)==null?void 0:u.name}/avatar`,attrib:a.parseAllAttribs(t.node.allAttrib)}})},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:["user",{type:"user",id:"LIST"}]}),getUsersAssignee:r.query({query:({names:e,projectName:s})=>({url:"/graphql",method:"POST",body:{query:e?l:m,variables:{names:e,projectName:s}}}),transformResponse:e=>{var s;return(s=e==null?void 0:e.data)==null?void 0:s.users.edges.flatMap(t=>{var i;if(!t.node)return[];const u=t.node;return{name:u.name,fullName:(i=u.attrib)==null?void 0:i.fullName,avatarUrl:`/api/users/${u.name}/avatar`}})},providesTags:e=>e?[...e.map(s=>({type:"user",id:s.name})),{type:"user",id:"LIST"}]:[{type:"user",id:"LIST"}]})}),overrideExisting:!0}),g=n.enhanceEndpoints({endpoints:{GetAllProjectUsersAsAssignee:{transformResponse:r=>r.users.edges.map(e=>({name:e.node.name,fullName:e.node.attrib.fullName,updatedAt:e.node.updatedAt})),providesTags:r=>r?[{type:"user",id:"LIST"},...r.map(e=>({type:"user",id:e.name}))]:[{type:"user",id:"LIST"}]},GetActiveUsersCount:{transformResponse:r=>r.users.edges.filter(e=>e.node.active&&!e.node.isGuest).length,providesTags:[{type:"user",id:"LIST"}]},GetAllAssignees:{transformResponse:r=>r.users.edges.map(e=>({name:e.node.name,fullName:e.node.attrib.fullName,updatedAt:e.node.updatedAt})),providesTags:r=>r?[{type:"user",id:"LIST"},...r.map(e=>({type:"user",id:e.name}))]:[{type:"user",id:"LIST"}]}}}),{useGetAllProjectUsersAsAssigneeQuery:A,useLazyGetAllProjectUsersAsAssigneeQuery:c,useGetActiveUsersCountQuery:U,useGetAllAssigneesQuery:S,useGetUsersQuery:G,useGetUserByNameQuery:v,useGetUsersAssigneeQuery:T}=g,{useGetUserSessionsQuery:f,useGetCurrentUserQuery:Q,useGetUserQuery:b}=y;exports.default=n;exports.useGetActiveUsersCountQuery=U;exports.useGetAllAssigneesQuery=S;exports.useGetAllProjectUsersAsAssigneeQuery=A;exports.useGetCurrentUserQuery=Q;exports.useGetUserByNameQuery=v;exports.useGetUserQuery=b;exports.useGetUserSessionsQuery=f;exports.useGetUsersAssigneeQuery=T;exports.useGetUsersQuery=G;exports.useLazyGetAllProjectUsersAsAssigneeQuery=c;
|
|
72
72
|
//# sourceMappingURL=getUsers.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUsers.cjs.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { gqlApi, usersApi } from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\nconst enhancedApi = usersApi.enhanceEndpoints({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getUsers.cjs.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { gqlApi, usersApi } from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\nconst enhancedApi = usersApi.enhanceEndpoints({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
|
|
@@ -150,6 +150,9 @@ query Assignees($projectName: String) {
|
|
|
150
150
|
getCurrentUser: {
|
|
151
151
|
providesTags: [{ type: "user", id: "LIST" }]
|
|
152
152
|
},
|
|
153
|
+
getUser: {
|
|
154
|
+
providesTags: (r) => r ? [{ type: "user", id: r.name }] : [{ type: "user", id: "LIST" }]
|
|
155
|
+
},
|
|
153
156
|
getUserSessions: {
|
|
154
157
|
transformResponse: (r) => r == null ? void 0 : r.sessions,
|
|
155
158
|
providesTags: (r, e, { userName: t }) => [{ type: "session", id: t }]
|
|
@@ -166,16 +169,16 @@ query Assignees($projectName: String) {
|
|
|
166
169
|
variables: {}
|
|
167
170
|
}
|
|
168
171
|
}),
|
|
169
|
-
transformResponse: (e, t, { selfName:
|
|
172
|
+
transformResponse: (e, t, { selfName: o }) => {
|
|
170
173
|
var s;
|
|
171
174
|
if (e != null && e.errors)
|
|
172
175
|
throw console.log(e.errors), new Error(e.errors[0].message);
|
|
173
|
-
return (s = e == null ? void 0 : e.data) == null ? void 0 : s.users.edges.map((
|
|
174
|
-
...
|
|
175
|
-
self:
|
|
176
|
-
avatarUrl: `/api/users/${
|
|
177
|
-
accessGroups:
|
|
178
|
-
attrib: p(
|
|
176
|
+
return (s = e == null ? void 0 : e.data) == null ? void 0 : s.users.edges.map((i) => ({
|
|
177
|
+
...i.node,
|
|
178
|
+
self: i.node.name === o,
|
|
179
|
+
avatarUrl: `/api/users/${i.node.name}/avatar`,
|
|
180
|
+
accessGroups: i.node.accessGroups ? JSON.parse(i.node.accessGroups) : {},
|
|
181
|
+
attrib: p(i.node.allAttrib)
|
|
179
182
|
}));
|
|
180
183
|
},
|
|
181
184
|
providesTags: (e) => e ? [...e.map((t) => ({ type: "user", id: t.name })), { type: "user", id: "LIST" }] : [{ type: "user", id: "LIST" }]
|
|
@@ -191,12 +194,12 @@ query Assignees($projectName: String) {
|
|
|
191
194
|
}),
|
|
192
195
|
transformResponse: (e) => {
|
|
193
196
|
var t;
|
|
194
|
-
return (t = e == null ? void 0 : e.data) == null ? void 0 : t.users.edges.map((
|
|
197
|
+
return (t = e == null ? void 0 : e.data) == null ? void 0 : t.users.edges.map((o) => {
|
|
195
198
|
var s;
|
|
196
199
|
return {
|
|
197
|
-
...
|
|
198
|
-
avatarUrl: `/api/users/${(s =
|
|
199
|
-
attrib: p(
|
|
200
|
+
...o.node,
|
|
201
|
+
avatarUrl: `/api/users/${(s = o.node) == null ? void 0 : s.name}/avatar`,
|
|
202
|
+
attrib: p(o.node.allAttrib)
|
|
200
203
|
};
|
|
201
204
|
});
|
|
202
205
|
},
|
|
@@ -213,13 +216,13 @@ query Assignees($projectName: String) {
|
|
|
213
216
|
}),
|
|
214
217
|
transformResponse: (e) => {
|
|
215
218
|
var t;
|
|
216
|
-
return (t = e == null ? void 0 : e.data) == null ? void 0 : t.users.edges.flatMap((
|
|
217
|
-
var
|
|
218
|
-
if (!
|
|
219
|
-
const s =
|
|
219
|
+
return (t = e == null ? void 0 : e.data) == null ? void 0 : t.users.edges.flatMap((o) => {
|
|
220
|
+
var i;
|
|
221
|
+
if (!o.node) return [];
|
|
222
|
+
const s = o.node;
|
|
220
223
|
return {
|
|
221
224
|
name: s.name,
|
|
222
|
-
fullName: (
|
|
225
|
+
fullName: (i = s.attrib) == null ? void 0 : i.fullName,
|
|
223
226
|
avatarUrl: `/api/users/${s.name}/avatar`
|
|
224
227
|
};
|
|
225
228
|
});
|
|
@@ -262,7 +265,7 @@ query Assignees($projectName: String) {
|
|
|
262
265
|
useGetUsersQuery: xe,
|
|
263
266
|
useGetUserByNameQuery: De,
|
|
264
267
|
useGetUsersAssigneeQuery: ze
|
|
265
|
-
} = c, { useGetUserSessionsQuery: Je, useGetCurrentUserQuery: Ke } = g;
|
|
268
|
+
} = c, { useGetUserSessionsQuery: Je, useGetCurrentUserQuery: Ke, useGetUserQuery: Fe } = g;
|
|
266
269
|
export {
|
|
267
270
|
y as default,
|
|
268
271
|
Oe as useGetActiveUsersCountQuery,
|
|
@@ -270,6 +273,7 @@ export {
|
|
|
270
273
|
Be as useGetAllProjectUsersAsAssigneeQuery,
|
|
271
274
|
Ke as useGetCurrentUserQuery,
|
|
272
275
|
De as useGetUserByNameQuery,
|
|
276
|
+
Fe as useGetUserQuery,
|
|
273
277
|
Je as useGetUserSessionsQuery,
|
|
274
278
|
ze as useGetUsersAssigneeQuery,
|
|
275
279
|
xe as useGetUsersQuery,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { gqlApi, usersApi } from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\nconst enhancedApi = usersApi.enhanceEndpoints({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"getUsers.es.js","sources":["../../../../../../src/api/queries/users/getUsers.ts"],"sourcesContent":["import { gqlApi, usersApi } from '@shared/api/generated'\nimport { parseAllAttribs } from '@shared/api'\nimport {\n GetActiveUsersCountQuery,\n GetAllAssigneesQuery,\n GetAllProjectUsersAsAssigneeQuery,\n} from '@shared/api'\n\nconst USER_BY_NAME_QUERY = `\n query UserList($name:String!) {\n users(name: $name) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n allAttrib\n }\n }\n }\n }\n`\nconst USERS_QUERY = `\n query UserList {\n users(last: 2000) {\n edges {\n node {\n name\n isAdmin\n isManager\n isService\n isDeveloper\n isGuest\n active\n userPool\n accessGroups\n defaultAccessGroups\n hasPassword\n disablePasswordLogin\n createdAt\n updatedAt\n apiKeyPreview\n allAttrib\n }\n }\n }\n }\n`\n\nconst ASSIGNEES_BY_NAME_QUERY = `\nquery Assignees($names: [String!]!){\n users(names: $names) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\nconst ASSIGNEES_QUERY = `\nquery Assignees($projectName: String) {\n users(last: 2000 projectName: $projectName) {\n edges {\n node {\n name\n attrib {\n fullName\n }\n }\n }\n}\n}`\n\nconst enhancedApi = usersApi.enhanceEndpoints({\n endpoints: {\n getCurrentUser: {\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n getUser: {\n providesTags: (res) =>\n res ? [{ type: 'user', id: res.name }] : [{ type: 'user', id: 'LIST' }],\n },\n getUserSessions: {\n transformResponse: (res: any) => res?.sessions,\n providesTags: (_res, _g, { userName }) => [{ type: 'session', id: userName }],\n },\n },\n})\n\nconst injectedApi = gqlApi.injectEndpoints({\n endpoints: (build) => ({\n getUsers: build.query({\n query: () => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USERS_QUERY,\n variables: {},\n },\n }),\n transformResponse: (res: any, _meta, { selfName }) => {\n if (res?.errors) {\n console.log(res.errors)\n throw new Error(res.errors[0].message)\n }\n\n return res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n self: e.node.name === selfName,\n avatarUrl: `/api/users/${e.node.name}/avatar`,\n accessGroups: e.node.accessGroups ? JSON.parse(e.node.accessGroups) : {},\n attrib: parseAllAttribs(e.node.allAttrib),\n }))\n },\n providesTags: (users) =>\n users\n ? [...users.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : [{ type: 'user', id: 'LIST' }],\n }),\n getUserByName: build.query({\n query: ({ name }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: USER_BY_NAME_QUERY,\n variables: { name },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.map((e: any) => ({\n ...e.node,\n avatarUrl: `/api/users/${e.node?.name}/avatar`,\n attrib: parseAllAttribs(e.node.allAttrib),\n })),\n providesTags: (res) =>\n res\n ? [...res.map((e: any) => ({ type: 'user', id: e.name })), { type: 'user', id: 'LIST' }]\n : ['user', { type: 'user', id: 'LIST' }],\n }),\n getUsersAssignee: build.query({\n query: ({ names, projectName }) => ({\n url: '/graphql',\n method: 'POST',\n body: {\n query: names ? ASSIGNEES_BY_NAME_QUERY : ASSIGNEES_QUERY,\n variables: { names, projectName },\n },\n }),\n transformResponse: (res: any) =>\n res?.data?.users.edges.flatMap((u: any) => {\n if (!u.node) return []\n\n const n = u.node\n\n return {\n name: n.name,\n fullName: n.attrib?.fullName,\n avatarUrl: `/api/users/${n.name}/avatar`,\n }\n }),\n providesTags: (res) =>\n res\n ? [\n ...res.map((user: any) => ({ type: 'user', id: user.name })),\n { type: 'user', id: 'LIST' },\n ]\n : [{ type: 'user', id: 'LIST' }],\n }),\n }),\n overrideExisting: true,\n})\n\ntype AssigneeNode = GetAllProjectUsersAsAssigneeQuery['users']['edges'][0]['node']\nexport type Assignees = {\n name: AssigneeNode['name']\n fullName: AssigneeNode['attrib']['fullName']\n updatedAt: AssigneeNode['updatedAt']\n}[]\n\nimport { DefinitionsFromApi, OverrideResultType, TagTypesFromApi } from '@reduxjs/toolkit/query'\ntype Definitions = DefinitionsFromApi<typeof gqlApi>\ntype TagTypes = TagTypesFromApi<typeof gqlApi>\n// update the definitions to include the new types\ntype UpdatedDefinitions = Omit<Definitions, 'GetAllProjectUsersAsAssignee'> & {\n GetAllProjectUsersAsAssignee: OverrideResultType<\n Definitions['GetAllProjectUsersAsAssignee'],\n Assignees\n >\n GetActiveUsersCount: OverrideResultType<Definitions['GetActiveUsersCount'], number>\n GetAllAssignees: OverrideResultType<Definitions['GetAllAssignees'], Assignees>\n}\n\nconst gqlUsers = injectedApi.enhanceEndpoints<TagTypes, UpdatedDefinitions>({\n endpoints: {\n GetAllProjectUsersAsAssignee: {\n transformResponse: (res: GetAllProjectUsersAsAssigneeQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n GetActiveUsersCount: {\n transformResponse: (res: GetActiveUsersCountQuery) =>\n res.users.edges.filter((e) => e.node.active && !e.node.isGuest).length,\n providesTags: [{ type: 'user', id: 'LIST' }],\n },\n GetAllAssignees: {\n transformResponse: (res: GetAllAssigneesQuery) =>\n res.users.edges.map((e) => ({\n name: e.node.name,\n fullName: e.node.attrib.fullName,\n updatedAt: e.node.updatedAt,\n })),\n providesTags: (res) =>\n res\n ? [{ type: 'user', id: 'LIST' }, ...res.map((e) => ({ type: 'user', id: e.name }))]\n : [{ type: 'user', id: 'LIST' }],\n },\n },\n})\n\nexport const {\n useGetAllProjectUsersAsAssigneeQuery,\n useLazyGetAllProjectUsersAsAssigneeQuery,\n useGetActiveUsersCountQuery,\n useGetAllAssigneesQuery,\n useGetUsersQuery,\n useGetUserByNameQuery,\n useGetUsersAssigneeQuery,\n} = gqlUsers\n\nexport const { useGetUserSessionsQuery, useGetCurrentUserQuery, useGetUserQuery } = enhancedApi\nexport default injectedApi\n"],"names":["USER_BY_NAME_QUERY","USERS_QUERY","ASSIGNEES_BY_NAME_QUERY","ASSIGNEES_QUERY","enhancedApi","usersApi","res","_res","_g","userName","injectedApi","gqlApi","build","_meta","selfName","_a","e","parseAllAttribs","users","name","names","projectName","u","n","user","gqlUsers","useGetAllProjectUsersAsAssigneeQuery","useLazyGetAllProjectUsersAsAssigneeQuery","useGetActiveUsersCountQuery","useGetAllAssigneesQuery","useGetUsersQuery","useGetUserByNameQuery","useGetUsersAssigneeQuery","useGetUserSessionsQuery","useGetCurrentUserQuery","useGetUserQuery"],"mappings":"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"}
|