Class: Thron::Gateway::Repository

Inherits:
Session show all
Defined in:
lib/thron/gateway/repository.rb

Constant Summary collapse

PACKAGE =
Package.new(:xpackager, :resources, self.service_name)

Constants inherited from Base

Base::NO_ACTIVE_SESSION

Instance Attribute Summary

Attributes inherited from Base

#token_id

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Session

#initialize

Methods included from Pageable

included

Methods inherited from Base

#check_session, client_id, #client_id, service_name

Methods included from Routable

included, info, #route

Constructor Details

This class inherits a constructor from Thron::Gateway::Session

Class Method Details

.routesObject



13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/thron/gateway/repository.rb', line 13

def self.routes
  @routes ||= {
    add_files: Route::factory(name: 'addFilesToPlatform', package: PACKAGE),
    add_s3_resource: Route::factory(name: 'addS3ResourceToPlatform', package: PACKAGE),
    add_web_resource: Route::factory(name: 'addWebResourceToPlatform', package: PACKAGE),
    delete_ftp_file: Route::factory(name: 'deleteFtpFile', package: PACKAGE),
    delete_uploaded_file: Route::factory(name: 'deleteUploadedFile', package: PACKAGE),
    get_ftp_file_list: Route::factory(name: 'getFtpFileList', package: PACKAGE),
    get_quota_usage: Route::factory(name: 'getQuotaUsage', package: PACKAGE, verb: Route::Verbs::GET),
    get_s3_credentials: Route::factory(name: 'getS3UploadCredentials', package: PACKAGE, verb: Route::Verbs::GET),
    get_uploaded_file_list: Route::factory(name: 'getUploadedFileList', package: PACKAGE)
  }
end

Instance Method Details

#add_files(options = {}) ⇒ Object



27
28
29
30
31
32
33
34
35
36
# File 'lib/thron/gateway/repository.rb', line 27

def add_files(options = {})
  files = options[:files]
  body = { 
    clientId: client_id,
    files: { files: files }
  }
  route(to: __callee__, body: body, token_id: token_id) do |response|
    response.body = Entity::Base::factory(response.body)
  end
end

#add_s3_resource(options = {}) ⇒ Object



38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/thron/gateway/repository.rb', line 38

def add_s3_resource(options = {})
  resource = options[:resource]
  remove_resource = options.fetch(:remove_resource) { false }
  body = { 
    clientId: client_id,
    resource: resource,
    remove_resource_if_possible: remove_resource
  }
  route(to: __callee__, body: body, token_id: token_id) do |response|
    response.body = Entity::Base::factory(response.body)
  end
end

#add_web_resource(options = {}) ⇒ Object



51
52
53
54
55
56
57
58
59
60
# File 'lib/thron/gateway/repository.rb', line 51

def add_web_resource(options = {})
  resource = options[:resource]
  body = { 
    clientId: client_id,
    webResource: resource
  }
  route(to: __callee__, body: body, token_id: token_id) do |response|
    response.body = Entity::Base::factory(response.body)
  end
end

#get_quota_usageObject



92
93
94
95
96
97
98
99
# File 'lib/thron/gateway/repository.rb', line 92

def get_quota_usage
  query = { 
    clientId: client_id,
  }
  route(to: __callee__, query: query, token_id: token_id) do |response|
    response.body = Entity::Base::factory(response.body)
  end
end

#get_s3_credentialsObject



101
102
103
104
105
106
107
108
# File 'lib/thron/gateway/repository.rb', line 101

def get_s3_credentials
  query = { 
    clientId: client_id,
  }
  route(to: __callee__, query: query, token_id: token_id) do |response|
    response.body = Entity::Base::factory(response.body.fetch('credentials') { {} })
  end
end