import React from 'react';
import { connect } from 'react-redux';
import { NoPermission, NoSessionPermission } from 'UI';
export default (requiredPermissions, className, isReplay = false, andEd = true) => (BaseComponent) => {
@connect((state, props) => ({
permissions:
state.getIn(['user', 'account', 'permissions']) || [],
isEnterprise:
state.getIn(['user', 'account', 'edition']) === 'ee'
}))
class WrapperClass extends React.PureComponent {
render() {
const hasPermission = andEd ?
requiredPermissions.every((permission) => this.props.permissions.includes(permission)) :
requiredPermissions.some((permission) => this.props.permissions.includes(permission)
);
return !this.props.isEnterprise || hasPermission ? (