files.com 1.0.134 → 1.0.139

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d09ff92ef54d2ff2b07c7677e9998262d07534c2f1970fec953066b6c646f769
4
- data.tar.gz: 11d4e18d9ab273f09c9170dd6e12dc8ca5b55c17914df0764681c884d6a3fbc1
3
+ metadata.gz: 0e1f06ee2365b74c9f17bef68f036f82b45421cb68b920c4420778cfd86528bc
4
+ data.tar.gz: 6e59f6ad45e0971aeb23febce688a0fe46a8c15bdf176396310153d251b38108
5
5
  SHA512:
6
- metadata.gz: 4f40491abab773ec451d0a880b4870a1bcb9796e4b5ee67c5fa2481cc0cfd10855c12d6bd460736541271b4a70300809caf10f4fb1d8f229236025a21ee0de6b
7
- data.tar.gz: c0d39193c030c2004a0f2859142322ece43bec229aea4fcf6b47f05a998242aa055044ef78ded5da996e689f9c3f76e2459dbdb92f08fd39c93ee8025972e3e2
6
+ metadata.gz: 0f8c04f34340787f6870e7736d8dce2a4890a78eebf2be2914e9d45d3762d29d8434a3ea264e28a5f02935ca40f3894dfec57f8211090f1d34fbf69f78525b01
7
+ data.tar.gz: d3c58a286e7502e73f00e4f88bf61e11b8c35c4799dba3555e135a34c1edb3d3a488ce66a3ae25ce8153f6cb80c2753af7279398f520552c5cb39327677497fe
data/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.134
1
+ 1.0.139
data/build.sh ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env bash
2
+
3
+ bundle install
4
+ bundle exec rubocop --ignore-parent-exclusion
5
+ bundle exec rspec
data/docs/app.md CHANGED
@@ -17,6 +17,8 @@
17
17
  "remote_server_type": "",
18
18
  "folder_behavior_type": "",
19
19
  "external_homepage_url": "",
20
+ "marketing_youtube_url": "",
21
+ "tutorial_youtube_url": "",
20
22
  "app_type": "",
21
23
  "featured": true
22
24
  }
@@ -33,6 +35,8 @@
33
35
  * `remote_server_type` (string): Associated Remote Server type, if any
34
36
  * `folder_behavior_type` (string): Associated Folder Behavior type, if any
35
37
  * `external_homepage_url` (string): Link to external homepage
38
+ * `marketing_youtube_url` (string): Marketing video page
39
+ * `tutorial_youtube_url` (string): Tutorial video page
36
40
  * `app_type` (string): The type of the App
37
41
  * `featured` (boolean): Is featured on the App listing?
38
42
 
data/docs/automation.md CHANGED
@@ -37,7 +37,8 @@
37
37
  ],
38
38
  "webhook_url": "https://app.files.com/api/webhooks/abc123",
39
39
  "trigger_actions": "[ \"create\" ]",
40
- "trigger_action_path": "path/to/file/or/folder"
40
+ "trigger_action_path": "path/to/file/or/folder",
41
+ "value": "{\"limit\": \"1\"}"
41
42
  }
42
43
  ```
43
44
 
@@ -58,6 +59,7 @@
58
59
  * `webhook_url` (string): If trigger is `webhook`, this is the URL of the webhook to trigger the Automation.
59
60
  * `trigger_actions` (string): If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
60
61
  * `trigger_action_path` (string): If trigger is `action`, this is the path to watch for the specified trigger actions.
62
+ * `value` (object): A Hash of attributes specific to the automation type.
61
63
 
62
64
 
63
65
  ---
@@ -113,7 +115,8 @@ Files::Automation.create(
113
115
  schedule: "{\"days_of_week\": [ 0, 1, 3 ], \"times_of_day\": [ \"7:30\", \"11:30\" ], \"time_zone\": \"Eastern Time (US & Canada)\"}",
114
116
  trigger: "realtime",
115
117
  trigger_actions: "[ \"create\" ]",
116
- trigger_action_path: "path/to/file/or/folder"
118
+ trigger_action_path: "path/to/file/or/folder",
119
+ value: "{\"limit\": \"1\"}"
117
120
  )
118
121
  ```
