ruby-lokalise-api 7.2.0 → 8.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ruby_lokalise_api/base_client.rb +2 -34
- data/lib/ruby_lokalise_api/client.rb +2 -31
- data/lib/ruby_lokalise_api/collections/base.rb +97 -70
- data/lib/ruby_lokalise_api/collections/branches.rb +11 -0
- data/lib/ruby_lokalise_api/collections/contributors.rb +10 -0
- data/lib/ruby_lokalise_api/collections/custom_translation_statuses.rb +10 -0
- data/lib/ruby_lokalise_api/collections/files.rb +10 -0
- data/lib/ruby_lokalise_api/collections/key_comments.rb +11 -0
- data/lib/ruby_lokalise_api/collections/keys.rb +10 -0
- data/lib/ruby_lokalise_api/collections/orders.rb +10 -0
- data/lib/ruby_lokalise_api/collections/payment_cards.rb +10 -0
- data/lib/ruby_lokalise_api/collections/project_comments.rb +12 -0
- data/lib/ruby_lokalise_api/collections/project_languages.rb +11 -0
- data/lib/ruby_lokalise_api/collections/projects.rb +10 -0
- data/lib/ruby_lokalise_api/collections/queued_processes.rb +11 -0
- data/lib/ruby_lokalise_api/collections/screenshots.rb +10 -0
- data/lib/ruby_lokalise_api/collections/segments.rb +10 -0
- data/lib/ruby_lokalise_api/collections/snapshots.rb +10 -0
- data/lib/ruby_lokalise_api/collections/system_languages.rb +11 -0
- data/lib/ruby_lokalise_api/collections/tasks.rb +10 -0
- data/lib/ruby_lokalise_api/collections/team_user_groups.rb +11 -0
- data/lib/ruby_lokalise_api/collections/team_users.rb +10 -0
- data/lib/ruby_lokalise_api/collections/teams.rb +10 -0
- data/lib/ruby_lokalise_api/collections/translation_providers.rb +10 -0
- data/lib/ruby_lokalise_api/collections/translations.rb +10 -0
- data/lib/ruby_lokalise_api/collections/webhooks.rb +10 -0
- data/lib/ruby_lokalise_api/concerns/attrs_loadable.rb +32 -0
- data/lib/ruby_lokalise_api/concerns/hash_accessible.rb +16 -0
- data/lib/ruby_lokalise_api/concerns/unsupportable.rb +16 -0
- data/lib/ruby_lokalise_api/connection.rb +17 -9
- data/lib/ruby_lokalise_api/data/collection_attributes.yml +52 -0
- data/lib/ruby_lokalise_api/data/{attributes.yml → resource_attributes.yml} +64 -6
- data/lib/ruby_lokalise_api/endpoints/base_endpoint.rb +66 -0
- data/lib/ruby_lokalise_api/endpoints/branches_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/contributors_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/custom_translation_statuses_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/files_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/jwts_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/key_comments_endpoint.rb +17 -0
- data/lib/ruby_lokalise_api/endpoints/keys_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/main_endpoint.rb +25 -0
- data/lib/ruby_lokalise_api/endpoints/oauth2/oauth2_endpoint.rb +33 -0
- data/lib/ruby_lokalise_api/endpoints/orders_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/payment_cards_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/project_comments_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/project_languages_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/projects_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/queued_processes_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/screenshots_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/segments_endpoint.rb +17 -0
- data/lib/ruby_lokalise_api/endpoints/snapshots_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/system_languages_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/tasks_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/team_user_billing_details_endpoint.rb +15 -0
- data/lib/ruby_lokalise_api/endpoints/team_user_groups_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/team_users_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/teams_endpoint.rb +13 -0
- data/lib/ruby_lokalise_api/endpoints/translation_providers_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/translations_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/endpoints/webhooks_endpoint.rb +16 -0
- data/lib/ruby_lokalise_api/error.rb +1 -0
- data/lib/ruby_lokalise_api/generics.rb +25 -0
- data/lib/ruby_lokalise_api/json_handler.rb +1 -2
- data/lib/ruby_lokalise_api/oauth2/auth.rb +48 -39
- data/lib/ruby_lokalise_api/oauth2_client.rb +3 -0
- data/lib/ruby_lokalise_api/request.rb +66 -18
- data/lib/ruby_lokalise_api/resources/base.rb +41 -185
- data/lib/ruby_lokalise_api/resources/branch.rb +2 -21
- data/lib/ruby_lokalise_api/resources/comment.rb +11 -0
- data/lib/ruby_lokalise_api/resources/contributor.rb +1 -9
- data/lib/ruby_lokalise_api/resources/custom_translation_status.rb +1 -13
- data/lib/ruby_lokalise_api/resources/file.rb +2 -16
- data/lib/ruby_lokalise_api/resources/jwt.rb +2 -5
- data/lib/ruby_lokalise_api/resources/key.rb +5 -8
- data/lib/ruby_lokalise_api/resources/oauth2_refreshed_token.rb +9 -0
- data/lib/ruby_lokalise_api/resources/oauth2_token.rb +9 -0
- data/lib/ruby_lokalise_api/resources/order.rb +2 -9
- data/lib/ruby_lokalise_api/resources/payment_card.rb +2 -8
- data/lib/ruby_lokalise_api/resources/project.rb +85 -16
- data/lib/ruby_lokalise_api/resources/project_language.rb +2 -10
- data/lib/ruby_lokalise_api/resources/queued_process.rb +3 -10
- data/lib/ruby_lokalise_api/resources/screenshot.rb +1 -9
- data/lib/ruby_lokalise_api/resources/segment.rb +2 -11
- data/lib/ruby_lokalise_api/resources/snapshot.rb +3 -18
- data/lib/ruby_lokalise_api/resources/system_language.rb +2 -1
- data/lib/ruby_lokalise_api/resources/task.rb +1 -9
- data/lib/ruby_lokalise_api/resources/team.rb +2 -0
- data/lib/ruby_lokalise_api/resources/team_user.rb +1 -9
- data/lib/ruby_lokalise_api/resources/team_user_billing_details.rb +10 -5
- data/lib/ruby_lokalise_api/resources/team_user_group.rb +6 -14
- data/lib/ruby_lokalise_api/resources/translation.rb +2 -9
- data/lib/ruby_lokalise_api/resources/translation_provider.rb +2 -9
- data/lib/ruby_lokalise_api/resources/webhook.rb +2 -16
- data/lib/ruby_lokalise_api/response.rb +50 -0
- data/lib/ruby_lokalise_api/rest/branches.rb +52 -27
- data/lib/ruby_lokalise_api/rest/comments.rb +48 -23
- data/lib/ruby_lokalise_api/rest/contributors.rb +47 -23
- data/lib/ruby_lokalise_api/rest/custom_translation_statuses.rb +60 -36
- data/lib/ruby_lokalise_api/rest/files.rb +43 -24
- data/lib/ruby_lokalise_api/rest/jwts.rb +21 -0
- data/lib/ruby_lokalise_api/rest/keys.rb +67 -34
- data/lib/ruby_lokalise_api/rest/languages.rb +57 -28
- data/lib/ruby_lokalise_api/rest/orders.rb +36 -14
- data/lib/ruby_lokalise_api/rest/payment_cards.rb +29 -12
- data/lib/ruby_lokalise_api/rest/projects.rb +55 -32
- data/lib/ruby_lokalise_api/rest/queued_processes.rb +21 -13
- data/lib/ruby_lokalise_api/rest/screenshots.rb +45 -20
- data/lib/ruby_lokalise_api/rest/segments.rb +31 -18
- data/lib/ruby_lokalise_api/rest/snapshots.rb +34 -14
- data/lib/ruby_lokalise_api/rest/tasks.rb +41 -19
- data/lib/ruby_lokalise_api/rest/team_user_billing_details.rb +33 -12
- data/lib/ruby_lokalise_api/rest/team_user_groups.rb +82 -50
- data/lib/ruby_lokalise_api/rest/team_users.rb +35 -18
- data/lib/ruby_lokalise_api/rest/teams.rb +10 -5
- data/lib/ruby_lokalise_api/rest/translation_providers.rb +24 -9
- data/lib/ruby_lokalise_api/rest/translations.rb +28 -15
- data/lib/ruby_lokalise_api/rest/webhooks.rb +54 -30
- data/lib/ruby_lokalise_api/rest.rb +31 -0
- data/lib/ruby_lokalise_api/utils/attributes.rb +37 -0
- data/lib/ruby_lokalise_api/utils/classes.rb +28 -0
- data/lib/ruby_lokalise_api/utils/keys.rb +33 -0
- data/lib/ruby_lokalise_api/utils/loaders.rb +27 -0
- data/lib/ruby_lokalise_api/utils/strings.rb +20 -0
- data/lib/ruby_lokalise_api/version.rb +1 -1
- data/lib/ruby_lokalise_api.rb +6 -2
- data/ruby-lokalise-api.gemspec +3 -3
- metadata +76 -47
- data/lib/ruby_lokalise_api/base_request.rb +0 -73
- data/lib/ruby_lokalise_api/collections/branch.rb +0 -15
- data/lib/ruby_lokalise_api/collections/contributor.rb +0 -13
- data/lib/ruby_lokalise_api/collections/custom_translation_status.rb +0 -15
- data/lib/ruby_lokalise_api/collections/file.rb +0 -13
- data/lib/ruby_lokalise_api/collections/key.rb +0 -20
- data/lib/ruby_lokalise_api/collections/key_comment.rb +0 -14
- data/lib/ruby_lokalise_api/collections/order.rb +0 -13
- data/lib/ruby_lokalise_api/collections/payment_card.rb +0 -13
- data/lib/ruby_lokalise_api/collections/project.rb +0 -13
- data/lib/ruby_lokalise_api/collections/project_comment.rb +0 -13
- data/lib/ruby_lokalise_api/collections/project_language.rb +0 -13
- data/lib/ruby_lokalise_api/collections/queued_process.rb +0 -15
- data/lib/ruby_lokalise_api/collections/screenshot.rb +0 -13
- data/lib/ruby_lokalise_api/collections/segment.rb +0 -15
- data/lib/ruby_lokalise_api/collections/snapshot.rb +0 -13
- data/lib/ruby_lokalise_api/collections/system_language.rb +0 -13
- data/lib/ruby_lokalise_api/collections/task.rb +0 -13
- data/lib/ruby_lokalise_api/collections/team.rb +0 -13
- data/lib/ruby_lokalise_api/collections/team_user.rb +0 -13
- data/lib/ruby_lokalise_api/collections/team_user_group.rb +0 -15
- data/lib/ruby_lokalise_api/collections/translation.rb +0 -13
- data/lib/ruby_lokalise_api/collections/translation_provider.rb +0 -13
- data/lib/ruby_lokalise_api/collections/webhook.rb +0 -13
- data/lib/ruby_lokalise_api/oauth2/refresh.rb +0 -16
- data/lib/ruby_lokalise_api/oauth2/token.rb +0 -16
- data/lib/ruby_lokalise_api/resources/key_comment.rb +0 -19
- data/lib/ruby_lokalise_api/resources/project_comment.rb +0 -10
- data/lib/ruby_lokalise_api/rest/jwt.rb +0 -15
- data/lib/ruby_lokalise_api/utils/attribute_helpers.rb +0 -86
- data/lib/ruby_lokalise_api/utils/endpoint_helpers.rb +0 -14
- data/lib/ruby_lokalise_api/utils/string_utils.rb +0 -33
|
@@ -3,106 +3,138 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module TeamUserGroups
|
|
6
|
-
|
|
6
|
+
using RubyLokaliseApi::Utils::Classes
|
|
7
|
+
|
|
8
|
+
# Returns team user groups
|
|
7
9
|
#
|
|
8
|
-
# @see https://developers.lokalise.com/reference/list-all-
|
|
9
|
-
# @return [RubyLokaliseApi::
|
|
10
|
-
# @param team_id [String]
|
|
11
|
-
# @param
|
|
12
|
-
def team_user_groups(team_id,
|
|
13
|
-
|
|
10
|
+
# @see https://developers.lokalise.com/reference/list-all-groups
|
|
11
|
+
# @return [RubyLokaliseApi::Collections::TeamUserGroups]
|
|
12
|
+
# @param team_id [Integer, String]
|
|
13
|
+
# @param req_params [Hash]
|
|
14
|
+
def team_user_groups(team_id, req_params = {})
|
|
15
|
+
name = 'TeamUserGroups'
|
|
16
|
+
params = { query: team_id, req: req_params }
|
|
17
|
+
|
|
18
|
+
data = endpoint(name: name, params: params).do_get
|
|
19
|
+
|
|
20
|
+
collection name, data
|
|
14
21
|
end
|
|
15
22
|
|
|
16
|
-
# Returns team user
|
|
23
|
+
# Returns a single team user group
|
|
17
24
|
#
|
|
18
|
-
# @see https://developers.lokalise.com/reference/retrieve-a-
|
|
25
|
+
# @see https://developers.lokalise.com/reference/retrieve-a-group
|
|
19
26
|
# @return [RubyLokaliseApi::Resources::TeamUserGroup]
|
|
20
|
-
# @param team_id [String]
|
|
27
|
+
# @param team_id [String, Integer]
|
|
21
28
|
# @param group_id [String, Integer]
|
|
22
29
|
def team_user_group(team_id, group_id)
|
|
23
|
-
|
|
30
|
+
params = { query: [team_id, group_id] }
|
|
31
|
+
|
|
32
|
+
response = endpoint(name: 'TeamUserGroups', params: params).do_get
|
|
33
|
+
|
|
34
|
+
resource 'TeamUserGroup', response
|
|
24
35
|
end
|
|
25
36
|
|
|
26
|
-
# Creates team user group
|
|
37
|
+
# Creates a team user group
|
|
27
38
|
#
|
|
28
39
|
# @see https://developers.lokalise.com/reference/create-a-group
|
|
29
40
|
# @return [RubyLokaliseApi::Resources::TeamUserGroup]
|
|
30
|
-
# @param
|
|
31
|
-
|
|
32
|
-
|
|
41
|
+
# @param team_id [String, Integer]
|
|
42
|
+
# @param req_params [Hash]
|
|
43
|
+
def create_team_user_group(team_id, req_params)
|
|
44
|
+
params = { query: team_id, req: req_params }
|
|
45
|
+
|
|
46
|
+
response = endpoint(name: 'TeamUserGroups', params: params).do_post
|
|
47
|
+
|
|
48
|
+
resource 'TeamUserGroup', response
|
|
33
49
|
end
|
|
34
50
|
|
|
35
|
-
# Updates team user group
|
|
51
|
+
# Updates a team user group
|
|
36
52
|
#
|
|
37
53
|
# @see https://developers.lokalise.com/reference/update-a-group
|
|
38
54
|
# @return [RubyLokaliseApi::Resources::TeamUserGroup]
|
|
39
|
-
# @param team_id [String]
|
|
55
|
+
# @param team_id [String, Integer]
|
|
40
56
|
# @param group_id [String, Integer]
|
|
41
|
-
# @param
|
|
42
|
-
def update_team_user_group(team_id, group_id,
|
|
43
|
-
|
|
57
|
+
# @param req_params [Hash]
|
|
58
|
+
def update_team_user_group(team_id, group_id, req_params = {})
|
|
59
|
+
params = { query: [team_id, group_id], req: req_params }
|
|
60
|
+
|
|
61
|
+
data = endpoint(name: 'TeamUserGroups', params: params).do_put
|
|
62
|
+
|
|
63
|
+
resource 'TeamUserGroup', data
|
|
44
64
|
end
|
|
45
65
|
|
|
46
|
-
# Deletes team user group
|
|
66
|
+
# Deletes a team user group
|
|
47
67
|
#
|
|
48
68
|
# @see https://developers.lokalise.com/reference/delete-a-group
|
|
49
|
-
# @return [RubyLokaliseApi::
|
|
50
|
-
# @param team_id [String]
|
|
69
|
+
# @return [RubyLokaliseApi::Generics::DeletedResource]
|
|
70
|
+
# @param team_id [String, Integer]
|
|
51
71
|
# @param group_id [String, Integer]
|
|
52
72
|
def destroy_team_user_group(team_id, group_id)
|
|
53
|
-
|
|
73
|
+
params = { query: [team_id, group_id] }
|
|
74
|
+
|
|
75
|
+
data = endpoint(name: 'TeamUserGroups', params: params).do_delete
|
|
76
|
+
|
|
77
|
+
RubyLokaliseApi::Generics::DeletedResource.new data.content
|
|
54
78
|
end
|
|
55
79
|
|
|
56
|
-
# Adds projects to the
|
|
80
|
+
# Adds projects to the group
|
|
57
81
|
#
|
|
58
82
|
# @see https://developers.lokalise.com/reference/add-projects-to-group
|
|
59
83
|
# @return [RubyLokaliseApi::Resources::TeamUserGroup]
|
|
60
|
-
# @param team_id [String]
|
|
84
|
+
# @param team_id [String, Integer]
|
|
61
85
|
# @param group_id [String, Integer]
|
|
62
|
-
# @param project_ids [
|
|
86
|
+
# @param project_ids [Array, String]
|
|
63
87
|
def add_projects_to_group(team_id, group_id, project_ids)
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
88
|
+
params = { query: [team_id, group_id, :projects, :add], req: project_ids.to_array_obj(:projects) }
|
|
89
|
+
|
|
90
|
+
data = endpoint(name: 'TeamUserGroups', params: params).do_put
|
|
91
|
+
|
|
92
|
+
resource 'TeamUserGroup', data
|
|
67
93
|
end
|
|
68
94
|
|
|
69
|
-
# Removes projects from the
|
|
95
|
+
# Removes projects from the group
|
|
70
96
|
#
|
|
71
97
|
# @see https://developers.lokalise.com/reference/remove-projects-from-group
|
|
72
98
|
# @return [RubyLokaliseApi::Resources::TeamUserGroup]
|
|
73
|
-
# @param team_id [String]
|
|
99
|
+
# @param team_id [String, Integer]
|
|
74
100
|
# @param group_id [String, Integer]
|
|
75
|
-
# @param project_ids [
|
|
101
|
+
# @param project_ids [Array, String]
|
|
76
102
|
def remove_projects_from_group(team_id, group_id, project_ids)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
103
|
+
params = { query: [team_id, group_id, :projects, :remove], req: project_ids.to_array_obj(:projects) }
|
|
104
|
+
|
|
105
|
+
data = endpoint(name: 'TeamUserGroups', params: params).do_put
|
|
106
|
+
|
|
107
|
+
resource 'TeamUserGroup', data
|
|
80
108
|
end
|
|
81
109
|
|
|
82
|
-
# Adds
|
|
110
|
+
# Adds members to the group
|
|
83
111
|
#
|
|
84
112
|
# @see https://developers.lokalise.com/reference/add-members-to-group
|
|
85
113
|
# @return [RubyLokaliseApi::Resources::TeamUserGroup]
|
|
86
|
-
# @param team_id [String]
|
|
114
|
+
# @param team_id [String, Integer]
|
|
87
115
|
# @param group_id [String, Integer]
|
|
88
|
-
# @param
|
|
89
|
-
def
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
116
|
+
# @param user_ids [Array, String]
|
|
117
|
+
def add_members_to_group(team_id, group_id, user_ids)
|
|
118
|
+
params = { query: [team_id, group_id, :members, :add], req: user_ids.to_array_obj(:users) }
|
|
119
|
+
|
|
120
|
+
data = endpoint(name: 'TeamUserGroups', params: params).do_put
|
|
121
|
+
|
|
122
|
+
resource 'TeamUserGroup', data
|
|
93
123
|
end
|
|
94
124
|
|
|
95
|
-
# Removes
|
|
125
|
+
# Removes members from the group
|
|
96
126
|
#
|
|
97
127
|
# @see https://developers.lokalise.com/reference/remove-members-from-group
|
|
98
128
|
# @return [RubyLokaliseApi::Resources::TeamUserGroup]
|
|
99
|
-
# @param team_id [String]
|
|
129
|
+
# @param team_id [String, Integer]
|
|
100
130
|
# @param group_id [String, Integer]
|
|
101
|
-
# @param
|
|
102
|
-
def
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
131
|
+
# @param user_ids [Array, String]
|
|
132
|
+
def remove_members_from_group(team_id, group_id, user_ids)
|
|
133
|
+
params = { query: [team_id, group_id, :members, :remove], req: user_ids.to_array_obj(:users) }
|
|
134
|
+
|
|
135
|
+
data = endpoint(name: 'TeamUserGroups', params: params).do_put
|
|
136
|
+
|
|
137
|
+
resource 'TeamUserGroup', data
|
|
106
138
|
end
|
|
107
139
|
end
|
|
108
140
|
end
|
|
@@ -3,45 +3,62 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module TeamUsers
|
|
6
|
-
# Returns
|
|
6
|
+
# Returns team users
|
|
7
7
|
#
|
|
8
8
|
# @see https://developers.lokalise.com/reference/list-all-team-users
|
|
9
|
-
# @return [RubyLokaliseApi::
|
|
10
|
-
# @param team_id [String]
|
|
11
|
-
# @param
|
|
12
|
-
def team_users(team_id,
|
|
13
|
-
|
|
9
|
+
# @return [RubyLokaliseApi::Collections::TeamUsers]
|
|
10
|
+
# @param team_id [Integer, String]
|
|
11
|
+
# @param req_params [Hash]
|
|
12
|
+
def team_users(team_id, req_params = {})
|
|
13
|
+
name = 'TeamUsers'
|
|
14
|
+
params = { query: team_id, req: req_params }
|
|
15
|
+
|
|
16
|
+
data = endpoint(name: name, params: params).do_get
|
|
17
|
+
|
|
18
|
+
collection name, data
|
|
14
19
|
end
|
|
15
20
|
|
|
16
|
-
# Returns team user
|
|
21
|
+
# Returns a single team user
|
|
17
22
|
#
|
|
18
23
|
# @see https://developers.lokalise.com/reference/retrieve-a-team-user
|
|
19
24
|
# @return [RubyLokaliseApi::Resources::TeamUser]
|
|
20
|
-
# @param team_id [String]
|
|
25
|
+
# @param team_id [String, Integer]
|
|
21
26
|
# @param user_id [String, Integer]
|
|
22
27
|
def team_user(team_id, user_id)
|
|
23
|
-
|
|
28
|
+
params = { query: [team_id, user_id] }
|
|
29
|
+
|
|
30
|
+
response = endpoint(name: 'TeamUsers', params: params).do_get
|
|
31
|
+
|
|
32
|
+
resource 'TeamUser', response
|
|
24
33
|
end
|
|
25
34
|
|
|
26
|
-
# Updates team user
|
|
35
|
+
# Updates a team user
|
|
27
36
|
#
|
|
28
37
|
# @see https://developers.lokalise.com/reference/update-a-team-user
|
|
29
38
|
# @return [RubyLokaliseApi::Resources::TeamUser]
|
|
30
|
-
# @param team_id [String]
|
|
39
|
+
# @param team_id [String, Integer]
|
|
31
40
|
# @param user_id [String, Integer]
|
|
32
|
-
# @param
|
|
33
|
-
def update_team_user(team_id, user_id,
|
|
34
|
-
|
|
41
|
+
# @param req_params [Hash]
|
|
42
|
+
def update_team_user(team_id, user_id, req_params = {})
|
|
43
|
+
params = { query: [team_id, user_id], req: req_params }
|
|
44
|
+
|
|
45
|
+
data = endpoint(name: 'TeamUsers', params: params).do_put
|
|
46
|
+
|
|
47
|
+
resource 'TeamUser', data
|
|
35
48
|
end
|
|
36
49
|
|
|
37
|
-
# Deletes team user
|
|
50
|
+
# Deletes a team user
|
|
38
51
|
#
|
|
39
52
|
# @see https://developers.lokalise.com/reference/delete-a-team-user
|
|
40
|
-
# @return [RubyLokaliseApi::
|
|
41
|
-
# @param team_id [String]
|
|
53
|
+
# @return [RubyLokaliseApi::Generics::DeletedResource]
|
|
54
|
+
# @param team_id [String, Integer]
|
|
42
55
|
# @param user_id [String, Integer]
|
|
43
56
|
def destroy_team_user(team_id, user_id)
|
|
44
|
-
|
|
57
|
+
params = { query: [team_id, user_id] }
|
|
58
|
+
|
|
59
|
+
data = endpoint(name: 'TeamUsers', params: params).do_delete
|
|
60
|
+
|
|
61
|
+
RubyLokaliseApi::Generics::DeletedResource.new data.content
|
|
45
62
|
end
|
|
46
63
|
end
|
|
47
64
|
end
|
|
@@ -3,13 +3,18 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module Teams
|
|
6
|
-
# Returns
|
|
6
|
+
# Returns teams
|
|
7
7
|
#
|
|
8
8
|
# @see https://developers.lokalise.com/reference/list-all-teams
|
|
9
|
-
# @return [RubyLokaliseApi::
|
|
10
|
-
# @param
|
|
11
|
-
def teams(
|
|
12
|
-
|
|
9
|
+
# @return [RubyLokaliseApi::Collections::Teams]
|
|
10
|
+
# @param req_params [Hash]
|
|
11
|
+
def teams(req_params = {})
|
|
12
|
+
name = 'Teams'
|
|
13
|
+
params = { req: req_params }
|
|
14
|
+
|
|
15
|
+
data = endpoint(name: name, params: params).do_get
|
|
16
|
+
|
|
17
|
+
collection name, data
|
|
13
18
|
end
|
|
14
19
|
end
|
|
15
20
|
end
|
|
@@ -3,24 +3,39 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module TranslationProviders
|
|
6
|
-
# Returns
|
|
6
|
+
# Returns translation providers
|
|
7
7
|
#
|
|
8
8
|
# @see https://developers.lokalise.com/reference/list-all-providers
|
|
9
|
-
# @return [RubyLokaliseApi::
|
|
10
|
-
# @param team_id [String]
|
|
11
|
-
# @param
|
|
12
|
-
def translation_providers(team_id,
|
|
13
|
-
|
|
9
|
+
# @return [RubyLokaliseApi::Collections::TranslationProviders]
|
|
10
|
+
# @param team_id [String, Integer]
|
|
11
|
+
# @param req_params [Hash]
|
|
12
|
+
def translation_providers(team_id, req_params = {})
|
|
13
|
+
name = 'TranslationProviders'
|
|
14
|
+
params = { query: team_id, req: req_params }
|
|
15
|
+
|
|
16
|
+
response = endpoint(name: name, params: params).do_get
|
|
17
|
+
|
|
18
|
+
# We must patch content because the API does not return team_id and it's mandatory to build resource URLs
|
|
19
|
+
response.patch_content_with 'team_id', team_id
|
|
20
|
+
|
|
21
|
+
collection name, response
|
|
14
22
|
end
|
|
15
23
|
|
|
16
|
-
# Returns a single translation provider
|
|
24
|
+
# Returns a single translation provider
|
|
17
25
|
#
|
|
18
26
|
# @see https://developers.lokalise.com/reference/retrieve-a-provider
|
|
19
27
|
# @return [RubyLokaliseApi::Resources::TranslationProvider]
|
|
20
|
-
# @param team_id [String]
|
|
28
|
+
# @param team_id [String, Integer]
|
|
21
29
|
# @param provider_id [String, Integer]
|
|
22
30
|
def translation_provider(team_id, provider_id)
|
|
23
|
-
|
|
31
|
+
params = { query: [team_id, provider_id] }
|
|
32
|
+
|
|
33
|
+
response = endpoint(name: 'TranslationProviders', params: params).do_get
|
|
34
|
+
|
|
35
|
+
# We must patch content because the API does not return team_id and it's mandatory to build resource URLs
|
|
36
|
+
response.patch_content_with 'team_id', team_id
|
|
37
|
+
|
|
38
|
+
resource 'TranslationProvider', response
|
|
24
39
|
end
|
|
25
40
|
end
|
|
26
41
|
end
|
|
@@ -3,36 +3,49 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module Translations
|
|
6
|
-
# Returns
|
|
6
|
+
# Returns translations
|
|
7
7
|
#
|
|
8
8
|
# @see https://developers.lokalise.com/reference/list-all-translations
|
|
9
|
-
# @return [RubyLokaliseApi::
|
|
9
|
+
# @return [RubyLokaliseApi::Collections::Translations]
|
|
10
10
|
# @param project_id [String]
|
|
11
|
-
# @param
|
|
12
|
-
def translations(project_id,
|
|
13
|
-
|
|
11
|
+
# @param req_params [Hash]
|
|
12
|
+
def translations(project_id, req_params = {})
|
|
13
|
+
name = 'Translations'
|
|
14
|
+
params = { query: project_id, req: req_params }
|
|
15
|
+
|
|
16
|
+
data = endpoint(name: name, params: params).do_get
|
|
17
|
+
|
|
18
|
+
collection name, data
|
|
14
19
|
end
|
|
15
20
|
|
|
16
|
-
# Returns
|
|
21
|
+
# Returns a single translation
|
|
17
22
|
#
|
|
18
23
|
# @see https://developers.lokalise.com/reference/retrieve-a-translation
|
|
19
24
|
# @return [RubyLokaliseApi::Resources::Translation]
|
|
20
25
|
# @param project_id [String]
|
|
21
|
-
# @param translation_id [String
|
|
22
|
-
# @param
|
|
23
|
-
def translation(project_id, translation_id,
|
|
24
|
-
|
|
26
|
+
# @param translation_id [String]
|
|
27
|
+
# @param req_params[Hash]
|
|
28
|
+
def translation(project_id, translation_id, req_params = {})
|
|
29
|
+
params = { query: [project_id, translation_id], req: req_params }
|
|
30
|
+
|
|
31
|
+
data = endpoint(name: 'Translations', params: params).do_get
|
|
32
|
+
|
|
33
|
+
resource 'Translation', data
|
|
25
34
|
end
|
|
26
35
|
|
|
27
|
-
# Updates translation
|
|
36
|
+
# Updates a translation
|
|
28
37
|
#
|
|
29
38
|
# @see https://developers.lokalise.com/reference/update-a-translation
|
|
30
39
|
# @return [RubyLokaliseApi::Resources::Translation]
|
|
31
40
|
# @param project_id [String]
|
|
32
|
-
# @param translation_id [String
|
|
33
|
-
# @param
|
|
34
|
-
def update_translation(project_id, translation_id,
|
|
35
|
-
|
|
41
|
+
# @param translation_id [String]
|
|
42
|
+
# @param req_params [Hash]
|
|
43
|
+
def update_translation(project_id, translation_id, req_params)
|
|
44
|
+
params = { query: [project_id, translation_id], req: req_params }
|
|
45
|
+
|
|
46
|
+
data = endpoint(name: 'Translations', params: params).do_put
|
|
47
|
+
|
|
48
|
+
resource 'Translation', data
|
|
36
49
|
end
|
|
37
50
|
end
|
|
38
51
|
end
|
|
@@ -3,66 +3,90 @@
|
|
|
3
3
|
module RubyLokaliseApi
|
|
4
4
|
module Rest
|
|
5
5
|
module Webhooks
|
|
6
|
-
# Returns
|
|
6
|
+
# Returns project webhooks
|
|
7
7
|
#
|
|
8
8
|
# @see https://developers.lokalise.com/reference/list-all-webhooks
|
|
9
|
-
# @return [RubyLokaliseApi::
|
|
9
|
+
# @return [RubyLokaliseApi::Collections::Webhooks]
|
|
10
10
|
# @param project_id [String]
|
|
11
|
-
# @param
|
|
12
|
-
def webhooks(project_id,
|
|
13
|
-
|
|
11
|
+
# @param req_params [Hash]
|
|
12
|
+
def webhooks(project_id, req_params = {})
|
|
13
|
+
name = 'Webhooks'
|
|
14
|
+
params = { query: project_id, req: req_params }
|
|
15
|
+
|
|
16
|
+
data = endpoint(name: name, params: params).do_get
|
|
17
|
+
|
|
18
|
+
collection name, data
|
|
14
19
|
end
|
|
15
20
|
|
|
16
|
-
# Returns a single webhook
|
|
21
|
+
# Returns a single webhook
|
|
17
22
|
#
|
|
18
23
|
# @see https://developers.lokalise.com/reference/retrieve-a-webhook
|
|
19
24
|
# @return [RubyLokaliseApi::Resources::Webhook]
|
|
20
25
|
# @param project_id [String]
|
|
21
|
-
# @param webhook_id [String
|
|
26
|
+
# @param webhook_id [String]
|
|
22
27
|
def webhook(project_id, webhook_id)
|
|
23
|
-
|
|
28
|
+
params = { query: [project_id, webhook_id] }
|
|
29
|
+
|
|
30
|
+
data = endpoint(name: 'Webhooks', params: params).do_get
|
|
31
|
+
|
|
32
|
+
resource 'Webhook', data
|
|
24
33
|
end
|
|
25
34
|
|
|
26
|
-
# Creates webhook
|
|
35
|
+
# Creates a webhook
|
|
27
36
|
#
|
|
28
37
|
# @see https://developers.lokalise.com/reference/create-a-webhook
|
|
29
38
|
# @return [RubyLokaliseApi::Resources::Webhook]
|
|
30
39
|
# @param project_id [String]
|
|
31
|
-
# @param
|
|
32
|
-
def create_webhook(project_id,
|
|
33
|
-
|
|
40
|
+
# @param req_params [Hash]
|
|
41
|
+
def create_webhook(project_id, req_params)
|
|
42
|
+
params = { query: project_id, req: req_params }
|
|
43
|
+
|
|
44
|
+
data = endpoint(name: 'Webhooks', params: params).do_post
|
|
45
|
+
|
|
46
|
+
resource 'Webhook', data
|
|
34
47
|
end
|
|
35
48
|
|
|
36
|
-
# Updates webhook
|
|
49
|
+
# Updates a webhook
|
|
37
50
|
#
|
|
38
51
|
# @see https://developers.lokalise.com/reference/update-a-webhook
|
|
39
52
|
# @return [RubyLokaliseApi::Resources::Webhook]
|
|
40
53
|
# @param project_id [String]
|
|
41
|
-
# @param webhook_id [String
|
|
42
|
-
# @param
|
|
43
|
-
def update_webhook(project_id, webhook_id,
|
|
44
|
-
|
|
54
|
+
# @param webhook_id [String]
|
|
55
|
+
# @param req_params [Hash]
|
|
56
|
+
def update_webhook(project_id, webhook_id, req_params)
|
|
57
|
+
params = { query: [project_id, webhook_id], req: req_params }
|
|
58
|
+
|
|
59
|
+
data = endpoint(name: 'Webhooks', params: params).do_put
|
|
60
|
+
|
|
61
|
+
resource 'Webhook', data
|
|
45
62
|
end
|
|
46
63
|
|
|
47
|
-
#
|
|
64
|
+
# Regenerates webhook secret
|
|
48
65
|
#
|
|
49
|
-
# @see https://developers.lokalise.com/reference/
|
|
50
|
-
# @return [
|
|
66
|
+
# @see https://developers.lokalise.com/reference/regenerate-a-webhook-secret
|
|
67
|
+
# @return [RubyLokaliseApi::Generics::RegeneratedWebhookSecret]
|
|
51
68
|
# @param project_id [String]
|
|
52
|
-
# @param webhook_id [String
|
|
53
|
-
def
|
|
54
|
-
|
|
69
|
+
# @param webhook_id [String]
|
|
70
|
+
def regenerate_webhook_secret(project_id, webhook_id)
|
|
71
|
+
params = { query: [project_id, webhook_id, :secret, :regenerate] }
|
|
72
|
+
|
|
73
|
+
data = endpoint(name: 'Webhooks', params: params).do_patch
|
|
74
|
+
|
|
75
|
+
RubyLokaliseApi::Generics::RegeneratedWebhookSecret.new data.content
|
|
55
76
|
end
|
|
56
77
|
|
|
57
|
-
#
|
|
78
|
+
# Deletes a webhook
|
|
58
79
|
#
|
|
59
|
-
# @see https://developers.lokalise.com/reference/
|
|
60
|
-
# @return [
|
|
80
|
+
# @see https://developers.lokalise.com/reference/delete-a-webhook
|
|
81
|
+
# @return [RubyLokaliseApi::Generics::DeletedResource]
|
|
61
82
|
# @param project_id [String]
|
|
62
|
-
# @param webhook_id [String
|
|
63
|
-
def
|
|
64
|
-
|
|
65
|
-
|
|
83
|
+
# @param webhook_id [String]
|
|
84
|
+
def destroy_webhook(project_id, webhook_id)
|
|
85
|
+
params = { query: [project_id, webhook_id] }
|
|
86
|
+
|
|
87
|
+
data = endpoint(name: 'Webhooks', params: params).do_delete
|
|
88
|
+
|
|
89
|
+
RubyLokaliseApi::Generics::DeletedResource.new data.content
|
|
66
90
|
end
|
|
67
91
|
end
|
|
68
92
|
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RubyLokaliseApi
|
|
4
|
+
module Rest
|
|
5
|
+
include Utils::Loaders
|
|
6
|
+
|
|
7
|
+
include Rest::Branches
|
|
8
|
+
include Rest::Comments
|
|
9
|
+
include Rest::Contributors
|
|
10
|
+
include Rest::CustomTranslationStatuses
|
|
11
|
+
include Rest::Files
|
|
12
|
+
include Rest::Jwts
|
|
13
|
+
include Rest::Keys
|
|
14
|
+
include Rest::Languages
|
|
15
|
+
include Rest::Orders
|
|
16
|
+
include Rest::PaymentCards
|
|
17
|
+
include Rest::Projects
|
|
18
|
+
include Rest::QueuedProcesses
|
|
19
|
+
include Rest::Segments
|
|
20
|
+
include Rest::Screenshots
|
|
21
|
+
include Rest::Snapshots
|
|
22
|
+
include Rest::Tasks
|
|
23
|
+
include Rest::TeamUserBillingDetails
|
|
24
|
+
include Rest::Teams
|
|
25
|
+
include Rest::TeamUsers
|
|
26
|
+
include Rest::TeamUserGroups
|
|
27
|
+
include Rest::TranslationProviders
|
|
28
|
+
include Rest::Translations
|
|
29
|
+
include Rest::Webhooks
|
|
30
|
+
end
|
|
31
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RubyLokaliseApi
|
|
4
|
+
module Utils
|
|
5
|
+
module Attributes
|
|
6
|
+
using RubyLokaliseApi::Utils::Strings
|
|
7
|
+
using RubyLokaliseApi::Utils::Classes
|
|
8
|
+
|
|
9
|
+
private
|
|
10
|
+
|
|
11
|
+
UNIFIED_RESOURCES = %w[comment].freeze
|
|
12
|
+
|
|
13
|
+
# Loads attributes for the given resource based on its name
|
|
14
|
+
#
|
|
15
|
+
# @return [Array<String>]
|
|
16
|
+
def attributes_for(klass, filename)
|
|
17
|
+
@attributes ||= YAML.load_file(File.expand_path("../data/#{filename}", __dir__)).freeze
|
|
18
|
+
|
|
19
|
+
name = unify klass.base_name.snakecase
|
|
20
|
+
|
|
21
|
+
@attributes.key?(name) ? @attributes[name] : @attributes["#{name}s"]
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# Unify some resources' names (eg, `ProjectComment` and `KeyComment` have the same
|
|
25
|
+
# attributes which are stored under `comment`)
|
|
26
|
+
#
|
|
27
|
+
# @return [String]
|
|
28
|
+
def unify(name)
|
|
29
|
+
UNIFIED_RESOURCES.each do |u_a|
|
|
30
|
+
return u_a if name.match?(/#{u_a}/)
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
name
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RubyLokaliseApi
|
|
4
|
+
# Basic utilitiy methods
|
|
5
|
+
module Utils
|
|
6
|
+
module Classes
|
|
7
|
+
refine Object do
|
|
8
|
+
# Turn `Module::Nested::ClassName` to just `ClassName`
|
|
9
|
+
def base_name
|
|
10
|
+
name.split('::').last
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
# Converts object to array unless it is already an array
|
|
14
|
+
def to_array
|
|
15
|
+
is_a?(Array) ? self : [self]
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
# Converts object to array and then places this array
|
|
19
|
+
# inside hash under the provided key
|
|
20
|
+
def to_array_obj(key)
|
|
21
|
+
return self if is_a?(Hash) && (key?(key) || key?(key.to_s))
|
|
22
|
+
|
|
23
|
+
{ key => to_array }
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module RubyLokaliseApi
|
|
4
|
+
module Utils
|
|
5
|
+
module Keys
|
|
6
|
+
using RubyLokaliseApi::Utils::Strings
|
|
7
|
+
|
|
8
|
+
# Reads DATA_KEY for resources. DATA_KEY specifies the name of the key
|
|
9
|
+
# in the API response that contains the actual data
|
|
10
|
+
def data_key_for(klass:)
|
|
11
|
+
key = if Module.const_defined? "RubyLokaliseApi::Resources::#{klass}::DATA_KEY"
|
|
12
|
+
Module.const_get "RubyLokaliseApi::Resources::#{klass}::DATA_KEY"
|
|
13
|
+
else
|
|
14
|
+
klass
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
key.snakecase
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Reads DATA_KEY for collections. DATA_KEY specifies the name of the key
|
|
21
|
+
# in the API response that contains the actual data
|
|
22
|
+
def collection_key_for(klass:)
|
|
23
|
+
key = if Module.const_defined?("RubyLokaliseApi::Collections::#{klass}::DATA_KEY")
|
|
24
|
+
Module.const_get("RubyLokaliseApi::Collections::#{klass}::DATA_KEY")
|
|
25
|
+
else
|
|
26
|
+
klass
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
key.snakecase
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|