wip: dashboard permissions to redux

This commit is contained in:
Torkel Ödegaard
2018-09-13 16:00:02 +02:00
parent d173ebe7e8
commit c7fdea1dfb
12 changed files with 321 additions and 57 deletions

View File

@@ -1,6 +1,6 @@
import { FolderState } from 'app/types';
import { DashboardAcl, DashboardAclDTO } from 'app/types/acl';
import { Action, ActionTypes } from './actions';
import { processAclItems } from 'app/core/utils/acl';
export const inititalState: FolderState = {
id: 0,
@@ -36,36 +36,6 @@ export const folderReducer = (state = inititalState, action: Action): FolderStat
return state;
};
function processAclItems(items: DashboardAclDTO[]): DashboardAcl[] {
return items.map(processAclItem).sort((a, b) => b.sortRank - a.sortRank || a.name.localeCompare(b.name));
}
function processAclItem(dto: DashboardAclDTO): DashboardAcl {
const item = dto as DashboardAcl;
item.sortRank = 0;
if (item.userId > 0) {
item.name = item.userLogin;
item.sortRank = 10;
} else if (item.teamId > 0) {
item.name = item.team;
item.sortRank = 20;
} else if (item.role) {
item.icon = 'fa fa-fw fa-street-view';
item.name = item.role;
item.sortRank = 30;
if (item.role === 'Editor') {
item.sortRank += 1;
}
}
if (item.inherited) {
item.sortRank += 100;
}
return item;
}
export default {
folder: folderReducer,
};