discourse_api 0.8.1 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/examples/post_action.rb +25 -0
- data/lib/discourse_api/api/posts.rb +16 -0
- data/lib/discourse_api/api/topics.rb +6 -0
- data/lib/discourse_api/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bfa614598891c7820dd1be6a73982e16950caac4
|
4
|
+
data.tar.gz: cf2d491b91223382f4272bdf1a003be8c84fe661
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e09cb8531f1e2ff99d138176a0684be30f4ff3a5c1f68b81e5a9b5a9396769adcacf9596b98f2a5e68ac6a8acf04d0bda8be33d9c1ea83a87c03e2a8cbaf5c7e
|
7
|
+
data.tar.gz: 735e055ee3754052a1247772bd077f59f74a62b74944e750a9006424a3d9283c734530eed226ac7c612a7bd82d750058e6f00d43ad8194d3658ca75263a831f9
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,10 @@
|
|
2
2
|
All notable changes to this project will be documented in this file.
|
3
3
|
This project adheres to [Semantic Versioning](http://semver.org/).
|
4
4
|
|
5
|
+
## [0.9.0] - 2016-03-22
|
6
|
+
### Added
|
7
|
+
- can now like/flag topics and posts
|
8
|
+
|
5
9
|
## [0.8.1] - 2016-03-03
|
6
10
|
### Fixed
|
7
11
|
- enable use of discourse_api to make unauthenticated requests to discourse
|
@@ -0,0 +1,25 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
2
|
+
require File.expand_path('../../lib/discourse_api', __FILE__)
|
3
|
+
|
4
|
+
client = DiscourseApi::Client.new("http://localhost:3000")
|
5
|
+
client.api_key = "YOUR_API_KEY"
|
6
|
+
client.api_username = "YOUR_USERNAME"
|
7
|
+
|
8
|
+
# Post Action Type IDs
|
9
|
+
# 1 - Bookmark
|
10
|
+
# 2 - Like
|
11
|
+
# 3 - Flag: Off-topic
|
12
|
+
# 4 - Flag: Inappropriate
|
13
|
+
# 5 - Vote
|
14
|
+
# 6 - Notify User
|
15
|
+
# 7 - Flag - Notify Moderators
|
16
|
+
# 8 - Flag - Spam
|
17
|
+
|
18
|
+
# Like a post
|
19
|
+
client.create_post_action(post_id: 1, post_action_type_id: 2)
|
20
|
+
|
21
|
+
# Flag a topic as spam
|
22
|
+
client.create_topic_action(topic_id: 1, post_action_type_id: 8)
|
23
|
+
|
24
|
+
# Unlike a post
|
25
|
+
client.destroy_post_action(post_id: 1, post_action_type_id: 2)
|
@@ -7,6 +7,12 @@ module DiscourseApi
|
|
7
7
|
post("/posts", args)
|
8
8
|
end
|
9
9
|
|
10
|
+
def create_post_action(args)
|
11
|
+
args = API.params(args)
|
12
|
+
.required(:post_id, :post_action_type_id)
|
13
|
+
post("/post_actions", args.to_h.merge(flag_topic: false))
|
14
|
+
end
|
15
|
+
|
10
16
|
def get_post(id, args = {})
|
11
17
|
args = API.params(args)
|
12
18
|
.optional(:version)
|
@@ -21,6 +27,16 @@ module DiscourseApi
|
|
21
27
|
def edit_post(id, raw)
|
22
28
|
put("/posts/#{id}", post: {raw: raw})
|
23
29
|
end
|
30
|
+
|
31
|
+
def destroy_post_action(post_id:, post_action_type_id:)
|
32
|
+
delete("/post_actions/#{post_id}.json", post_action_type_id: post_action_type_id)
|
33
|
+
end
|
34
|
+
|
35
|
+
# This will need to be updated when Discourse 1.5 is released
|
36
|
+
def post_action_users(post_id:, post_action_type_id:)
|
37
|
+
response = get("/post_actions/users.json", {id: post_id, post_action_type_id: post_action_type_id})
|
38
|
+
response[:body]
|
39
|
+
end
|
24
40
|
end
|
25
41
|
end
|
26
42
|
end
|
@@ -11,6 +11,12 @@ module DiscourseApi
|
|
11
11
|
post("/posts", args.to_h)
|
12
12
|
end
|
13
13
|
|
14
|
+
def create_topic_action(args)
|
15
|
+
args = API.params(args)
|
16
|
+
.required(:topic_id, :post_action_type_id)
|
17
|
+
post("/post_actions", args.to_h.merge(flag_topic: true))
|
18
|
+
end
|
19
|
+
|
14
20
|
def latest_topics(params={})
|
15
21
|
response = get('/latest.json', params)
|
16
22
|
response[:body]['topic_list']['topics']
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: discourse_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Saffron
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2016-03-
|
14
|
+
date: 2016-03-22 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: faraday
|
@@ -195,6 +195,7 @@ files:
|
|
195
195
|
- examples/example.rb
|
196
196
|
- examples/groups.rb
|
197
197
|
- examples/invite_users.rb
|
198
|
+
- examples/post_action.rb
|
198
199
|
- examples/search.rb
|
199
200
|
- examples/sso.rb
|
200
201
|
- examples/topic_lists.rb
|