files.com 1.0.83 → 1.0.88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/_VERSION +1 -1
  3. data/docs/api_key.md +13 -1
  4. data/docs/app.md +57 -0
  5. data/docs/automation.md +9 -1
  6. data/docs/behavior.md +30 -14
  7. data/docs/bundle.md +8 -0
  8. data/docs/file.md +0 -4
  9. data/docs/group.md +8 -0
  10. data/docs/history.md +16 -0
  11. data/docs/ip_address.md +19 -1
  12. data/docs/message.md +11 -11
  13. data/docs/notification.md +10 -2
  14. data/docs/permission.md +11 -3
  15. data/docs/public_ip_address.md +13 -0
  16. data/docs/remote_server.md +24 -4
  17. data/docs/request.md +6 -25
  18. data/docs/site.md +4 -0
  19. data/docs/style.md +1 -1
  20. data/docs/usage_daily_snapshot.md +8 -0
  21. data/docs/user.md +16 -2
  22. data/lib/files.com.rb +2 -0
  23. data/lib/files.com/models/api_key.rb +30 -4
  24. data/lib/files.com/models/app.rb +101 -0
  25. data/lib/files.com/models/automation.rb +19 -4
  26. data/lib/files.com/models/behavior.rb +53 -23
  27. data/lib/files.com/models/bundle.rb +19 -4
  28. data/lib/files.com/models/file.rb +7 -11
  29. data/lib/files.com/models/file_action.rb +6 -6
  30. data/lib/files.com/models/file_comment.rb +1 -1
  31. data/lib/files.com/models/folder.rb +2 -2
  32. data/lib/files.com/models/group.rb +18 -3
  33. data/lib/files.com/models/history.rb +43 -16
  34. data/lib/files.com/models/ip_address.rb +15 -0
  35. data/lib/files.com/models/lock.rb +4 -4
  36. data/lib/files.com/models/message.rb +5 -5
  37. data/lib/files.com/models/notification.rb +20 -5
  38. data/lib/files.com/models/permission.rb +21 -6
  39. data/lib/files.com/models/public_ip_address.rb +22 -0
  40. data/lib/files.com/models/remote_server.rb +45 -0
  41. data/lib/files.com/models/request.rb +15 -28
  42. data/lib/files.com/models/site.rb +6 -0
  43. data/lib/files.com/models/style.rb +8 -8
  44. data/lib/files.com/models/usage_daily_snapshot.rb +18 -3
  45. data/lib/files.com/models/user.rb +30 -5
  46. metadata +6 -2
@@ -47,5 +47,20 @@ module Files
47
47
  def self.all(params = {}, options = {})
48
48
  list(params, options)
49
49
  end
50
+
51
+ # Parameters:
52
+ # page - int64 - Current page number.
53
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
54
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
55
+ def self.get_reserved(params = {}, options = {})
56
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
57
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
58
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
59
+
60
+ response, options = Api.send_request("/ip_addresses/reserved", :get, params, options)
61
+ response.data.map do |entity_data|
62
+ PublicIpAddress.new(entity_data, options)
63
+ end
64
+ end
50
65
  end
51
66
  end
@@ -101,7 +101,7 @@ module Files
101
101
  raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
102
102
  raise MissingParameterError.new("Parameter missing: token") unless params.dig(:token)
103
103
 
104
- Api.send_request("/locks/#{Addressable::URI.encode_component(params[:path])}", :delete, params, @options)
104
+ Api.send_request("/locks/#{@attributes[:path]}", :delete, params, @options)
105
105
  end
106
106
 
107
107
  def destroy(params = {})
@@ -132,7 +132,7 @@ module Files
132
132
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
133
133
  raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
134
134
 
135
- response, options = Api.send_request("/locks/#{Addressable::URI.encode_component(params[:path])}", :get, params, options)
135
+ response, options = Api.send_request("/locks/#{params[:path]}", :get, params, options)
136
136
  response.data.map do |entity_data|
137
137
  Lock.new(entity_data, options)
138
138
  end
@@ -148,7 +148,7 @@ module Files
148
148
  raise InvalidParameterError.new("Bad parameter: timeout must be an Integer") if params.dig(:timeout) and !params.dig(:timeout).is_a?(Integer)
