29 lines
728 B
TypeScript
29 lines
728 B
TypeScript
|
import { Action } from 'redux';
|
||
|
|
||
|
import { IPermissionsState, TSupportedPermissions } from '../reducers/permissions';
|
||
|
import { PERMISSIONS } from './actionsTypes';
|
||
|
|
||
|
interface ISetPermissions extends Action {
|
||
|
permissions: IPermissionsState;
|
||
|
}
|
||
|
|
||
|
interface IUpdatePermissions extends Action {
|
||
|
payload: { id: TSupportedPermissions; roles: string[] };
|
||
|
}
|
||
|
|
||
|
export type TActionPermissions = ISetPermissions & IUpdatePermissions;
|
||
|
|
||
|
export function setPermissions(permissions: IPermissionsState): ISetPermissions {
|
||
|
return {
|
||
|
type: PERMISSIONS.SET,
|
||
|
permissions
|
||
|
};
|
||
|
}
|
||
|
|
||
|
export function updatePermission(id: TSupportedPermissions, roles: string[]): IUpdatePermissions {
|
||
|
return {
|
||
|
type: PERMISSIONS.UPDATE,
|
||
|
payload: { id, roles }
|
||
|
};
|
||
|
}
|