Class: SafeTRest

Inherits:
Object
  • Object
show all
Defined in:
lib/safe-t-rest.rb

Instance Method Summary collapse

Constructor Details

#initialize(config_hash = {}) ⇒ SafeTRest

Returns a new instance of SafeTRest.



7
8
9
10
11
12
13
# File 'lib/safe-t-rest.rb', line 7

def initialize(config_hash={})
  @extension_id = config_hash[:extension_id]
  @user_name    = Base64.strict_encode64(config_hash[:user_name]) if config_hash[:user_name]
  @password     = Base64.strict_encode64(config_hash[:password]) if config_hash[:password]
  @url          = config_hash[:rest_url]
  @role_id      = config_hash[:role_id]
end

Instance Method Details

#file_download(args) ⇒ Object



82
83
84
85
86
87
88
89
90
# File 'lib/safe-t-rest.rb', line 82

def file_download(args)
  send_request("iFileDownload",[
      @user_name,
      @password,
      args[:file_name],
      args[:folder_path],
      args[:root_folder_id]
  ])
end

#file_upload(args) ⇒ Object



71
72
73
74
75
76
77
78
79
80
# File 'lib/safe-t-rest.rb', line 71

def file_upload(args)
  send_request("iFileUpload",[
      @user_name,
      @password,
      args[:file_base64],
      args[:file_name],
      args[:folder_path],
      args[:root_folder_id]
  ])
end

#get_apps_process_state(guid) ⇒ Object



15
16
17
# File 'lib/safe-t-rest.rb', line 15

def get_apps_process_state(guid)
  send_request("GetAppsProcessState", [guid, false])
end

#get_folder_list(path) ⇒ Object



45
46
47
# File 'lib/safe-t-rest.rb', line 45

def get_folder_list(path)
  send_request("iGetFolderList",[@user_name, @password, false, true, path, 417])
end

#get_package_file_list(guid) ⇒ Object



19
20
21
# File 'lib/safe-t-rest.rb', line 19

def get_package_file_list(guid)
  send_request("GetPackageFileList",[guid])
end

#get_user_history(days) ⇒ Object



37
38
39
# File 'lib/safe-t-rest.rb', line 37

def get_user_history(days)
  send_request("iGetHistory", [@user_name, @password, days])
end

#register_session(url_string) ⇒ Object

Raises:



92
93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/safe-t-rest.rb', line 92

def register_session(url_string)
  response = send_request("RegisterSession",[url_string])
  status, message = response.split(':')
  raise SafeTError.new("Got empty response from server: #{message}, status: #{status}") if message.to_s.empty?
  case status.downcase
    when 'ok'
      return JSON.parse(Base64.decode64(message), symbolize_names: true)
    when 'error'
      raise SafeTError.new(Base64.decode64(message))
    else
      raise SafeTError.new("Non-Standard status #{status}:#{Base64.decode64(message)}")
  end
end

#safe_share_file(args) ⇒ Object



49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/safe-t-rest.rb', line 49

def safe_share_file(args)
  send_request("iSafeShareFile:",[
      @user_name,
      @password,
      args[:files],
      args[:recipients],
      args[:sender_name],
      args[:sender_address],
      args[:subject],
      args[:message],
      args[:message_encryption_level],
      args[:delivery_method],
      args[:mobile_recipient],
      args[:return_receipt],
      args[:safe_reply],
      args[:max_downloads],
      args[:package_expiry],
      args[:folder_path],
      args[:root_folder_id]
  ])
end

#user_account_address_listObject



41
42
43
# File 'lib/safe-t-rest.rb', line 41

def 
  send_request("iUserAccountAddressList",[@user_name, @password])
end

#verify_user_accountObject

Raises:



23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/safe-t-rest.rb', line 23

def 
  response = send_request("iVerifyUserAccount",[@user_name, @password, true])
  status, message = response.split(':')
  raise SafeTError.new("Got empty response from server: #{message}, status: #{status}") if message.to_s.empty?
  case status.downcase
  when 'ok'
    return JSON.parse(Base64.decode64(message), symbolize_names: true)
  when 'error'
    raise SafeTError.new(Base64.decode64(message))
  else
    raise SafeTError.new("Non-Standard status #{status}:#{Base64.decode64(message)}")
  end
end