From 46bf92124de5972e2156b6a8f30ec884dd45e2cd Mon Sep 17 00:00:00 2001 From: olav Date: Fri, 18 Feb 2022 08:26:26 +0100 Subject: [PATCH] refactor: remove unused code (#721) --- frontend/src/component/Reporting/utils.js | 3 - frontend/src/component/common/index.js | 18 ---- frontend/src/component/common/util.js | 8 -- .../feature/CopyFeature/CopyFeature.jsx | 1 - ...tureEnvironmentStrategyExecution.styles.ts | 24 ----- .../FeatureEnvironmentStrategyExecution.tsx | 50 --------- ...onmentStrategyExecutionSeparator.styles.ts | 21 ---- ...eEnvironmentStrategyExecutionSeparator.tsx | 17 --- ...ureEnvironmentStrategyExecutionWrapper.tsx | 50 --------- .../project/Project/hooks/useProjectForm.ts | 7 +- .../providers/AccessProvider/permissions.ts | 5 - .../src/component/user/HostedAuth/Icons.jsx | 102 ------------------ frontend/src/constants/flags.ts | 1 - frontend/src/constants/statusCodes.ts | 1 - .../useAdminUsersApi/useAdminUsersApi.ts | 12 --- frontend/src/hooks/useToast.tsx | 10 +- frontend/src/interfaces/environments.ts | 7 -- frontend/src/interfaces/featureToggle.ts | 10 -- frontend/src/testIds.js | 3 - frontend/src/utils/api-utils.ts | 20 ---- frontend/src/utils/route-path-helpers.ts | 7 -- frontend/src/utils/strategy-names.js | 3 - 22 files changed, 2 insertions(+), 378 deletions(-) delete mode 100644 frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecution.styles.ts delete mode 100644 frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecution.tsx delete mode 100644 frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator.styles.ts delete mode 100644 frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator.tsx delete mode 100644 frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionWrapper/FeatureEnvironmentStrategyExecutionWrapper.tsx delete mode 100644 frontend/src/component/user/HostedAuth/Icons.jsx delete mode 100644 frontend/src/constants/flags.ts diff --git a/frontend/src/component/Reporting/utils.js b/frontend/src/component/Reporting/utils.js index 30cded8956..4a3c2db506 100644 --- a/frontend/src/component/Reporting/utils.js +++ b/frontend/src/component/Reporting/utils.js @@ -174,6 +174,3 @@ export const getDates = dateString => { return [date, now]; }; - -export const filterByProject = selectedProject => feature => - feature.project === selectedProject; diff --git a/frontend/src/component/common/index.js b/frontend/src/component/common/index.js index ffc2fe9395..9687ecb963 100644 --- a/frontend/src/component/common/index.js +++ b/frontend/src/component/common/index.js @@ -99,21 +99,6 @@ FormButtons.propTypes = { primaryButtonTestId: PropTypes.string, }; -export function getIcon(type) { - switch (type) { - case 'feature-updated': - return 'autorenew'; - case 'feature-created': - return 'add'; - case 'feature-deleted': - return 'remove'; - case 'feature-archived': - return 'archived'; - default: - return 'star'; - } -} - export const IconLink = ({ url, icon: IconComponent }) => ( ({ diff --git a/frontend/src/component/common/util.js b/frontend/src/component/common/util.js index cf86b94912..cd22e29be3 100644 --- a/frontend/src/component/common/util.js +++ b/frontend/src/component/common/util.js @@ -88,11 +88,6 @@ export function updateWeight(variants, totalWeight) { }); } -export function loadNameFromUrl() { - const params = new URLSearchParams(document.location.search); - return params.get('name') || ''; -} - export const modalStyles = { overlay: { position: 'absolute', @@ -115,9 +110,6 @@ export const modalStyles = { }, }; -export const updateIndexInArray = (array, index, newValue) => - array.map((v, i) => (i === index ? newValue : v)); - export const showPnpsFeedback = (feedbackList) => { if (!feedbackList) return; if (feedbackList.length > 0) { diff --git a/frontend/src/component/feature/CopyFeature/CopyFeature.jsx b/frontend/src/component/feature/CopyFeature/CopyFeature.jsx index 208e4db37a..dc4de7d9f8 100644 --- a/frontend/src/component/feature/CopyFeature/CopyFeature.jsx +++ b/frontend/src/component/feature/CopyFeature/CopyFeature.jsx @@ -23,7 +23,6 @@ import useFeature from '../../../hooks/api/getters/useFeature/useFeature'; import useUiConfig from '../../../hooks/api/getters/useUiConfig/useUiConfig'; export const CopyFeatureToggle = () => { - // static displayName = `AddFeatureComponent-${getDisplayName(Component)}`; const [replaceGroupId, setReplaceGroupId] = useState(true); const [apiError, setApiError] = useState(''); const [nameError, setNameError] = useState(undefined); diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecution.styles.ts b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecution.styles.ts deleted file mode 100644 index e40c8fb75c..0000000000 --- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecution.styles.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { makeStyles } from '@material-ui/core/styles'; - -export const useStyles = makeStyles(theme => ({ - container: { - border: `1px solid ${theme.palette.grey[300]}`, - borderRadius: '5px', - width: '50%', - marginLeft: '1rem', - display: 'flex', - flexDirection: 'column', - alignItems: 'center', - }, - headerContainer: { - width: '100%', - backgroundColor: '#efefef', - }, - header: { - color: '#000', - textAlign: 'left', - margin: '1rem 1.2rem', - fontSize: theme.fontSizes.bodySize, - fontWeight: 'normal', - }, -})); diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecution.tsx b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecution.tsx deleted file mode 100644 index d2f1bd4ca2..0000000000 --- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecution.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { Fragment } from 'react'; -import { IFeatureStrategy } from '../../../../../../interfaces/strategy'; -import { useStyles } from './FeatureEnvironmentStrategyExecution.styles'; -import FeatureEnvironmentStrategyExecutionSeparator from './FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator'; -import FeatureEnvironmentStrategyExecutionWrapper from './FeatureEnvironmentStrategyExecutionWrapper/FeatureEnvironmentStrategyExecutionWrapper'; - -interface IFeatureEnvironmentStrategyExecutionProps { - strategies: IFeatureStrategy[]; -} -const FeatureEnvironmentStrategyExecution = ({ - strategies, - env, -}: IFeatureEnvironmentStrategyExecutionProps) => { - const styles = useStyles(); - - const renderStrategies = () => { - return strategies.map((strategy, index) => { - if (index !== strategies.length - 1) { - return ( - - - - - ); - } - return ( - - ); - }); - }; - - return ( -
-
-
- Visual overview of your strategy configuration -
-
- - {renderStrategies()} -
- ); -}; - -export default FeatureEnvironmentStrategyExecution; diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator.styles.ts b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator.styles.ts deleted file mode 100644 index 1a3f9b8da8..0000000000 --- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator.styles.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { makeStyles } from '@material-ui/core/styles'; - -export const useStyles = makeStyles(theme => ({ - container: { - position: 'relative', - width: '100%', - height: '25px', - marginTop: '1rem', - }, - separatorBorder: { - height: '1px', - borderBottom: `2px dotted ${theme.palette.primary.main}`, - width: '100%', - top: '0', - }, - textContainer: { - display: 'flex', - justifyContent: 'center', - }, - textPositioning: { position: 'absolute', top: '-20px', zIndex: 300 }, -})); diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator.tsx b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator.tsx deleted file mode 100644 index c2622fdd52..0000000000 --- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionSeparator/FeatureEnvironmentStrategyExecutionSeparator.tsx +++ /dev/null @@ -1,17 +0,0 @@ -import FeatureStrategiesSeparator from '../../FeatureStrategiesSeparator/FeatureStrategiesSeparator'; -import { useStyles } from './FeatureEnvironmentStrategyExecutionSeparator.styles'; - -const FeatureEnvironmentStrategyExecutionSeparator = () => { - const styles = useStyles(); - return ( -
-
-
- -
-
-
- ); -}; - -export default FeatureEnvironmentStrategyExecutionSeparator; diff --git a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionWrapper/FeatureEnvironmentStrategyExecutionWrapper.tsx b/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionWrapper/FeatureEnvironmentStrategyExecutionWrapper.tsx deleted file mode 100644 index 59e63acc25..0000000000 --- a/frontend/src/component/feature/FeatureView/FeatureStrategies/FeatureStrategiesEnvironments/FeatureEnvironmentStrategyExecution/FeatureEnvironmentStrategyExecutionWrapper/FeatureEnvironmentStrategyExecutionWrapper.tsx +++ /dev/null @@ -1,50 +0,0 @@ -import { useContext } from 'react'; -import { useParams } from 'react-router-dom'; -import FeatureStrategiesUIContext from '../../../../../../../contexts/FeatureStrategiesUIContext'; -import useFeatureStrategy from '../../../../../../../hooks/api/getters/useFeatureStrategy/useFeatureStrategy'; -import { IFeatureViewParams } from '../../../../../../../interfaces/params'; -import FeatureStrategyExecution from '../../../FeatureStrategyExecution/FeatureStrategyExecution'; - -interface IFeatureEnvironmentStrategyExecutionWrapperProps { - strategyId: string; -} - -const FeatureEnvironmentStrategyExecutionWrapper = ({ - strategyId, -}: IFeatureEnvironmentStrategyExecutionWrapperProps) => { - const { projectId, featureId } = useParams(); - const { activeEnvironment } = useContext(FeatureStrategiesUIContext); - - const { strategy } = useFeatureStrategy( - projectId, - featureId, - activeEnvironment.name, - strategyId, - { - revalidateOnMount: false, - revalidateOnReconnect: false, - revalidateIfStale: false, - revalidateOnFocus: false, - } - ); - return ( -
- -
- ); -}; - -export default FeatureEnvironmentStrategyExecutionWrapper; diff --git a/frontend/src/component/project/Project/hooks/useProjectForm.ts b/frontend/src/component/project/Project/hooks/useProjectForm.ts index 697abc5f67..946d5cf4ae 100644 --- a/frontend/src/component/project/Project/hooks/useProjectForm.ts +++ b/frontend/src/component/project/Project/hooks/useProjectForm.ts @@ -1,10 +1,5 @@ import { useEffect, useState } from 'react'; import useProjectApi from '../../../../hooks/api/actions/useProjectApi/useProjectApi'; -import { IPermission } from '../../../../interfaces/project'; - -export interface ICheckedPermission { - [key: string]: IPermission; -} const useProjectForm = ( initialProjectId = '', @@ -56,7 +51,7 @@ const useProjectForm = ( return false; } }; - + const validateProjectId = () => { if (projectId.length === 0) { setErrors(prev => ({ ...prev, id: 'id can not be empty.' })); diff --git a/frontend/src/component/providers/AccessProvider/permissions.ts b/frontend/src/component/providers/AccessProvider/permissions.ts index 6809c65369..32660dd9bf 100644 --- a/frontend/src/component/providers/AccessProvider/permissions.ts +++ b/frontend/src/component/providers/AccessProvider/permissions.ts @@ -1,5 +1,4 @@ export const ADMIN = 'ADMIN'; -export const EDITOR = 'EDITOR'; export const CREATE_FEATURE = 'CREATE_FEATURE'; export const UPDATE_FEATURE = 'UPDATE_FEATURE'; export const DELETE_FEATURE = 'DELETE_FEATURE'; @@ -12,15 +11,11 @@ export const UPDATE_CONTEXT_FIELD = 'UPDATE_CONTEXT_FIELD'; export const DELETE_CONTEXT_FIELD = 'DELETE_CONTEXT_FIELD'; export const CREATE_PROJECT = 'CREATE_PROJECT'; export const UPDATE_PROJECT = 'UPDATE_PROJECT'; -export const DELETE_PROJECT = 'DELETE_PROJECT'; export const DELETE_TAG_TYPE = 'DELETE_TAG_TYPE'; export const UPDATE_TAG_TYPE = 'UPDATE_TAG_TYPE'; -export const CREATE_TAG = 'CREATE_TAG'; -export const DELETE_TAG = 'DELETE_TAG'; export const CREATE_ADDON = 'CREATE_ADDON'; export const UPDATE_ADDON = 'UPDATE_ADDON'; export const DELETE_ADDON = 'DELETE_ADDON'; -export const UPDATE_API_TOKEN = 'UPDATE_API_TOKEN'; export const CREATE_API_TOKEN = 'CREATE_API_TOKEN'; export const DELETE_API_TOKEN = 'DELETE_API_TOKEN'; export const DELETE_ENVIRONMENT = 'DELETE_ENVIRONMENT'; diff --git a/frontend/src/component/user/HostedAuth/Icons.jsx b/frontend/src/component/user/HostedAuth/Icons.jsx deleted file mode 100644 index b0c29d3fb1..0000000000 --- a/frontend/src/component/user/HostedAuth/Icons.jsx +++ /dev/null @@ -1,102 +0,0 @@ -export const GoogleSvg = () => ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ) \ No newline at end of file diff --git a/frontend/src/constants/flags.ts b/frontend/src/constants/flags.ts deleted file mode 100644 index c235b3679c..0000000000 --- a/frontend/src/constants/flags.ts +++ /dev/null @@ -1 +0,0 @@ -export const RBAC_ENV = false; diff --git a/frontend/src/constants/statusCodes.ts b/frontend/src/constants/statusCodes.ts index cdb4d3c033..a36b13e062 100644 --- a/frontend/src/constants/statusCodes.ts +++ b/frontend/src/constants/statusCodes.ts @@ -3,4 +3,3 @@ export const OK = 200; export const NOT_FOUND = 404; export const FORBIDDEN = 403; export const UNAUTHORIZED = 401; -export const NOT_MODIFIED = 304; diff --git a/frontend/src/hooks/api/actions/useAdminUsersApi/useAdminUsersApi.ts b/frontend/src/hooks/api/actions/useAdminUsersApi/useAdminUsersApi.ts index 379d017bcb..0a966838e8 100644 --- a/frontend/src/hooks/api/actions/useAdminUsersApi/useAdminUsersApi.ts +++ b/frontend/src/hooks/api/actions/useAdminUsersApi/useAdminUsersApi.ts @@ -6,25 +6,13 @@ import { handleUnauthorized, } from './errorHandlers'; -export interface IUserApiErrors { - addUser?: string; - removeUser?: string; - updateUser?: string; - changePassword?: string; - validatePassword?: string; -} - interface IUserPayload { name: string; email: string; id?: string; } -export const ADD_USER_ERROR = 'addUser'; -export const UPDATE_USER_ERROR = 'updateUser'; export const REMOVE_USER_ERROR = 'removeUser'; -export const CHANGE_PASSWORD_ERROR = 'changePassword'; -export const VALIDATE_PASSWORD_ERROR = 'validatePassword'; const useAdminUsersApi = () => { const { loading, makeRequest, createRequest, errors } = useAPI({ diff --git a/frontend/src/hooks/useToast.tsx b/frontend/src/hooks/useToast.tsx index bdcade0916..161c697383 100644 --- a/frontend/src/hooks/useToast.tsx +++ b/frontend/src/hooks/useToast.tsx @@ -1,14 +1,6 @@ -import { Dispatch, SetStateAction, useContext } from 'react'; +import { useContext } from 'react'; import UIContext, { IToastData } from '../contexts/UIContext'; -export interface IToast { - show: boolean; - type: 'success' | 'info' | 'warning' | 'error'; - text: string; -} - -export type TSetToastData = Dispatch>; - interface IToastOptions { title: string; text?: string; diff --git a/frontend/src/interfaces/environments.ts b/frontend/src/interfaces/environments.ts index 5aef539fcb..ad7f2047fd 100644 --- a/frontend/src/interfaces/environments.ts +++ b/frontend/src/interfaces/environments.ts @@ -29,10 +29,3 @@ export interface IEnvironmentResponse { export interface ISortOrderPayload { [index: string]: number; } - -export interface IEnvironmentMetrics { - name: string; - yes: number; - no: number; - timestamp: string; -} diff --git a/frontend/src/interfaces/featureToggle.ts b/frontend/src/interfaces/featureToggle.ts index bd05fc78ea..f68ad8f212 100644 --- a/frontend/src/interfaces/featureToggle.ts +++ b/frontend/src/interfaces/featureToggle.ts @@ -11,16 +11,6 @@ export interface IEnvironments { enabled: boolean; } -export interface IFeatureToggleDTO { - stale: boolean; - archived: boolean; - description: string; - name: string; - project: string; - type: string; - variants: IFeatureVariant[]; -} - export interface IFeatureTogglePayload { description: string; name: string; diff --git a/frontend/src/testIds.js b/frontend/src/testIds.js index 4595c0a487..21c8d21648 100644 --- a/frontend/src/testIds.js +++ b/frontend/src/testIds.js @@ -1,8 +1,5 @@ -export const REPORTING_SELECT_ID = 'REPORTING_SELECT_ID'; - /* NAVIGATION */ export const NAVIGATE_TO_CREATE_FEATURE = 'NAVIGATE_TO_CREATE_FEATURE'; -export const NAVIGATE_TO_CREATE_API_KEY = 'NAVIGATE_TO_CREATE_API_KEY'; export const CREATE_API_TOKEN_BUTTON = 'CREATE_API_TOKEN_BUTTON'; /* CREATE FEATURE */ diff --git a/frontend/src/utils/api-utils.ts b/frontend/src/utils/api-utils.ts index 270d6818cc..ba356f943e 100644 --- a/frontend/src/utils/api-utils.ts +++ b/frontend/src/utils/api-utils.ts @@ -1,28 +1,8 @@ -const defaultErrorMessage = 'Unexpected exception when talking to unleash-api'; - export const headers = { Accept: 'application/json', 'Content-Type': 'application/json', }; -export const extractJoiMsg = (body: any) => { - return body.details.length > 0 - ? body.details[0].message - : defaultErrorMessage; -}; - -export const extractLegacyMsg = (body: any[]) => { - return body && body.length > 0 ? body[0].msg : defaultErrorMessage; -}; - -export class ServiceError extends Error { - constructor(statusCode = 500) { - super(defaultErrorMessage); - this.name = 'ServiceError'; - this.statusCode = statusCode; - } -} - export class AuthenticationError extends Error { constructor(statusCode, body) { super('Authentication required'); diff --git a/frontend/src/utils/route-path-helpers.ts b/frontend/src/utils/route-path-helpers.ts index 4bdf3102ff..a20737ee60 100644 --- a/frontend/src/utils/route-path-helpers.ts +++ b/frontend/src/utils/route-path-helpers.ts @@ -2,13 +2,6 @@ export const getTogglePath = (projectId: string, featureToggleName: string) => { return `/projects/${projectId}/features/${featureToggleName}`; }; -export const getToggleCopyPath = ( - projectId: string, - featureToggleName: string -) => { - return `/projects/${projectId}/features/${featureToggleName}/strategies/copy`; -}; - export const getCreateTogglePath = ( projectId: string, newPath: boolean = false, diff --git a/frontend/src/utils/strategy-names.js b/frontend/src/utils/strategy-names.js index f344385275..55c07d817a 100644 --- a/frontend/src/utils/strategy-names.js +++ b/frontend/src/utils/strategy-names.js @@ -44,9 +44,6 @@ const nameMapping = { }, }; -export const getHumanReadbleStrategy = strategyName => - nameMapping[strategyName]; - export const getHumanReadableStrategyName = strategyName => { const humanReadableStrategy = nameMapping[strategyName];