Module: DiscourseApi::API::Users
- Included in:
- Client
- Defined in:
- lib/discourse_api/api/users.rb
Instance Method Summary collapse
- #activate(id) ⇒ Object
- #create_user(args) ⇒ Object
- #grant_admin(user_id) ⇒ Object
- #invite_admin(args = {}) ⇒ Object
- #list_users(type) ⇒ Object
- #log_out(id) ⇒ Object
- #revoke_admin(user_id) ⇒ Object
- #update_avatar(args) ⇒ Object
- #update_email(username, email) ⇒ Object
- #update_trust_level(args) ⇒ Object
- #update_user(username, params = {}) ⇒ Object
- #update_username(username, new_username) ⇒ Object
- #user(username, params = {}) ⇒ Object
Instance Method Details
#activate(id) ⇒ Object
4 5 6 |
# File 'lib/discourse_api/api/users.rb', line 4 def activate(id) put "/admin/users/#{id}/activate", api_key: api_key, api_username: api_username end |
#create_user(args) ⇒ Object
42 43 44 45 46 47 48 |
# File 'lib/discourse_api/api/users.rb', line 42 def create_user(args) args = API.params(args) .required(:name, :email, :password, :username) .optional(:active) .to_h post("/users", args) end |
#grant_admin(user_id) ⇒ Object
63 64 65 66 |
# File 'lib/discourse_api/api/users.rb', line 63 def grant_admin(user_id) response = put("admin/users/#{user_id}/grant_admin") response[:body] end |
#invite_admin(args = {}) ⇒ Object
54 55 56 |
# File 'lib/discourse_api/api/users.rb', line 54 def invite_admin(args={}) post("/admin/users/invite_admin", args) end |
#list_users(type) ⇒ Object
58 59 60 61 |
# File 'lib/discourse_api/api/users.rb', line 58 def list_users(type) response = get("admin/users/list/#{type}.json") response[:body] end |
#log_out(id) ⇒ Object
50 51 52 |
# File 'lib/discourse_api/api/users.rb', line 50 def log_out(id) post("/admin/users/#{id}/log_out") end |
#revoke_admin(user_id) ⇒ Object
68 69 70 71 |
# File 'lib/discourse_api/api/users.rb', line 68 def revoke_admin(user_id) response = put("admin/users/#{user_id}/revoke_admin") response[:body] end |
#update_avatar(args) ⇒ Object
13 14 15 16 17 18 19 20 |
# File 'lib/discourse_api/api/users.rb', line 13 def update_avatar(args) args = API.params(args) .required(:username, :file) .default(image_type: 'avatar') .to_h upload_response = post("/users/#{args[:username]}/preferences/user_image", args) put("/users/#{args[:username]}/preferences/avatar/pick", { upload_id: upload_response['upload_id'] }) end |
#update_email(username, email) ⇒ Object
22 23 24 |
# File 'lib/discourse_api/api/users.rb', line 22 def update_email(username, email) put("/users/#{username}/preferences/email", { email: email, api_key: api_key }) end |
#update_trust_level(args) ⇒ Object
34 35 36 37 38 39 40 |
# File 'lib/discourse_api/api/users.rb', line 34 def update_trust_level(args) args = API.params(args) .required(:user_id, :level) .to_h response = put("/admin/users/#{args[:user_id]}/trust_level", args) response[:body] end |
#update_user(username, params = {}) ⇒ Object
26 27 28 |
# File 'lib/discourse_api/api/users.rb', line 26 def update_user(username, params={}) put("/users/#{username}", params) end |
#update_username(username, new_username) ⇒ Object
30 31 32 |
# File 'lib/discourse_api/api/users.rb', line 30 def update_username(username, new_username) put("/users/#{username}/preferences/username", { new_username: new_username, api_key: api_key }) end |
#user(username, params = {}) ⇒ Object
8 9 10 11 |
# File 'lib/discourse_api/api/users.rb', line 8 def user(username, params={}) response = get("/users/#{username}.json", params) response[:body]['user'] end |