files.com 1.0.99 → 1.0.104
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/bandwidth_snapshot.md +53 -0
- data/docs/file_part_upload.md +2 -0
- data/docs/history_export.md +3 -49
- data/docs/history_export_result.md +80 -0
- data/docs/permission.md +17 -2
- data/docs/request.md +19 -3
- data/docs/user_request.md +2 -0
- data/lib/files.com.rb +2 -0
- data/lib/files.com/api_client.rb +2 -1
- data/lib/files.com/models/bandwidth_snapshot.rb +91 -0
- data/lib/files.com/models/file.rb +6 -10
- data/lib/files.com/models/file_part_upload.rb +5 -0
- data/lib/files.com/models/folder.rb +2 -6
- data/lib/files.com/models/history_export.rb +9 -49
- data/lib/files.com/models/history_export_result.rb +154 -0
- data/lib/files.com/models/lock.rb +2 -6
- data/lib/files.com/models/permission.rb +19 -11
- data/lib/files.com/models/request.rb +20 -12
- data/lib/files.com/models/user_request.rb +9 -0
- data/spec/models/file_spec.rb +3 -3
- data/spec/models/folder_spec.rb +3 -3
- metadata +6 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f77fd18dc9c28e0fab729624b8b155a7bf6f4046c90f7404abfdcb96602d7da
|
4
|
+
data.tar.gz: a8b9c317b029edc78dccce648554398e6dd86e622c948c2574b393a43230dc8a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd72ee23eb04a85b17580d3202dc5354e228295ae490963b11d7a17540066667b5cf53227ecaa99ee8109911eddc411dcd31ef86ca0f4f78b9aa531aa80ca04c
|
7
|
+
data.tar.gz: c0042be73f96c5b7c2e495d1422c0602158ac973c8c9bd134b4d7acf42f532f903a9ac28643383efc075bbdf4b6472600b453fb0bc19b7b378c4b226aee0e76c
|
data/_VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.0.
|
1
|
+
1.0.104
|
@@ -0,0 +1,53 @@
|
|
1
|
+
# BandwidthSnapshot
|
2
|
+
|
3
|
+
## Example BandwidthSnapshot Object
|
4
|
+
|
5
|
+
```
|
6
|
+
{
|
7
|
+
"id": 1,
|
8
|
+
"bytes_received": 1.0,
|
9
|
+
"bytes_sent": 1.0,
|
10
|
+
"requests_get": 1.0,
|
11
|
+
"requests_put": 1.0,
|
12
|
+
"requests_other": 1.0,
|
13
|
+
"logged_at": "2000-01-01T01:00:00Z",
|
14
|
+
"created_at": "2000-01-01T01:00:00Z",
|
15
|
+
"updated_at": "2000-01-01T01:00:00Z"
|
16
|
+
}
|
17
|
+
```
|
18
|
+
|
19
|
+
* `id` (int64): Site bandwidth ID
|
20
|
+
* `bytes_received` (double): Site bandwidth report bytes received
|
21
|
+
* `bytes_sent` (double): Site bandwidth report bytes sent
|
22
|
+
* `requests_get` (double): Site bandwidth report get requests
|
23
|
+
* `requests_put` (double): Site bandwidth report put requests
|
24
|
+
* `requests_other` (double): Site bandwidth report other requests
|
25
|
+
* `logged_at` (date-time): Time the site bandwidth report was logged
|
26
|
+
* `created_at` (date-time): Site bandwidth report created at date/time
|
27
|
+
* `updated_at` (date-time): The last time this site bandwidth report was updated
|
28
|
+
|
29
|
+
|
30
|
+
---
|
31
|
+
|
32
|
+
## List Bandwidth Snapshots
|
33
|
+
|
34
|
+
```
|
35
|
+
Files::BandwidthSnapshot.list(
|
36
|
+
page: 1,
|
37
|
+
per_page: 1
|
38
|
+
)
|
39
|
+
```
|
40
|
+
|
41
|
+
### Parameters
|
42
|
+
|
43
|
+
* `page` (int64): Current page number.
|
44
|
+
* `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
45
|
+
* `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
46
|
+
* `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.
|
47
|
+
* `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` and `logged_at`.
|
48
|
+
* `filter` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `logged_at`.
|
49
|
+
* `filter_gt` (object): If set, return records where the specifiied field is greater than the supplied value. Valid fields are `logged_at`.
|
50
|
+
* `filter_gteq` (object): If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `logged_at`.
|
51
|
+
* `filter_like` (object): If set, return records where the specifiied field is equal to the supplied value. Valid fields are `logged_at`.
|
52
|
+
* `filter_lt` (object): If set, return records where the specifiied field is less than the supplied value. Valid fields are `logged_at`.
|
53
|
+
* `filter_lteq` (object): If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `logged_at`.
|
data/docs/file_part_upload.md
CHANGED
@@ -12,6 +12,7 @@
|
|
12
12
|
"headers": "",
|
13
13
|
"http_method": "POST",
|
14
14
|
"next_partsize": "",
|
15
|
+
"parallel_parts": true,
|
15
16
|
"parameters": "",
|
16
17
|
"part_number": "",
|
17
18
|
"partsize": "",
|
@@ -29,6 +30,7 @@
|
|
29
30
|
* `headers` (object): Additional upload headers
|
30
31
|
* `http_method` (string): Upload method, usually POST
|
31
32
|
* `next_partsize` (string): Currently unused
|
33
|
+
* `parallel_parts` (boolean): If true, parts may be uploaded in parallel
|
32
34
|
* `parameters` (string): Additional upload parameters
|
33
35
|
* `part_number` (string): Currently unused
|
34
36
|
* `partsize` (string): Currently unused
|
data/docs/history_export.md
CHANGED
@@ -26,7 +26,8 @@
|
|
26
26
|
"query_target_user_id": 1,
|
27
27
|
"query_target_username": "jerry",
|
28
28
|
"query_target_platform": "windows",
|
29
|
-
"query_target_permission_set": "desktop_app"
|
29
|
+
"query_target_permission_set": "desktop_app",
|
30
|
+
"results_url": "https://files.com/history_results.csv"
|
30
31
|
}
|
31
32
|
```
|
32
33
|
|
@@ -53,29 +54,10 @@
|
|
53
54
|
* `query_target_username` (string): If searching for Histories about API keys, this parameter restricts results to API keys created by/for this username.
|
54
55
|
* `query_target_platform` (string): If searching for Histories about API keys, this parameter restricts results to API keys associated with this platform.
|
55
56
|
* `query_target_permission_set` (string): If searching for Histories about API keys, this parameter restricts results to API keys with this permission set.
|
57
|
+
* `results_url` (string): If `status` is `ready` and the query succeeded, this will be a URL where all the results can be downloaded at once as a CSV.
|
56
58
|
* `user_id` (int64): User ID. Provide a value of `0` to operate the current session's user.
|
57
59
|
|
58
60
|
|
59
|
-
---
|
60
|
-
|
61
|
-
## List History Exports
|
62
|
-
|
63
|
-
```
|
64
|
-
Files::HistoryExport.list(
|
65
|
-
user_id: 1,
|
66
|
-
page: 1,
|
67
|
-
per_page: 1
|
68
|
-
)
|
69
|
-
```
|
70
|
-
|
71
|
-
### Parameters
|
72
|
-
|
73
|
-
* `user_id` (int64): User ID. Provide a value of `0` to operate the current session's user.
|
74
|
-
* `page` (int64): Current page number.
|
75
|
-
* `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
76
|
-
* `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
77
|
-
|
78
|
-
|
79
61
|
---
|
80
62
|
|
81
63
|
## Show History Export
|
@@ -144,31 +126,3 @@ Files::HistoryExport.create(
|
|
144
126
|
* `query_target_username` (string): If searching for Histories about API keys, this parameter restricts results to API keys created by/for this username.
|
145
127
|
* `query_target_platform` (string): If searching for Histories about API keys, this parameter restricts results to API keys associated with this platform.
|
146
128
|
* `query_target_permission_set` (string): If searching for Histories about API keys, this parameter restricts results to API keys with this permission set.
|
147
|
-
|
148
|
-
|
149
|
-
---
|
150
|
-
|
151
|
-
## Delete History Export
|
152
|
-
|
153
|
-
```
|
154
|
-
Files::HistoryExport.delete(id)
|
155
|
-
```
|
156
|
-
|
157
|
-
### Parameters
|
158
|
-
|
159
|
-
* `id` (int64): Required - History Export ID.
|
160
|
-
|
161
|
-
|
162
|
-
---
|
163
|
-
|
164
|
-
## Delete History Export
|
165
|
-
|
166
|
-
```
|
167
|
-
history_export = Files::HistoryExport.list_for(path).first
|
168
|
-
|
169
|
-
history_export.delete
|
170
|
-
```
|
171
|
-
|
172
|
-
### Parameters
|
173
|
-
|
174
|
-
* `id` (int64): Required - History Export ID.
|
@@ -0,0 +1,80 @@
|
|
1
|
+
# HistoryExportResult
|
2
|
+
|
3
|
+
## Example HistoryExportResult Object
|
4
|
+
|
5
|
+
```
|
6
|
+
{
|
7
|
+
"id": 1,
|
8
|
+
"created_at": 1,
|
9
|
+
"user_id": 1,
|
10
|
+
"file_id": 1,
|
11
|
+
"parent_id": 1,
|
12
|
+
"path": "MyFile.txt",
|
13
|
+
"folder": "Folder",
|
14
|
+
"src": "SrcFolder",
|
15
|
+
"destination": "DestFolder",
|
16
|
+
"ip": "127.0.0.1",
|
17
|
+
"username": "jerry",
|
18
|
+
"action": "read",
|
19
|
+
"failure_type": "bad_password",
|
20
|
+
"interface": "ftp",
|
21
|
+
"target_id": 1,
|
22
|
+
"target_name": "full",
|
23
|
+
"target_permission": "full",
|
24
|
+
"target_recursive": true,
|
25
|
+
"target_expires_at": 1,
|
26
|
+
"target_permission_set": "desktop_app",
|
27
|
+
"target_platform": "windows",
|
28
|
+
"target_username": "jerry",
|
29
|
+
"target_user_id": 1
|
30
|
+
}
|
31
|
+
```
|
32
|
+
|
33
|
+
* `id` (int64): Action ID
|
34
|
+
* `created_at` (int64): When the action happened
|
35
|
+
* `user_id` (int64): User ID
|
36
|
+
* `file_id` (int64): File ID related to the action
|
37
|
+
* `parent_id` (int64): ID of the parent folder
|
38
|
+
* `path` (string): Path of the related action This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
|
39
|
+
* `folder` (string): Folder in which the action occurred
|
40
|
+
* `src` (string): File move originated from this path
|
41
|
+
* `destination` (string): File moved to this destination folder
|
42
|
+
* `ip` (string): Client IP that performed the action
|
43
|
+
* `username` (string): Username of the user that performed the action
|
44
|
+
* `action` (string): What action was taken. Valid values: `create`, `read`, `update`, `destroy`, `move`, `login`, `failedlogin`, `copy`, `user_create`, `user_update`, `user_destroy`, `group_create`, `group_update`, `group_destroy`, `permission_create`, `permission_destroy`, `api_key_create`, `api_key_update`, `api_key_destroy`
|
45
|
+
* `failure_type` (string): The type of login failure, if applicable. Valid values: `expired_trial`, `account_overdue`, `locked_out`, `ip_mismatch`, `password_mismatch`, `site_mismatch`, `username_not_found`, `none`, `no_ftp_permission`, `no_web_permission`, `no_directory`, `errno_enoent`, `no_sftp_permission`, `no_dav_permission`, `no_restapi_permission`, `key_mismatch`, `region_mismatch`, `expired_access`, `desktop_ip_mismatch`, `desktop_api_key_not_used_quickly_enough`, `disabled`
|
46
|
+
* `interface` (string): Inteface through which the action was taken. Valid values: `web`, `ftp`, `robot`, `jsapi`, `webdesktopapi`, `sftp`, `dav`, `desktop`, `restapi`, `scim`
|
47
|
+
* `target_id` (int64): ID of the object (such as Users, or API Keys) on which the action was taken
|
48
|
+
* `target_name` (string): Name of the User, Group or other object with a name related to this action
|
49
|
+
* `target_permission` (string): Permission level of the action
|
50
|
+
* `target_recursive` (boolean): Whether or not the action was recursive
|
51
|
+
* `target_expires_at` (int64): If searching for Histories about API keys, this is when the API key will expire
|
52
|
+
* `target_permission_set` (string): If searching for Histories about API keys, this represents the permission set of the associated API key
|
53
|
+
* `target_platform` (string): If searching for Histories about API keys, this is the platform on which the action was taken
|
54
|
+
* `target_username` (string): If searching for Histories about API keys, this is the username on which the action was taken
|
55
|
+
* `target_user_id` (int64): If searching for Histories about API keys, this is the User ID on which the action was taken
|
56
|
+
|
57
|
+
|
58
|
+
---
|
59
|
+
|
60
|
+
## List History Export Results
|
61
|
+
|
62
|
+
```
|
63
|
+
Files::HistoryExportResult.list(
|
64
|
+
user_id: 1,
|
65
|
+
page: 1,
|
66
|
+
per_page: 1,
|
67
|
+
action: "read",
|
68
|
+
history_export_id: 1
|
69
|
+
)
|
70
|
+
```
|
71
|
+
|
72
|
+
### Parameters
|
73
|
+
|
74
|
+
* `user_id` (int64): User ID. Provide a value of `0` to operate the current session's user.
|
75
|
+
* `page` (int64): Current page number.
|
76
|
+
* `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
77
|
+
* `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
78
|
+
* `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.
|
79
|
+
* `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 `created_at`.
|
80
|
+
* `history_export_id` (int64): Required - ID of the associated history export.
|
data/docs/permission.md
CHANGED
@@ -30,7 +30,7 @@
|
|
30
30
|
## List Permissions
|
31
31
|
|
32
32
|
```
|
33
|
-
Files::Permission.list(
|
33
|
+
Files::Permission.list(
|
34
34
|
page: 1,
|
35
35
|
per_page: 1,
|
36
36
|
group_id: 1,
|
@@ -63,7 +63,7 @@ Files::Permission.list(path,
|
|
63
63
|
## Create Permission
|
64
64
|
|
65
65
|
```
|
66
|
-
Files::Permission.create(
|
66
|
+
Files::Permission.create(
|
67
67
|
group_id: 1,
|
68
68
|
permission: "full",
|
69
69
|
recursive: true,
|
@@ -93,3 +93,18 @@ Files::Permission.delete(id)
|
|
93
93
|
### Parameters
|
94
94
|
|
95
95
|
* `id` (int64): Required - Permission ID.
|
96
|
+
|
97
|
+
|
98
|
+
---
|
99
|
+
|
100
|
+
## Delete Permission
|
101
|
+
|
102
|
+
```
|
103
|
+
permission = Files::Permission.list_for(path).first
|
104
|
+
|
105
|
+
permission.delete
|
106
|
+
```
|
107
|
+
|
108
|
+
### Parameters
|
109
|
+
|
110
|
+
* `id` (int64): Required - Permission ID.
|
data/docs/request.md
CHANGED
@@ -28,7 +28,7 @@
|
|
28
28
|
## List Requests
|
29
29
|
|
30
30
|
```
|
31
|
-
Files::Request.list(
|
31
|
+
Files::Request.list(
|
32
32
|
page: 1,
|
33
33
|
per_page: 1,
|
34
34
|
mine: true
|
@@ -51,7 +51,7 @@ Files::Request.list(path,
|
|
51
51
|
## List Requests
|
52
52
|
|
53
53
|
```
|
54
|
-
Files::Request.
|
54
|
+
Files::Request.get_folder(path,
|
55
55
|
page: 1,
|
56
56
|
per_page: 1,
|
57
57
|
mine: true
|
@@ -74,7 +74,8 @@ Files::Request.find_folder(path,
|
|
74
74
|
## Create Request
|
75
75
|
|
76
76
|
```
|
77
|
-
Files::Request.create(
|
77
|
+
Files::Request.create(
|
78
|
+
path: "path",
|
78
79
|
destination: "destination"
|
79
80
|
)
|
80
81
|
```
|
@@ -98,3 +99,18 @@ Files::Request.delete(id)
|
|
98
99
|
### Parameters
|
99
100
|
|
100
101
|
* `id` (int64): Required - Request ID.
|
102
|
+
|
103
|
+
|
104
|
+
---
|
105
|
+
|
106
|
+
## Delete Request
|
107
|
+
|
108
|
+
```
|
109
|
+
request = Files::Request.list_for(path).first
|
110
|
+
|
111
|
+
request.delete
|
112
|
+
```
|
113
|
+
|
114
|
+
### Parameters
|
115
|
+
|
116
|
+
* `id` (int64): Required - Request ID.
|
data/docs/user_request.md
CHANGED
@@ -4,12 +4,14 @@
|
|
4
4
|
|
5
5
|
```
|
6
6
|
{
|
7
|
+
"id": 1,
|
7
8
|
"name": "John Doe",
|
8
9
|
"email": "john.doe@files.com",
|
9
10
|
"details": "Changed Departments"
|
10
11
|
}
|
11
12
|
```
|
12
13
|
|
14
|
+
* `id` (int64): ID
|
13
15
|
* `name` (string): User's full name
|
14
16
|
* `email` (email): User email address
|
15
17
|
* `details` (string): Details of the user's request
|
data/lib/files.com.rb
CHANGED
@@ -33,6 +33,7 @@ require "files.com/models/app"
|
|
33
33
|
require "files.com/models/as2_key"
|
34
34
|
require "files.com/models/auto"
|
35
35
|
require "files.com/models/automation"
|
36
|
+
require "files.com/models/bandwidth_snapshot"
|
36
37
|
require "files.com/models/behavior"
|
37
38
|
require "files.com/models/bundle"
|
38
39
|
require "files.com/models/bundle_download"
|
@@ -50,6 +51,7 @@ require "files.com/models/group"
|
|
50
51
|
require "files.com/models/group_user"
|
51
52
|
require "files.com/models/history"
|
52
53
|
require "files.com/models/history_export"
|
54
|
+
require "files.com/models/history_export_result"
|
53
55
|
require "files.com/models/image"
|
54
56
|
require "files.com/models/invoice"
|
55
57
|
require "files.com/models/invoice_line_item"
|
data/lib/files.com/api_client.rb
CHANGED
@@ -145,11 +145,12 @@ module Files
|
|
145
145
|
end
|
146
146
|
end
|
147
147
|
|
148
|
-
def stream_download(uri, io)
|
148
|
+
def stream_download(uri, io, range)
|
149
149
|
if conn.adapter == Faraday::Adapter::NetHttp
|
150
150
|
uri = URI(uri)
|
151
151
|
Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
|
152
152
|
request = Net::HTTP::Get.new uri
|
153
|
+
request["RANGE"] = "bytes=#{range[0]}-#{range[1]}" if range
|
153
154
|
http.request request do |response|
|
154
155
|
io.fulfill_content_length(response.content_length) if io.respond_to?(:fulfill_content_length)
|
155
156
|
response.read_body do |chunk|
|
@@ -0,0 +1,91 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Files
|
4
|
+
class BandwidthSnapshot
|
5
|
+
attr_reader :options, :attributes
|
6
|
+
|
7
|
+
def initialize(attributes = {}, options = {})
|
8
|
+
@attributes = attributes || {}
|
9
|
+
@options = options || {}
|
10
|
+
end
|
11
|
+
|
12
|
+
# int64 - Site bandwidth ID
|
13
|
+
def id
|
14
|
+
@attributes[:id]
|
15
|
+
end
|
16
|
+
|
17
|
+
# double - Site bandwidth report bytes received
|
18
|
+
def bytes_received
|
19
|
+
@attributes[:bytes_received]
|
20
|
+
end
|
21
|
+
|
22
|
+
# double - Site bandwidth report bytes sent
|
23
|
+
def bytes_sent
|
24
|
+
@attributes[:bytes_sent]
|
25
|
+
end
|
26
|
+
|
27
|
+
# double - Site bandwidth report get requests
|
28
|
+
def requests_get
|
29
|
+
@attributes[:requests_get]
|
30
|
+
end
|
31
|
+
|
32
|
+
# double - Site bandwidth report put requests
|
33
|
+
def requests_put
|
34
|
+
@attributes[:requests_put]
|
35
|
+
end
|
36
|
+
|
37
|
+
# double - Site bandwidth report other requests
|
38
|
+
def requests_other
|
39
|
+
@attributes[:requests_other]
|
40
|
+
end
|
41
|
+
|
42
|
+
# date-time - Time the site bandwidth report was logged
|
43
|
+
def logged_at
|
44
|
+
@attributes[:logged_at]
|
45
|
+
end
|
46
|
+
|
47
|
+
# date-time - Site bandwidth report created at date/time
|
48
|
+
def created_at
|
49
|
+
@attributes[:created_at]
|
50
|
+
end
|
51
|
+
|
52
|
+
# date-time - The last time this site bandwidth report was updated
|
53
|
+
def updated_at
|
54
|
+
@attributes[:updated_at]
|
55
|
+
end
|
56
|
+
|
57
|
+
# Parameters:
|
58
|
+
# page - int64 - Current page number.
|
59
|
+
# per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
60
|
+
# action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
61
|
+
# 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.
|
62
|
+
# 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` and `logged_at`.
|
63
|
+
# filter - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `logged_at`.
|
64
|
+
# filter_gt - object - If set, return records where the specifiied field is greater than the supplied value. Valid fields are `logged_at`.
|
65
|
+
# filter_gteq - object - If set, return records where the specifiied field is greater than or equal to the supplied value. Valid fields are `logged_at`.
|
66
|
+
# filter_like - object - If set, return records where the specifiied field is equal to the supplied value. Valid fields are `logged_at`.
|
67
|
+
# filter_lt - object - If set, return records where the specifiied field is less than the supplied value. Valid fields are `logged_at`.
|
68
|
+
# filter_lteq - object - If set, return records where the specifiied field is less than or equal to the supplied value. Valid fields are `logged_at`.
|
69
|
+
def self.list(params = {}, options = {})
|
70
|
+
raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
|
71
|
+
raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
|
72
|
+
raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
|
73
|
+
raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
|
74
|
+
raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
|
75
|
+
raise InvalidParameterError.new("Bad parameter: filter must be an Hash") if params.dig(:filter) and !params.dig(:filter).is_a?(Hash)
|
76
|
+
raise InvalidParameterError.new("Bad parameter: filter_gt must be an Hash") if params.dig(:filter_gt) and !params.dig(:filter_gt).is_a?(Hash)
|
77
|
+
raise InvalidParameterError.new("Bad parameter: filter_gteq must be an Hash") if params.dig(:filter_gteq) and !params.dig(:filter_gteq).is_a?(Hash)
|
78
|
+
raise InvalidParameterError.new("Bad parameter: filter_like must be an Hash") if params.dig(:filter_like) and !params.dig(:filter_like).is_a?(Hash)
|
79
|
+
raise InvalidParameterError.new("Bad parameter: filter_lt must be an Hash") if params.dig(:filter_lt) and !params.dig(:filter_lt).is_a?(Hash)
|
80
|
+
raise InvalidParameterError.new("Bad parameter: filter_lteq must be an Hash") if params.dig(:filter_lteq) and !params.dig(:filter_lteq).is_a?(Hash)
|
81
|
+
|
82
|
+
List.new(BandwidthSnapshot, params) do
|
83
|
+
Api.send_request("/bandwidth_snapshots", :get, params, options)
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.all(params = {}, options = {})
|
88
|
+
list(params, options)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
@@ -305,8 +305,8 @@ module Files
|
|
305
305
|
end
|
306
306
|
end
|
307
307
|
|
308
|
-
def download_content(io)
|
309
|
-
Files::ApiClient.download_client.stream_download(download_uri_with_load, io)
|
308
|
+
def download_content(io, range: [])
|
309
|
+
Files::ApiClient.download_client.stream_download(download_uri_with_load, io, range)
|
310
310
|
end
|
311
311
|
|
312
312
|
def each(*args, &block)
|
@@ -388,11 +388,11 @@ module Files
|
|
388
388
|
read_io.gets *args
|
389
389
|
end
|
390
390
|
|
391
|
-
def read_io
|
391
|
+
def read_io(**options)
|
392
392
|
@read_io ||= begin
|
393
393
|
r, w = SizableIO.pipe
|
394
394
|
Thread.new do
|
395
|
-
download_content(w)
|
395
|
+
download_content(w, **options)
|
396
396
|
ensure
|
397
397
|
w.close
|
398
398
|
end
|
@@ -873,12 +873,8 @@ module Files
|
|
873
873
|
end
|
874
874
|
|
875
875
|
def save
|
876
|
-
|
877
|
-
|
878
|
-
else
|
879
|
-
new_obj = File.create(@attributes, @options)
|
880
|
-
@attributes = new_obj.attributes
|
881
|
-
end
|
876
|
+
new_obj = File.create(path, @attributes, @options)
|
877
|
+
@attributes = new_obj.attributes
|
882
878
|
end
|
883
879
|
|
884
880
|
# Download file
|
@@ -49,6 +49,11 @@ module Files
|
|
49
49
|
@attributes[:next_partsize]
|
50
50
|
end
|
51
51
|
|
52
|
+
# boolean - If true, parts may be uploaded in parallel
|
53
|
+
def parallel_parts
|
54
|
+
@attributes[:parallel_parts]
|
55
|
+
end
|
56
|
+
|
52
57
|
# string - Additional upload parameters
|
53
58
|
def parameters
|
54
59
|
@attributes[:parameters]
|
@@ -304,12 +304,8 @@ module Files
|
|
304
304
|
end
|
305
305
|
|
306
306
|
def save
|
307
|
-
|
308
|
-
|
309
|
-
else
|
310
|
-
new_obj = Folder.create(@attributes, @options)
|
311
|
-
@attributes = new_obj.attributes
|
312
|
-
end
|
307
|
+
new_obj = Folder.create(path, @attributes, @options)
|
308
|
+
@attributes = new_obj.attributes
|
313
309
|
end
|
314
310
|
|
315
311
|
# Parameters:
|
@@ -216,6 +216,15 @@ module Files
|
|
216
216
|
@attributes[:query_target_permission_set] = value
|
217
217
|
end
|
218
218
|
|
219
|
+
# string - If `status` is `ready` and the query succeeded, this will be a URL where all the results can be downloaded at once as a CSV.
|
220
|
+
def results_url
|
221
|
+
@attributes[:results_url]
|
222
|
+
end
|
223
|
+
|
224
|
+
def results_url=(value)
|
225
|
+
@attributes[:results_url] = value
|
226
|
+
end
|
227
|
+
|
219
228
|
# int64 - User ID. Provide a value of `0` to operate the current session's user.
|
220
229
|
def user_id
|
221
230
|
@attributes[:user_id]
|
@@ -225,20 +234,6 @@ module Files
|
|
225
234
|
@attributes[:user_id] = value
|
226
235
|
end
|
227
236
|
|
228
|
-
def delete(params = {})
|
229
|
-
params ||= {}
|
230
|
-
params[:id] = @attributes[:id]
|
231
|
-
raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
|
232
|
-
raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
|
233
|
-
raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
|
234
|
-
|
235
|
-
Api.send_request("/history_exports/#{@attributes[:id]}", :delete, params, @options)
|
236
|
-
end
|
237
|
-
|
238
|
-
def destroy(params = {})
|
239
|
-
delete(params)
|
240
|
-
end
|
241
|
-
|
242
237
|
def save
|
243
238
|
if @attributes[:id]
|
244
239
|
raise NotImplementedError.new("The HistoryExport object doesn't support updates.")
|
@@ -248,27 +243,6 @@ module Files
|
|
248
243
|
end
|
249
244
|
end
|
250
245
|
|
251
|
-
# Parameters:
|
252
|
-
# user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
|
253
|
-
# page - int64 - Current page number.
|
254
|
-
# per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
255
|
-
# action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
256
|
-
def self.list(params = {}, options = {})
|
257
|
-
raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
|
258
|
-
raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
|
259
|
-
raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
|
260
|
-
raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
|
261
|
-
|
262
|
-
response, options = Api.send_request("/history_exports", :get, params, options)
|
263
|
-
response.data.map do |entity_data|
|
264
|
-
HistoryExport.new(entity_data, options)
|
265
|
-
end
|
266
|
-
end
|
267
|
-
|
268
|
-
def self.all(params = {}, options = {})
|
269
|
-
list(params, options)
|
270
|
-
end
|
271
|
-
|
272
246
|
# Parameters:
|
273
247
|
# id (required) - int64 - History Export ID.
|
274
248
|
def self.find(id, params = {}, options = {})
|
@@ -335,19 +309,5 @@ module Files
|
|
335
309
|
response, options = Api.send_request("/history_exports", :post, params, options)
|
336
310
|
HistoryExport.new(response.data, options)
|
337
311
|
end
|
338
|
-
|
339
|
-
def self.delete(id, params = {}, options = {})
|
340
|
-
params ||= {}
|
341
|
-
params[:id] = id
|
342
|
-
raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
|
343
|
-
raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
|
344
|
-
|
345
|
-
response, _options = Api.send_request("/history_exports/#{params[:id]}", :delete, params, options)
|
346
|
-
response.data
|
347
|
-
end
|
348
|
-
|
349
|
-
def self.destroy(id, params = {}, options = {})
|
350
|
-
delete(id, params, options)
|
351
|
-
end
|
352
312
|
end
|
353
313
|
end
|
@@ -0,0 +1,154 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Files
|
4
|
+
class HistoryExportResult
|
5
|
+
attr_reader :options, :attributes
|
6
|
+
|
7
|
+
def initialize(attributes = {}, options = {})
|
8
|
+
@attributes = attributes || {}
|
9
|
+
@options = options || {}
|
10
|
+
end
|
11
|
+
|
12
|
+
# int64 - Action ID
|
13
|
+
def id
|
14
|
+
@attributes[:id]
|
15
|
+
end
|
16
|
+
|
17
|
+
# int64 - When the action happened
|
18
|
+
def created_at
|
19
|
+
@attributes[:created_at]
|
20
|
+
end
|
21
|
+
|
22
|
+
# int64 - User ID
|
23
|
+
def user_id
|
24
|
+
@attributes[:user_id]
|
25
|
+
end
|
26
|
+
|
27
|
+
# int64 - File ID related to the action
|
28
|
+
def file_id
|
29
|
+
@attributes[:file_id]
|
30
|
+
end
|
31
|
+
|
32
|
+
# int64 - ID of the parent folder
|
33
|
+
def parent_id
|
34
|
+
@attributes[:parent_id]
|
35
|
+
end
|
36
|
+
|
37
|
+
# string - Path of the related action This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
|
38
|
+
def path
|
39
|
+
@attributes[:path]
|
40
|
+
end
|
41
|
+
|
42
|
+
# string - Folder in which the action occurred
|
43
|
+
def folder
|
44
|
+
@attributes[:folder]
|
45
|
+
end
|
46
|
+
|
47
|
+
# string - File move originated from this path
|
48
|
+
def src
|
49
|
+
@attributes[:src]
|
50
|
+
end
|
51
|
+
|
52
|
+
# string - File moved to this destination folder
|
53
|
+
def destination
|
54
|
+
@attributes[:destination]
|
55
|
+
end
|
56
|
+
|
57
|
+
# string - Client IP that performed the action
|
58
|
+
def ip
|
59
|
+
@attributes[:ip]
|
60
|
+
end
|
61
|
+
|
62
|
+
# string - Username of the user that performed the action
|
63
|
+
def username
|
64
|
+
@attributes[:username]
|
65
|
+
end
|
66
|
+
|
67
|
+
# string - What action was taken. Valid values: `create`, `read`, `update`, `destroy`, `move`, `login`, `failedlogin`, `copy`, `user_create`, `user_update`, `user_destroy`, `group_create`, `group_update`, `group_destroy`, `permission_create`, `permission_destroy`, `api_key_create`, `api_key_update`, `api_key_destroy`
|
68
|
+
def action
|
69
|
+
@attributes[:action]
|
70
|
+
end
|
71
|
+
|
72
|
+
# string - The type of login failure, if applicable. Valid values: `expired_trial`, `account_overdue`, `locked_out`, `ip_mismatch`, `password_mismatch`, `site_mismatch`, `username_not_found`, `none`, `no_ftp_permission`, `no_web_permission`, `no_directory`, `errno_enoent`, `no_sftp_permission`, `no_dav_permission`, `no_restapi_permission`, `key_mismatch`, `region_mismatch`, `expired_access`, `desktop_ip_mismatch`, `desktop_api_key_not_used_quickly_enough`, `disabled`
|
73
|
+
def failure_type
|
74
|
+
@attributes[:failure_type]
|
75
|
+
end
|
76
|
+
|
77
|
+
# string - Inteface through which the action was taken. Valid values: `web`, `ftp`, `robot`, `jsapi`, `webdesktopapi`, `sftp`, `dav`, `desktop`, `restapi`, `scim`
|
78
|
+
def interface
|
79
|
+
@attributes[:interface]
|
80
|
+
end
|
81
|
+
|
82
|
+
# int64 - ID of the object (such as Users, or API Keys) on which the action was taken
|
83
|
+
def target_id
|
84
|
+
@attributes[:target_id]
|
85
|
+
end
|
86
|
+
|
87
|
+
# string - Name of the User, Group or other object with a name related to this action
|
88
|
+
def target_name
|
89
|
+
@attributes[:target_name]
|
90
|
+
end
|
91
|
+
|
92
|
+
# string - Permission level of the action
|
93
|
+
def target_permission
|
94
|
+
@attributes[:target_permission]
|
95
|
+
end
|
96
|
+
|
97
|
+
# boolean - Whether or not the action was recursive
|
98
|
+
def target_recursive
|
99
|
+
@attributes[:target_recursive]
|
100
|
+
end
|
101
|
+
|
102
|
+
# int64 - If searching for Histories about API keys, this is when the API key will expire
|
103
|
+
def target_expires_at
|
104
|
+
@attributes[:target_expires_at]
|
105
|
+
end
|
106
|
+
|
107
|
+
# string - If searching for Histories about API keys, this represents the permission set of the associated API key
|
108
|
+
def target_permission_set
|
109
|
+
@attributes[:target_permission_set]
|
110
|
+
end
|
111
|
+
|
112
|
+
# string - If searching for Histories about API keys, this is the platform on which the action was taken
|
113
|
+
def target_platform
|
114
|
+
@attributes[:target_platform]
|
115
|
+
end
|
116
|
+
|
117
|
+
# string - If searching for Histories about API keys, this is the username on which the action was taken
|
118
|
+
def target_username
|
119
|
+
@attributes[:target_username]
|
120
|
+
end
|
121
|
+
|
122
|
+
# int64 - If searching for Histories about API keys, this is the User ID on which the action was taken
|
123
|
+
def target_user_id
|
124
|
+
@attributes[:target_user_id]
|
125
|
+
end
|
126
|
+
|
127
|
+
# Parameters:
|
128
|
+
# user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
|
129
|
+
# page - int64 - Current page number.
|
130
|
+
# per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
|
131
|
+
# action - string - Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
|
132
|
+
# 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.
|
133
|
+
# 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 `created_at`.
|
134
|
+
# history_export_id (required) - int64 - ID of the associated history export.
|
135
|
+
def self.list(params = {}, options = {})
|
136
|
+
raise InvalidParameterError.new("Bad parameter: user_id must be an Integer") if params.dig(:user_id) and !params.dig(:user_id).is_a?(Integer)
|
137
|
+
raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
|
138
|
+
raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
|
139
|
+
raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
|
140
|
+
raise InvalidParameterError.new("Bad parameter: cursor must be an String") if params.dig(:cursor) and !params.dig(:cursor).is_a?(String)
|
141
|
+
raise InvalidParameterError.new("Bad parameter: sort_by must be an Hash") if params.dig(:sort_by) and !params.dig(:sort_by).is_a?(Hash)
|
142
|
+
raise InvalidParameterError.new("Bad parameter: history_export_id must be an Integer") if params.dig(:history_export_id) and !params.dig(:history_export_id).is_a?(Integer)
|
143
|
+
raise MissingParameterError.new("Parameter missing: history_export_id") unless params.dig(:history_export_id)
|
144
|
+
|
145
|
+
List.new(HistoryExportResult, params) do
|
146
|
+
Api.send_request("/history_export_results", :get, params, options)
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
def self.all(params = {}, options = {})
|
151
|
+
list(params, options)
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
@@ -109,12 +109,8 @@ module Files
|
|
109
109
|
end
|
110
110
|
|
111
111
|
def save
|
112
|
-
|
113
|
-
|
114
|
-
else
|
115
|
-
new_obj = Lock.create(@attributes, @options)
|
116
|
-
@attributes = new_obj.attributes
|
117
|
-
end
|
112
|
+
new_obj = Lock.create(path, @attributes, @options)
|
113
|
+
@attributes = new_obj.attributes
|
118
114
|
end
|
119
115
|
|
120
116
|
# Parameters:
|
@@ -81,8 +81,22 @@ module Files
|
|
81
81
|
@attributes[:recursive] = value
|
82
82
|
end
|
83
83
|
|
84
|
+
def delete(params = {})
|
85
|
+
params ||= {}
|
86
|
+
params[:id] = @attributes[:id]
|
87
|
+
raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
|
88
|
+
raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
|
89
|
+
raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
|
90
|
+
|
91
|
+
Api.send_request("/permissions/#{@attributes[:id]}", :delete, params, @options)
|
92
|
+
end
|
93
|
+
|
94
|
+
def destroy(params = {})
|
95
|
+
delete(params)
|
96
|
+
end
|
97
|
+
|
84
98
|
def save
|
85
|
-
if @attributes[:
|
99
|
+
if @attributes[:id]
|
86
100
|
raise NotImplementedError.new("The Permission object doesn't support updates.")
|
87
101
|
else
|
88
102
|
new_obj = Permission.create(@attributes, @options)
|
@@ -106,9 +120,7 @@ module Files
|
|
106
120
|
# group_id - string - DEPRECATED: Group ID. If provided, will scope permissions to this group. Use `filter[group_id]` instead.`
|
107
121
|
# user_id - string - DEPRECATED: User ID. If provided, will scope permissions to this user. Use `filter[user_id]` instead.`
|
108
122
|
# include_groups - boolean - If searching by user or group, also include user's permissions that are inherited from its groups?
|
109
|
-
def self.list(
|
110
|
-
params ||= {}
|
111
|
-
params[:path] = path
|
123
|
+
def self.list(params = {}, options = {})
|
112
124
|
raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
|
113
125
|
raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
|
114
126
|
raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
|
@@ -129,8 +141,8 @@ module Files
|
|
129
141
|
end
|
130
142
|
end
|
131
143
|
|
132
|
-
def self.all(
|
133
|
-
list(
|
144
|
+
def self.all(params = {}, options = {})
|
145
|
+
list(params, options)
|
134
146
|
end
|
135
147
|
|
136
148
|
# Parameters:
|
@@ -140,9 +152,7 @@ module Files
|
|
140
152
|
# recursive - boolean - Apply to subfolders recursively?
|
141
153
|
# user_id - int64 - User ID. Provide `username` or `user_id`
|
142
154
|
# username - string - User username. Provide `username` or `user_id`
|
143
|
-
def self.create(
|
144
|
-
params ||= {}
|
145
|
-
params[:path] = path
|
155
|
+
def self.create(params = {}, options = {})
|
146
156
|
raise InvalidParameterError.new("Bad parameter: group_id must be an Integer") if params.dig(:group_id) and !params.dig(:group_id).is_a?(Integer)
|
147
157
|
raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
|
148
158
|
raise InvalidParameterError.new("Bad parameter: permission must be an String") if params.dig(:permission) and !params.dig(:permission).is_a?(String)
|
@@ -153,8 +163,6 @@ module Files
|
|
153
163
|
Permission.new(response.data, options)
|
154
164
|
end
|
155
165
|
|
156
|
-
# Parameters:
|
157
|
-
# id (required) - int64 - Permission ID.
|
158
166
|
def self.delete(id, params = {}, options = {})
|
159
167
|
params ||= {}
|
160
168
|
params[:id] = id
|
@@ -81,8 +81,22 @@ module Files
|
|
81
81
|
@attributes[:group_ids] = value
|
82
82
|
end
|
83
83
|
|
84
|
+
def delete(params = {})
|
85
|
+
params ||= {}
|
86
|
+
params[:id] = @attributes[:id]
|
87
|
+
raise MissingParameterError.new("Current object doesn't have a id") unless @attributes[:id]
|
88
|
+
raise InvalidParameterError.new("Bad parameter: id must be an Integer") if params.dig(:id) and !params.dig(:id).is_a?(Integer)
|
89
|
+
raise MissingParameterError.new("Parameter missing: id") unless params.dig(:id)
|
90
|
+
|
91
|
+
Api.send_request("/requests/#{@attributes[:id]}", :delete, params, @options)
|
92
|
+
end
|
93
|
+
|
94
|
+
def destroy(params = {})
|
95
|
+
delete(params)
|
96
|
+
end
|
97
|
+
|
84
98
|
def save
|
85
|
-
if @attributes[:
|
99
|
+
if @attributes[:id]
|
86
100
|
raise NotImplementedError.new("The Request object doesn't support updates.")
|
87
101
|
else
|
88
102
|
new_obj = Request.create(@attributes, @options)
|
@@ -98,9 +112,7 @@ module Files
|
|
98
112
|
# 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`.
|
99
113
|
# mine - boolean - Only show requests of the current user? (Defaults to true if current user is not a site admin.)
|
100
114
|
# path - string - Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
|
101
|
-
def self.list(
|
102
|
-
params ||= {}
|
103
|
-
params[:path] = path
|
115
|
+
def self.list(params = {}, options = {})
|
104
116
|
raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
|
105
117
|
raise InvalidParameterError.new("Bad parameter: per_page must be an Integer") if params.dig(:per_page) and !params.dig(:per_page).is_a?(Integer)
|
106
118
|
raise InvalidParameterError.new("Bad parameter: action must be an String") if params.dig(:action) and !params.dig(:action).is_a?(String)
|
@@ -113,8 +125,8 @@ module Files
|
|
113
125
|
end
|
114
126
|
end
|
115
127
|
|
116
|
-
def self.all(
|
117
|
-
list(
|
128
|
+
def self.all(params = {}, options = {})
|
129
|
+
list(params, options)
|
118
130
|
end
|
119
131
|
|
120
132
|
# Parameters:
|
@@ -125,7 +137,7 @@ module Files
|
|
125
137
|
# 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`.
|
126
138
|
# mine - boolean - Only show requests of the current user? (Defaults to true if current user is not a site admin.)
|
127
139
|
# path (required) - string - Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
|
128
|
-
def self.
|
140
|
+
def self.get_folder(path, params = {}, options = {})
|
129
141
|
params ||= {}
|
130
142
|
params[:path] = path
|
131
143
|
raise InvalidParameterError.new("Bad parameter: page must be an Integer") if params.dig(:page) and !params.dig(:page).is_a?(Integer)
|
@@ -146,9 +158,7 @@ module Files
|
|
146
158
|
# destination (required) - string - Destination filename (without extension) to request.
|
147
159
|
# user_ids - string - A list of user IDs to request the file from. If sent as a string, it should be comma-delimited.
|
148
160
|
# group_ids - string - A list of group IDs to request the file from. If sent as a string, it should be comma-delimited.
|
149
|
-
def self.create(
|
150
|
-
params ||= {}
|
151
|
-
params[:path] = path
|
161
|
+
def self.create(params = {}, options = {})
|
152
162
|
raise InvalidParameterError.new("Bad parameter: path must be an String") if params.dig(:path) and !params.dig(:path).is_a?(String)
|
153
163
|
raise InvalidParameterError.new("Bad parameter: destination must be an String") if params.dig(:destination) and !params.dig(:destination).is_a?(String)
|
154
164
|
raise InvalidParameterError.new("Bad parameter: user_ids must be an String") if params.dig(:user_ids) and !params.dig(:user_ids).is_a?(String)
|
@@ -160,8 +170,6 @@ module Files
|
|
160
170
|
Request.new(response.data, options)
|
161
171
|
end
|
162
172
|
|
163
|
-
# Parameters:
|
164
|
-
# id (required) - int64 - Request ID.
|
165
173
|
def self.delete(id, params = {}, options = {})
|
166
174
|
params ||= {}
|
167
175
|
params[:id] = id
|
data/spec/models/file_spec.rb
CHANGED
@@ -2,7 +2,7 @@ require "spec_helper"
|
|
2
2
|
require "tempfile"
|
3
3
|
|
4
4
|
RSpec.describe Files::File, :with_test_folder do
|
5
|
-
|
5
|
+
xdescribe "#read" do
|
6
6
|
before do
|
7
7
|
Files::File.open(test_folder.join("[[strange stuff]]#yes.text").to_s, 'w', options) do |f|
|
8
8
|
f.write("contents")
|
@@ -15,7 +15,7 @@ RSpec.describe Files::File, :with_test_folder do
|
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
|
-
|
18
|
+
xdescribe "#read_io" do
|
19
19
|
before do
|
20
20
|
Files::File.open(test_folder.join("read.txt").to_s, 'w', options) do |f|
|
21
21
|
f.write("contents")
|
@@ -30,7 +30,7 @@ RSpec.describe Files::File, :with_test_folder do
|
|
30
30
|
end
|
31
31
|
end
|
32
32
|
|
33
|
-
|
33
|
+
xdescribe "#write" do
|
34
34
|
it "can take string" do
|
35
35
|
Files::File.open(test_folder.join("write-as-string.txt").to_s, 'w', options) do |f|
|
36
36
|
f.write("I am a string")
|
data/spec/models/folder_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require "spec_helper"
|
2
2
|
|
3
3
|
RSpec.describe Files::Folder, :with_test_folder do
|
4
|
-
|
4
|
+
xdescribe "#list_for" do
|
5
5
|
before do
|
6
6
|
Files::File.open(test_folder.join("example.txt").to_s, 'w', options) do |f|
|
7
7
|
f.write("my text")
|
@@ -22,7 +22,7 @@ RSpec.describe Files::Folder, :with_test_folder do
|
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
25
|
-
|
25
|
+
xdescribe "#delete" do
|
26
26
|
it "deletes a folder" do
|
27
27
|
Files::Folder.mkdir(test_folder.join("my-new-folder").to_s, {}, options)
|
28
28
|
Files::Folder.delete(test_folder.join("my-new-folder").to_s, {}, options)
|
@@ -31,7 +31,7 @@ RSpec.describe Files::Folder, :with_test_folder do
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
-
|
34
|
+
xdescribe "mkdir" do
|
35
35
|
it "makes a new folder" do
|
36
36
|
Files::Folder.mkdir(test_folder.join("my-new-folder").to_s, {}, options)
|
37
37
|
expect(Files::Folder.exist?(test_folder.join("my-new-folder").to_s, options)).to eq(true)
|
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.
|
4
|
+
version: 1.0.104
|
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-
|
11
|
+
date: 2020-08-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|
@@ -92,6 +92,7 @@ files:
|
|
92
92
|
- docs/as2_key.md
|
93
93
|
- docs/auto.md
|
94
94
|
- docs/automation.md
|
95
|
+
- docs/bandwidth_snapshot.md
|
95
96
|
- docs/behavior.md
|
96
97
|
- docs/bundle.md
|
97
98
|
- docs/bundle_download.md
|
@@ -110,6 +111,7 @@ files:
|
|
110
111
|
- docs/group_user.md
|
111
112
|
- docs/history.md
|
112
113
|
- docs/history_export.md
|
114
|
+
- docs/history_export_result.md
|
113
115
|
- docs/image.md
|
114
116
|
- docs/invoice.md
|
115
117
|
- docs/invoice_line_item.md
|
@@ -153,6 +155,7 @@ files:
|
|
153
155
|
- lib/files.com/models/as2_key.rb
|
154
156
|
- lib/files.com/models/auto.rb
|
155
157
|
- lib/files.com/models/automation.rb
|
158
|
+
- lib/files.com/models/bandwidth_snapshot.rb
|
156
159
|
- lib/files.com/models/behavior.rb
|
157
160
|
- lib/files.com/models/bundle.rb
|
158
161
|
- lib/files.com/models/bundle_download.rb
|
@@ -172,6 +175,7 @@ files:
|
|
172
175
|
- lib/files.com/models/group_user.rb
|
173
176
|
- lib/files.com/models/history.rb
|
174
177
|
- lib/files.com/models/history_export.rb
|
178
|
+
- lib/files.com/models/history_export_result.rb
|
175
179
|
- lib/files.com/models/image.rb
|
176
180
|
- lib/files.com/models/invoice.rb
|
177
181
|
- lib/files.com/models/invoice_line_item.rb
|