discourse_api 0.8.1 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|