mirror of
https://github.com/Unleash/unleash.git
synced 2025-05-08 01:15:49 +02:00
refactor: remove unused feature tags state (#689)
This commit is contained in:
parent
83778a9928
commit
b7d106d7ab
@ -1,50 +0,0 @@
|
|||||||
import api from './api';
|
|
||||||
import { dispatchError } from '../util';
|
|
||||||
|
|
||||||
export const TAG_FEATURE_TOGGLE = 'TAG_FEATURE_TOGGLE';
|
|
||||||
export const UNTAG_FEATURE_TOGGLE = 'UNTAG_FEATURE_TOGGLE';
|
|
||||||
export const START_TAG_FEATURE_TOGGLE = 'START_TAG_FEATURE_TOGGLE';
|
|
||||||
export const START_UNTAG_FEATURE_TOGGLE = 'START_UNTAG_FEATURE_TOGGLE';
|
|
||||||
export const ERROR_TAG_FEATURE_TOGGLE = 'ERROR_TAG_FEATURE_TOGGLE';
|
|
||||||
export const ERROR_UNTAG_FEATURE_TOGGLE = 'ERROR_UNTAG_FEATURE_TOGGLE';
|
|
||||||
export const START_FETCH_FEATURE_TOGGLE_TAGS = 'START_FETCH_FEATURE_TOGGLE_TAGS';
|
|
||||||
export const RECEIVE_FEATURE_TOGGLE_TAGS = 'RECEIVE_FEATURE_TOGGLE_TAGS';
|
|
||||||
export const ERROR_FETCH_FEATURE_TOGGLE_TAGS = 'ERROR_FETCH_FEATURE_TOGGLE_TAGS';
|
|
||||||
|
|
||||||
function receiveFeatureToggleTags(json) {
|
|
||||||
return {
|
|
||||||
type: RECEIVE_FEATURE_TOGGLE_TAGS,
|
|
||||||
value: json,
|
|
||||||
receivedAt: Date.now(),
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function tagFeature(featureToggle, tag) {
|
|
||||||
return dispatch => {
|
|
||||||
dispatch({ type: START_TAG_FEATURE_TOGGLE });
|
|
||||||
return api
|
|
||||||
.tagFeature(featureToggle, tag)
|
|
||||||
.then(json => dispatch({ type: TAG_FEATURE_TOGGLE, featureToggle, tag: json }))
|
|
||||||
.catch(dispatchError(dispatch, ERROR_TAG_FEATURE_TOGGLE));
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function untagFeature(featureToggle, tag) {
|
|
||||||
return dispatch => {
|
|
||||||
dispatch({ type: START_UNTAG_FEATURE_TOGGLE });
|
|
||||||
return api
|
|
||||||
.untagFeature(featureToggle, tag)
|
|
||||||
.then(() => dispatch({ type: UNTAG_FEATURE_TOGGLE, featureToggle, tag }))
|
|
||||||
.catch(dispatchError(dispatch, ERROR_UNTAG_FEATURE_TOGGLE));
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export function fetchTags(featureToggle) {
|
|
||||||
return dispatch => {
|
|
||||||
dispatch({ type: START_FETCH_FEATURE_TOGGLE_TAGS });
|
|
||||||
return api
|
|
||||||
.fetchFeatureToggleTags(featureToggle)
|
|
||||||
.then(json => dispatch(receiveFeatureToggleTags(json)))
|
|
||||||
.catch(dispatchError(dispatch, ERROR_FETCH_FEATURE_TOGGLE_TAGS));
|
|
||||||
};
|
|
||||||
}
|
|
@ -1,44 +0,0 @@
|
|||||||
import { formatApiPath } from '../../utils/format-path';
|
|
||||||
import { throwIfNotSuccess, headers } from '../api-helper';
|
|
||||||
|
|
||||||
const URI = formatApiPath('api/admin/features');
|
|
||||||
|
|
||||||
function tagFeature(featureToggle, tag) {
|
|
||||||
return fetch(`${URI}/${featureToggle}/tags`, {
|
|
||||||
method: 'POST',
|
|
||||||
headers,
|
|
||||||
credentials: 'include',
|
|
||||||
body: JSON.stringify(tag),
|
|
||||||
})
|
|
||||||
.then(throwIfNotSuccess)
|
|
||||||
.then(response => response.json());
|
|
||||||
}
|
|
||||||
|
|
||||||
function untagFeature(featureToggle, tag) {
|
|
||||||
return fetch(
|
|
||||||
`${URI}/${featureToggle}/tags/${tag.type}/${encodeURIComponent(
|
|
||||||
tag.value
|
|
||||||
)}`,
|
|
||||||
{
|
|
||||||
method: 'DELETE',
|
|
||||||
headers,
|
|
||||||
credentials: 'include',
|
|
||||||
}
|
|
||||||
).then(throwIfNotSuccess);
|
|
||||||
}
|
|
||||||
|
|
||||||
function fetchFeatureToggleTags(featureToggle) {
|
|
||||||
return fetch(`${URI}/${featureToggle}/tags`, {
|
|
||||||
method: 'GET',
|
|
||||||
headers,
|
|
||||||
credentials: 'include',
|
|
||||||
})
|
|
||||||
.then(throwIfNotSuccess)
|
|
||||||
.then(response => response.json());
|
|
||||||
}
|
|
||||||
|
|
||||||
export default {
|
|
||||||
tagFeature,
|
|
||||||
untagFeature,
|
|
||||||
fetchFeatureToggleTags,
|
|
||||||
};
|
|
@ -1,25 +0,0 @@
|
|||||||
import { List, Map as $MAP } from 'immutable';
|
|
||||||
import { RECEIVE_FEATURE_TOGGLE_TAGS, TAG_FEATURE_TOGGLE, UNTAG_FEATURE_TOGGLE } from './actions';
|
|
||||||
|
|
||||||
function getInitState() {
|
|
||||||
return new List();
|
|
||||||
}
|
|
||||||
|
|
||||||
const featureTags = (state = getInitState(), action) => {
|
|
||||||
switch (action.type) {
|
|
||||||
case RECEIVE_FEATURE_TOGGLE_TAGS:
|
|
||||||
if (action.value) {
|
|
||||||
return new List(action.value.tags);
|
|
||||||
} else {
|
|
||||||
return getInitState();
|
|
||||||
}
|
|
||||||
case TAG_FEATURE_TOGGLE:
|
|
||||||
return state.push(new $MAP(action.tag));
|
|
||||||
case UNTAG_FEATURE_TOGGLE:
|
|
||||||
return state.remove(state.findIndex(t => t.value === action.tag.value && t.type === action.tag.type));
|
|
||||||
default:
|
|
||||||
return state;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export default featureTags;
|
|
@ -1,7 +1,6 @@
|
|||||||
import { combineReducers } from 'redux';
|
import { combineReducers } from 'redux';
|
||||||
import features from './feature-toggle';
|
import features from './feature-toggle';
|
||||||
import featureMetrics from './feature-metrics';
|
import featureMetrics from './feature-metrics';
|
||||||
import featureTags from './feature-tags';
|
|
||||||
import tagTypes from './tag-type';
|
import tagTypes from './tag-type';
|
||||||
import tags from './tag';
|
import tags from './tag';
|
||||||
import strategies from './strategy';
|
import strategies from './strategy';
|
||||||
@ -18,7 +17,6 @@ const unleashStore = combineReducers({
|
|||||||
strategies,
|
strategies,
|
||||||
tagTypes,
|
tagTypes,
|
||||||
tags,
|
tags,
|
||||||
featureTags,
|
|
||||||
error,
|
error,
|
||||||
user,
|
user,
|
||||||
applications,
|
applications,
|
||||||
|
Loading…
Reference in New Issue
Block a user