149
149
  raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
150
150
 
151
- response, options = Api.send_request("/locks/#{Addressable::URI.encode_component(params[:path])}", :post, params, options)
151
+ response, options = Api.send_request("/locks/#{params[:path]}", :post, params, options)
152
152
  Lock.new(response.data, options)
153
153
  end
154
154
 
@@ -162,7 +162,7 @@ module Files
162
162
  raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
163
163
  raise MissingParameterError.new("Parameter missing: token") unless params.dig(:token)
164
164
 
165
- response, _options = Api.send_request("/locks/#{Addressable::URI.encode_component(params[:path])}", :delete, params, options)
165
+ response, _options = Api.send_request("/locks/#{params[:path]}", :delete, params, options)
166
166
  response.data
167
167
  end
168
168
 
@@ -54,7 +54,7 @@ module Files
54
54
  @attributes[:user_id] = value
55
55
  end
56
56
 
57
- # int64 - Project to attach the message to.
57
+ # int64 - Project to which the message should be attached.
58
58
  def project_id
59
59
  @attributes[:project_id]
60
60
  end
@@ -64,7 +64,7 @@ module Files
64
64
  end
65
65
 
66
66
  # Parameters:
67
- # project_id (required) - int64 - Project to attach the message to.
67
+ # project_id (required) - int64 - Project to which the message should be attached.
68
68
  # subject (required) - string - Message subject.
69
69
  # body (required) - string - Message body.
70
70
  def update(params = {})
@@ -111,7 +111,7 @@ module Files
111
111
  # page - int64 - Current page number.
112
112
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
113
113
  # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
114
- # project_id (required) - int64 - Project to return messages for.
114
+ # project_id (required) - int64 - Project for which to return messages.
115
115
  def self.list(params = {}, options = {})
116
116
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
117
117
  raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
@@ -148,7 +148,7 @@ module Files
148
148
 
149
149
  # Parameters:
150
150
  # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
151
- # project_id (required) - int64 - Project to attach the message to.
151
+ # project_id (required) - int64 - Project to which the message should be attached.
152
152
  # subject (required) - string - Message subject.
153
153
  # body (required) - string - Message body.
154
154
  def self.create(params = {}, options = {})
@@ -165,7 +165,7 @@ module Files
165
165
  end
166
166
 
167
167
  # Parameters:
168
- # project_id (required) - int64 - Project to attach the message to.
168
+ # project_id (required) - int64 - Project to which the message should be attached.
169
169
  # subject (required) - string - Message subject.
170
170
  # body (required) - string - Message body.
171
171
  def self.update(id, params = {}, options = {})
@@ -156,11 +156,19 @@ module Files
156
156
  end
157
157
 
158
158
  # Parameters:
159
- # user_id - int64 - Show notifications for this User ID.
159
+ # user_id - int64 - DEPRECATED: Show notifications for this User ID. Use `filter[user_id]` instead.
160
160
  # page - int64 - Current page number.
161
161
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
162
162
  # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
163
- # group_id - int64 - Show notifications for this Group ID.
163
+ # cursor - string - Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
164
+ # sort_by - object - If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `site_id`, `path`, `user_id` or `group_id`.
165
+ # filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `user_id`, `group_id` or `path`.
166
+ # filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `user_id`, `group_id` or `path`.
167
+ # filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `user_id`, `group_id` or `path`.
168
+ # filter_like - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `user_id`, `group_id` or `path`.
169
+ # filter_lt - object - If set, return records where the specifiied field is less than the supplied value. Valid fields are `user_id`, `group_id` or `path`.
170
+ # filter_lteq - object - If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `user_id`, `group_id` or `path`.
171
+ # group_id - int64 - DEPRECATED: Show notifications for this Group ID. Use `filter[group_id]` instead.
164
172
  # path - string - Show notifications for this Path.
165
173
  # include_ancestors - boolean - If `include_ancestors` is `true` and `path` is specified, include notifications for any parent paths. Ignored if `path` is not specified.
166
174
  def self.list(params = {}, options = {})
@@ -168,12 +176,19 @@ module Files
168
176
  raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
