class ApGroup < ActiveRecord::Base
  belongs_to :location_network
  belongs_to :wlan_group
  has_many :router_inventories
  
  serialize :vendor_details, Hash

  after_create :create_vendors_ap_group

  attr_accessor :skip_sync

  def skip_sync
    @skip_sync = false
  end

  def create_vendors_ap_group
    if self.location_network.vendor_type == '5'
      #create a ap group on Ruckus cloud
      if self.name != "default"
        Ruckus::ConfigurationService.new(self.location_network).create_ap_group self if !self.skip_sync
      else
        return true if self.vendor_id.present?
        default_group = self.location_network.get_default_ap_group
        if default_group.blank?
          ap_groups = Ruckus::ConfigurationService.new(self.location_network).get_all_ap_groups || []
          default_group = ap_groups.select {|d| d['name'] == 'default'}.first
          if default_group
            self.vendor_id = default_group['id']
            self.save
          end
        end
      end
    end
  end
end