openreplay/frontend/app/duck/roles.js
Shekar Siri 941c6c06fd
Roles UI (#223)
* feat(ui) - roles and permissions

* feat(ui) - roles and permissions assist check

* feat(ui) - roles and permissions dev tools

* feat(ui) - roles and permissions logs

* feat(ui) - roles and permissions logs

* feat(ui) - roles and permissions cleanup
2021-11-27 03:27:33 +05:30

32 lines
1.1 KiB
JavaScript

import { List, Map } from 'immutable';
import Role from 'Types/role';
import crudDuckGenerator from './tools/crudDuck';
import { reduceDucks } from 'Duck/tools';
const crudDuck = crudDuckGenerator('client/role', Role, { idKey: 'roleId' });
export const { fetchList, init, edit, remove, } = crudDuck.actions;
const initialState = Map({
list: List(),
permissions: List([
{ name: 'Session Replay', value: 'SESSION_REPLAY' },
{ name: 'Develoepr Tools', value: 'DEV_TOOLS' },
{ name: 'Errors', value: 'ERRORS' },
{ name: 'Metrics', value: 'METRICS' },
{ name: 'Assist Live', value: 'ASSIST_LIVE' },
{ name: 'Assist Call', value: 'ASSIST_CALL' },
])
});
const reducer = (state = initialState, action = {}) => {
return state;
};
export function save(instance) {
return {
types: crudDuck.actionTypes.SAVE.toArray(),
call: client => instance.roleId ? client.post(`/client/roles/${ instance.roleId }`, instance.toData()) : client.put(`/client/roles`, instance.toData()),
};
}
export default reduceDucks(crudDuck, { initialState, reducer }).reducer;