169
177
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
170
178
  raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
179
+ raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
180
+ raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
181
+ raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params.dig(:filter) and !params.dig(:filter).is_a?(Hash)
182
+ raise InvalidParameterError.new("Bad parameter: filter_gt must be an Hash") if params.dig(:filter_gt) and !params.dig(:filter_gt).is_a?(Hash)
183
+ raise InvalidParameterError.new("Bad parameter: filter_gteq must be an Hash") if params.dig(:filter_gteq) and !params.dig(:filter_gteq).is_a?(Hash)
184
+ raise InvalidParameterError.new("Bad parameter: filter_like must be an Hash") if params.dig(:filter_like) and !params.dig(:filter_like).is_a?(Hash)
185
+ raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params.dig(:filter_lt) and !params.dig(:filter_lt).is_a?(Hash)
186
+ raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params.dig(:filter_lteq) and !params.dig(:filter_lteq).is_a?(Hash)
171
187
  raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params.dig(:group_id) and !params.dig(:group_id).is_a?(Integer)
172
188
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
173
189
 
174
- response, options = Api.send_request("/notifications", :get, params, options)
175
- response.data.map do |entity_data|
176
- Notification.new(entity_data, options)
190
+ List.new(Notification, params) do
191
+ Api.send_request("/notifications", :get, params, options)
177
192
  end
178
193
  end
179
194
 
@@ -94,9 +94,17 @@ module Files
94
94
  # page - int64 - Current page number.
95
95
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
96
96
  # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
97
- # path - string - Permission path. If provided, will scope permissions to this path.
98
- # group_id - string - Group ID. If provided, will scope permissions to this group.
99
- # user_id - string - User ID. If provided, will scope permissions to this user.
97
+ # cursor - string - Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
98
+ # sort_by - object - If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `deleted_at`, `group_id`, `path`, `user_id` or `permission`.
99
+ # filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`.
100
+ # filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `group_id`, `user_id` or `path`.
101
+ # filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`.
102
+ # filter_like - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`.
103
+ # filter_lt - object - If set, return records where the specifiied field is less than the supplied value. Valid fields are `group_id`, `user_id` or `path`.
104
+ # filter_lteq - object - If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `group_id`, `user_id` or `path`.
105
+ # path - string - DEPRECATED: Permission path. If provided, will scope permissions to this path. Use `filter[path]` instead.
106
+ # group_id - string - DEPRECATED: Group ID. If provided, will scope permissions to this group. Use `filter[group_id]` instead.`
107
+ # user_id - string - DEPRECATED: User ID. If provided, will scope permissions to this user. Use `filter[user_id]` instead.`
100
108
  # include_groups - boolean - If searching by user or group, also include user's permissions that are inherited from its groups?
101
109
  def self.list(path, params = {}, options = {})
102
110
  params ||= {}
@@ -104,13 +112,20 @@ module Files
104
112
  raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
105
113
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
106
114
  raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
115
+ raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
116
+ raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
117
+ raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params.dig(:filter) and !params.dig(:filter).is_a?(Hash)
118
+ raise InvalidParameterError.new("Bad parameter: filter_gt must be an Hash") if params.dig(:filter_gt) and !params.dig(:filter_gt).is_a?(Hash)
119
+ raise InvalidParameterError.new("Bad parameter: filter_gteq must be an Hash") if params.dig(:filter_gteq) and !params.dig(:filter_gteq).is_a?(Hash)
120
+ raise InvalidParameterError.new("Bad parameter: filter_like must be an Hash") if params.dig(:filter_like) and !params.dig(:filter_like).is_a?(Hash)
121
+ raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params.dig(:filter_lt) and !params.dig(:filter_lt).is_a?(Hash)
122
+ raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params.dig(:filter_lteq) and !params.dig(:filter_lteq).is_a?(Hash)
107
123
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
108
124
  raise InvalidParameterError.new("Bad parameter: group_id must be an String") if params.dig(:group_id) and !params.dig(:group_id).is_a?(String)
109
125
  raise InvalidParameterError.new("Bad parameter: user_id must be an String") if params.dig(:user_id) and !params.dig(:user_id).is_a?(String)
