/*
 * <<
 * Davinci
 * ==
 * Copyright (C) 2016 - 2017 EDP
 * ==
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 * >>
 */

import { IProjectPermission } from 'app/containers/Projects/types'

export function initializePermission (currentProject, permissionItem) {
  let isShow
  if (currentProject && currentProject.permission) {
    const currentPermission = currentProject.permission[permissionItem]
    isShow = (currentPermission === 0 || currentPermission === 1) ? false : true
  } else {
    isShow = false
  }
  return isShow
}

export function hasOnlyVizPermission (permission: IProjectPermission) {
  const {
    vizPermission,
    widgetPermission,
    viewPermission,
    sourcePermission,
    schedulePermission
  } = permission
  return !widgetPermission
    && !viewPermission
    && !sourcePermission
    && !schedulePermission
    && vizPermission
}

export function hasVizEditPermission (permission: IProjectPermission) {
  const { vizPermission } = permission
  return vizPermission > 1
}
