Class: Wix::Apps::SignedInstance

Inherits:
Object
  • Object
show all
Defined in:
lib/wix-apps/signed_instance.rb

Overview

This class deals with Wix Signed Instance (dev.wix.com/docs/display/DRAF/Using+the+Signed+App+Instance)

Example: si = SignedInstance.new(‘vrinSv2HB9tqbnJ.…’)

Constant Summary collapse

REQUIRED_PROPERTIES =

maps required instance properties to object attributes

{
    'instanceId' => :instance_id,
    'signDate' => :sign_date,
    'permissions' => :permissions,
    'ipAndPort' => :ip_and_port,
    'vendorProductId' => :vendor_product_id,
    'aid' => :aid,
    'siteOwnerId' => :site_owner_id,
}
OPTIONAL_PROPERTIES =

maps optional instance properties to object attributes

{
    'uid' => :uid,
    'originInstanceId' => :origin_instance_id,
}
PERMISSIONS_OWNER =
'OWNER'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(raw_signed_instance, options = {}) ⇒ SignedInstance

Returns a new instance of SignedInstance.

Parameters:

  • raw_signed_instance (String)

    The “instance” parameter Wix sends with the request

  • options (Hash) (defaults to: {})

    Options for

Raises:



45
46
47
48
49
50
51
52
53
# File 'lib/wix-apps/signed_instance.rb', line 45

def initialize(raw_signed_instance, options={})
  self.strict_properties = options[:strict_properties].nil? ? true : !!options[:strict_properties]
  self.secret_key = options[:secret_key] || options[:secret] # :secret for backwards compatibility
  raise SignedInstanceNoSecretKey.new('secret key must be provided') if secret_key.nil?
  self.raw_signed_instance = raw_signed_instance
  raise SignedInstanceParseError.new('invalid instance signature') unless instance_signature_valid?

  initialize_from_signed_instance
end

Instance Attribute Details

#raw_signed_instanceObject

Returns the value of attribute raw_signed_instance.



40
41
42
# File 'lib/wix-apps/signed_instance.rb', line 40

def raw_signed_instance
  @raw_signed_instance
end

#strict_propertiesObject

Returns the value of attribute strict_properties.



40
41
42
# File 'lib/wix-apps/signed_instance.rb', line 40

def strict_properties
  @strict_properties
end

Instance Method Details

#owner_logged_in?Boolean

did the one single site owner log in?

Returns:

  • (Boolean)


61
62
63
64
65
# File 'lib/wix-apps/signed_instance.rb', line 61

def owner_logged_in?
  # note: site owner id is required so we wouldn't have to check for nil,
  # but this method's output can be very important and I'm paranoid. ;)
  !site_owner_id.nil? && site_owner_id == uid
end

#owner_permissions?Boolean

owner or site collaborator visiting?

Returns:

  • (Boolean)


56
57
58
# File 'lib/wix-apps/signed_instance.rb', line 56

def owner_permissions?
  permissions == PERMISSIONS_OWNER
end