class Ability::NtpServerAbility < Ability::BaseAbility
  def initialize(user)
    super

    if user.is_admin? || user.is_super_admin? || user.machine_token_user?
      can :manage, NtpServer, :id => user.ntp_servers.pluck(:id)
    elsif user.is_network_admin?
      # permissions = user.unities.pluck(:permission)
      permissions = user.network_tags.keys
      resources = [{ klass: NtpServer, relation: "user.ntp_servers" }]
      
      if permissions.include?('limited')
        network_admin_privileges(user, 'limited', resources)
      end     
      if permissions.include?('full')
        network_admin_privileges(user, 'full', resources)
      end     
    else
      case user.role.try(:name)
      when "network_r&d"
        can :manage, NtpServer, :id => user.ntp_servers.pluck(:id)
      end
    end
  end
end