files.com 1.0.73 → 1.0.78

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: '090d0a1af5f6c02e5d9324089a250496c92d37c49ee73d58034bae466f0aeffa'
4
- data.tar.gz: 8924e6463aba4cab5d5cabfd15ed6f152e90565071155fc5f3a99f13d6fa4b68
3
+ metadata.gz: 0a980877cfd1d13cd77d84319021702c5caa7bf8f74505756bf56bafce53aaad
4
+ data.tar.gz: 35bd639b7ccfa518f7f82ac6d78e602469b912d3410ac0eaea9a9eec7b412453
5
5
  SHA512:
6
- metadata.gz: 41a353435d34c93d622516829eda77a903fde0e24f619785dc39286eac2557920928a5b910324810f60a59dc08fcdccd548c40ef81b98da2adcd75fbc55506be
7
- data.tar.gz: 541976698c4ea4a92982b7c1fdd50066a2e4ab77cb7428a19e530318f8ed8ada2389b14ef2a62d8a016654e24790503cb0030acbfb26b2ff150906efd197f33f
6
+ metadata.gz: 13e0d73c07f2664595c085a427ef1f6f29b86aec412d7229f07b4d2db91db5e750372c14a4e4e00f9dfd64e0d6478ca5903c2f45f859072bf08c40bed791be9a
7
+ data.tar.gz: a367d3a24b1d1c9edccd8e30dfffc65fd786edf9e5a799ec97456b1d503ec908bb44c8e87d23ef3119e213b101ca05dcaeba08146d0102d0087b8bf3307482a4
data/_VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.73
1
+ 1.0.78
@@ -24,7 +24,7 @@
24
24
  * `key` (string): API Key actual key string
25
25
  * `last_use_at` (date-time): API Key last used - note this value is only updated once per 3 hour period, so the 'actual' time of last use may be up to 3 hours later than this timestamp.
26
26
  * `name` (string): Internal name for the API Key. For your use.
27
- * `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.) We hope to offer additional permission sets 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.
27
+ * `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.
28
28
  * `platform` (string): If this API key represents a Desktop app, what platform was it created on?
29
29
  * `user_id` (int64): User ID for the owner of this API Key. May be blank for Site-wide API Keys.
30
30
 
@@ -78,18 +78,18 @@ Files::ApiKey.find(id)
78
78
  ```
79
79
  Files::ApiKey.create(
80
80
  user_id: 1,
81
- name: "My Key",
82
- permission_set: "full",
83
- expires_at: "2000-01-01T01:00:00Z"
81
+ name: "My Main API Key",
82
+ expires_at: "2000-01-01T01:00:00Z",
83
+ permission_set: "full"
84
84
  )
85
85
  ```
86
86
 
87
87
  ### Parameters
88
88
 
89
89
  * `user_id` (int64): User ID. Provide a value of `0` to operate the current session's user.
90
- * `name` (string): Internal name for key. For your reference only.
91
- * `permission_set` (string): Leave blank, or set to 'desktop_app' to restrict the key to only desktop app functions.
92
- * `expires_at` (string): Have the key expire at this date/time.
90
+ * `name` (string): Internal name for the API Key. For your use.
91
+ * `expires_at` (string): API Key expiration date
92
+ * `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.
93
93
 
94
94
 
95
95
  ---
@@ -98,17 +98,17 @@ Files::ApiKey.create(
98
98
 
99
99
  ```
100
100
  Files::ApiKey.update_current(
101
- name: "My Key",
102
- permission_set: "full",
103
- expires_at: "2000-01-01T01:00:00Z"
101
+ expires_at: "2000-01-01T01:00:00Z",
102
+ name: "My Main API Key",
103
+ permission_set: "full"
104
104
  )
105
105
  ```
106
106
 
107
107
  ### Parameters
108
108
 
109
- * `name` (string): Internal name for key. For your reference only.
110
- * `permission_set` (string): Leave blank, or set to `desktop_app` to restrict the key to only desktop app functions.
111
- * `expires_at` (string): Have the key expire at this date/time.
109
+ * `expires_at` (string): API Key expiration date
110
+ * `name` (string): Internal name for the API Key. For your use.
111
+ * `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.
112
112
 
113
113
 
114
114
  ---
