From 069a1d0f8fc4371b1063dd59ce53f319b19906b1 Mon Sep 17 00:00:00 2001 From: Gustav Hansen Date: Tue, 17 Oct 2023 13:37:46 +0200 Subject: [PATCH] chore(admin): convert ApiTokenPermissions to TS --- .../src/contexts/ApiTokenPermissions/index.js | 25 -------- .../src/contexts/apiTokenPermissions.tsx | 62 +++++++++++++++++++ .../components/ActionBoundRoutes/index.js | 2 +- .../CollapsableContentType/index.js | 2 +- .../EditView/components/Permissions/index.js | 2 +- .../pages/ApiTokens/EditView/index.js | 2 +- 6 files changed, 66 insertions(+), 29 deletions(-) delete mode 100644 packages/core/admin/admin/src/contexts/ApiTokenPermissions/index.js create mode 100644 packages/core/admin/admin/src/contexts/apiTokenPermissions.tsx diff --git a/packages/core/admin/admin/src/contexts/ApiTokenPermissions/index.js b/packages/core/admin/admin/src/contexts/ApiTokenPermissions/index.js deleted file mode 100644 index e41506aae4..0000000000 --- a/packages/core/admin/admin/src/contexts/ApiTokenPermissions/index.js +++ /dev/null @@ -1,25 +0,0 @@ -import React, { createContext, useContext } from 'react'; - -import PropTypes from 'prop-types'; - -const ApiTokenPermissionsContext = createContext({}); - -const ApiTokenPermissionsContextProvider = ({ children, ...rest }) => { - return ( - - {children} - - ); -}; - -const useApiTokenPermissionsContext = () => useContext(ApiTokenPermissionsContext); - -ApiTokenPermissionsContextProvider.propTypes = { - children: PropTypes.node.isRequired, -}; - -export { - ApiTokenPermissionsContext, - ApiTokenPermissionsContextProvider, - useApiTokenPermissionsContext, -}; diff --git a/packages/core/admin/admin/src/contexts/apiTokenPermissions.tsx b/packages/core/admin/admin/src/contexts/apiTokenPermissions.tsx new file mode 100644 index 0000000000..4c74e4090b --- /dev/null +++ b/packages/core/admin/admin/src/contexts/apiTokenPermissions.tsx @@ -0,0 +1,62 @@ +/* eslint-disable check-file/filename-naming-convention */ + +import * as React from 'react'; + +import { Entity } from '@strapi/types'; + +interface PseudoEvent { + target: { value: string }; +} + +interface APITokenPermissionsContextProviderProps { + selectedAction: string[] | null; + routes: string[]; + selectedActions: string[]; + data: { + allActionsIds: Entity.ID[]; + permissions: { + apiId: string; + label: string; + controllers: { controller: string; actions: { actionId: string; action: string } }[]; + }[]; + }; + onChange: ({ target: { value } }: PseudoEvent) => void; + onChangeSelectAll: ({ target: { value } }: PseudoEvent) => void; + setSelectedAction: ({ target: { value } }: PseudoEvent) => void; +} + +interface ApiTokenPermissionsContextProviderProps extends APITokenPermissionsContextProviderProps { + children: React.ReactNode[]; +} + +const ApiTokenPermissionsContext = React.createContext({ + selectedAction: null, + routes: [], + selectedActions: [], + data: { + allActionsIds: [], + permissions: [], + }, + onChange: () => {}, + onChangeSelectAll: () => {}, + setSelectedAction: () => {}, +}); + +const ApiTokenPermissionsContextProvider = ({ + children, + ...rest +}: ApiTokenPermissionsContextProviderProps) => { + return ( + + {children} + + ); +}; + +const useApiTokenPermissionsContext = () => React.useContext(ApiTokenPermissionsContext); + +export { + ApiTokenPermissionsContext, + ApiTokenPermissionsContextProvider, + useApiTokenPermissionsContext, +}; diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js index 75542b39ac..b5f661fa66 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/ActionBoundRoutes/index.js @@ -3,7 +3,7 @@ import React from 'react'; import { Flex, GridItem, Typography } from '@strapi/design-system'; import { useIntl } from 'react-intl'; -import { useApiTokenPermissionsContext } from '../../../../../../../contexts/ApiTokenPermissions'; +import { useApiTokenPermissionsContext } from '../../../../../../../contexts/apiTokenPermissions'; import BoundRoute from '../BoundRoute'; const ActionBoundRoutes = () => { diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js index 147720b84e..20b21ae175 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/CollapsableContentType/index.js @@ -17,7 +17,7 @@ import PropTypes from 'prop-types'; import { useIntl } from 'react-intl'; import styled from 'styled-components'; -import { useApiTokenPermissionsContext } from '../../../../../../../contexts/ApiTokenPermissions'; +import { useApiTokenPermissionsContext } from '../../../../../../../contexts/apiTokenPermissions'; import CheckboxWrapper from './CheckBoxWrapper'; diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js index 11bc80363a..20fa4f72f0 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/components/Permissions/index.js @@ -3,7 +3,7 @@ import React, { memo } from 'react'; import { Flex, Grid, GridItem, Typography } from '@strapi/design-system'; import { useIntl } from 'react-intl'; -import { useApiTokenPermissionsContext } from '../../../../../../../contexts/ApiTokenPermissions'; +import { useApiTokenPermissionsContext } from '../../../../../../../contexts/apiTokenPermissions'; import ActionBoundRoutes from '../ActionBoundRoutes'; import ContentTypesSection from '../ContenTypesSection'; diff --git a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js index 6d48006a71..9a433519fa 100644 --- a/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +++ b/packages/core/admin/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js @@ -18,7 +18,7 @@ import { useQuery } from 'react-query'; import { useSelector } from 'react-redux'; import { useHistory, useRouteMatch } from 'react-router-dom'; -import { ApiTokenPermissionsContextProvider } from '../../../../../contexts/ApiTokenPermissions'; +import { ApiTokenPermissionsContextProvider } from '../../../../../contexts/apiTokenPermissions'; import { formatAPIErrors } from '../../../../../utils'; import { selectAdminPermissions } from '../../../../App/selectors'; import { API_TOKEN_TYPE } from '../../../components/Tokens/constants';