Module: DiscourseApi::API::Badges

Included in:
Client
Defined in:
lib/discourse_api/api/badges.rb

Instance Method Summary collapse

Instance Method Details

#badgesObject



5
6
7
8
# File 'lib/discourse_api/api/badges.rb', line 5

def badges
  response = get("/admin/badges.json")
  response.body
end

#create_badge(params = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/discourse_api/api/badges.rb', line 19

def create_badge(params = {})
  args =
    API
      .params(params)
      .required(:name, :badge_type_id)
      .optional(
        :description,
        :allow_title,
        :multiple_grant,
        :icon,
        :listable,
        :target_posts,
        :query,
        :enabled,
        :auto_revoke,
        :badge_grouping_id,
        :trigger,
        :show_posts,
        :image,
        :long_description,
      )
  post("/admin/badges.json", args)
end

#grant_user_badge(params = {}) ⇒ Object



15
16
17
# File 'lib/discourse_api/api/badges.rb', line 15

def grant_user_badge(params = {})
  post("/user_badges", params)
end

#user_badges(username) ⇒ Object



10
11
12
13
# File 'lib/discourse_api/api/badges.rb', line 10

def user_badges(username)
  response = get("/user-badges/#{username}.json")
  response.body["badges"]
end