110
126
 
111
- response, options = Api.send_request("/permissions", :get, params, options)
112
- response.data.map do |entity_data|
113
- Permission.new(entity_data, options)
127
+ List.new(Permission, params) do
128
+ Api.send_request("/permissions", :get, params, options)
114
129
  end
115
130
  end
116
131
 
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class PublicIpAddress
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # string - The public IP address.
13
+ def ip_address
14
+ @attributes[:ip_address]
15
+ end
16
+
17
+ # string - The name of the frontend server.
18
+ def server_name
19
+ @attributes[:server_name]
20
+ end
21
+ end
22
+ end
@@ -243,6 +243,24 @@ module Files
243
243
  @attributes[:one_drive_account_type] = value
244
244
  end
245
245
 
246
+ # string - Azure Blob Storage Account name
247
+ def azure_blob_storage_account
248
+ @attributes[:azure_blob_storage_account]
249
+ end
250
+
251
+ def azure_blob_storage_account=(value)
252
+ @attributes[:azure_blob_storage_account] = value
253
+ end
254
+
255
+ # string - Azure Blob Storage Container name
256
+ def azure_blob_storage_container
257
+ @attributes[:azure_blob_storage_container]
258
+ end
259
+
260
+ def azure_blob_storage_container=(value)
261
+ @attributes[:azure_blob_storage_container] = value
262
+ end
263
+
246
264
  # string - AWS Access Key.
247
265
  def aws_access_key
248
266
  @attributes[:aws_access_key]
@@ -342,6 +360,15 @@ module Files
342
360
  @attributes[:reset_authentication] = value
343
361
  end
344
362
 
363
+ # string - Azure Blob Storage secret key.
364
+ def azure_blob_storage_access_key
365
+ @attributes[:azure_blob_storage_access_key]
366
+ end
367
+
368
+ def azure_blob_storage_access_key=(value)
369
+ @attributes[:azure_blob_storage_access_key] = value
370
+ end
371
+
345
372
  # Parameters:
346
373
  # aws_access_key - string - AWS Access Key.
347
374
  # aws_secret_key - string - AWS secret key.
@@ -354,6 +381,7 @@ module Files
354
381
  # backblaze_b2_application_key - string - Backblaze B2 Cloud Storage applicationKey.
355
382
  # rackspace_api_key - string - Rackspace API key from the Rackspace Cloud Control Panel.
356
383
  # reset_authentication - boolean - Reset authenticated account
384
+ # azure_blob_storage_access_key - string - Azure Blob Storage secret key.
357
385
  # hostname - string - Hostname or IP address
358
386
  # name - string - Internal name for your reference
359
387
  # max_connections - int64 - Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
@@ -375,6 +403,8 @@ module Files
375
403
  # rackspace_region - string - Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/
376
404
  # rackspace_container - string - The name of the container (top level directory) where files will sync.
377
405
  # one_drive_account_type - string - Either personal or business_other account types
406
+ # azure_blob_storage_account - string - Azure Blob Storage Account name
407
+ # azure_blob_storage_container - string - Azure Blob Storage Container name
378
408
  def update(params = {})
379
409
  params ||= {}
380
410
  params[:id] = @attributes[:id]
@@ -390,6 +420,7 @@ module Files
390
420
  raise InvalidParameterError.new("Bad parameter: backblaze_b2_key_id must be an String") if params.dig(:backblaze_b2_key_id) and !params.dig(:backblaze_b2_key_id).is_a?(String)
391
421
  raise InvalidParameterError.new("Bad parameter: backblaze_b2_application_key must be an String") if params.dig(:backblaze_b2_application_key) and !params.dig(:backblaze_b2_application_key).is_a?(String)
392
422
  raise InvalidParameterError.new("Bad parameter: rackspace_api_key must be an String") if params.dig(:rackspace_api_key) and !params.dig(:rackspace_api_key).is_a?(String)
423
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_access_key must be an String") if params.dig(:azure_blob_storage_access_key) and !params.dig(:azure_blob_storage_access_key).is_a?(String)
393
424
  raise InvalidParameterError.new("Bad parameter: hostname must be an String") if params.dig(:hostname) and !params.dig(:hostname).is_a?(String)
