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



51
52
53
# File 'lib/marketplace_kit/services/api_gateway.rb', line 51

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

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



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/marketplace_kit/services/api_gateway.rb', line 35

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



31
32
33
# File 'lib/marketplace_kit/services/api_gateway.rb', line 31

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(relative_file_path, file_path) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/marketplace_kit/services/api_gateway.rb', line 18

def send_file_change(relative_file_path, file_path)
  file = Faraday::UploadIO.new(file_path, 'application/octet-stream')
  send_request(
    :put,
    'marketplace_releases/sync',
    {
      path: relative_file_path,
      marketplace_builder_file_body: file
    },
    multipart: true
  )
end

#settingsObject



55
56
57
# File 'lib/marketplace_kit/services/api_gateway.rb', line 55

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