Module: Crowdin::ApiResources::Users

Defined in:
lib/crowdin-api/api_resources/users.rb

Instance Method Summary collapse

Instance Method Details

#add_project_member(query = {}, project_id = config.project_id) ⇒ Object

Parameters:

  • query (Hash) (defaults to: {}) —

    Request Body



62
63
64
65
66
67
68
69
70
71
72
# File 'lib/crowdin-api/api_resources/users.rb', line 62

def add_project_member(query = {}, project_id = config.project_id)
  project_id || raise_project_id_is_required_error

  request = Web::Request.new(
    connection,
    :post,
    "#{config.target_api_url}/projects/#{project_id}/members",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#delete_member_from_project(member_id = nil, query = {}, project_id = config.project_id) ⇒ Object

Parameters:

  • member_id (Integer) (defaults to: nil) —

    Project Member Identifier

  • query (Hash) (defaults to: {}) —

    Request Query Parameters



110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# File 'lib/crowdin-api/api_resources/users.rb', line 110

def delete_member_from_project(member_id = nil, query = {}, project_id = config.project_id)
  member_id        || raise_parameter_is_required_error(:member_id)
  project_id       || raise_project_id_is_required_error

  response = ::RestClient::Request.execute(
    {
      method: :delete,
      url: config.base_url + config.target_api_url + "/projects/#{project_id}/members/#{member_id}",
      payload: query.to_json
    }.merge(@options)
  )

  response.body.empty? ? response.code : JSON.parse(response.body)
rescue StandardError => e
  e.message
end

#delete_user(user_id = nil) ⇒ Object

Parameters:

  • user_id (Integer) (defaults to: nil) —

    User Identifier



173
174
175
176
177
178
179
180
181
182
183
# File 'lib/crowdin-api/api_resources/users.rb', line 173

def delete_user(user_id = nil)
  enterprise_mode? || raise_only_for_enterprise_mode_error
  user_id          || raise_parameter_is_required_error(:user_id)

  request = Web::Request.new(
    connection,
    :delete,
    "#{config.target_api_url}/users/#{user_id}"
  )
  Web::SendRequest.new(request).perform
end

#edit_authenticated_user(body = []) ⇒ Object

Parameters:

  • body (Array) (defaults to: []) —

    Request Body



49
50
51
52
53
54
55
56
57
# File 'lib/crowdin-api/api_resources/users.rb', line 49

def edit_authenticated_user(body = [])
  request = Web::Request.new(
    connection,
    :patch,
    "#{config.target_api_url}/user",
    { params: body }
  )
  Web::SendRequest.new(request).perform
end

#edit_user(user_id = nil, query = {}) ⇒ Object

Parameters:

  • user_id (Integer) (defaults to: nil) —

    User Identifier

  • query (Hash) (defaults to: {}) —

    Request Body



188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/crowdin-api/api_resources/users.rb', line 188

def edit_user(user_id = nil, query = {})
  enterprise_mode? || raise_only_for_enterprise_mode_error
  user_id          || raise_parameter_is_required_error(:user_id)

  request = Web::Request.new(
    connection,
    :patch,
    "#{config.target_api_url}/users/#{user_id}",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#edit_user_projects_permissions(user_id, body = []) ⇒ Object

Parameters:

  • user_id (Integer) —

    User Identifier

  • body (Array) (defaults to: []) —

    Request Body



278
279
280
281
282
283
284
285
286
287
288
# File 'lib/crowdin-api/api_resources/users.rb', line 278

def edit_user_projects_permissions(user_id, body = [])
  enterprise_mode? || raise_only_for_enterprise_mode_error

  request = Web::Request.new(
    connection,
    :patch,
    "#{config.target_api_url}/users/#{user_id}/projects/permissions",
    { params: body }
  )
  Web::SendRequest.new(request).perform
end

#get_authenticated_user ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/crowdin-api/api_resources/users.rb', line 8

def get_authenticated_user
  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/user"
  )
  Web::SendRequest.new(request).perform
end

#get_group_manager(group_id, user_id) ⇒ Object

Parameters:

  • group_id (Integer) —

    Group Identifier

  • user_id (Integer) —

    User Identifier



234
235
236
237
238
239
240
241
242
243
# File 'lib/crowdin-api/api_resources/users.rb', line 234

def get_group_manager(group_id, user_id)
  enterprise_mode? || raise_only_for_enterprise_mode_error

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/groups/#{group_id}/managers/#{user_id}"
  )
  Web::SendRequest.new(request).perform
end

#get_member_info(member_id = nil, project_id = config.project_id) ⇒ Object

Parameters:

  • member_id (Integer) (defaults to: nil) —

    Project Member Identifier



35
36
37
38
39
40
41
42
43
44
45
# File 'lib/crowdin-api/api_resources/users.rb', line 35

def get_member_info(member_id = nil, project_id = config.project_id)
  member_id  || raise_parameter_is_required_error(:member_id)
  project_id || raise_project_id_is_required_error

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/projects/#{project_id}/members/#{member_id}"
  )
  Web::SendRequest.new(request).perform
end

#get_project_member_permissions(member_id = nil, project_id = config.project_id) ⇒ Object

