ruby-lokalise-api 7.2.0 → 8.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- 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 +31 -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 +18 -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 +33 -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 +24 -0
- data/lib/ruby_lokalise_api/utils/keys.rb +29 -0
- data/lib/ruby_lokalise_api/utils/loaders.rb +24 -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 +2 -2
- metadata +76 -41
- 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,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyLokaliseApi
|
4
|
+
module Utils
|
5
|
+
module Classes
|
6
|
+
refine Object do
|
7
|
+
# Turn `Module::Nested::ClassName` to just `ClassName`
|
8
|
+
def base_name
|
9
|
+
name.split('::').last
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_array
|
13
|
+
is_a?(Array) ? self : [self]
|
14
|
+
end
|
15
|
+
|
16
|
+
def to_array_obj(key)
|
17
|
+
return self if is_a?(Hash) && (key?(key) || key?(key.to_s))
|
18
|
+
|
19
|
+
{ key => to_array }
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module RubyLokaliseApi
|
4
|
+
module Utils
|
5
|
+
module Keys
|
6
|
+
using RubyLokaliseApi::Utils::Strings
|
7
|
+
|
8
|
+
def data_key_for(klass:)
|
9
|
+
key = if Module.const_defined? "RubyLokaliseApi::Resources::#{klass}::DATA_KEY"
|
10
|
+
Module.const_get "RubyLokaliseApi::Resources::#{klass}::DATA_KEY"
|
11
|
+
else
|
12
|
+
klass
|
13
|
+
end
|
14
|
+
|
15
|
+
key.snakecase
|
16
|
+
end
|
17
|
+
|
18
|
+
def collection_key_for(klass:)
|
19
|
+
key = if Module.const_defined?("RubyLokaliseApi::Collections::#{klass}::DATA_KEY")
|
20
|
+
Module.const_get("RubyLokaliseApi::Collections::#{klass}::DATA_KEY")
|
21
|
+
else
|
22
|
+
klass
|
23
|
+
end
|
24
|
+
|
25
|
+
key.snakecase
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|