@@ -117,18 +117,18 @@ Files::ApiKey.update_current(
117
117
 
118
118
  ```
119
119
  Files::ApiKey.update(id,
120
- name: "My Key",
121
- permission_set: "full",
122
- expires_at: "2000-01-01T01:00:00Z"
120
+ name: "My Main API Key",
121
+ expires_at: "2000-01-01T01:00:00Z",
122
+ permission_set: "full"
123
123
  )
124
124
  ```
125
125
 
126
126
  ### Parameters
127
127
 
128
128
  * `id` (int64): Required - Api Key ID.
129
- * `name` (string): Internal name for key. For your reference only.
130
- * `permission_set` (string): Leave blank, or set to 'desktop_app' to restrict the key to only desktop app functions.
131
- * `expires_at` (string): Have the key expire at this date/time.
129
+ * `name` (string): Internal name for the API Key. For your use.
130
+ * `expires_at` (string): API Key expiration date
131
+ * `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.
132
132
 
133
133
 
134
134
  ---
@@ -161,18 +161,18 @@ Files::ApiKey.delete(id)
161
161
  api_key = Files::ApiKey.list_for(path).first
162
162
 
163
163
  api_key.update(
164
- name: "My Key",
165
- permission_set: "full",
166
- expires_at: "2000-01-01T01:00:00Z"
164
+ name: "My Main API Key",
165
+ expires_at: "2000-01-01T01:00:00Z",
166
+ permission_set: "full"
167
167
  )
168
168
  ```
169
169
 
170
170
  ### Parameters
171
171
 
172
172
  * `id` (int64): Required - Api Key ID.
173
- * `name` (string): Internal name for key. For your reference only.
174
- * `permission_set` (string): Leave blank, or set to 'desktop_app' to restrict the key to only desktop app functions.
175
- * `expires_at` (string): Have the key expire at this date/time.
173
+ * `name` (string): Internal name for the API Key. For your use.
174
+ * `expires_at` (string): API Key expiration date
175
+ * `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.
176
176
 
177
177
 
178
178
  ---
@@ -9,12 +9,16 @@
9
9
  "description": "The public description of the bundle.",
10
10
  "password_protected": true,
11
11
  "require_registration": true,
12
+ "clickwrap_body": "[Legal text]",
12
13
  "id": 1,
13
14
  "created_at": "2000-01-01T01:00:00Z",
14
15
  "expires_at": "2000-01-01T01:00:00Z",
16
+ "max_uses": 1,
15
17
  "note": "The internal note on the bundle.",
16
18
  "user_id": 1,
17
19
  "username": "user",
20
+ "clickwrap_id": 1,
21
+ "inbox_id": 1,
18
22
  "paths": [
19
23
 
20
24
  ]
@@ -26,12 +30,16 @@
26
30
  * `description` (string): Public description
27
31
  * `password_protected` (boolean): Is this bundle password protected?
28
32
  * `require_registration` (boolean): Show a registration page that captures the downloader's name and email address?
33
+ * `clickwrap_body` (string): Legal text that must be agreed to prior to accessing Bundle.
29
34
  * `id` (int64): Bundle ID
30
35
  * `created_at` (date-time): Bundle created at date/time
31
36
  * `expires_at` (date-time): Bundle expiration date/time
37
+ * `max_uses` (int64): Maximum number of times bundle can be accessed
32
38
  * `note` (string): Bundle internal note
33
39
  * `user_id` (int64): Bundle creator user ID
34
40
  * `username` (string): Bundle creator username
41
+ * `clickwrap_id` (int64): ID of the clickwrap to use with this bundle.
42
+ * `inbox_id` (int64): ID of the associated inbox, if available.
35
43
  * `paths` (array): A list of paths in this bundle
36
44
  * `password` (string): Password for this bundle.
37
45
 
@@ -79,10 +87,13 @@ Files::Bundle.create(
79
87
  paths: ["file.txt"],
80
88
  password: "Password",
81
89
  expires_at: "2000-01-01T01:00:00Z",
90
+ max_uses: 1,
82
91
  description: "The public description of the bundle.",
83
92
  note: "The internal note on the bundle.",
84
93
  code: "abc123",
85
- require_registration: true
94
+ require_registration: true,
95
+ clickwrap_id: 1,
96
+ inbox_id: 1
86
97
  )
87
98
  ```
88
99
 
@@ -92,10 +103,13 @@ Files::Bundle.create(
92
103
  * `paths` (array(string)): Required - A list of paths to include in this bundle.
93
104
  * `password` (string): Password for this bundle.
94
105
  * `expires_at` (string): Bundle expiration date/time
106
+ * `max_uses` (int64): Maximum number of times bundle can be accessed
95
107
  * `description` (string): Public description
96
108
  * `note` (string): Bundle internal note
97
109
  * `code` (string): Bundle code. This code forms the end part of the Public URL.
98
110
  * `require_registration` (boolean): Show a registration page that captures the downloader's name and email address?
111
+ * `clickwrap_id` (int64): ID of the clickwrap to use with this bundle.
112
+ * `inbox_id` (int64): ID of the associated inbox, if available.
99
113
 
100
114
 
101
115
  ---
@@ -124,10 +138,13 @@ Files::Bundle.share(id,
124
138
  Files::Bundle.update(id,
125
139
  password: "Password",
126
140
  expires_at: "2000-01-01T01:00:00Z",
141
+ max_uses: 1,
127
142
  description: "The public description of the bundle.",
128
143
  note: "The internal note on the bundle.",
129
144
  code: "abc123",
130
- require_registration: true
145
+ require_registration: true,
146
+ clickwrap_id: 1,
147
+ inbox_id: 1
131
148
  )
132
149
  ```
133
150
 
@@ -136,10 +153,13 @@ Files::Bundle.update(id,
136
153
  * `id` (int64): Required - Bundle ID.
137
154
  * `password` (string): Password for this bundle.
138
155
  * `expires_at` (string): Bundle expiration date/time
156
+ * `max_uses` (int64): Maximum number of times bundle can be accessed
139
157
  * `description` (string): Public description
140
158
  * `note` (string): Bundle internal note
141
159
  * `code` (string): Bundle code. This code forms the end part of the Public URL.
142
160
  * `require_registration` (boolean): Show a registration page that captures the downloader's name and email address?
161
+ * `clickwrap_id` (int64): ID of the clickwrap to use with this bundle.
162
+ * `inbox_id` (int64): ID of the associated inbox, if available.
143
163
 
144
164
 
145
165
  ---
@@ -185,10 +205,13 @@ bundle = Files::Bundle.list_for(path).first
185
205
  bundle.update(
186
206
  password: "Password",
187
207
  expires_at: "2000-01-01T01:00:00Z",
208
+ max_uses: 1,
188
209
  description: "The public description of the bundle.",
189
210
  note: "The internal note on the bundle.",
190
211
  code: "abc123",
191
- require_registration: true
212
+ require_registration: true,
213
+ clickwrap_id: 1,
214
+ inbox_id: 1
192
215
  )
193
216
  ```
194
217
 
@@ -197,10 +220,13 @@ bundle.update(
197
220
  * `id` (int64): Required - Bundle ID.
198
221
  * `password` (string): Password for this bundle.
199
222
  * `expires_at` (string): Bundle expiration date/time
223
+ * `max_uses` (int64): Maximum number of times bundle can be accessed
200
224
  * `description` (string): Public description
201
225
  * `note` (string): Bundle internal note
202
226
  * `code` (string): Bundle code. This code forms the end part of the Public URL.
203
227
  * `require_registration` (boolean): Show a registration page that captures the downloader's name and email address?
228
+ * `clickwrap_id` (int64): ID of the clickwrap to use with this bundle.
229
+ * `inbox_id` (int64): ID of the associated inbox, if available.
204
230
 
205
231
 
206
232
  ---
@@ -0,0 +1,35 @@
1
+ # BundleDownload
2
+
3
+ ## Example BundleDownload Object
4
+
5
+ ```
6
+ {
7
+ "download_method": "file",
8
+ "path": "a/b/test.txt",
9
+ "created_at": "2020-01-01 00:00:00"
10
+ }
11
+ ```
12
+
13
+ * `download_method` (string): Download method (file or full_zip)
14
+ * `path` (string): Download path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
15
+ * `created_at` (date-time): Download date/time
16
+
17
+
18
+ ---
19
+
20
+ ## List Bundle Downloads
21
+
22
+ ```
23
+ Files::BundleDownload.list(
24
+ page: 1,
25
+ per_page: 1,
26
+ bundle_registration_id: 1
27
+ )
28
+ ```
29
+
30
+ ### Parameters
31
+
32
+ * `page` (int64): Current page number.
33
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
34
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
35
+ * `bundle_registration_id` (int64): Required - BundleRegistration ID
@@ -0,0 +1,143 @@
1
+ # Clickwrap
2
+
3
+ ## Example Clickwrap Object
4
+
5
+ ```
6
+ {
7
+ "name": "Example Site NDA for Files.com Use",
8
+ "body": "[Legal body text]",
9
+ "use_with_users": "",
10
+ "use_with_bundles": "",
11
+ "use_with_inboxes": ""
12
+ }
13
+ ```
14
+
15
+ * `name` (string): Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
16
+ * `body` (string): Body text of Clickwrap (supports Markdown formatting).
17
+ * `use_with_users` (string): Use this Clickwrap for User Registrations? Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.
18
+ * `use_with_bundles` (string): Use this Clickwrap for Bundles?
19
+ * `use_with_inboxes` (string): Use this Clickwrap for Inboxes?
20
+ * `id` (int64): Clickwrap ID.
21
+
22
+
23
+ ---
24
+
25
+ ## List Clickwraps
26
+
27
+ ```
28
+ Files::Clickwrap.list(
29
+ page: 1,
30
+ per_page: 1
31
+ )
32
+ ```
33
+
34
+ ### Parameters
35
+
36
+ * `page` (int64): Current page number.
37
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
38
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
39
+
40
+
41
+ ---
42
+
43
+ ## Show Clickwrap
44
+
45
+ ```
46
+ Files::Clickwrap.find(id)
47
+ ```
48
+
49
+ ### Parameters
50
+
51
+ * `id` (int64): Required - Clickwrap ID.
52
+
53
+
54
+ ---
55
+
56
+ ## Create Clickwrap
57
+
58
+ ```
59
+ Files::Clickwrap.create(
60
+ name: "Example Site NDA for Files.com Use",
61
+ body: "[Legal body text]"
62
+ )
63
+ ```
64
+
65
+ ### Parameters
66
+
67
+ * `name` (string): Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
68
+ * `body` (string): Body text of Clickwrap (supports Markdown formatting).
69
+ * `use_with_bundles` (string): Use this Clickwrap for Bundles?
70
+ * `use_with_inboxes` (string): Use this Clickwrap for Inboxes?
71
+ * `use_with_users` (string): Use this Clickwrap for User Registrations? Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.
72
+
73
+
74
+ ---
75
+
76
+ ## Update Clickwrap
77
+
78
+ ```
79
+ Files::Clickwrap.update(id,
80
+ name: "Example Site NDA for Files.com Use",
81
+ body: "[Legal body text]"
82
+ )
83
+ ```
84
+
85
+ ### Parameters
86
+
87
+ * `id` (int64): Required - Clickwrap ID.
88
+ * `name` (string): Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
89
+ * `body` (string): Body text of Clickwrap (supports Markdown formatting).
90
+ * `use_with_bundles` (string): Use this Clickwrap for Bundles?
91
+ * `use_with_inboxes` (string): Use this Clickwrap for Inboxes?
92
+ * `use_with_users` (string): Use this Clickwrap for User Registrations? Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.
93
+
94
+
95
+ ---
96
+
97
+ ## Delete Clickwrap
98
+
99
+ ```
100
+ Files::Clickwrap.delete(id)
101
+ ```
102
+
103
+ ### Parameters
104
+
105
+ * `id` (int64): Required - Clickwrap ID.
106
+
107
+
108
+ ---
109
+
110
+ ## Update Clickwrap
111
+
112
+ ```
113
+ clickwrap = Files::Clickwrap.list_for(path).first
114
+
115
+ clickwrap.update(
116
+ name: "Example Site NDA for Files.com Use",
117
+ body: "[Legal body text]"
118
+ )
119
+ ```
120
+
121
+ ### Parameters
122
+
123
+ * `id` (int64): Required - Clickwrap ID.
124
+ * `name` (string): Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
125
+ * `body` (string): Body text of Clickwrap (supports Markdown formatting).
126
+ * `use_with_bundles` (string): Use this Clickwrap for Bundles?
127
+ * `use_with_inboxes` (string): Use this Clickwrap for Inboxes?
128
+ * `use_with_users` (string): Use this Clickwrap for User Registrations? Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.
129
+
130
+
131
+ ---
132
+
133
+ ## Delete Clickwrap
134
+
135
+ ```
136
+ clickwrap = Files::Clickwrap.list_for(path).first
137
+
138
+ clickwrap.delete
139
+ ```
140
+
141
+ ### Parameters
142
+
143
+ * `id` (int64): Required - Clickwrap ID.
@@ -83,6 +83,7 @@
83
83
  "session": "",
84
84
  "session_pinned_by_ip": true,
85
85
  "sftp_user_root_enabled": true,
86
+ "sharing_enabled": true,
86
87
  "show_request_access_link": true,
87
88
  "site_footer": "",
88
89
  "site_header": "",
@@ -193,6 +194,7 @@
193
194
  * `session`: Current session
194
195
  * `session_pinned_by_ip` (boolean): Are sessions locked to the same IP? (i.e. do users need to log in again if they change IPs?)
195
196
  * `sftp_user_root_enabled` (boolean): Use user FTP roots also for SFTP?
197
+ * `sharing_enabled` (boolean): Allow bundle creation
196
198
  * `show_request_access_link` (boolean): Show request access link for users without access? Currently unused.
197
199
  * `site_footer` (string): Custom site footer text
198
200
  * `site_header` (string): Custom site header text
@@ -295,6 +297,7 @@ Files::Site.update(
295
297
  disable_users_from_inactivity_period_days: 1,
296
298
  non_sso_groups_allowed: true,
297
299
  non_sso_users_allowed: true,
300
+ sharing_enabled: true,
298
301
  allowed_2fa_method_sms: true,
299
302
  allowed_2fa_method_u2f: true,
300
303
  allowed_2fa_method_totp: true,
@@ -385,6 +388,7 @@ Files::Site.update(
385
388
  * `disable_users_from_inactivity_period_days` (int64): If greater than zero, users will unable to login if they do not show activity within this number of days.
386
389
  * `non_sso_groups_allowed` (boolean): If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.
387
390
  * `non_sso_users_allowed` (boolean): If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.
391
+ * `sharing_enabled` (boolean): Allow bundle creation
388
392
  * `allowed_2fa_method_sms` (boolean): Is SMS two factor authentication allowed?
389
393
  * `allowed_2fa_method_u2f` (boolean): Is U2F two factor authentication allowed?
390
394
  * `allowed_2fa_method_totp` (boolean): Is TOTP two factor authentication allowed?
@@ -26,6 +26,7 @@
26
26
  "group_ids": [
27
27
 
28
28
  ],
29
+ "header_text": "User-specific message.",
29
30
  "language": "en",
30
31
  "last_login_at": "2000-01-01T01:00:00Z",
31
32
  "last_protocol_cipher": "",
@@ -72,6 +73,7 @@
72
73
  * `email` (email): User email address
73
74
  * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
74
75
  * `group_ids` (array): Comma-separated list of group IDs of which this user is a member
76
+ * `header_text` (string): Text to display to the user in the header of the UI
75
77
  * `language` (string): Preferred language
76
78
  * `last_login_at` (date-time): User's last login time
77
79
  * `last_protocol_cipher` (string): The last protocol and cipher used
@@ -169,6 +171,7 @@ Files::User.create(
169
171
  dav_permission: true,
170
172
  disabled: true,
171
173
  ftp_permission: true,
174
+ header_text: "User-specific message.",
172
175
  language: "en",
173
176
  notification_daily_send_time: 18,
174
177
  name: "John Doe",
@@ -212,6 +215,7 @@ Files::User.create(
212
215
  * `dav_permission` (boolean): Can the user connect with WebDAV?
213
216
  * `disabled` (boolean): Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
214
217
  * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
218
+ * `header_text` (string): Text to display to the user in the header of the UI
215
219
  * `language` (string): Preferred language
216
220
  * `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
217
221
  * `name` (string): User's full name
@@ -291,6 +295,7 @@ Files::User.update(id,
291
295
  dav_permission: true,
292
296
  disabled: true,
293
297
  ftp_permission: true,
298
+ header_text: "User-specific message.",
294
299
  language: "en",
295
300
  notification_daily_send_time: 18,
296
301
  name: "John Doe",
@@ -335,6 +340,7 @@ Files::User.update(id,
335
340
  * `dav_permission` (boolean): Can the user connect with WebDAV?
336
341
  * `disabled` (boolean): Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
337
342
  * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
343
+ * `header_text` (string): Text to display to the user in the header of the UI
338
344
  * `language` (string): Preferred language
339
345
  * `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
340
346
  * `name` (string): User's full name
@@ -435,6 +441,7 @@ user.update(
435
441
  dav_permission: true,
436
442
  disabled: true,
437
443
  ftp_permission: true,
444
+ header_text: "User-specific message.",
438
445
  language: "en",
439
446
  notification_daily_send_time: 18,
440
447
  name: "John Doe",
@@ -479,6 +486,7 @@ user.update(
479
486
  * `dav_permission` (boolean): Can the user connect with WebDAV?
480
487
  * `disabled` (boolean): Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
481
488
  * `ftp_permission` (boolean): Can the user access with FTP/FTPS?
489
+ * `header_text` (string): Text to display to the user in the header of the UI
482
490
  * `language` (string): Preferred language
483
491
  * `notification_daily_send_time` (int64): Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
484
492
  * `name` (string): User's full name
@@ -34,6 +34,8 @@ require "files.com/models/auto"
34
34
  require "files.com/models/automation"
35
35
  require "files.com/models/behavior"
36
36
  require "files.com/models/bundle"
37
+ require "files.com/models/bundle_download"
38
+ require "files.com/models/clickwrap"
37
39
  require "files.com/models/dns_record"
38
40
  require "files.com/models/errors"
39
41
  require "files.com/models/file"
@@ -77,7 +77,7 @@ module Files
77
77
  end
78
78
 
79
79
  def set_cursor
80
- params[:cursor] ||= @current_options[:client].cursor
80
+ params[:cursor] = @current_options[:client].cursor
81
81
  end
82
82
 
83
83
  def cursor
@@ -68,7 +68,7 @@ module Files
68
68
  @attributes[:name] = value
69
69
  end
70
70
 
71
- # 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.) We hope to offer additional permission sets 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.
71
+ # 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
72
  def permission_set
73
73
  @attributes[:permission_set]
74
74
  end
@@ -96,17 +96,17 @@ module Files
96
96
  end
97
97
 
98
98
  # Parameters:
99
- # name - string - Internal name for key. For your reference only.
100
- # permission_set - string - Leave blank, or set to 'desktop_app' to restrict the key to only desktop app functions.
101
- # expires_at - string - Have the key expire at this date/time.
99
+ # name - string - Internal name for the API Key. For your use.
100
+ # expires_at - string - API Key expiration date
101
+ # 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.
102
102
  def update(params = {})
103
103
  params ||= {}
104
104
  params[:id] = @attributes[:id]
105
105
  raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
106
106
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
107
107
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
108
- raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
109
108
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
109
+ raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
110
110
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
111
111
 
112
112
  Api.send_request("/api_keys/#{@attributes[:id]}", :patch, params, @options)
@@ -179,43 +179,43 @@ module Files
179
179
 
180
180
  # Parameters:
181
181
  # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
182
- # name - string - Internal name for key. For your reference only.
183
- # permission_set - string - Leave blank, or set to 'desktop_app' to restrict the key to only desktop app functions.
184
- # expires_at - string - Have the key expire at this date/time.
182
+ # name - string - Internal name for the API Key. For your use.
183
+ # expires_at - string - API Key expiration date
184
+ # 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.
185
185
  def self.create(params = {}, options = {})
186
186
  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
187
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
188
- raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
189
188
  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
+ raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
190
190
 
191
191
  response, options = Api.send_request("/api_keys", :post, params, options)
192
192
  ApiKey.new(response.data, options)
193
193
  end
194
194
 
195
195
  # Parameters:
196
- # name - string - Internal name for key. For your reference only.
197
- # permission_set - string - Leave blank, or set to `desktop_app` to restrict the key to only desktop app functions.
198
- # expires_at - string - Have the key expire at this date/time.
196
+ # expires_at - string - API Key expiration date
197
+ # name - string - Internal name for the API Key. For your use.
198
+ # 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.
199
199
  def self.update_current(params = {}, options = {})
200
+ raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
200
201
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
201
202
  raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
202
- raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
203
203
 
204
204
  response, options = Api.send_request("/api_key", :patch, params, options)
205
205
  ApiKey.new(response.data, options)
206
206
  end
207
207
 
208
208
  # Parameters:
209
- # name - string - Internal name for key. For your reference only.
210
- # permission_set - string - Leave blank, or set to 'desktop_app' to restrict the key to only desktop app functions.
211
- # expires_at - string - Have the key expire at this date/time.
209
+ # name - string - Internal name for the API Key. For your use.
210
+ # expires_at - string - API Key expiration date
211
+ # 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.
212
212
  def self.update(id, params = {}, options = {})
213
213
  params ||= {}
214
214
  params[:id] = id
215
215
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
216
216
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
217
- raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
218
217
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
218
+ raise InvalidParameterError.new("Bad parameter: permission_set must be an String") if params.dig(:permission_set) and !params.dig(:permission_set).is_a?(String)
219
219
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
220
220
 
221
221
  response, options = Api.send_request("/api_keys/#{params[:id]}", :patch, params, options)
@@ -54,6 +54,15 @@ module Files
54
54
  @attributes[:require_registration] = value
55
55
  end
56
56
 
57
+ # string - Legal text that must be agreed to prior to accessing Bundle.
58
+ def clickwrap_body
59
+ @attributes[:clickwrap_body]
60
+ end
61
+
62
+ def clickwrap_body=(value)
63
+ @attributes[:clickwrap_body] = value
64
+ end
65
+
57
66
  # int64 - Bundle ID
58
67
  def id
59
68
  @attributes[:id]
@@ -77,6 +86,15 @@ module Files
77
86
  @attributes[:expires_at] = value
78
87
  end
79
88
 
89
+ # int64 - Maximum number of times bundle can be accessed
90
+ def max_uses
91
+ @attributes[:max_uses]
92
+ end
93
+
94
+ def max_uses=(value)
95
+ @attributes[:max_uses] = value
96
+ end
97
+
80
98
  # string - Bundle internal note
81
99
  def note
82
100
  @attributes[:note]
@@ -104,6 +122,24 @@ module Files
104
122
  @attributes[:username] = value
105
123
  end
106
124
 
125
+ # int64 - ID of the clickwrap to use with this bundle.
126
+ def clickwrap_id
127
+ @attributes[:clickwrap_id]
128
+ end
129
+
130
+ def clickwrap_id=(value)
131
+ @attributes[:clickwrap_id] = value
132
+ end
133
+
134
+ # int64 - ID of the associated inbox, if available.
135
+ def inbox_id
136
+ @attributes[:inbox_id]
137
+ end
138
+
139
+ def inbox_id=(value)
140
+ @attributes[:inbox_id] = value
141
+ end
142
+
107
143
  # array - A list of paths in this bundle
108
144
  def paths
109
145
  @attributes[:paths]
@@ -143,10 +179,13 @@ module Files
143
179
  # Parameters:
144
180
  # password - string - Password for this bundle.
145
181
  # expires_at - string - Bundle expiration date/time
182
+ # max_uses - int64 - Maximum number of times bundle can be accessed
146
183
  # description - string - Public description
147
184
  # note - string - Bundle internal note
148
185
  # code - string - Bundle code. This code forms the end part of the Public URL.
149
186
  # require_registration - boolean - Show a registration page that captures the downloader's name and email address?
187
+ # clickwrap_id - int64 - ID of the clickwrap to use with this bundle.
188
+ # inbox_id - int64 - ID of the associated inbox, if available.
150
189
  def update(params = {})
151
190
  params ||= {}
152
191
  params[:id] = @attributes[:id]
@@ -154,9 +193,12 @@ module Files
154
193
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
155
194
  raise InvalidParameterError.new("Bad parameter: password must be an String") if params.dig(:password) and !params.dig(:password).is_a?(String)
156
195
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
196
+ raise InvalidParameterError.new("Bad parameter: max_uses must be an Integer") if params.dig(:max_uses) and !params.dig(:max_uses).is_a?(Integer)
157
197
  raise InvalidParameterError.new("Bad parameter: description must be an String") if params.dig(:description) and !params.dig(:description).is_a?(String)
158
198
  raise InvalidParameterError.new("Bad parameter: note must be an String") if params.dig(:note) and !params.dig(:note).is_a?(String)
159
199
  raise InvalidParameterError.new("Bad parameter: code must be an String") if params.dig(:code) and !params.dig(:code).is_a?(String)
200
+ raise InvalidParameterError.new("Bad parameter: clickwrap_id must be an Integer") if params.dig(:clickwrap_id) and !params.dig(:clickwrap_id).is_a?(Integer)
201
+ raise InvalidParameterError.new("Bad parameter: inbox_id must be an Integer") if params.dig(:inbox_id) and !params.dig(:inbox_id).is_a?(Integer)
160
202
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
161
203
 
162
204
  Api.send_request("/bundles/#{@attributes[:id]}", :patch, params, @options)
@@ -227,18 +269,24 @@ module Files
227
269
  # paths (required) - array(string) - A list of paths to include in this bundle.
228
270
  # password - string - Password for this bundle.
229
271
  # expires_at - string - Bundle expiration date/time
272
+ # max_uses - int64 - Maximum number of times bundle can be accessed
230
273
  # description - string - Public description
231
274
  # note - string - Bundle internal note
232
275
  # code - string - Bundle code. This code forms the end part of the Public URL.
233
276
  # require_registration - boolean - Show a registration page that captures the downloader's name and email address?
277
+ # clickwrap_id - int64 - ID of the clickwrap to use with this bundle.
278
+ # inbox_id - int64 - ID of the associated inbox, if available.
234
279
  def self.create(params = {}, options = {})
235
280
  raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
236
281
  raise InvalidParameterError.new("Bad parameter: paths must be an Array") if params.dig(:paths) and !params.dig(:paths).is_a?(Array)
237
282
  raise InvalidParameterError.new("Bad parameter: password must be an String") if params.dig(:password) and !params.dig(:password).is_a?(String)
238
283
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
284
+ raise InvalidParameterError.new("Bad parameter: max_uses must be an Integer") if params.dig(:max_uses) and !params.dig(:max_uses).is_a?(Integer)
239
285
  raise InvalidParameterError.new("Bad parameter: description must be an String") if params.dig(:description) and !params.dig(:description).is_a?(String)
240
286
  raise InvalidParameterError.new("Bad parameter: note must be an String") if params.dig(:note) and !params.dig(:note).is_a?(String)
241
287
  raise InvalidParameterError.new("Bad parameter: code must be an String") if params.dig(:code) and !params.dig(:code).is_a?(String)
288
+ raise InvalidParameterError.new("Bad parameter: clickwrap_id must be an Integer") if params.dig(:clickwrap_id) and !params.dig(:clickwrap_id).is_a?(Integer)
289
+ raise InvalidParameterError.new("Bad parameter: inbox_id must be an Integer") if params.dig(:inbox_id) and !params.dig(:inbox_id).is_a?(Integer)
242
290
  raise MissingParameterError.new("Parameter missing: paths") unless params.dig(:paths)
243
291
 
244
292
  response, options = Api.send_request("/bundles", :post, params, options)
@@ -266,19 +314,25 @@ module Files
266
314
  # Parameters:
267
315
  # password - string - Password for this bundle.
268
316
  # expires_at - string - Bundle expiration date/time
317
+ # max_uses - int64 - Maximum number of times bundle can be accessed
269
318
  # description - string - Public description
270
319
  # note - string - Bundle internal note
271
320
  # code - string - Bundle code. This code forms the end part of the Public URL.
272
321
  # require_registration - boolean - Show a registration page that captures the downloader's name and email address?
322
+ # clickwrap_id - int64 - ID of the clickwrap to use with this bundle.
323
+ # inbox_id - int64 - ID of the associated inbox, if available.
273
324
  def self.update(id, params = {}, options = {})
274
325
  params ||= {}
275
326
  params[:id] = id
276
327
  raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
277
328
  raise InvalidParameterError.new("Bad parameter: password must be an String") if params.dig(:password) and !params.dig(:password).is_a?(String)
278
329
  raise InvalidParameterError.new("Bad parameter: expires_at must be an String") if params.dig(:expires_at) and !params.dig(:expires_at).is_a?(String)
330
+ raise InvalidParameterError.new("Bad parameter: max_uses must be an Integer") if params.dig(:max_uses) and !params.dig(:max_uses).is_a?(Integer)
279
331
  raise InvalidParameterError.new("Bad parameter: description must be an String") if params.dig(:description) and !params.dig(:description).is_a?(String)
280
332
  raise InvalidParameterError.new("Bad parameter: note must be an String") if params.dig(:note) and !params.dig(:note).is_a?(String)
281
333
  raise InvalidParameterError.new("Bad parameter: code must be an String") if params.dig(:code) and !params.dig(:code).is_a?(String)
334
+ raise InvalidParameterError.new("Bad parameter: clickwrap_id must be an Integer") if params.dig(:clickwrap_id) and !params.dig(:clickwrap_id).is_a?(Integer)
335
+ raise InvalidParameterError.new("Bad parameter: inbox_id must be an Integer") if params.dig(:inbox_id) and !params.dig(:inbox_id).is_a?(Integer)
282
336
  raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
283
337
 
284
338
  response, options = Api.send_request("/bundles/#{params[:id]}", :patch, params, options)
@@ -0,0 +1,49 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class BundleDownload
5
+ attr_reader :options, :attributes
6
+
7
+ def initialize(attributes = {}, options = {})
8
+ @attributes = attributes || {}
9
+ @options = options || {}
10
+ end
11
+
12
+ # string - Download method (file or full_zip)
13
+ def download_method
14
+ @attributes[:download_method]
15
+ end
16
+
17
+ # string - Download path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
18
+ def path
19
+ @attributes[:path]
20
+ end
21
+
22
+ # date-time - Download date/time
23
+ def created_at
24
+ @attributes[:created_at]
25
+ end
26
+
27
+ # Parameters:
28
+ # page - int64 - Current page number.
29
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
30
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
31
+ # bundle_registration_id (required) - int64 - BundleRegistration ID
32
+ def self.list(params = {}, options = {})
33
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
34
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
35
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
36
+ raise InvalidParameterError.new("Bad parameter: bundle_registration_id must be an Integer") if params.dig(:bundle_registration_id) and !params.dig(:bundle_registration_id).is_a?(Integer)
37
+ raise MissingParameterError.new("Parameter missing: bundle_registration_id") unless params.dig(:bundle_registration_id)
38
+
39
+ response, options = Api.send_request("/bundle_downloads", :get, params, options)
40
+ response.data.map do |entity_data|
41
+ BundleDownload.new(entity_data, options)
42
+ end
43
+ end
44
+
45
+ def self.all(params = {}, options = {})
46
+ list(params, options)
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,197 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Files
4
+ class Clickwrap
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 Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
13
+ def name
14
+ @attributes[:name]
15
+ end
16
+
17
+ def name=(value)
18
+ @attributes[:name] = value
19
+ end
20
+
21
+ # string - Body text of Clickwrap (supports Markdown formatting).
22
+ def body
23
+ @attributes[:body]
24
+ end
25
+
26
+ def body=(value)
27
+ @attributes[:body] = value
28
+ end
29
+
30
+ # string - Use this Clickwrap for User Registrations? Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.
31
+ def use_with_users
32
+ @attributes[:use_with_users]
33
+ end
34
+
35
+ def use_with_users=(value)
36
+ @attributes[:use_with_users] = value
37
+ end
38
+
39
+ # string - Use this Clickwrap for Bundles?
40
+ def use_with_bundles
41
+ @attributes[:use_with_bundles]
42
+ end
43
+
44
+ def use_with_bundles=(value)
45
+ @attributes[:use_with_bundles] = value
46
+ end
47
+
48
+ # string - Use this Clickwrap for Inboxes?
49
+ def use_with_inboxes
50
+ @attributes[:use_with_inboxes]
51
+ end
52
+
53
+ def use_with_inboxes=(value)
54
+ @attributes[:use_with_inboxes] = value
55
+ end
56
+
57
+ # int64 - Clickwrap ID.
58
+ def id
59
+ @attributes[:id]
60
+ end
61
+
62
+ def id=(value)
63
+ @attributes[:id] = value
64
+ end
65
+
66
+ # Parameters:
67
+ # name - string - Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
68
+ # body - string - Body text of Clickwrap (supports Markdown formatting).
69
+ # use_with_bundles - string - Use this Clickwrap for Bundles?
70
+ # use_with_inboxes - string - Use this Clickwrap for Inboxes?
71
+ # use_with_users - string - Use this Clickwrap for User Registrations? Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.
72
+ def update(params = {})
73
+ params ||= {}
74
+ params[:id] = @attributes[:id]
75
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
76
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
77
+ raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
78
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
79
+ raise InvalidParameterError.new("Bad parameter: use_with_bundles must be an String") if params.dig(:use_with_bundles) and !params.dig(:use_with_bundles).is_a?(String)
80
+ raise InvalidParameterError.new("Bad parameter: use_with_inboxes must be an String") if params.dig(:use_with_inboxes) and !params.dig(:use_with_inboxes).is_a?(String)
81
+ raise InvalidParameterError.new("Bad parameter: use_with_users must be an String") if params.dig(:use_with_users) and !params.dig(:use_with_users).is_a?(String)
82
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
83
+
84
+ Api.send_request("/clickwraps/#{@attributes[:id]}", :patch, params, @options)
85
+ end
86
+
87
+ def delete(params = {})
88
+ params ||= {}
89
+ params[:id] = @attributes[:id]
90
+ raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
91
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
92
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
93
+
94
+ Api.send_request("/clickwraps/#{@attributes[:id]}", :delete, params, @options)
95
+ end
96
+
97
+ def destroy(params = {})
98
+ delete(params)
99
+ end
100
+
101
+ def save
102
+ if @attributes[:id]
103
+ update(@attributes)
104
+ else
105
+ new_obj = Clickwrap.create(@attributes, @options)
106
+ @attributes = new_obj.attributes
107
+ end
108
+ end
109
+
110
+ # Parameters:
111
+ # page - int64 - Current page number.
112
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
113
+ # action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
114
+ def self.list(params = {}, options = {})
115
+ raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
116
+ raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
117
+ raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
118
+
119
+ response, options = Api.send_request("/clickwraps", :get, params, options)
120
+ response.data.map do |entity_data|
121
+ Clickwrap.new(entity_data, options)
122
+ end
123
+ end
124
+
125
+ def self.all(params = {}, options = {})
126
+ list(params, options)
127
+ end
128
+
129
+ # Parameters:
130
+ # id (required) - int64 - Clickwrap ID.
131
+ def self.find(id, params = {}, options = {})
132
+ params ||= {}
133
+ params[:id] = id
134
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
135
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
136
+
137
+ response, options = Api.send_request("/clickwraps/#{params[:id]}", :get, params, options)
138
+ Clickwrap.new(response.data, options)
139
+ end
140
+
141
+ def self.get(id, params = {}, options = {})
142
+ find(id, params, options)
143
+ end
144
+
145
+ # Parameters:
146
+ # name - string - Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
147
+ # body - string - Body text of Clickwrap (supports Markdown formatting).
148
+ # use_with_bundles - string - Use this Clickwrap for Bundles?
149
+ # use_with_inboxes - string - Use this Clickwrap for Inboxes?
150
+ # use_with_users - string - Use this Clickwrap for User Registrations? Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.
151
+ def self.create(params = {}, options = {})
152
+ raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
153
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
154
+ raise InvalidParameterError.new("Bad parameter: use_with_bundles must be an String") if params.dig(:use_with_bundles) and !params.dig(:use_with_bundles).is_a?(String)
155
+ raise InvalidParameterError.new("Bad parameter: use_with_inboxes must be an String") if params.dig(:use_with_inboxes) and !params.dig(:use_with_inboxes).is_a?(String)
156
+ raise InvalidParameterError.new("Bad parameter: use_with_users must be an String") if params.dig(:use_with_users) and !params.dig(:use_with_users).is_a?(String)
157
+
158
+ response, options = Api.send_request("/clickwraps", :post, params, options)
159
+ Clickwrap.new(response.data, options)
160
+ end
161
+
162
+ # Parameters:
163
+ # name - string - Name of the Clickwrap agreement (used when selecting from multiple Clickwrap agreements.)
164
+ # body - string - Body text of Clickwrap (supports Markdown formatting).
165
+ # use_with_bundles - string - Use this Clickwrap for Bundles?
166
+ # use_with_inboxes - string - Use this Clickwrap for Inboxes?
167
+ # use_with_users - string - Use this Clickwrap for User Registrations? Note: This only applies to User Registrations where the User is invited to your Files.com site using an E-Mail invitation process where they then set their own password.
168
+ def self.update(id, params = {}, options = {})
169
+ params ||= {}
170
+ params[:id] = id
171
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
172
+ raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
173
+ raise InvalidParameterError.new("Bad parameter: body must be an String") if params.dig(:body) and !params.dig(:body).is_a?(String)
174
+ raise InvalidParameterError.new("Bad parameter: use_with_bundles must be an String") if params.dig(:use_with_bundles) and !params.dig(:use_with_bundles).is_a?(String)
175
+ raise InvalidParameterError.new("Bad parameter: use_with_inboxes must be an String") if params.dig(:use_with_inboxes) and !params.dig(:use_with_inboxes).is_a?(String)
176
+ raise InvalidParameterError.new("Bad parameter: use_with_users must be an String") if params.dig(:use_with_users) and !params.dig(:use_with_users).is_a?(String)
177
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
178
+
179
+ response, options = Api.send_request("/clickwraps/#{params[:id]}", :patch, params, options)
180
+ Clickwrap.new(response.data, options)
181
+ end
182
+
183
+ def self.delete(id, params = {}, options = {})
184
+ params ||= {}
185
+ params[:id] = id
186
+ raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
187
+ raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
188
+
189
+ response, _options = Api.send_request("/clickwraps/#{params[:id]}", :delete, params, options)
190
+ response.data
191
+ end
192
+
193
+ def self.destroy(id, params = {}, options = {})
194
+ delete(id, params, options)
195
+ end
196
+ end
197
+ end
@@ -404,6 +404,11 @@ module Files
404
404
  @attributes[:sftp_user_root_enabled]
405
405
  end
406
406
 
407
+ # boolean - Allow bundle creation
408
+ def sharing_enabled
409
+ @attributes[:sharing_enabled]
410
+ end
411
+
407
412
  # boolean - Show request access link for users without access? Currently unused.
408
413
  def show_request_access_link
409
414
  @attributes[:show_request_access_link]
@@ -605,6 +610,7 @@ module Files
605
610
  # disable_users_from_inactivity_period_days - int64 - If greater than zero, users will unable to login if they do not show activity within this number of days.
606
611
  # non_sso_groups_allowed - boolean - If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.
607
612
  # non_sso_users_allowed - boolean - If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.
613
+ # sharing_enabled - boolean - Allow bundle creation
608
614
  # allowed_2fa_method_sms - boolean - Is SMS two factor authentication allowed?
609
615
  # allowed_2fa_method_u2f - boolean - Is U2F two factor authentication allowed?
610
616
  # allowed_2fa_method_totp - boolean - Is TOTP two factor authentication allowed?
@@ -167,6 +167,15 @@ module Files
167
167
  @attributes[:group_ids] = value
168
168
  end
169
169
 
170
+ # string - Text to display to the user in the header of the UI
171
+ def header_text
172
+ @attributes[:header_text]
173
+ end
174
+
175
+ def header_text=(value)
176
+ @attributes[:header_text] = value
177
+ end
178
+
170
179
  # string - Preferred language
171
180
  def language
172
181
  @attributes[:language]
@@ -528,6 +537,7 @@ module Files
528
537
  # dav_permission - boolean - Can the user connect with WebDAV?
529
538
  # disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
530
539
  # ftp_permission - boolean - Can the user access with FTP/FTPS?
540
+ # header_text - string - Text to display to the user in the header of the UI
531
541
  # language - string - Preferred language
532
542
  # notification_daily_send_time - int64 - Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
533
543
  # name - string - User's full name
@@ -562,6 +572,7 @@ module Files
562
572
  raise InvalidParameterError.new("Bad parameter: allowed_ips must be an String") if params.dig(:allowed_ips) and !params.dig(:allowed_ips).is_a?(String)
563
573
  raise InvalidParameterError.new("Bad parameter: authenticate_until must be an String") if params.dig(:authenticate_until) and !params.dig(:authenticate_until).is_a?(String)
564
574
  raise InvalidParameterError.new("Bad parameter: authentication_method must be an String") if params.dig(:authentication_method) and !params.dig(:authentication_method).is_a?(String)
575
+ raise InvalidParameterError.new("Bad parameter: header_text must be an String") if params.dig(:header_text) and !params.dig(:header_text).is_a?(String)
565
576
  raise InvalidParameterError.new("Bad parameter: language must be an String") if params.dig(:language) and !params.dig(:language).is_a?(String)
566
577
  raise InvalidParameterError.new("Bad parameter: notification_daily_send_time must be an Integer") if params.dig(:notification_daily_send_time) and !params.dig(:notification_daily_send_time).is_a?(Integer)
567
578
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
@@ -668,6 +679,7 @@ module Files
668
679
  # dav_permission - boolean - Can the user connect with WebDAV?
669
680
  # disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
670
681
  # ftp_permission - boolean - Can the user access with FTP/FTPS?
682
+ # header_text - string - Text to display to the user in the header of the UI
671
683
  # language - string - Preferred language
672
684
  # notification_daily_send_time - int64 - Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
673
685
  # name - string - User's full name
@@ -698,6 +710,7 @@ module Files
698
710
  raise InvalidParameterError.new("Bad parameter: allowed_ips must be an String") if params.dig(:allowed_ips) and !params.dig(:allowed_ips).is_a?(String)
699
711
  raise InvalidParameterError.new("Bad parameter: authenticate_until must be an String") if params.dig(:authenticate_until) and !params.dig(:authenticate_until).is_a?(String)
700
712
  raise InvalidParameterError.new("Bad parameter: authentication_method must be an String") if params.dig(:authentication_method) and !params.dig(:authentication_method).is_a?(String)
713
+ raise InvalidParameterError.new("Bad parameter: header_text must be an String") if params.dig(:header_text) and !params.dig(:header_text).is_a?(String)
701
714
  raise InvalidParameterError.new("Bad parameter: language must be an String") if params.dig(:language) and !params.dig(:language).is_a?(String)
702
715
  raise InvalidParameterError.new("Bad parameter: notification_daily_send_time must be an Integer") if params.dig(:notification_daily_send_time) and !params.dig(:notification_daily_send_time).is_a?(Integer)
703
716
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
@@ -768,6 +781,7 @@ module Files
768
781
  # dav_permission - boolean - Can the user connect with WebDAV?
769
782
  # disabled - boolean - Is user disabled? Disabled users cannot log in, and do not count for billing purposes. Users can be automatically disabled after an inactivity period via a Site setting.
770
783
  # ftp_permission - boolean - Can the user access with FTP/FTPS?
784
+ # header_text - string - Text to display to the user in the header of the UI
771
785
  # language - string - Preferred language
772
786
  # notification_daily_send_time - int64 - Hour of the day at which daily notifications should be sent. Can be in range 0 to 23
773
787
  # name - string - User's full name
@@ -801,6 +815,7 @@ module Files
801
815
  raise InvalidParameterError.new("Bad parameter: allowed_ips must be an String") if params.dig(:allowed_ips) and !params.dig(:allowed_ips).is_a?(String)
802
816
  raise InvalidParameterError.new("Bad parameter: authenticate_until must be an String") if params.dig(:authenticate_until) and !params.dig(:authenticate_until).is_a?(String)
803
817
  raise InvalidParameterError.new("Bad parameter: authentication_method must be an String") if params.dig(:authentication_method) and !params.dig(:authentication_method).is_a?(String)
818
+ raise InvalidParameterError.new("Bad parameter: header_text must be an String") if params.dig(:header_text) and !params.dig(:header_text).is_a?(String)
804
819
  raise InvalidParameterError.new("Bad parameter: language must be an String") if params.dig(:language) and !params.dig(:language).is_a?(String)
805
820
  raise InvalidParameterError.new("Bad parameter: notification_daily_send_time must be an Integer") if params.dig(:notification_daily_send_time) and !params.dig(:notification_daily_send_time).is_a?(Integer)
806
821
  raise InvalidParameterError.new("Bad parameter: name must be an String") if params.dig(:name) and !params.dig(:name).is_a?(String)
@@ -12,15 +12,34 @@ RSpec.describe Files::List do
12
12
  let(:per_page) { 3 }
13
13
 
14
14
  context "when response includes a cursor" do
15
- let(:client) { instance_double(Files::ApiClient, cursor: "XXX-XXX") }
15
+ let(:client) { instance_double(Files::ApiClient) }
16
+ let(:stubbed_cursors) {
17
+ [
18
+ '3',
19
+ '6',
20
+ nil
21
+ ]
22
+ }
23
+
24
+ before do
25
+ allow(client).to receive(:cursor).and_return(*stubbed_cursors)
26
+ end
16
27
 
17
28
  it "does not call the API until out of responses" do
18
29
  server_results = ('a'..'h').to_a
19
30
  times_block_yielded = 0
31
+ request_cursor = nil
32
+ response_cursor = nil
33
+
20
34
  list = described_class.new(ResourceWrapper, params) {
21
35
  times_block_yielded += 1
36
+ request_cursor = params[:cursor]
37
+ range_start = params[:cursor] ? params[:cursor].to_i : 0
38
+
39
+ response_data = server_results[range_start, per_page]
40
+ response_cursor = (range_start + per_page).to_s
22
41
  [
23
- instance_double(Files::Response, data: server_results.shift(per_page), http_status: 200),
42
+ instance_double(Files::Response, data: response_data, http_status: 200, http_headers: { "x-files-cursor" => response_cursor }),
24
43
  options
25
44
  ]
26
45
  }
@@ -29,15 +48,18 @@ RSpec.describe Files::List do
29
48
  expect(times_block_yielded).to eq(0)
30
49
  expect(results.next.object).to eq('a')
31
50
  expect(times_block_yielded).to eq(1)
51
+ expect(request_cursor).to eq(nil)
32
52
  expect(results.next.object).to eq('b')
33
53
  expect(results.next.object).to eq('c')
34
54
  expect(results.next.object).to eq('d')
35
55
  expect(times_block_yielded).to eq(2)
56
+ expect(request_cursor).to eq("3")
36
57
  expect(results.next.object).to eq('e')
37
58
  expect(results.next.object).to eq('f')
38
59
  expect(results.next.object).to eq('g')
39
60
  expect(results.next.object).to eq('h')
40
61
  expect(times_block_yielded).to eq(3)
62
+ expect(request_cursor).to eq("6")
41
63
  end
42
64
 
43
65
  it "stops calling the API once there is an error" do
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.73
4
+ version: 1.0.78
5
5
  platform: ruby
6
6
  authors:
7
7
  - files.com
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-21 00:00:00.000000000 Z
11
+ date: 2020-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -92,6 +92,8 @@ files:
92
92
  - docs/automation.md
93
93
  - docs/behavior.md
94
94
  - docs/bundle.md
95
+ - docs/bundle_download.md
96
+ - docs/clickwrap.md
95
97
  - docs/dns_record.md
96
98
  - docs/errors.md
97
99
  - docs/file.md
@@ -146,6 +148,8 @@ files:
146
148
  - lib/files.com/models/automation.rb
147
149
  - lib/files.com/models/behavior.rb
148
150
  - lib/files.com/models/bundle.rb
151
+ - lib/files.com/models/bundle_download.rb
152
+ - lib/files.com/models/clickwrap.rb
149
153
  - lib/files.com/models/dir.rb
150
154
  - lib/files.com/models/dns_record.rb
151
155
  - lib/files.com/models/errors.rb