394
425
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
395
426
  raise InvalidParameterError.new("Bad parameter: max_connections must be an Integer") if params.dig(:max_connections) and !params.dig(:max_connections).is_a?(Integer)
@@ -411,6 +442,8 @@ module Files
411
442
  raise InvalidParameterError.new("Bad parameter: rackspace_region must be an String") if params.dig(:rackspace_region) and !params.dig(:rackspace_region).is_a?(String)
412
443
  raise InvalidParameterError.new("Bad parameter: rackspace_container must be an String") if params.dig(:rackspace_container) and !params.dig(:rackspace_container).is_a?(String)
413
444
  raise InvalidParameterError.new("Bad parameter: one_drive_account_type must be an String") if params.dig(:one_drive_account_type) and !params.dig(:one_drive_account_type).is_a?(String)
445
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_account must be an String") if params.dig(:azure_blob_storage_account) and !params.dig(:azure_blob_storage_account).is_a?(String)
446
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_container must be an String") if params.dig(:azure_blob_storage_container) and !params.dig(:azure_blob_storage_container).is_a?(String)
414
447
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
415
448
 
416
449
  Api.send_request("/remote_servers/#{@attributes[:id]}", :patch, params, @options)
@@ -486,6 +519,7 @@ module Files
486
519
  # backblaze_b2_application_key - string - Backblaze B2 Cloud Storage applicationKey.
487
520
  # rackspace_api_key - string - Rackspace API key from the Rackspace Cloud Control Panel.
488
521
  # reset_authentication - boolean - Reset authenticated account
522
+ # azure_blob_storage_access_key - string - Azure Blob Storage secret key.
489
523
  # hostname - string - Hostname or IP address
490
524
  # name - string - Internal name for your reference
491
525
  # max_connections - int64 - Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
@@ -507,6 +541,8 @@ module Files
507
541
  # rackspace_region - string - Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/
508
542
  # rackspace_container - string - The name of the container (top level directory) where files will sync.
509
543
  # one_drive_account_type - string - Either personal or business_other account types
544
+ # azure_blob_storage_account - string - Azure Blob Storage Account name
545
+ # azure_blob_storage_container - string - Azure Blob Storage Container name
510
546
  def self.create(params = {}, options = {})
511
547
  raise InvalidParameterError.new("Bad parameter: aws_access_key must be an String") if params.dig(:aws_access_key) and !params.dig(:aws_access_key).is_a?(String)
512
548
  raise InvalidParameterError.new("Bad parameter: aws_secret_key must be an String") if params.dig(:aws_secret_key) and !params.dig(:aws_secret_key).is_a?(String)
@@ -518,6 +554,7 @@ module Files
518
554
  raise InvalidParameterError.new("Bad parameter: backblaze_b2_key_id must be an String") if params.dig(:backblaze_b2_key_id) and !params.dig(:backblaze_b2_key_id).is_a?(String)
519
555
  raise InvalidParameterError.new("Bad parameter: backblaze_b2_application_key must be an String") if params.dig(:backblaze_b2_application_key) and !params.dig(:backblaze_b2_application_key).is_a?(String)
520
556
  raise InvalidParameterError.new("Bad parameter: rackspace_api_key must be an String") if params.dig(:rackspace_api_key) and !params.dig(:rackspace_api_key).is_a?(String)
557
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_access_key must be an String") if params.dig(:azure_blob_storage_access_key) and !params.dig(:azure_blob_storage_access_key).is_a?(String)
521
558
  raise InvalidParameterError.new("Bad parameter: hostname must be an String") if params.dig(:hostname) and !params.dig(:hostname).is_a?(String)
522
559
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
523
560
  raise InvalidParameterError.new("Bad parameter: max_connections must be an Integer") if params.dig(:max_connections) and !params.dig(:max_connections).is_a?(Integer)
@@ -539,6 +576,8 @@ module Files
539
576
  raise InvalidParameterError.new("Bad parameter: rackspace_region must be an String") if params.dig(:rackspace_region) and !params.dig(:rackspace_region).is_a?(String)
