Class: MarketplaceKit::Services::ApiGateway

Inherits:
Object
  • Object
show all
Defined in:
lib/marketplace_kit/services/api_gateway.rb

Instance Method Summary collapse

Instance Method Details

#backupObject



42
43
44
# File 'lib/marketplace_kit/services/api_gateway.rb', line 42

def backup
  send_request(:post, 'marketplace_releases/backup', {})
end

#deploy(zip_file_path, force:, manifest:) ⇒ Object



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/marketplace_kit/services/api_gateway.rb', line 26

def deploy(zip_file_path, force:, manifest:)
  upload_file = Faraday::UploadIO.new(zip_file_path, 'application/zip')
  send_request(
    :post,
    'marketplace_releases',
    {
      marketplace_builder: {
        zip_file: upload_file,
        force_mode: force,
        manifest: manifest
      }
    },
    multipart: true
  )
end

#get_deploy(deploy_id) ⇒ Object



22
23
24
# File 'lib/marketplace_kit/services/api_gateway.rb', line 22

def get_deploy(deploy_id)
  send_request(:get, "marketplace_releases/#{deploy_id}")
end

#login(email, password) ⇒ Object



4
5
6
7
8
9
# File 'lib/marketplace_kit/services/api_gateway.rb', line 4

def (email, password)
  response = send_request(:post, 'sessions', email: email, password: password)
  raise Errors::MarketplaceError.new('Error: Invalid email or password!') if response.status == 401

  response.body['token']
end

#login_required?Boolean

Returns:

  • (Boolean)

Raises:



11
12
13
14
15
16
# File 'lib/marketplace_kit/services/api_gateway.rb', line 11

def 
  response = send_request(:get, "sessions?temporary_token=#{MarketplaceKit.config.token}")
  raise Errors::MarketplaceError.new('Login failed.') unless response.success?

  response.body['login_required']
end

#send_file_change(file_path, file_content) ⇒ Object



18
19
20
# File 'lib/marketplace_kit/services/api_gateway.rb', line 18

def send_file_change(file_path, file_content)
  send_request(:put, 'marketplace_releases/sync', path: file_path, marketplace_builder_file_body: file_content)
end

#settingsObject



46
47
48
# File 'lib/marketplace_kit/services/api_gateway.rb', line 46

def settings
  send_request(:get, 'settings')
end