-
Nithya Santhanam authoredNithya Santhanam authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
auth.store.js 1.98 KiB
import * as redux from 'redux';
import { ObjectFlags } from 'typescript';
let permissionStack = {};
/**
* Retrive permission details for given module
* @param {Object} state
* @param {Object} action
* @returns
*/
const rolePermissionReducer = (state, action) => {
switch (action.type) {
/* case 'project': {
if(state && state['project']) {
delete state['project'];
}
return { ...state, project: permissionStack['project']};
}
case 'scheduleunit': {
if(state && state['scheduleunit']) {
delete state['scheduleunit'];
}
return { ...state, scheduleunit:permissionStack['scheduleunit']};
}*/
case 'loadpermission': {
permissionStack = action.payload;
const keys = Object. keys(permissionStack);
for ( const key of keys) {
state[key] = permissionStack[key];
}
return { ...state};
}
case 'loadpermissionbyid': {
permissionStack = action.payload;
state['rolePermission'][action.module] = {...state['rolePermission'][action.module] , [action.id]: permissionStack[action.module][action.id] }
return {...state};
}
case 'deletestore': {
state = action.payload;
return {...state};
}
default: {
const actionType = action.type;
if (permissionStack && permissionStack[actionType]) {
//if(state && state[actionType]) {
//delete state[actionType];
// }
return { ...state, [actionType]:permissionStack[actionType]};
} else {
return { ...state, rolePermission: {}};
}
}
}
}
const rootReducer = redux.combineReducers({
userRolePermission: rolePermissionReducer
});
const AuthStore = redux.createStore(rootReducer);
export default AuthStore;