From cb2d8146808dd17f23c87a45eaf8f256b1f6a82f Mon Sep 17 00:00:00 2001 From: Jillian Vogel Date: Thu, 11 Jan 2024 15:58:17 +1030 Subject: [PATCH] fix: REST API is now returning flattened user permissions --- src/taxonomy/TaxonomyListPage.test.jsx | 6 ++--- src/taxonomy/__mocks__/taxonomyListMock.js | 24 +++++++------------ src/taxonomy/data/types.mjs | 9 ++----- .../taxonomy-card/TaxonomyCard.test.jsx | 12 ++++------ src/taxonomy/taxonomy-card/index.jsx | 6 ++--- .../TaxonomyDetailPage.test.jsx | 7 ++---- src/taxonomy/taxonomy-menu/TaxonomyMenu.jsx | 10 ++++---- .../taxonomy-menu/TaxonomyMenu.test.jsx | 5 ++-- 8 files changed, 26 insertions(+), 53 deletions(-) diff --git a/src/taxonomy/TaxonomyListPage.test.jsx b/src/taxonomy/TaxonomyListPage.test.jsx index ee013376f1..978f1731ac 100644 --- a/src/taxonomy/TaxonomyListPage.test.jsx +++ b/src/taxonomy/TaxonomyListPage.test.jsx @@ -23,10 +23,8 @@ const taxonomies = [{ description: 'This is a description', showSystemBadge: false, tagsCount: 0, - userPermissions: { - canChange: true, - canDelete: true, - }, + canChange: true, + canDelete: true, }]; const organizationsListUrl = 'http://localhost:18010/organizations'; const organizations = ['Org 1', 'Org 2']; diff --git a/src/taxonomy/__mocks__/taxonomyListMock.js b/src/taxonomy/__mocks__/taxonomyListMock.js index c31228b922..5e96b064eb 100644 --- a/src/taxonomy/__mocks__/taxonomyListMock.js +++ b/src/taxonomy/__mocks__/taxonomyListMock.js @@ -16,10 +16,8 @@ module.exports = { allowFreeText: false, systemDefined: true, visibleToAuthors: false, - userPermissions: { - canChange: false, - canDelete: false, - }, + canChange: false, + canDelete: false, }, { id: -1, @@ -30,10 +28,8 @@ module.exports = { allowFreeText: false, systemDefined: true, visibleToAuthors: true, - userPermissions: { - canChange: false, - canDelete: false, - }, + canChange: false, + canDelete: false, }, { id: 1, @@ -44,10 +40,8 @@ module.exports = { allowFreeText: false, systemDefined: false, visibleToAuthors: true, - userPermissions: { - canChange: true, - canDelete: true, - }, + canChange: true, + canDelete: true, }, { id: 2, @@ -58,10 +52,8 @@ module.exports = { allowFreeText: false, systemDefined: false, visibleToAuthors: true, - userPermissions: { - canChange: true, - canDelete: true, - }, + canChange: true, + canDelete: true, }, ], }; diff --git a/src/taxonomy/data/types.mjs b/src/taxonomy/data/types.mjs index 72c165fdc3..82f1fb427a 100644 --- a/src/taxonomy/data/types.mjs +++ b/src/taxonomy/data/types.mjs @@ -1,11 +1,5 @@ // @ts-check -/** - * @typedef {Object} UserPermissions - * @property {boolean} canChange - * @property {boolean} canDelete - **/ - /** * @typedef {Object} TaxonomyData * @property {number} id @@ -18,7 +12,8 @@ * @property {boolean} visibleToAuthors * @property {number} tagsCount * @property {string[]} orgs - * @property {UserPermissions} userPermissions + * @property {boolean} canChange + * @property {boolean} canDelete */ /** diff --git a/src/taxonomy/taxonomy-card/TaxonomyCard.test.jsx b/src/taxonomy/taxonomy-card/TaxonomyCard.test.jsx index 3439b9b36a..eb315717e5 100644 --- a/src/taxonomy/taxonomy-card/TaxonomyCard.test.jsx +++ b/src/taxonomy/taxonomy-card/TaxonomyCard.test.jsx @@ -16,10 +16,8 @@ const data = { id: taxonomyId, name: 'Taxonomy 1', description: 'This is a description', - userPermissions: { - canChange: true, - canDelete: true, - }, + canChange: true, + canDelete: true, }; const queryClient = new QueryClient(); @@ -44,10 +42,8 @@ TaxonomyCardComponent.propTypes = { systemDefined: PropTypes.bool, orgsCount: PropTypes.number, onDeleteTaxonomy: PropTypes.func, - userPermissions: PropTypes.shape({ - canChange: PropTypes.bool, - canDelete: PropTypes.bool, - }), + canChange: PropTypes.bool, + canDelete: PropTypes.bool, }).isRequired, }; diff --git a/src/taxonomy/taxonomy-card/index.jsx b/src/taxonomy/taxonomy-card/index.jsx index d9c5e58ea5..cc64d05c86 100644 --- a/src/taxonomy/taxonomy-card/index.jsx +++ b/src/taxonomy/taxonomy-card/index.jsx @@ -149,10 +149,8 @@ TaxonomyCard.propTypes = { systemDefined: PropTypes.bool, orgsCount: PropTypes.number, tagsCount: PropTypes.number, - userPermissions: PropTypes.shape({ - canChange: PropTypes.bool.isRequired, - canDelete: PropTypes.bool.isRequired, - }).isRequired, + canChange: PropTypes.bool, + canDelete: PropTypes.bool, }).isRequired, }; diff --git a/src/taxonomy/taxonomy-detail/TaxonomyDetailPage.test.jsx b/src/taxonomy/taxonomy-detail/TaxonomyDetailPage.test.jsx index 4432a91f78..fc57a9f601 100644 --- a/src/taxonomy/taxonomy-detail/TaxonomyDetailPage.test.jsx +++ b/src/taxonomy/taxonomy-detail/TaxonomyDetailPage.test.jsx @@ -89,10 +89,8 @@ describe('', async () => { name: 'Test taxonomy', description: 'This is a description', systemDefined: true, - userPermissions: { - canChange: true, - canDelete: true, - }, + canChange: true, + canDelete: true, }, }); const { getByTestId, queryByTestId } = render(); @@ -148,7 +146,6 @@ describe('', async () => { name: 'Test taxonomy', description: 'This is a description', systemDefined: false, - userPermissions: {}, }, }); const { queryByText } = render(); diff --git a/src/taxonomy/taxonomy-menu/TaxonomyMenu.jsx b/src/taxonomy/taxonomy-menu/TaxonomyMenu.jsx index 2f66e2a2e0..12fbe0dc39 100644 --- a/src/taxonomy/taxonomy-menu/TaxonomyMenu.jsx +++ b/src/taxonomy/taxonomy-menu/TaxonomyMenu.jsx @@ -59,7 +59,7 @@ const TaxonomyMenu = ({ import: { title: intl.formatMessage(messages.importMenu), action: () => importTaxonomyTags(taxonomy.id, intl), - show: taxonomy.userPermissions.canChange, + show: taxonomy.canChange, }, export: { title: intl.formatMessage(messages.exportMenu), @@ -69,7 +69,7 @@ const TaxonomyMenu = ({ delete: { title: intl.formatMessage(messages.deleteMenu), action: deleteDialogOpen, - show: taxonomy.userPermissions.canDelete, + show: taxonomy.canDelete, }, }; @@ -136,10 +136,8 @@ TaxonomyMenu.propTypes = { id: PropTypes.number.isRequired, name: PropTypes.string.isRequired, tagsCount: PropTypes.number.isRequired, - userPermissions: PropTypes.shape({ - canChange: PropTypes.bool.isRequired, - canDelete: PropTypes.bool.isRequired, - }).isRequired, + canChange: PropTypes.bool, + canDelete: PropTypes.bool, }).isRequired, iconMenu: PropTypes.bool, }; diff --git a/src/taxonomy/taxonomy-menu/TaxonomyMenu.test.jsx b/src/taxonomy/taxonomy-menu/TaxonomyMenu.test.jsx index f30201ed40..20e172ae62 100644 --- a/src/taxonomy/taxonomy-menu/TaxonomyMenu.test.jsx +++ b/src/taxonomy/taxonomy-menu/TaxonomyMenu.test.jsx @@ -50,9 +50,8 @@ const TaxonomyMenuComponent = ({ id: taxonomyId, name: taxonomyName, tagsCount: 0, - userPermissions: { - canChange, canDelete, - }, + canChange, + canDelete, }} iconMenu={iconMenu} />