brick_ftp 1.0.0 → 2.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +10 -3
- data/.github/action/publish_gem/Dockerfile +14 -0
- data/.github/action/publish_gem/entrypoint.sh +18 -0
- data/.github/action/write_github_release/Dockerfile +14 -0
- data/.github/action/write_github_release/entrypoint.sh +48 -0
- data/.github/main.workflow +14 -0
- data/CHANGELOG.md +77 -2
- data/README.md +6 -3
- data/brick_ftp.gemspec +1 -2
- data/lib/brick_ftp.rb +2 -1
- data/lib/brick_ftp/restful_api.rb +11 -11
- data/lib/brick_ftp/restful_api/add_group_member.rb +2 -2
- data/lib/brick_ftp/restful_api/client.rb +4 -2
- data/lib/brick_ftp/restful_api/complete_upload.rb +2 -2
- data/lib/brick_ftp/restful_api/continue_upload.rb +2 -2
- data/lib/brick_ftp/restful_api/copy_folder.rb +1 -1
- data/lib/brick_ftp/restful_api/count_folder_contents.rb +3 -3
- data/lib/brick_ftp/restful_api/count_users.rb +1 -1
- data/lib/brick_ftp/restful_api/create_api_key.rb +2 -2
- data/lib/brick_ftp/restful_api/create_behavior.rb +2 -2
- data/lib/brick_ftp/restful_api/create_bundle.rb +2 -2
- data/lib/brick_ftp/restful_api/create_folder.rb +1 -1
- data/lib/brick_ftp/restful_api/create_group.rb +2 -2
- data/lib/brick_ftp/restful_api/create_notification.rb +2 -2
- data/lib/brick_ftp/restful_api/create_permission.rb +2 -2
- data/lib/brick_ftp/restful_api/create_public_key.rb +2 -2
- data/lib/brick_ftp/restful_api/create_user.rb +2 -2
- data/lib/brick_ftp/restful_api/create_user_in_group.rb +2 -2
- data/lib/brick_ftp/restful_api/delete_api_key.rb +1 -1
- data/lib/brick_ftp/restful_api/delete_behavior.rb +1 -1
- data/lib/brick_ftp/restful_api/delete_bundle.rb +1 -1
- data/lib/brick_ftp/restful_api/delete_folder.rb +5 -7
- data/lib/brick_ftp/restful_api/delete_group.rb +1 -1
- data/lib/brick_ftp/restful_api/delete_notification.rb +1 -1
- data/lib/brick_ftp/restful_api/delete_permission.rb +1 -1
- data/lib/brick_ftp/restful_api/delete_public_key.rb +1 -1
- data/lib/brick_ftp/restful_api/delete_user.rb +1 -1
- data/lib/brick_ftp/restful_api/download_file.rb +2 -2
- data/lib/brick_ftp/restful_api/get_api_key.rb +2 -2
- data/lib/brick_ftp/restful_api/get_behavior.rb +2 -2
- data/lib/brick_ftp/restful_api/get_bundle.rb +2 -2
- data/lib/brick_ftp/restful_api/get_bundle_zip.rb +2 -2
- data/lib/brick_ftp/restful_api/get_file_in_bundle.rb +2 -2
- data/lib/brick_ftp/restful_api/get_folder_size.rb +1 -1
- data/lib/brick_ftp/restful_api/get_group.rb +2 -2
- data/lib/brick_ftp/restful_api/get_public_key.rb +2 -2
- data/lib/brick_ftp/restful_api/get_site_usage.rb +1 -1
- data/lib/brick_ftp/restful_api/get_user.rb +2 -2
- data/lib/brick_ftp/restful_api/list_api_keys.rb +2 -2
- data/lib/brick_ftp/restful_api/list_behaviors.rb +2 -2
- data/lib/brick_ftp/restful_api/list_bundle_contents.rb +2 -2
- data/lib/brick_ftp/restful_api/list_bundles.rb +2 -2
- data/lib/brick_ftp/restful_api/list_folder_behaviors.rb +2 -2
- data/lib/brick_ftp/restful_api/list_folders.rb +2 -2
- data/lib/brick_ftp/restful_api/list_groups.rb +2 -2
- data/lib/brick_ftp/restful_api/list_notifications.rb +2 -2
- data/lib/brick_ftp/restful_api/list_permissions.rb +2 -2
- data/lib/brick_ftp/restful_api/list_public_keys.rb +2 -2
- data/lib/brick_ftp/restful_api/list_users.rb +2 -2
- data/lib/brick_ftp/restful_api/move_folder.rb +1 -1
- data/lib/brick_ftp/restful_api/remove_group_member.rb +1 -1
- data/lib/brick_ftp/restful_api/retrieve_file_history.rb +1 -1
- data/lib/brick_ftp/restful_api/retrieve_folder_history.rb +1 -1
- data/lib/brick_ftp/restful_api/retrieve_history.rb +1 -1
- data/lib/brick_ftp/restful_api/retrieve_login_history.rb +1 -1
- data/lib/brick_ftp/restful_api/retrieve_site_history.rb +1 -1
- data/lib/brick_ftp/restful_api/retrieve_user_history.rb +1 -1
- data/lib/brick_ftp/restful_api/search_user.rb +2 -2
- data/lib/brick_ftp/restful_api/start_upload.rb +2 -2
- data/lib/brick_ftp/restful_api/unlock_user.rb +2 -2
- data/lib/brick_ftp/restful_api/update_behavior.rb +2 -2
- data/lib/brick_ftp/restful_api/update_group.rb +2 -2
- data/lib/brick_ftp/restful_api/update_group_member.rb +2 -2
- data/lib/brick_ftp/restful_api/update_user.rb +2 -2
- data/lib/brick_ftp/restful_api/upload_file.rb +4 -4
- data/lib/brick_ftp/types/behavior.rb +4 -2
- data/lib/brick_ftp/types/bundle.rb +4 -2
- data/lib/brick_ftp/types/bundle_content.rb +4 -2
- data/lib/brick_ftp/types/bundle_zip.rb +4 -2
- data/lib/brick_ftp/types/file.rb +4 -2
- data/lib/brick_ftp/types/file_in_bundle.rb +4 -2
- data/lib/brick_ftp/types/folder_contents_count.rb +5 -3
- data/lib/brick_ftp/types/group.rb +4 -2
- data/lib/brick_ftp/types/group_membership.rb +4 -2
- data/lib/brick_ftp/types/history.rb +4 -2
- data/lib/brick_ftp/types/ignore_undefined_attributes.rb +11 -0
- data/lib/brick_ftp/types/notification.rb +4 -2
- data/lib/brick_ftp/types/permission.rb +4 -2
- data/lib/brick_ftp/types/site_usage.rb +3 -1
- data/lib/brick_ftp/types/upload.rb +4 -2
- data/lib/brick_ftp/types/user.rb +4 -2
- data/lib/brick_ftp/types/user_api_key.rb +4 -2
- data/lib/brick_ftp/types/user_public_key.rb +4 -2
- data/lib/brick_ftp/version.rb +1 -1
- metadata +14 -23
@@ -6,8 +6,8 @@ module BrickFTP
|
|
6
6
|
module RESTfulAPI
|
7
7
|
# Count folder contents
|
8
8
|
#
|
9
|
-
# @see https://developers.
|
10
|
-
# @see https://developers.
|
9
|
+
# @see https://developers.files.com/#count-folder-contents-recursively Count folder contents recursively
|
10
|
+
# @see https://developers.files.com/#count-folder-contents-non-recursively Count folder contents non-recursively
|
11
11
|
#
|
12
12
|
class CountFolderContents
|
13
13
|
include Command
|
@@ -29,7 +29,7 @@ module BrickFTP
|
|
29
29
|
if recursive
|
30
30
|
BrickFTP::Types::FolderContentsCount.new(total: res['data']['count'])
|
31
31
|
else
|
32
|
-
BrickFTP::Types::FolderContentsCount.new(res['data']['count'].symbolize_keys)
|
32
|
+
BrickFTP::Types::FolderContentsCount.new(**res['data']['count'].symbolize_keys)
|
33
33
|
end
|
34
34
|
end
|
35
35
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create an API key
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-an-api-key Create an API key
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -39,7 +39,7 @@ module BrickFTP
|
|
39
39
|
def call(id, params)
|
40
40
|
res = client.post("/api/rest/v1/users/#{id}/api_keys.json", params.to_h.compact)
|
41
41
|
|
42
|
-
BrickFTP::Types::UserAPIKey.new(res.symbolize_keys)
|
42
|
+
BrickFTP::Types::UserAPIKey.new(**res.symbolize_keys)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create a behavior
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-a-behavior Create a behavior
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -35,7 +35,7 @@ module BrickFTP
|
|
35
35
|
def call(params)
|
36
36
|
res = client.post('/api/rest/v1/behaviors.json', params.to_h.compact)
|
37
37
|
|
38
|
-
BrickFTP::Types::Behavior.new(res.symbolize_keys)
|
38
|
+
BrickFTP::Types::Behavior.new(**res.symbolize_keys)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create a bundle
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-a-bundle Create a bundle
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -33,7 +33,7 @@ module BrickFTP
|
|
33
33
|
def call(params)
|
34
34
|
res = client.post('/api/rest/v1/bundles.json', params.to_h.compact)
|
35
35
|
|
36
|
-
BrickFTP::Types::Bundle.new(res.symbolize_keys)
|
36
|
+
BrickFTP::Types::Bundle.new(**res.symbolize_keys)
|
37
37
|
end
|
38
38
|
end
|
39
39
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create a group
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-a-group Create a group
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -35,7 +35,7 @@ module BrickFTP
|
|
35
35
|
def call(params)
|
36
36
|
res = client.post('/api/rest/v1/groups.json', params.to_h.compact)
|
37
37
|
|
38
|
-
BrickFTP::Types::Group.new(res.symbolize_keys)
|
38
|
+
BrickFTP::Types::Group.new(**res.symbolize_keys)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create a notification
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-a-notification Create a notification
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -37,7 +37,7 @@ module BrickFTP
|
|
37
37
|
def call(params)
|
38
38
|
res = client.post('/api/rest/v1/notifications.json', params.to_h.compact)
|
39
39
|
|
40
|
-
BrickFTP::Types::Notification.new(res.symbolize_keys)
|
40
|
+
BrickFTP::Types::Notification.new(**res.symbolize_keys)
|
41
41
|
end
|
42
42
|
end
|
43
43
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create a permission
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-a-permission Create a permission
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -41,7 +41,7 @@ module BrickFTP
|
|
41
41
|
def call(params)
|
42
42
|
res = client.post('/api/rest/v1/permissions.json', params.to_h.compact)
|
43
43
|
|
44
|
-
BrickFTP::Types::Permission.new(res.symbolize_keys)
|
44
|
+
BrickFTP::Types::Permission.new(**res.symbolize_keys)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create a public key
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-a-public-key Create a public key
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -35,7 +35,7 @@ module BrickFTP
|
|
35
35
|
def call(id, params)
|
36
36
|
res = client.post("/api/rest/v1/users/#{id}/public_keys.json", params.to_h.compact)
|
37
37
|
|
38
|
-
BrickFTP::Types::UserPublicKey.new(res.symbolize_keys)
|
38
|
+
BrickFTP::Types::UserPublicKey.new(**res.symbolize_keys)
|
39
39
|
end
|
40
40
|
end
|
41
41
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create a user
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-a-user Create a user
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -83,7 +83,7 @@ module BrickFTP
|
|
83
83
|
def call(params)
|
84
84
|
res = client.post('/api/rest/v1/users.json', params.to_h.compact)
|
85
85
|
|
86
|
-
BrickFTP::Types::User.new(res.symbolize_keys)
|
86
|
+
BrickFTP::Types::User.new(**res.symbolize_keys)
|
87
87
|
end
|
88
88
|
end
|
89
89
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Create a user in a group
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#create-a-user-in-a-groupCreate a user in a group
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -53,7 +53,7 @@ module BrickFTP
|
|
53
53
|
def call(id, params)
|
54
54
|
res = client.post("/api/rest/v1/groups/#{id}/users.json", user: params.to_h.compact)
|
55
55
|
|
56
|
-
BrickFTP::Types::User.new(res.symbolize_keys)
|
56
|
+
BrickFTP::Types::User.new(**res.symbolize_keys)
|
57
57
|
end
|
58
58
|
end
|
59
59
|
end
|
@@ -6,25 +6,23 @@ module BrickFTP
|
|
6
6
|
module RESTfulAPI
|
7
7
|
# Delete a file or folder
|
8
8
|
#
|
9
|
-
# @see https://developers.
|
9
|
+
# @see https://developers.files.com/#delete-file-folder Delete file/folder
|
10
10
|
#
|
11
11
|
class DeleteFolder
|
12
12
|
include Command
|
13
13
|
|
14
14
|
# Deletes a file or folder.
|
15
15
|
#
|
16
|
-
#
|
17
|
-
# If you want to recursively delete a folder and all its contents, send the request with a `Depth` header
|
18
|
-
# with the value set to `infinity`.
|
16
|
+
# > If true, will recursively delete folers. Otherwise, will error on non-empty folders.
|
19
17
|
#
|
20
18
|
# @param [String] path Full path of the file or folder. Maximum of 550 characters.
|
21
19
|
# @param [Boolean] recursive
|
22
20
|
#
|
23
21
|
def call(path, recursive: false)
|
24
|
-
|
25
|
-
|
22
|
+
url = "/api/rest/v1/files/#{ERB::Util.url_encode(path)}"
|
23
|
+
url += '?recursive=true' if recursive
|
26
24
|
|
27
|
-
client.delete(
|
25
|
+
client.delete(url)
|
28
26
|
true
|
29
27
|
end
|
30
28
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Delete a notification
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#delete-a-notification Delete a notification
|
8
8
|
#
|
9
9
|
class DeleteNotification
|
10
10
|
include Command
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Delete a permission
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#delete-a-permission Delete a permission
|
8
8
|
#
|
9
9
|
class DeletePermission
|
10
10
|
include Command
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Delete a public key
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#delete-a-public-key Delete a public key
|
8
8
|
#
|
9
9
|
class DeletePublicKey
|
10
10
|
include Command
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Download a file
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#download-a-file Download a file
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -38,7 +38,7 @@ module BrickFTP
|
|
38
38
|
res = client.get(endpoint)
|
39
39
|
return nil if !res || res.empty?
|
40
40
|
|
41
|
-
BrickFTP::Types::File.new(res.symbolize_keys)
|
41
|
+
BrickFTP::Types::File.new(**res.symbolize_keys)
|
42
42
|
end
|
43
43
|
end
|
44
44
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Show an API key
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#show-an-api-key Show an API key
|
8
8
|
#
|
9
9
|
class GetAPIKey
|
10
10
|
include Command
|
@@ -19,7 +19,7 @@ module BrickFTP
|
|
19
19
|
def call(id)
|
20
20
|
res = client.get("/api/rest/v1/api_keys/#{id}.json")
|
21
21
|
|
22
|
-
BrickFTP::Types::UserAPIKey.new(res.symbolize_keys)
|
22
|
+
BrickFTP::Types::UserAPIKey.new(**res.symbolize_keys)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Show a behavior
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#show-a-behavior Show a behavior
|
8
8
|
#
|
9
9
|
class GetBehavior
|
10
10
|
include Command
|
@@ -19,7 +19,7 @@ module BrickFTP
|
|
19
19
|
res = client.get("/api/rest/v1/behaviors/#{id}.json")
|
20
20
|
return nil if !res || res.empty?
|
21
21
|
|
22
|
-
BrickFTP::Types::Behavior.new(res.symbolize_keys)
|
22
|
+
BrickFTP::Types::Behavior.new(**res.symbolize_keys)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Show a bundle
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#show-a-bundle Show a bundle
|
8
8
|
#
|
9
9
|
class GetBundle
|
10
10
|
include Command
|
@@ -19,7 +19,7 @@ module BrickFTP
|
|
19
19
|
res = client.get("/api/rest/v1/bundles/#{id}.json")
|
20
20
|
return nil if !res || res.empty?
|
21
21
|
|
22
|
-
BrickFTP::Types::Bundle.new(res.symbolize_keys)
|
22
|
+
BrickFTP::Types::Bundle.new(**res.symbolize_keys)
|
23
23
|
end
|
24
24
|
end
|
25
25
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Download entire bundle as ZIP
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#download-entire-bundle-as-zip Download entire bundle as ZIP
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -41,7 +41,7 @@ module BrickFTP
|
|
41
41
|
def call(params)
|
42
42
|
res = client.post('/api/rest/v1/bundles/zip.json', params.to_h.compact)
|
43
43
|
|
44
|
-
BrickFTP::Types::BundleZip.new(res.symbolize_keys)
|
44
|
+
BrickFTP::Types::BundleZip.new(**res.symbolize_keys)
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Download one file in a bundle
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#download-one-file-in-a-bundle Download one file in a bundle
|
8
8
|
#
|
9
9
|
# ### Params
|
10
10
|
#
|
@@ -42,7 +42,7 @@ module BrickFTP
|
|
42
42
|
def call(params)
|
43
43
|
res = client.post('/api/rest/v1/bundles/download.json', params.to_h.compact)
|
44
44
|
|
45
|
-
BrickFTP::Types::FileInBundle.new(res.symbolize_keys)
|
45
|
+
BrickFTP::Types::FileInBundle.new(**res.symbolize_keys)
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
@@ -4,7 +4,7 @@ module BrickFTP
|
|
4
4
|
module RESTfulAPI
|
5
5
|
# Show a group
|
6
6
|
#
|
7
|
-
# @see https://developers.
|
7
|
+
# @see https://developers.files.com/#show-a-group Show a group
|
8
8
|
#
|
9
9
|
class GetGroup
|
10
10
|
include Command
|
@@ -20,7 +20,7 @@ module BrickFTP
|
|
20
20
|
res = client.get("/api/rest/v1/groups/#{id}.json")
|
21
21
|
return nil if !res || res.empty?
|
22
22
|
|
23
|
-
BrickFTP::Types::Group.new(res.symbolize_keys)
|
23
|
+
BrickFTP::Types::Group.new(**res.symbolize_keys)
|
24
24
|
end
|
25
25
|
end
|
26
26
|
end
|