strapi-plugin-users-permissions
Version:
Protect your API with a full-authentication process based on JWT
38 lines (34 loc) • 864 B
JavaScript
/* eslint-disable consistent-return */
import produce from 'immer';
export const initialState = {
permissions: {},
routes: {},
policies: [],
isLoading: true,
};
const reducer = (state, action) =>
produce(state, draftState => {
switch (action.type) {
case 'GET_DATA': {
draftState.isLoading = true;
draftState.permissions = {};
draftState.routes = {};
draftState.policies = [];
break;
}
case 'GET_DATA_SUCCEEDED': {
draftState.permissions = action.permissions;
draftState.routes = action.routes;
draftState.policies = action.policies;
draftState.isLoading = false;
break;
}
case 'GET_DATA_ERROR': {
draftState.isLoading = false;
break;
}
default:
return draftState;
}
});
export default reducer;