540
577
  raise InvalidParameterError.new("Bad parameter: rackspace_container must be an String") if params.dig(:rackspace_container) and !params.dig(:rackspace_container).is_a?(String)
541
578
  raise InvalidParameterError.new("Bad parameter: one_drive_account_type must be an String") if params.dig(:one_drive_account_type) and !params.dig(:one_drive_account_type).is_a?(String)
579
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_account must be an String") if params.dig(:azure_blob_storage_account) and !params.dig(:azure_blob_storage_account).is_a?(String)
580
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_container must be an String") if params.dig(:azure_blob_storage_container) and !params.dig(:azure_blob_storage_container).is_a?(String)
542
581
 
543
582
  response, options = Api.send_request("/remote_servers", :post, params, options)
544
583
  RemoteServer.new(response.data, options)
@@ -556,6 +595,7 @@ module Files
556
595
  # backblaze_b2_application_key - string - Backblaze B2 Cloud Storage applicationKey.
557
596
  # rackspace_api_key - string - Rackspace API key from the Rackspace Cloud Control Panel.
558
597
  # reset_authentication - boolean - Reset authenticated account
598
+ # azure_blob_storage_access_key - string - Azure Blob Storage secret key.
559
599
  # hostname - string - Hostname or IP address
560
600
  # name - string - Internal name for your reference
561
601
  # max_connections - int64 - Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
@@ -577,6 +617,8 @@ module Files
577
617
  # rackspace_region - string - Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/
578
618
  # rackspace_container - string - The name of the container (top level directory) where files will sync.
579
619
  # one_drive_account_type - string - Either personal or business_other account types
620
+ # azure_blob_storage_account - string - Azure Blob Storage Account name
621
+ # azure_blob_storage_container - string - Azure Blob Storage Container name
580
622
  def self.update(id, params = {}, options = {})
581
623
  params ||= {}
582
624
  params[:id] = id
@@ -591,6 +633,7 @@ module Files
591
633
  raise InvalidParameterError.new("Bad parameter: backblaze_b2_key_id must be an String") if params.dig(:backblaze_b2_key_id) and !params.dig(:backblaze_b2_key_id).is_a?(String)
592
634
  raise InvalidParameterError.new("Bad parameter: backblaze_b2_application_key must be an String") if params.dig(:backblaze_b2_application_key) and !params.dig(:backblaze_b2_application_key).is_a?(String)
593
635
  raise InvalidParameterError.new("Bad parameter: rackspace_api_key must be an String") if params.dig(:rackspace_api_key) and !params.dig(:rackspace_api_key).is_a?(String)
636
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_access_key must be an String") if params.dig(:azure_blob_storage_access_key) and !params.dig(:azure_blob_storage_access_key).is_a?(String)
594
637
  raise InvalidParameterError.new("Bad parameter: hostname must be an String") if params.dig(:hostname) and !params.dig(:hostname).is_a?(String)
595
638
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
596
639
  raise InvalidParameterError.new("Bad parameter: max_connections must be an Integer") if params.dig(:max_connections) and !params.dig(:max_connections).is_a?(Integer)
@@ -612,6 +655,8 @@ module Files
612
655
  raise InvalidParameterError.new("Bad parameter: rackspace_region must be an String") if params.dig(:rackspace_region) and !params.dig(:rackspace_region).is_a?(String)
613
656
  raise InvalidParameterError.new("Bad parameter: rackspace_container must be an String") if params.dig(:rackspace_container) and !params.dig(:rackspace_container).is_a?(String)
614
657
  raise InvalidParameterError.new("Bad parameter: one_drive_account_type must be an String") if params.dig(:one_drive_account_type) and !params.dig(:one_drive_account_type).is_a?(String)
658
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_account must be an String") if params.dig(:azure_blob_storage_account) and !params.dig(:azure_blob_storage_account).is_a?(String)
659
+ raise InvalidParameterError.new("Bad parameter: azure_blob_storage_container must be an String") if params.dig(:azure_blob_storage_container) and !params.dig(:azure_blob_storage_container).is_a?(String)
615
660
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
616
661
 
617
662
  response, options = Api.send_request("/remote_servers/#{params[:id]}", :patch, params, options)
