files.com 1.0.83 → 1.0.88
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_VERSION +1 -1
- data/docs/api_key.md +13 -1
- data/docs/app.md +57 -0
- data/docs/automation.md +9 -1
- data/docs/behavior.md +30 -14
- data/docs/bundle.md +8 -0
- data/docs/file.md +0 -4
- data/docs/group.md +8 -0
- data/docs/history.md +16 -0
- data/docs/ip_address.md +19 -1
- data/docs/message.md +11 -11
- data/docs/notification.md +10 -2
- data/docs/permission.md +11 -3
- data/docs/public_ip_address.md +13 -0
- data/docs/remote_server.md +24 -4
- data/docs/request.md +6 -25
- data/docs/site.md +4 -0
- data/docs/style.md +1 -1
- data/docs/usage_daily_snapshot.md +8 -0
- data/docs/user.md +16 -2
- data/lib/files.com.rb +2 -0
- data/lib/files.com/models/api_key.rb +30 -4
- data/lib/files.com/models/app.rb +101 -0
- data/lib/files.com/models/automation.rb +19 -4
- data/lib/files.com/models/behavior.rb +53 -23
- data/lib/files.com/models/bundle.rb +19 -4
- data/lib/files.com/models/file.rb +7 -11
- data/lib/files.com/models/file_action.rb +6 -6
- data/lib/files.com/models/file_comment.rb +1 -1
- data/lib/files.com/models/folder.rb +2 -2
- data/lib/files.com/models/group.rb +18 -3
- data/lib/files.com/models/history.rb +43 -16
- data/lib/files.com/models/ip_address.rb +15 -0
- data/lib/files.com/models/lock.rb +4 -4
- data/lib/files.com/models/message.rb +5 -5
- data/lib/files.com/models/notification.rb +20 -5
- data/lib/files.com/models/permission.rb +21 -6
- data/lib/files.com/models/public_ip_address.rb +22 -0
- data/lib/files.com/models/remote_server.rb +45 -0
- data/lib/files.com/models/request.rb +15 -28
- data/lib/files.com/models/site.rb +6 -0
- data/lib/files.com/models/style.rb +8 -8
- data/lib/files.com/models/usage_daily_snapshot.rb +18 -3
- data/lib/files.com/models/user.rb +30 -5
- metadata +6 -2
data/docs/remote_server.md
CHANGED
@@ -29,7 +29,9 @@
|
|
29
29
|
"auth_setup_link": "auth/:provider",
|
30
30
|
"auth_status": "in_setup",
|
31
31
|
"auth_account_name": "me@example.com",
|
32
|
-
"one_drive_account_type": "personal"
|
32
|
+
"one_drive_account_type": "personal",
|
33
|
+
"azure_blob_storage_account": "storage-account-name",
|
34
|
+
"azure_blob_storage_container": "container-name"
|
33
35
|
}
|
34
36
|
```
|
35
37
|
|
@@ -59,6 +61,8 @@
|
|
59
61
|
* `auth_status` (string): Either `in_setup` or `complete`
|
60
62
|
* `auth_account_name` (string): Describes the authorized account
|
61
63
|
* `one_drive_account_type` (string): Either personal or business_other account types
|
64
|
+
* `azure_blob_storage_account` (string): Azure Blob Storage Account name
|
65
|
+
* `azure_blob_storage_container` (string): Azure Blob Storage Container name
|
62
66
|
* `aws_access_key` (string): AWS Access Key.
|
63
67
|
* `aws_secret_key` (string): AWS secret key.
|
64
68
|
* `password` (string): Password if needed.
|
@@ -70,6 +74,7 @@
|
|
70
74
|
* `backblaze_b2_application_key` (string): Backblaze B2 Cloud Storage applicationKey.
|
71
75
|
* `rackspace_api_key` (string): Rackspace API key from the Rackspace Cloud Control Panel.
|
72
76
|
* `reset_authentication` (boolean): Reset authenticated account
|
77
|
+
* `azure_blob_storage_access_key` (string): Azure Blob Storage secret key.
|
73
78
|
|
74
79
|
|
75
80
|
---
|
@@ -130,7 +135,9 @@ Files::RemoteServer.create(
|
|
130
135
|
rackspace_username: "rackspaceuser",
|
131
136
|
rackspace_region: "dfw",
|
132
137
|
rackspace_container: "my-container",
|
133
|
-
one_drive_account_type: "personal"
|
138
|
+
one_drive_account_type: "personal",
|
139
|
+
azure_blob_storage_account: "storage-account-name",
|
140
|
+
azure_blob_storage_container: "container-name"
|
134
141
|
)
|
135
142
|
```
|
136
143
|
|
@@ -147,6 +154,7 @@ Files::RemoteServer.create(
|
|
147
154
|
* `backblaze_b2_application_key` (string): Backblaze B2 Cloud Storage applicationKey.
|
148
155
|
* `rackspace_api_key` (string): Rackspace API key from the Rackspace Cloud Control Panel.
|
149
156
|
* `reset_authentication` (boolean): Reset authenticated account
|
157
|
+
* `azure_blob_storage_access_key` (string): Azure Blob Storage secret key.
|
150
158
|
* `hostname` (string): Hostname or IP address
|
151
159
|
* `name` (string): Internal name for your reference
|
152
160
|
* `max_connections` (int64): Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
|
@@ -168,6 +176,8 @@ Files::RemoteServer.create(
|
|
168
176
|
* `rackspace_region` (string): Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/
|
169
177
|
* `rackspace_container` (string): The name of the container (top level directory) where files will sync.
|
170
178
|
* `one_drive_account_type` (string): Either personal or business_other account types
|
179
|
+
* `azure_blob_storage_account` (string): Azure Blob Storage Account name
|
180
|
+
* `azure_blob_storage_container` (string): Azure Blob Storage Container name
|
171
181
|
|
172
182
|
|
173
183
|
---
|
@@ -197,7 +207,9 @@ Files::RemoteServer.update(id,
|
|
197
207
|
rackspace_username: "rackspaceuser",
|
198
208
|
rackspace_region: "dfw",
|
199
209
|
rackspace_container: "my-container",
|
200
|
-
one_drive_account_type: "personal"
|
210
|
+
one_drive_account_type: "personal",
|
211
|
+
azure_blob_storage_account: "storage-account-name",
|
212
|
+
azure_blob_storage_container: "container-name"
|
201
213
|
)
|
202
214
|
```
|
203
215
|
|
@@ -215,6 +227,7 @@ Files::RemoteServer.update(id,
|
|
215
227
|
* `backblaze_b2_application_key` (string): Backblaze B2 Cloud Storage applicationKey.
|
216
228
|
* `rackspace_api_key` (string): Rackspace API key from the Rackspace Cloud Control Panel.
|
217
229
|
* `reset_authentication` (boolean): Reset authenticated account
|
230
|
+
* `azure_blob_storage_access_key` (string): Azure Blob Storage secret key.
|
218
231
|
* `hostname` (string): Hostname or IP address
|
219
232
|
* `name` (string): Internal name for your reference
|
220
233
|
* `max_connections` (int64): Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
|
@@ -236,6 +249,8 @@ Files::RemoteServer.update(id,
|
|
236
249
|
* `rackspace_region` (string): Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/
|
237
250
|
* `rackspace_container` (string): The name of the container (top level directory) where files will sync.
|
238
251
|
* `one_drive_account_type` (string): Either personal or business_other account types
|
252
|
+
* `azure_blob_storage_account` (string): Azure Blob Storage Account name
|
253
|
+
* `azure_blob_storage_container` (string): Azure Blob Storage Container name
|
239
254
|
|
240
255
|
|
241
256
|
---
|
@@ -280,7 +295,9 @@ remote_server.update(
|
|
280
295
|
rackspace_username: "rackspaceuser",
|
281
296
|
rackspace_region: "dfw",
|
282
297
|
rackspace_container: "my-container",
|
283
|
-
one_drive_account_type: "personal"
|
298
|
+
one_drive_account_type: "personal",
|
299
|
+
azure_blob_storage_account: "storage-account-name",
|
300
|
+
azure_blob_storage_container: "container-name"
|
284
301
|
)
|
285
302
|
```
|
286
303
|
|
@@ -298,6 +315,7 @@ remote_server.update(
|
|
298
315
|
* `backblaze_b2_application_key` (string): Backblaze B2 Cloud Storage applicationKey.
|
299
316
|
* `rackspace_api_key` (string): Rackspace API key from the Rackspace Cloud Control Panel.
|
300
317
|
* `reset_authentication` (boolean): Reset authenticated account
|
318
|
+
* `azure_blob_storage_access_key` (string): Azure Blob Storage secret key.
|
301
319
|
* `hostname` (string): Hostname or IP address
|
302
320
|
* `name` (string): Internal name for your reference
|
303
321
|
* `max_connections` (int64): Max number of parallel connections. Ignored for S3 connections (we will parallelize these as much as possible).
|
@@ -319,6 +337,8 @@ remote_server.update(
|
|
319
337
|
* `rackspace_region` (string): Three letter airport code for Rackspace region. See https://support.rackspace.com/how-to/about-regions/
|
320
338
|
* `rackspace_container` (string): The name of the container (top level directory) where files will sync.
|
321
339
|
* `one_drive_account_type` (string): Either personal or business_other account types
|
340
|
+
* `azure_blob_storage_account` (string): Azure Blob Storage Account name
|
341
|
+
* `azure_blob_storage_container` (string): Azure Blob Storage Container name
|
322
342
|
|
323
343
|
|
324
344
|
---
|
data/docs/request.md
CHANGED
@@ -40,6 +40,8 @@ Files::Request.list(path,
|
|
40
40
|
* `page` (int64): Current page number.
|
41
41
|
* `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
42
42
|
* `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
43
|
+
* `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.
|
44
|
+
* `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`.
|
43
45
|
* `mine` (boolean): Only show requests of the current user? (Defaults to true if current user is not a site admin.)
|
44
46
|
* `path` (string): Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
|
45
47
|
|
@@ -49,7 +51,7 @@ Files::Request.list(path,
|
|
49
51
|
## List Requests
|
50
52
|
|
51
53
|
```
|
52
|
-
Files::Request.
|
54
|
+
Files::Request.find_folder(path,
|
53
55
|
page: 1,
|
54
56
|
per_page: 1,
|
55
57
|
mine: true
|
@@ -61,8 +63,10 @@ Files::Request.folders(path,
|
|
61
63
|
* `page` (int64): Current page number.
|
62
64
|
* `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
63
65
|
* `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
66
|
+
* `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.
|
67
|
+
* `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`.
|
64
68
|
* `mine` (boolean): Only show requests of the current user? (Defaults to true if current user is not a site admin.)
|
65
|
-
* `path` (string): Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
|
69
|
+
* `path` (string): Required - Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
|
66
70
|
|
67
71
|
|
68
72
|
---
|
@@ -94,26 +98,3 @@ Files::Request.delete(id)
|
|
94
98
|
### Parameters
|
95
99
|
|
96
100
|
* `id` (int64): Required - Request ID.
|
97
|
-
|
98
|
-
|
99
|
-
---
|
100
|
-
|
101
|
-
## List Requests
|
102
|
-
|
103
|
-
```
|
104
|
-
request = Files::Request.list_for(path).first
|
105
|
-
|
106
|
-
request.folders(
|
107
|
-
page: 1,
|
108
|
-
per_page: 1,
|
109
|
-
mine: true
|
110
|
-
)
|
111
|
-
```
|
112
|
-
|
113
|
-
### Parameters
|
114
|
-
|
115
|
-
* `page` (int64): Current page number.
|
116
|
-
* `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
117
|
-
* `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
118
|
-
* `mine` (boolean): Only show requests of the current user? (Defaults to true if current user is not a site admin.)
|
119
|
-
* `path` (string): Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
|
data/docs/site.md
CHANGED
@@ -64,6 +64,7 @@
|
|
64
64
|
"max_prior_passwords": 1,
|
65
65
|
"next_billing_amount": "",
|
66
66
|
"next_billing_date": "Apr 20",
|
67
|
+
"office_integration_available": true,
|
67
68
|
"opt_out_global": true,
|
68
69
|
"overage_notified_at": "2000-01-01T01:00:00Z",
|
69
70
|
"overage_notify": true,
|
@@ -176,6 +177,7 @@
|
|
176
177
|
* `max_prior_passwords` (int64): Number of prior passwords to disallow
|
177
178
|
* `next_billing_amount` (double): Next billing amount
|
178
179
|
* `next_billing_date` (string): Next billing date
|
180
|
+
* `office_integration_available` (boolean): Allow users to use Office for the web?
|
179
181
|
* `opt_out_global` (boolean): Use servers in the USA only?
|
180
182
|
* `overage_notified_at` (date-time): Last time the site was notified about an overage
|
181
183
|
* `overage_notify` (boolean): Notify site email of overages?
|
@@ -270,6 +272,7 @@ Files::Site.update(
|
|
270
272
|
desktop_app_session_lifetime: 1,
|
271
273
|
folder_permissions_groups_only: true,
|
272
274
|
welcome_screen: "user_controlled",
|
275
|
+
office_integration_available: true,
|
273
276
|
session_expiry: 1.0,
|
274
277
|
ssl_required: true,
|
275
278
|
tls_disabled: true,
|
@@ -361,6 +364,7 @@ Files::Site.update(
|
|
361
364
|
* `desktop_app_session_lifetime` (int64): Desktop app session lifetime (in hours)
|
362
365
|
* `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.
|
363
366
|
* `welcome_screen` (string): Does the welcome screen appear?
|
367
|
+
* `office_integration_available` (boolean): Allow users to use Office for the web?
|
364
368
|
* `session_expiry` (double): Session expiry in hours
|
365
369
|
* `ssl_required` (boolean): Is SSL required? Disabling this is insecure.
|
366
370
|
* `tls_disabled` (boolean): Is TLS disabled(site setting)?
|
data/docs/style.md
CHANGED
@@ -35,3 +35,11 @@ Files::UsageDailySnapshot.list(
|
|
35
35
|
* `page` (int64): Current page number.
|
36
36
|
* `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
37
37
|
* `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
38
|
+
* `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.
|
39
|
+
* `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`, `date` or `usage_snapshot_id`.
|
40
|
+
* `filter` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`.
|
41
|
+
* `filter_gt` (object): If set, return records where the specifiied field is greater than the supplied value. Valid fields are `date` and `usage_snapshot_id`.
|
42
|
+
* `filter_gteq` (object): If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`.
|
43
|
+
* `filter_like` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`.
|
44
|
+
* `filter_lt` (object): If set, return records where the specifiied field is less than the supplied value. Valid fields are `date` and `usage_snapshot_id`.
|
45
|
+
* `filter_lteq` (object): If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `date` and `usage_snapshot_id`.
|
data/docs/user.md
CHANGED
@@ -32,6 +32,7 @@
|
|
32
32
|
"name": "John Doe",
|
33
33
|
"notes": "Internal notes on this user.",
|
34
34
|
"notification_daily_send_time": 18,
|
35
|
+
"office_integration_enabled": true,
|
35
36
|
"password_set_at": "2000-01-01T01:00:00Z",
|
36
37
|
"password_validity_days": 1,
|
37
38
|
"public_keys_count": 1,
|
@@ -79,6 +80,7 @@
|
|
79
80
|
* `name` (string): User's full name
|
80
81
|
* `notes` (string): Any internal notes on the user
|
81
82
|
* `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
|
83
|
+
* `office_integration_enabled` (boolean): Enable integration with Office for the web?
|
82
84
|
* `password_set_at` (date-time): Last time the user's password was set
|
83
85
|
* `password_validity_days` (int64): Number of days to allow user to use the same password
|
84
86
|
* `public_keys_count` (int64): Number of public keys associated with this user
|
@@ -124,6 +126,14 @@ Files::User.list(
|
|
124
126
|
* `page` (int64): Current page number.
|
125
127
|
* `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
126
128
|
* `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
129
|
+
* `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.
|
130
|
+
* `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 `active`, `master_admin`, `site_id`, `authenticate_until`, `email`, `last_desktop_login_at`, `last_login_at`, `username`, `notes`, `site_admin`, `receive_admin_alerts`, `allowed_ips`, `password_validity_days`, `ssl_required` or `not_site_admin`.
|
131
|
+
* `filter` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
|
132
|
+
* `filter_gt` (object): If set, return records where the specifiied field is greater than the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
|
133
|
+
* `filter_gteq` (object): If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
|
134
|
+
* `filter_like` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
|
135
|
+
* `filter_lt` (object): If set, return records where the specifiied field is less than the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
|
136
|
+
* `filter_lteq` (object): If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `username`, `email`, `notes`, `site_admin`, `allowed_ips`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until` or `not_site_admin`.
|
127
137
|
* `ids` (string): comma-separated list of User IDs
|
128
138
|
* `q[username]` (string): List users matching username.
|
129
139
|
* `q[email]` (string): List users matching email.
|
@@ -133,8 +143,6 @@ Files::User.list(
|
|
133
143
|
* `q[password_validity_days]` (string): If set, list only users with overridden password validity days setting.
|
134
144
|
* `q[ssl_required]` (string): If set, list only users with overridden SSL required setting.
|
135
145
|
* `search` (string): Searches for partial matches of name, username, or email.
|
136
|
-
* `sort_by[last_login_at]` (string): If set, sort users by 'last_login_at' in either 'asc' or 'desc' direction
|
137
|
-
* `sort_by[authenticate_until]` (string): If set, sort users by 'authenticate_until' in either 'asc' or 'desc' direction
|
138
146
|
|
139
147
|
|
140
148
|
---
|
@@ -175,6 +183,7 @@ Files::User.create(
|
|
175
183
|
notification_daily_send_time: 18,
|
176
184
|
name: "John Doe",
|
177
185
|
notes: "Internal notes on this user.",
|
186
|
+
office_integration_enabled: true,
|
178
187
|
password_validity_days: 1,
|
179
188
|
receive_admin_alerts: true,
|
180
189
|
require_password_change: true,
|
@@ -219,6 +228,7 @@ Files::User.create(
|
|
219
228
|
* `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
|
220
229
|
* `name` (string): User's full name
|
221
230
|
* `notes` (string): Any internal notes on the user
|
231
|
+
* `office_integration_enabled` (boolean): Enable integration with Office for the web?
|
222
232
|
* `password_validity_days` (int64): Number of days to allow user to use the same password
|
223
233
|
* `receive_admin_alerts` (boolean): Should the user receive admin alerts such a certificate expiration notifications and overages?
|
224
234
|
* `require_password_change` (boolean): Is a password change required upon next user login?
|
@@ -299,6 +309,7 @@ Files::User.update(id,
|
|
299
309
|
notification_daily_send_time: 18,
|
300
310
|
name: "John Doe",
|
301
311
|
notes: "Internal notes on this user.",
|
312
|
+
office_integration_enabled: true,
|
302
313
|
password_validity_days: 1,
|
303
314
|
receive_admin_alerts: true,
|
304
315
|
require_password_change: true,
|
@@ -344,6 +355,7 @@ Files::User.update(id,
|
|
344
355
|
* `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
|
345
356
|
* `name` (string): User's full name
|
346
357
|
* `notes` (string): Any internal notes on the user
|
358
|
+
* `office_integration_enabled` (boolean): Enable integration with Office for the web?
|
347
359
|
* `password_validity_days` (int64): Number of days to allow user to use the same password
|
348
360
|
* `receive_admin_alerts` (boolean): Should the user receive admin alerts such a certificate expiration notifications and overages?
|
349
361
|
* `require_password_change` (boolean): Is a password change required upon next user login?
|
@@ -445,6 +457,7 @@ user.update(
|
|
445
457
|
notification_daily_send_time: 18,
|
446
458
|
name: "John Doe",
|
447
459
|
notes: "Internal notes on this user.",
|
460
|
+
office_integration_enabled: true,
|
448
461
|
password_validity_days: 1,
|
449
462
|
receive_admin_alerts: true,
|
450
463
|
require_password_change: true,
|
@@ -490,6 +503,7 @@ user.update(
|
|
490
503
|
* `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
|
491
504
|
* `name` (string): User's full name
|
492
505
|
* `notes` (string): Any internal notes on the user
|
506
|
+
* `office_integration_enabled` (boolean): Enable integration with Office for the web?
|
493
507
|
* `password_validity_days` (int64): Number of days to allow user to use the same password
|
494
508
|
* `receive_admin_alerts` (boolean): Should the user receive admin alerts such a certificate expiration notifications and overages?
|
495
509
|
* `require_password_change` (boolean): Is a password change required upon next user login?
|
data/lib/files.com.rb
CHANGED
@@ -29,6 +29,7 @@ require "files.com/list"
|
|
29
29
|
require "files.com/models/account_line_item"
|
30
30
|
require "files.com/models/action"
|
31
31
|
require "files.com/models/api_key"
|
32
|
+
require "files.com/models/app"
|
32
33
|
require "files.com/models/as2_key"
|
33
34
|
require "files.com/models/auto"
|
34
35
|
require "files.com/models/automation"
|
@@ -63,6 +64,7 @@ require "files.com/models/payment_line_item"
|
|
63
64
|
require "files.com/models/permission"
|
64
65
|
require "files.com/models/preview"
|
65
66
|
require "files.com/models/project"
|
67
|
+
require "files.com/models/public_ip_address"
|
66
68
|
require "files.com/models/public_key"
|
67
69
|
require "files.com/models/remote_server"
|
68
70
|
require "files.com/models/request"
|
@@ -68,6 +68,15 @@ module Files
|
|
68
68
|
@attributes[:name] = value
|
69
69
|
end
|
70
70
|
|
71
|
+
# string - Folder path restriction for this api key. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
|
72
|
+
def path
|
73
|
+
@attributes[:path]
|
74
|
+
end
|
75
|
+
|
76
|
+
def path=(value)
|
77
|
+
@attributes[:path] = value
|
78
|
+
end
|
79
|
+
|
71
80
|
# string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for permission sets, please let us know.
|
72
81
|
def permission_set
|
73
82
|
@attributes[:permission_set]
|
@@ -140,15 +149,30 @@ module Files
|
|
140
149
|
# page - int64 - Current page number.
|
141
150
|
# per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
142
151
|
# action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
152
|
+
# 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.
|
153
|
+
# 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` and `expires_at`.
|
154
|
+
# filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `expires_at`.
|
155
|
+
# filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `expires_at`.
|
156
|
+
# filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `expires_at`.
|
157
|
+
# filter_like - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `expires_at`.
|
158
|
+
# filter_lt - object - If set, return records where the specifiied field is less than the supplied value. Valid fields are `expires_at`.
|
159
|
+
# filter_lteq - object - If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `expires_at`.
|
143
160
|
def self.list(params = {}, options = {})
|
144
161
|
raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
|
145
162
|
raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
|
146
163
|
raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
|
147
164
|
raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
165
|
+
raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
|
166
|
+
raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
|
167
|
+
raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params.dig(:filter) and !params.dig(:filter).is_a?(Hash)
|
168
|
+
raise InvalidParameterError.new("Bad parameter: filter_gt must be an Hash") if params.dig(:filter_gt) and !params.dig(:filter_gt).is_a?(Hash)
|
169
|
+
raise InvalidParameterError.new("Bad parameter: filter_gteq must be an Hash") if params.dig(:filter_gteq) and !params.dig(:filter_gteq).is_a?(Hash)
|
170
|
+
raise InvalidParameterError.new("Bad parameter: filter_like must be an Hash") if params.dig(:filter_like) and !params.dig(:filter_like).is_a?(Hash)
|
171
|
+
raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params.dig(:filter_lt) and !params.dig(:filter_lt).is_a?(Hash)
|
172
|
+
raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params.dig(:filter_lteq) and !params.dig(:filter_lteq).is_a?(Hash)
|
173
|
+
|
174
|
+
List.new(ApiKey, params) do
|
175
|
+
Api.send_request("/api_keys", :get, params, options)
|
152
176
|
end
|
153
177
|
end
|
154
178
|
|
@@ -182,11 +206,13 @@ module Files
|
|
182
206
|
# name - string - Internal name for the API Key. For your use.
|
183
207
|
# expires_at - string - API Key expiration date
|
184
208
|
# permission_set - string - Permissions for this API Key. Keys with the `desktop_app` permission set only have the ability to do the functions provided in our Desktop App (File and Share Link operations). Additional permission sets may become available in the future, such as for a Site Admin to give a key with no administrator privileges. If you have ideas for permission sets, please let us know.
|
209
|
+
# path - string - Folder path restriction for this api key.
|
185
210
|
def self.create(params = {}, options = {})
|
186
211
|
raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
|
187
212
|
raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
|
188
213
|
raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
|
189
214
|
raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
|
215
|
+
raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
|
190
216
|
|
191
217
|
response, options = Api.send_request("/api_keys", :post, params, options)
|
192
218
|
ApiKey.new(response.data, options)
|
@@ -0,0 +1,101 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Files
|
4
|
+
class App
|
5
|
+
attr_reader :options, :attributes
|
6
|
+
|
7
|
+
def initialize(attributes = {}, options = {})
|
8
|
+
@attributes = attributes || {}
|
9
|
+
@options = options || {}
|
10
|
+
end
|
11
|
+
|
12
|
+
# string - Name of the App
|
13
|
+
def name
|
14
|
+
@attributes[:name]
|
15
|
+
end
|
16
|
+
|
17
|
+
# string - Long form description of the App
|
18
|
+
def extended_description
|
19
|
+
@attributes[:extended_description]
|
20
|
+
end
|
21
|
+
|
22
|
+
# string - Collection of named links to documentation
|
23
|
+
def documentation_links
|
24
|
+
@attributes[:documentation_links]
|
25
|
+
end
|
26
|
+
|
27
|
+
# string - Full size logo for the App
|
28
|
+
def logo_url
|
29
|
+
@attributes[:logo_url]
|
30
|
+
end
|
31
|
+
|
32
|
+
# string - Logo thumbnail for the App
|
33
|
+
def logo_thumbnail_url
|
34
|
+
@attributes[:logo_thumbnail_url]
|
35
|
+
end
|
36
|
+
|
37
|
+
# string - Associated SSO Strategy type, if any
|
38
|
+
def sso_strategy_type
|
39
|
+
@attributes[:sso_strategy_type]
|
40
|
+
end
|
41
|
+
|
42
|
+
# string - Associated Remote Server type, if any
|
43
|
+
def remote_server_type
|
44
|
+
@attributes[:remote_server_type]
|
45
|
+
end
|
46
|
+
|
47
|
+
# string - Associated Folder Behavior type, if any
|
48
|
+
def folder_behavior_type
|
49
|
+
@attributes[:folder_behavior_type]
|
50
|
+
end
|
51
|
+
|
52
|
+
# string - Link to external homepage
|
53
|
+
def external_homepage_url
|
54
|
+
@attributes[:external_homepage_url]
|
55
|
+
end
|
56
|
+
|
57
|
+
# string - The type of the App
|
58
|
+
def app_type
|
59
|
+
@attributes[:app_type]
|
60
|
+
end
|
61
|
+
|
62
|
+
# boolean - Is featured on the App listing?
|
63
|
+
def featured
|
64
|
+
@attributes[:featured]
|
65
|
+
end
|
66
|
+
|
67
|
+
# Parameters:
|
68
|
+
# page - int64 - Current page number.
|
69
|
+
# per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
70
|
+
# action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
71
|
+
# 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.
|
72
|
+
# 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 `name` and `app_type`.
|
73
|
+
# filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `name` and `app_type`.
|
74
|
+
# filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `name` and `app_type`.
|
75
|
+
# filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `name` and `app_type`.
|
76
|
+
# filter_like - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `name` and `app_type`.
|
77
|
+
# filter_lt - object - If set, return records where the specifiied field is less than the supplied value. Valid fields are `name` and `app_type`.
|
78
|
+
# filter_lteq - object - If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `name` and `app_type`.
|
79
|
+
def self.list(params = {}, options = {})
|
80
|
+
raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
|
81
|
+
raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
|
82
|
+
raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
|
83
|
+
raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
|
84
|
+
raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
|
85
|
+
raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params.dig(:filter) and !params.dig(:filter).is_a?(Hash)
|
86
|
+
raise InvalidParameterError.new("Bad parameter: filter_gt must be an Hash") if params.dig(:filter_gt) and !params.dig(:filter_gt).is_a?(Hash)
|
87
|
+
raise InvalidParameterError.new("Bad parameter: filter_gteq must be an Hash") if params.dig(:filter_gteq) and !params.dig(:filter_gteq).is_a?(Hash)
|
88
|
+
raise InvalidParameterError.new("Bad parameter: filter_like must be an Hash") if params.dig(:filter_like) and !params.dig(:filter_like).is_a?(Hash)
|
89
|
+
raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params.dig(:filter_lt) and !params.dig(:filter_lt).is_a?(Hash)
|
90
|
+
raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params.dig(:filter_lteq) and !params.dig(:filter_lteq).is_a?(Hash)
|
91
|
+
|
92
|
+
List.new(App, params) do
|
93
|
+
Api.send_request("/apps", :get, params, options)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
def self.all(params = {}, options = {})
|
98
|
+
list(params, options)
|
99
|
+
end
|
100
|
+
end
|
101
|
+
end
|