119
122
 
@@ -132,6 +135,7 @@ Files::Automation.create(
132
135
  * `trigger` (string): How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.
133
136
  * `trigger_actions` (array(string)): If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
134
137
  * `trigger_action_path` (string): If trigger is `action`, this is the path to watch for the specified trigger actions.
138
+ * `value` (object): A Hash of attributes specific to the automation type.
135
139
 
136
140
 
137
141
  ---
@@ -149,7 +153,8 @@ Files::Automation.update(id,
149
153
  schedule: "{\"days_of_week\": [ 0, 1, 3 ], \"times_of_day\": [ \"7:30\", \"11:30\" ], \"time_zone\": \"Eastern Time (US & Canada)\"}",
150
154
  trigger: "realtime",
151
155
  trigger_actions: "[ \"create\" ]",
152
- trigger_action_path: "path/to/file/or/folder"
156
+ trigger_action_path: "path/to/file/or/folder",
157
+ value: "{\"limit\": \"1\"}"
153
158
  )
154
159
  ```
155
160
 
@@ -169,6 +174,7 @@ Files::Automation.update(id,
169
174
  * `trigger` (string): How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.
170
175
  * `trigger_actions` (array(string)): If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
171
176
  * `trigger_action_path` (string): If trigger is `action`, this is the path to watch for the specified trigger actions.
177
+ * `value` (object): A Hash of attributes specific to the automation type.
172
178
 
173
179
 
174
180
  ---
@@ -201,7 +207,8 @@ automation.update(
201
207
  schedule: "{\"days_of_week\": [ 0, 1, 3 ], \"times_of_day\": [ \"7:30\", \"11:30\" ], \"time_zone\": \"Eastern Time (US & Canada)\"}",
202
208
  trigger: "realtime",
203
209
  trigger_actions: "[ \"create\" ]",
204
- trigger_action_path: "path/to/file/or/folder"
210
+ trigger_action_path: "path/to/file/or/folder",
211
+ value: "{\"limit\": \"1\"}"
205
212
  )
206
213
  ```
207
214
 
@@ -221,6 +228,7 @@ automation.update(
221
228
  * `trigger` (string): How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.
222
229
  * `trigger_actions` (array(string)): If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
223
230
  * `trigger_action_path` (string): If trigger is `action`, this is the path to watch for the specified trigger actions.
231
+ * `value` (object): A Hash of attributes specific to the automation type.
224
232
 
225
233
 
226
234
  ---
data/docs/sso_strategy.md CHANGED
@@ -77,7 +77,7 @@
77
77
  * `provision_group_inclusion` (string): Comma-separated list of group names for groups (with optional wildcards) that will be auto-provisioned.
78
78
  * `provision_group_required` (string): Comma or newline separated list of group names (with optional wildcards) to require membership for user provisioning.
79
79
  * `provision_site_admin_groups` (string): Comma-separated list of group names whose members will be created as Site Admins.
80
- * `provision_attachments_permission` (boolean): Auto-provisioned users get Sharing permission?
80
+ * `provision_attachments_permission` (boolean): DEPRECATED: Auto-provisioned users get Sharing permission. Use a Group with the Bundle permission instead.
81
81
  * `provision_dav_permission` (boolean): Auto-provisioned users get WebDAV permission?
82
82
  * `provision_ftp_permission` (boolean): Auto-provisioned users get FTP permission?
83
83
  * `provision_sftp_permission` (boolean): Auto-provisioned users get SFTP permission?
data/docs/user.md CHANGED
@@ -60,7 +60,7 @@
60
60
  * `username` (string): User's username
61
61
  * `admin_group_ids` (array): List of group IDs of which this user is an administrator
62
62
  * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
63
- * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
63
+ * `attachments_permission` (boolean): DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
64
64
  * `api_keys_count` (int64): Number of api keys associated with this user
65
65
  * `authenticate_until` (date-time): Scheduled Date/Time at which user will be deactivated
66
66
  * `authentication_method` (string): How is this user authenticated?
@@ -217,7 +217,7 @@ Files::User.create(
217
217
  * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
218
218
  * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
219
219
  * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
220
- * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
220
+ * `attachments_permission` (boolean): DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
221
221
  * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
222
222
  * `authentication_method` (string): How is this user authenticated?
223
223
  * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
@@ -348,7 +348,7 @@ Files::User.update(id,
348
348
  * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
349
349
  * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
350
350
  * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
351
- * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
351
+ * `attachments_permission` (boolean): DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
352
352
  * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
353
353
  * `authentication_method` (string): How is this user authenticated?
354
354
  * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
@@ -500,7 +500,7 @@ user.update(
500
500
  * `password_confirmation` (string): Optional, but if provided, we will ensure that it matches the value sent in `password`.
501
501
  * `announcements_read` (boolean): Signifies that the user has read all the announcements in the UI.
502
502
  * `allowed_ips` (string): A list of allowed IPs if applicable. Newline delimited
503
- * `attachments_permission` (boolean): Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
503
+ * `attachments_permission` (boolean): DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
504
504
  * `authenticate_until` (string): Scheduled Date/Time at which user will be deactivated
505
505
  * `authentication_method` (string): How is this user authenticated?
506
506
  * `billing_permission` (boolean): Allow this user to perform operations on the account, payments, and invoices?
@@ -277,16 +277,12 @@ module Files
277
277
  code: error_data[:code] || resp.http_status,
278
278
  }
279
279
 
280
- case resp.http_status
281
- when 400, 404
282
- InvalidRequestError.new(error_data[:message], opts)
283
- when 401
284
- AuthenticationError.new(error_data[:message], opts)
285
- when 403
286
- PermissionError.new(error_data[:message], opts)
287
- when 429
288
- RateLimitError.new(error_data[:message], opts)
289
- else
280
+ return APIError.new(error_data[:message], opts) unless resp&.data&.dig(:type)
281
+
282
+ begin
283
+ error_class = Files.const_get(resp.data[:type].split("/").map { |piece| piece.split("-").map(&:capitalize).join('') + 'Error' }.join("::"))
284
+ error_class.new(error_data[:message], opts)
285
+ rescue NameError
290
286
  APIError.new(error_data[:message], opts)
291
287
  end
292
288
  end
@@ -26,16 +26,163 @@ module Files
26
26
  end
27
27
  end
28
28
 
29
- class APIError < Error; end
29
+ class APIConnectionError < Error; end
30
30
  class AuthenticationError < Error; end
31
- class ConnectionError < Error; end
32
- class InvalidRequestError < Error; end
31
+ class InvalidParameterError < Error; end
32
+ class MissingParameterError < Error; end
33
33
  class NotImplementedError < Error; end
34
- class PermissionError < Error; end
35
- class RateLimitError < Error; end
36
- class TooManyRequestsError < Error; end
37
- class ValidationError < Error; end
38
34
 
39
- class InvalidParameterError < InvalidRequestError; end
40
- class MissingParameterError < InvalidRequestError; end
35
+ class APIError < Error
36
+ attr_reader :detail
37
+ attr_reader :error
38
+ attr_reader :errors
39
+ attr_reader :http_code
40
+ attr_reader :instance
41
+ attr_reader :model_errors
42
+ attr_reader :title
43
+ attr_reader :type
44
+
45
+ def initialize(message = nil, **kwargs)
46
+ @detail = kwargs.dig(:json_body, 'detail')
47
+ @error = kwargs.dig(:json_body, 'error')
48
+ @errors = kwargs.dig(:json_body, 'errors')
49
+ @http_code = kwargs.dig(:json_body, 'http-code')
50
+ @instance = kwargs.dig(:json_body, 'instance')
51
+ @model_errors = kwargs.dig(:json_body, 'model_errors')
52
+ @title = kwargs.dig(:json_body, 'title')
53
+ @type = kwargs.dig(:json_body, 'type')
54
+
55
+ super(message, **kwargs)
56
+ end
57
+ end
58
+
59
+ class ProcessingPendingError < APIError; end
60
+
61
+ class AccountInBadStandingError < APIError; end
62
+ class AccountOverdueError < AccountInBadStandingError; end
63
+
64
+ class BadRequestError < APIError; end
65
+ class AttachmentTooLargeError < BadRequestError; end
66
+ class CannotDownloadDirectoryError < BadRequestError; end
67
+ class CantMoveWithMultipleLocationsError < BadRequestError; end
68
+ class DatetimeParseError < BadRequestError; end
69
+ class DestinationSameError < BadRequestError; end
70
+ class FolderMustNotBeAFileError < BadRequestError; end
71
+ class InvalidFilterCombinationError < BadRequestError; end
72
+ class InvalidFilterFieldError < BadRequestError; end
73
+ class InvalidInputEncodingError < BadRequestError; end
74
+ class InvalidInterfaceError < BadRequestError; end
75
+ class InvalidOauthError < BadRequestError; end
76
+ class InvalidOauthProviderError < BadRequestError; end
77
+ class InvalidReturnToUrlError < BadRequestError; end
78
+ class InvalidUploadOffsetError < BadRequestError; end
79
+ class InvalidUsernameOrPasswordError < BadRequestError; end
80
+ class OperationOnNonScimResourceError < BadRequestError; end
81
+ class UnsupportedHttpResponseFormatError < BadRequestError; end
82
+ class UnsupportedMediaTypeError < BadRequestError; end
83
+ class UserIdInvalidError < BadRequestError; end
84
+ class UserIdOnUserEndpointError < BadRequestError; end
85
+ class UserRequiredError < BadRequestError; end
86
+
87
+ class InvalidParamsError < APIError; end
88
+ class InvalidCursorError < InvalidParamsError; end
89
+ class NoValidInputParamsError < InvalidParamsError; end
90
+ class ReauthenticationNeededFieldsError < InvalidParamsError; end
91
+ class RequestParamPathCannotHaveTrailingWhitespaceError < InvalidParamsError; end
92
+ class RequestParamsContainInvalidCharacterError < InvalidParamsError; end
93
+ class RequestParamsInvalidError < InvalidParamsError; end
94
+ class RequestParamsRequiredError < InvalidParamsError; end
95
+ class UnsupportedCurrencyError < InvalidParamsError; end
96
+
97
+ class LockedError < APIError; end
98
+ class FileLockedError < LockedError; end
99
+ class FolderLockedError < LockedError; end
100
+ class ResourceLockedError < LockedError; end
101
+ class SubfolderLockedError < LockedError; end
102
+
103
+ class NotAuthenticatedError < APIError; end
104
+ class OneTimePasswordIncorrectError < NotAuthenticatedError; end
105
+ class TwoFactorAuthenticationErrorError < NotAuthenticatedError; end
106
+ class TwoFactorAuthenticationRequiredError < NotAuthenticatedError; end
107
+ class TwoFactorAuthenticationSetupExpiredError < NotAuthenticatedError; end
108
+
109
+ class NotAuthorizedError < APIError; end
110
+ class ApiKeyIsDisabledError < NotAuthorizedError; end
111
+ class ApiKeyIsPathRestrictedError < NotAuthorizedError; end
112
+ class ApiKeyOnlyForDesktopAppError < NotAuthorizedError; end
113
+ class ApiKeyOnlyForOfficeIntegrationError < NotAuthorizedError; end
114
+ class AuthenticationRequiredError < NotAuthorizedError; end
115
+ class CannotLoginWhileUsingKeyError < NotAuthorizedError; end
116
+ class CantActForOtherUserError < NotAuthorizedError; end
117
+ class ContactAdminForPasswordChangeHelpError < NotAuthorizedError; end
118
+ class FolderAdminOrBillingPermissionError < NotAuthorizedError; end
119
+ class FolderAdminPermissionRequiredError < NotAuthorizedError; end
120
+ class HistoryExportNonAdminsMustQueryByFolderOrPathError < NotAuthorizedError; end
121
+ class HistoryPermissionRequiredError < NotAuthorizedError; end
122
+ class InsufficientPermissionForParamsError < NotAuthorizedError; end
123
+ class LockedOutError < NotAuthorizedError; end
124
+ class LockoutRegionMismatchError < NotAuthorizedError; end
125
+ class MustAuthenticateWithApiKeyError < NotAuthorizedError; end
126
+ class NeedAdminPermissionForInboxError < NotAuthorizedError; end
127
+ class NoBillingPermissionError < NotAuthorizedError; end
128
+ class NotAllowedToCreateBundleError < NotAuthorizedError; end
129
+ class PasswordChangeNotRequiredError < NotAuthorizedError; end
130
+ class PasswordChangeRequiredError < NotAuthorizedError; end
131
+ class ReadOnlySessionError < NotAuthorizedError; end
132
+ class ReadPermissionRequiredError < NotAuthorizedError; end
133
+ class ReauthenticationFailedError < NotAuthorizedError; end
134
+ class ReauthenticationFailedFinalError < NotAuthorizedError; end
135
+ class ReauthenticationNeededActionError < NotAuthorizedError; end
136
+ class SelfManagedRequiredError < NotAuthorizedError; end
137
+ class UnauthorizedError < NotAuthorizedError; end
138
+ class UserIdWithoutSiteAdminError < NotAuthorizedError; end
139
+ class WritePermissionRequiredError < NotAuthorizedError; end
140
+ class ZipDownloadIpMismatchError < NotAuthorizedError; end
141
+
142
+ class NotFoundError < APIError; end
143
+ class ApiKeyNotFoundError < NotFoundError; end
144
+ class BundlePathNotFoundError < NotFoundError; end
145
+ class CodeNotFoundError < NotFoundError; end
146
+ class FileNotFoundError < NotFoundError; end
147
+ class FileUploadNotFoundError < NotFoundError; end
148
+ class FolderNotFoundError < NotFoundError; end
149
+ class GroupNotFoundError < NotFoundError; end
150
+ class HistoryExportNotReadyError < NotFoundError; end
151
+ class InboxNotFoundError < NotFoundError; end
152
+ class NestedNotFoundError < NotFoundError; end
153
+ class PlanNotFoundError < NotFoundError; end
154
+ class SiteNotFoundError < NotFoundError; end
155
+ class UserNotFoundError < NotFoundError; end
156
+
157
+ class ProcessingFailureError < APIError; end
158
+ class BundleRegistrationCodeFailedError < ProcessingFailureError; end
159
+ class DestinationExistsError < ProcessingFailureError; end
160
+ class DestinationParentConflictError < ProcessingFailureError; end
161
+ class DestinationParentDoesNotExistError < ProcessingFailureError; end
162
+ class FailedToChangePasswordError < ProcessingFailureError; end
163
+ class FileNotUploadedError < ProcessingFailureError; end
164
+ class FolderNotEmptyError < ProcessingFailureError; end
165
+ class HistoryExportFailureError < ProcessingFailureError; end
166
+ class HistoryUnavailableError < ProcessingFailureError; end
167
+ class InboxRegistrationCodeFailedError < ProcessingFailureError; end
168
+ class InvalidBundleCodeError < ProcessingFailureError; end
169
+ class InvalidOrExpiredCodeError < ProcessingFailureError; end
170
+ class ModelSaveErrorError < ProcessingFailureError; end
171
+ class RemoteServerErrorError < ProcessingFailureError; end
172
+ class TwoFactorAuthenticationCodeAlreadySentError < ProcessingFailureError; end
173
+ class UnprocessableEntityError < ProcessingFailureError; end
174
+
175
+ class RateLimitedError < APIError; end
176
+ class ReauthenticationRateLimitedError < RateLimitedError; end
177
+ class TooManyLoginAttemptsError < RateLimitedError; end
178
+ class TooManyRequestsError < RateLimitedError; end
179
+
180
+ class SiteConfigurationError < APIError; end
181
+ class AccountAlreadyExistsError < SiteConfigurationError; end
182
+ class NoAccountForSiteError < SiteConfigurationError; end
183
+ class SiteAdminRequiredError < SiteConfigurationError; end
184
+ class SiteWasRemovedError < SiteConfigurationError; end
185
+ class TrialExpiredError < SiteConfigurationError; end
186
+ class TrialLockedError < SiteConfigurationError; end
187
+ class UserRequestsEnabledRequiredError < SiteConfigurationError; end
41
188
  end
@@ -64,6 +64,16 @@ module Files
64
64
  @attributes[:external_homepage_url]
65
65
  end
66
66
 
67
+ # string - Marketing video page
68
+ def marketing_youtube_url
69
+ @attributes[:marketing_youtube_url]
70
+ end
71
+
72
+ # string - Tutorial video page
73
+ def tutorial_youtube_url
74
+ @attributes[:tutorial_youtube_url]
75
+ end
76
+
67
77
  # string - The type of the App
68
78
  def app_type
69
79
  @attributes[:app_type]
@@ -162,6 +162,15 @@ module Files
162
162
  @attributes[:trigger_action_path] = value
163
163
  end
164
164
 
165
+ # object - A Hash of attributes specific to the automation type.
166
+ def value
167
+ @attributes[:value]
168
+ end
169
+
170
+ def value=(value)
171
+ @attributes[:value] = value
172
+ end
173
+
165
174
  # Parameters:
166
175
  # automation (required) - string - Automation type
167
176
  # source - string - Source Path
@@ -176,6 +185,7 @@ module Files
176
185
  # trigger - string - How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.
177
186
  # trigger_actions - array(string) - If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
178
187
  # trigger_action_path - string - If trigger is `action`, this is the path to watch for the specified trigger actions.
188
+ # value - object - A Hash of attributes specific to the automation type.
179
189
  def update(params = {})
180
190
  params ||= {}
181
191
  params[:id] = @attributes[:id]
@@ -284,6 +294,7 @@ module Files
284
294
  # trigger - string - How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.
285
295
  # trigger_actions - array(string) - If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
286
296
  # trigger_action_path - string - If trigger is `action`, this is the path to watch for the specified trigger actions.
297
+ # value - object - A Hash of attributes specific to the automation type.
287
298
  def self.create(params = {}, options = {})
288
299
  raise InvalidParameterError.new("Bad parameter: automation must be an String") if params.dig(:automation) and !params.dig(:automation).is_a?(String)
289
300
  raise InvalidParameterError.new("Bad parameter: source must be an String") if params.dig(:source) and !params.dig(:source).is_a?(String)
@@ -298,6 +309,7 @@ module Files
298
309
  raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params.dig(:trigger) and !params.dig(:trigger).is_a?(String)
299
310
  raise InvalidParameterError.new("Bad parameter: trigger_actions must be an Array") if params.dig(:trigger_actions) and !params.dig(:trigger_actions).is_a?(Array)
300
311
  raise InvalidParameterError.new("Bad parameter: trigger_action_path must be an String") if params.dig(:trigger_action_path) and !params.dig(:trigger_action_path).is_a?(String)
312
+ raise InvalidParameterError.new("Bad parameter: value must be an Hash") if params.dig(:value) and !params.dig(:value).is_a?(Hash)
301
313
  raise MissingParameterError.new("Parameter missing: automation") unless params.dig(:automation)
302
314
 
303
315
  response, options = Api.send_request("/automations", :post, params, options)
@@ -318,6 +330,7 @@ module Files
318
330
  # trigger - string - How this automation is triggered to run. One of: `realtime`, `daily`, `custom_schedule`, `webhook`, `email`, or `action`.
319
331
  # trigger_actions - array(string) - If trigger is `action`, this is the list of action types on which to trigger the automation. Valid actions are create, read, update, destroy, move, copy
320
332
  # trigger_action_path - string - If trigger is `action`, this is the path to watch for the specified trigger actions.
333
+ # value - object - A Hash of attributes specific to the automation type.
321
334
  def self.update(id, params = {}, options = {})
322
335
  params ||= {}
323
336
  params[:id] = id
@@ -335,6 +348,7 @@ module Files
335
348
  raise InvalidParameterError.new("Bad parameter: trigger must be an String") if params.dig(:trigger) and !params.dig(:trigger).is_a?(String)
336
349
  raise InvalidParameterError.new("Bad parameter: trigger_actions must be an Array") if params.dig(:trigger_actions) and !params.dig(:trigger_actions).is_a?(Array)
337
350
  raise InvalidParameterError.new("Bad parameter: trigger_action_path must be an String") if params.dig(:trigger_action_path) and !params.dig(:trigger_action_path).is_a?(String)
351
+ raise InvalidParameterError.new("Bad parameter: value must be an Hash") if params.dig(:value) and !params.dig(:value).is_a?(Hash)
338
352
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
339
353
  raise MissingParameterError.new("Parameter missing: automation") unless params.dig(:automation)
340
354
 
@@ -139,7 +139,7 @@ module Files
139
139
  @attributes[:provision_site_admin_groups]
140
140
  end
141
141
 
142
- # boolean - Auto-provisioned users get Sharing permission?
142
+ # boolean - DEPRECATED: Auto-provisioned users get Sharing permission. Use a Group with the Bundle permission instead.
143
143
  def provision_attachments_permission
144
144
  @attributes[:provision_attachments_permission]
145
145
  end
@@ -45,7 +45,7 @@ module Files
45
45
  @attributes[:allowed_ips] = value
46
46
  end
47
47
 
48
- # boolean - Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
48
+ # boolean - DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
49
49
  def attachments_permission
50
50
  @attributes[:attachments_permission]
51
51
  end
@@ -555,7 +555,7 @@ module Files
555
555
  # password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
556
556
  # announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
557
557
  # allowed_ips - string - A list of allowed IPs if applicable. Newline delimited
558
- # attachments_permission - boolean - Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
558
+ # attachments_permission - boolean - DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
559
559
  # authenticate_until - string - Scheduled Date/Time at which user will be deactivated
560
560
  # authentication_method - string - How is this user authenticated?
561
561
  # billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
@@ -713,7 +713,7 @@ module Files
713
713
  # password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
714
714
  # announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
715
715
  # allowed_ips - string - A list of allowed IPs if applicable. Newline delimited
716
- # attachments_permission - boolean - Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
716
+ # attachments_permission - boolean - DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
717
717
  # authenticate_until - string - Scheduled Date/Time at which user will be deactivated
718
718
  # authentication_method - string - How is this user authenticated?
719
719
  # billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
@@ -820,7 +820,7 @@ module Files
820
820
  # password_confirmation - string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
821
821
  # announcements_read - boolean - Signifies that the user has read all the announcements in the UI.
822
822
  # allowed_ips - string - A list of allowed IPs if applicable. Newline delimited
823
- # attachments_permission - boolean - Can the user create Bundles (aka Share Links)? This field will be aliased or renamed in the future to `bundles_permission`.
823
+ # attachments_permission - boolean - DEPRECATED: Can the user create Bundles (aka Share Links)? Use the bundle permission instead.
824
824
  # authenticate_until - string - Scheduled Date/Time at which user will be deactivated
825
825
  # authentication_method - string - How is this user authenticated?
826
826
  # billing_permission - boolean - Allow this user to perform operations on the account, payments, and invoices?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: files.com
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.134
4
+ version: 1.0.139
5
5
  platform: ruby
6
6
  authors:
7
7
  - files.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-01-22 00:00:00.000000000 Z
11
+ date: 2021-02-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -85,6 +85,7 @@ files:
85
85
  - _VERSION
86
86
  - bin/files
87
87
  - bin/files-console
88
+ - build.sh
88
89
  - docs/account_line_item.md
89
90
  - docs/action.md
90
91
  - docs/api_key.md