@@ -81,25 +81,6 @@ module Files
81
81
  @attributes[:group_ids] = value
82
82
  end
83
83
 
84
- # List Requests
85
- #
86
- # Parameters:
87
- # page - int64 - Current page number.
88
- # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
89
- # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
90
- # mine - boolean - Only show requests of the current user? (Defaults to true if current user is not a site admin.)
91
- def folders(params = {})
92
- params ||= {}
93
- params[:path] = @attributes[:path]
94
- raise MissingParameterError.new("Current object doesn't have a path") unless @attributes[:path]
95
- raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
96
- raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
97
- raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
98
- raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
99
-
100
- Api.send_request("/requests/folders/#{Addressable::URI.encode_component(params[:path])}", :get, params, @options)
101
- end
102
-
103
84
  def save
104
85
  if @attributes[:path]
105
86
  raise NotImplementedError.new("The Request object doesn't support updates.")
@@ -113,6 +94,8 @@ module Files
113
94
  # page - int64 - Current page number.
114
95
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
115
96
  # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
97
+ # cursor - string - Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
98
+ # sort_by - object - If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `site_id`, `folder_id` or `destination`.
116
99
  # mine - boolean - Only show requests of the current user? (Defaults to true if current user is not a site admin.)
117
100
  # path - string - Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
118
101
  def self.list(path, params = {}, options = {})
@@ -121,11 +104,12 @@ module Files
121
104
  raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
122
105
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
123
106
  raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
107
+ raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
108
+ raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
124
109
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
125
110
 
126
- response, options = Api.send_request("/requests", :get, params, options)
127
- response.data.map do |entity_data|
128
- Request.new(entity_data, options)
111
+ List.new(Request, params) do
112
+ Api.send_request("/requests", :get, params, options)
129
113
  end
130
114
  end
131
115
 
@@ -133,24 +117,27 @@ module Files
133
117
  list(path, params, options)
134
118
  end
135
119
 
136
- # List Requests
137
- #
138
120
  # Parameters:
139
121
  # page - int64 - Current page number.
140
122
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
141
123
  # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
124
+ # cursor - string - Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
125
+ # sort_by - object - If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `site_id`, `folder_id` or `destination`.
142
126
  # mine - boolean - Only show requests of the current user? (Defaults to true if current user is not a site admin.)
143
- def self.folders(path, params = {}, options = {})
127
+ # path (required) - string - Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
128
+ def self.find_folder(path, params = {}, options = {})
144
129
  params ||= {}
145
130
  params[:path] = path
146
131
  raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
147
132
  raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
148
133
  raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
134
+ raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
135
+ raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
149
136
  raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
137
+ raise MissingParameterError.new("Parameter missing: path") unless params.dig(:path)
150
138
 
151
- response, options = Api.send_request("/requests/folders/#{Addressable::URI.encode_component(params[:path])}", :get, params, options)
152
- response.data.map do |entity_data|
153
- Request.new(entity_data, options)
139
+ List.new(Request, params) do
140
+ Api.send_request("/requests/folders/#{params[:path]}", :get, params, options)
154
141
  end
155
142
  end
156
143
 
@@ -309,6 +309,11 @@ module Files
309
309
  @attributes[:next_billing_date]
310
310
  end
311
311
 
312
+ # boolean - Allow users to use Office for the web?
313
+ def office_integration_available
314
+ @attributes[:office_integration_available]
315
+ end
316
+
312
317
  # boolean - Use servers in the USA only?
313
318
  def opt_out_global
314
319
  @attributes[:opt_out_global]
@@ -585,6 +590,7 @@ module Files
585
590
  # desktop_app_session_lifetime - int64 - Desktop app session lifetime (in hours)
586
591
  # folder_permissions_groups_only - boolean - If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user.
587
592
  # welcome_screen - string - Does the welcome screen appear?
593
+ # office_integration_available - boolean - Allow users to use Office for the web?
588
594
  # session_expiry - double - Session expiry in hours
589
595
  # ssl_required - boolean - Is SSL required? Disabling this is insecure.
590
596
  # tls_disabled - boolean - Is TLS disabled(site setting)?