Parameters:

  • member_id (Integer) (defaults to: nil) —

    Project Member Identifier



77
78
79
80
81
82
83
84
85
86
87
# File 'lib/crowdin-api/api_resources/users.rb', line 77

def get_project_member_permissions(member_id = nil, project_id = config.project_id)
  member_id        || raise_parameter_is_required_error(:member_id)
  project_id       || raise_project_id_is_required_error

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/projects/#{project_id}/members/#{member_id}"
  )
  Web::SendRequest.new(request).perform
end

#get_user(user_id = nil) ⇒ Object

Parameters:

  • user_id (Integer) (defaults to: nil) —

    User Identifier



159
160
161
162
163
164
165
166
167
168
169
# File 'lib/crowdin-api/api_resources/users.rb', line 159

def get_user(user_id = nil)
  enterprise_mode? || raise_only_for_enterprise_mode_error
  user_id          || raise_parameter_is_required_error(:user_id)

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/users/#{user_id}"
  )
  Web::SendRequest.new(request).perform
end

#invite_user(query = {}) ⇒ Object

Parameters:

  • query (Hash) (defaults to: {}) —

    Request Body



145
146
147
148
149
150
151
152
153
154
155
# File 'lib/crowdin-api/api_resources/users.rb', line 145

def invite_user(query = {})
  enterprise_mode? || raise_only_for_enterprise_mode_error

  request = Web::Request.new(
    connection,
    :post,
    "#{config.target_api_url}/users",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#list_group_managers(group_id, query = {}) ⇒ Object

Parameters:

  • group_id (Integer) —

    Group Identifier

  • query (Hash) (defaults to: {}) —

    Request Query Parameters



204
205
206
207
208
209
210
211
212
213
214
# File 'lib/crowdin-api/api_resources/users.rb', line 204

def list_group_managers(group_id, query = {})
  enterprise_mode? || raise_only_for_enterprise_mode_error

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/groups/#{group_id}/managers",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#list_project_members(query = {}, project_id = config.project_id) ⇒ Object

Parameters:

  • query (Hash) (defaults to: {}) —

    Request Query Parameters



20
21
22
23
24
25
26
27
28
29
30
# File 'lib/crowdin-api/api_resources/users.rb', line 20

def list_project_members(query = {}, project_id = config.project_id)
  project_id || raise_project_id_is_required_error

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/projects/#{project_id}/members",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#list_user_projects_contributions(user_id, query = {}) ⇒ Object

Parameters:

  • user_id (Integer) —

    User Identifier

  • query (Hash) (defaults to: {}) —

    Request Query Parameters



248
249
250
251
252
253
254
255
256
257
258
# File 'lib/crowdin-api/api_resources/users.rb', line 248

def list_user_projects_contributions(user_id, query = {})
  enterprise_mode? || raise_only_for_enterprise_mode_error

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/users/#{user_id}/projects/contributions",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#list_user_projects_permissions(user_id, query = {}) ⇒ Object

Parameters:

  • user_id (Integer) —

    User Identifier

  • query (Hash) (defaults to: {}) —

    Request Query Parameters



263
264
265
266
267
268
269
270
271
272
273
# File 'lib/crowdin-api/api_resources/users.rb', line 263

def list_user_projects_permissions(user_id, query = {})
  enterprise_mode? || raise_only_for_enterprise_mode_error

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/users/#{user_id}/projects/permissions",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#list_users(query = {}) ⇒ Object

Parameters:

  • query (Hash) (defaults to: {}) —

    Request Query Parameters



131
132
133
134
135
136
137
138
139
140
141
# File 'lib/crowdin-api/api_resources/users.rb', line 131

def list_users(query = {})
  enterprise_mode? || raise_only_for_enterprise_mode_error

  request = Web::Request.new(
    connection,
    :get,
    "#{config.target_api_url}/users",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#replace_project_permissions(member_id = nil, query = {}, project_id = config.project_id) ⇒ Object

Parameters:

  • member_id (Integer) (defaults to: nil) —

    Project Member Identifier

  • query (Hash) (defaults to: {}) —

    Request Body



93
94
95
96
97
98
99
100
101
102
103
104
# File 'lib/crowdin-api/api_resources/users.rb', line 93

def replace_project_permissions(member_id = nil, query = {}, project_id = config.project_id)
  member_id        || raise_parameter_is_required_error(:member_id)
  project_id       || raise_project_id_is_required_error

  request = Web::Request.new(
    connection,
    :put,
    "#{config.target_api_url}/projects/#{project_id}/members/#{member_id}",
    { params: query }
  )
  Web::SendRequest.new(request).perform
end

#update_group_managers(group_id, body = []) ⇒ Object

Parameters:

  • group_id (Integer) —

    Group Identifier

  • body (Array) (defaults to: []) —

    Request Body



219
220
221
222
223
224
225
226
227
228
229
# File 'lib/crowdin-api/api_resources/users.rb', line 219

def update_group_managers(group_id, body = [])
  enterprise_mode? || raise_only_for_enterprise_mode_error

  request = Web::Request.new(
    connection,
    :patch,
    "#{config.target_api_url}/groups/#{group_id}/managers",
    { params: body }
  )
  Web::SendRequest.new(request).perform
end