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
- #user_sso(username) ⇒ 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
47 48 49 50 51 52 53 |
# File 'lib/discourse_api/api/users.rb', line 47 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
68 69 70 71 |
# File 'lib/discourse_api/api/users.rb', line 68 def grant_admin(user_id) response = put("admin/users/#{user_id}/grant_admin") response[:body] end |
#invite_admin(args = {}) ⇒ Object
59 60 61 |
# File 'lib/discourse_api/api/users.rb', line 59 def invite_admin(args={}) post("/admin/users/invite_admin", args) end |
#list_users(type) ⇒ Object
63 64 65 66 |
# File 'lib/discourse_api/api/users.rb', line 63 def list_users(type) response = get("admin/users/list/#{type}.json") response[:body] end |
#log_out(id) ⇒ Object
55 56 57 |
# File 'lib/discourse_api/api/users.rb', line 55 def log_out(id) post("/admin/users/#{id}/log_out") end |
#revoke_admin(user_id) ⇒ Object
73 74 75 76 |
# File 'lib/discourse_api/api/users.rb', line 73 def revoke_admin(user_id) response = put("admin/users/#{user_id}/revoke_admin") response[:body] end |
#update_avatar(args) ⇒ Object
18 19 20 21 22 23 24 25 |
# File 'lib/discourse_api/api/users.rb', line 18 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
27 28 29 |
# File 'lib/discourse_api/api/users.rb', line 27 def update_email(username, email) put("/users/#{username}/preferences/email", { email: email, api_key: api_key }) end |
#update_trust_level(args) ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/discourse_api/api/users.rb', line 39 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
31 32 33 |
# File 'lib/discourse_api/api/users.rb', line 31 def update_user(username, params={}) put("/users/#{username}", params) end |
#update_username(username, new_username) ⇒ Object
35 36 37 |
# File 'lib/discourse_api/api/users.rb', line 35 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 |
#user_sso(username) ⇒ Object
13 14 15 16 |
# File 'lib/discourse_api/api/users.rb', line 13 def user_sso(username) response = get("/admin/users/#{username.downcase}") response[:body]['single_sign_on_record'] end |