Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cs_comments_service
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
cs_comments_service
Commits
104308fd
Commit
104308fd
authored
Jul 31, 2012
by
Rocky Duan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix json boolean bug & send thread comments count
parent
23cb2de3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
20 additions
and
9 deletions
+20
-9
app.rb
+13
-8
lib/helpers.rb
+5
-1
models/comment_thread.rb
+2
-0
No files found.
app.rb
View file @
104308fd
...
@@ -35,18 +35,19 @@ delete '/api/v1/:commentable_id/threads' do |commentable_id|
...
@@ -35,18 +35,19 @@ delete '/api/v1/:commentable_id/threads' do |commentable_id|
end
end
get
'/api/v1/:commentable_id/threads'
do
|
commentable_id
|
get
'/api/v1/:commentable_id/threads'
do
|
commentable_id
|
commentable
.
comment_threads
.
map
{
|
t
|
t
.
to_hash
(
recursive:
params
[
"recursive"
]
)}.
to_json
commentable
.
comment_threads
.
map
{
|
t
|
t
.
to_hash
(
recursive:
value_to_boolean
(
params
[
"recursive"
])
)}.
to_json
end
end
post
'/api/v1/:commentable_id/threads'
do
|
commentable_id
|
post
'/api/v1/:commentable_id/threads'
do
|
commentable_id
|
thread
=
CommentThread
.
new
(
params
.
slice
(
*
%w[title body course_id anonymous]
).
merge
(
commentable_id:
commentable_id
))
thread
=
CommentThread
.
new
(
params
.
slice
(
*
%w[title body course_id]
).
merge
(
commentable_id:
commentable_id
))
thread
.
anonymous
=
value_to_boolean
(
params
[
"anonymous"
])
||
false
thread
.
tags
=
params
[
"tags"
]
||
""
thread
.
tags
=
params
[
"tags"
]
||
""
thread
.
author
=
user
thread
.
author
=
user
thread
.
save
thread
.
save
if
thread
.
errors
.
any?
if
thread
.
errors
.
any?
error
400
,
thread
.
errors
.
full_messages
.
to_json
error
400
,
thread
.
errors
.
full_messages
.
to_json
else
else
user
.
subscribe
(
thread
)
if
params
[
"auto_subscribe"
]
user
.
subscribe
(
thread
)
if
value_to_boolean
params
[
"auto_subscribe"
]
thread
.
to_hash
.
to_json
thread
.
to_hash
.
to_json
end
end
end
end
...
@@ -60,7 +61,7 @@ get '/api/v1/threads/tags/autocomplete' do
...
@@ -60,7 +61,7 @@ get '/api/v1/threads/tags/autocomplete' do
end
end
get
'/api/v1/threads/:thread_id'
do
|
thread_id
|
get
'/api/v1/threads/:thread_id'
do
|
thread_id
|
CommentThread
.
find
(
thread_id
).
to_hash
(
recursive:
params
[
"recursive"
]
).
to_json
CommentThread
.
find
(
thread_id
).
to_hash
(
recursive:
value_to_boolean
(
params
[
"recursive"
])
).
to_json
end
end
put
'/api/v1/threads/:thread_id'
do
|
thread_id
|
put
'/api/v1/threads/:thread_id'
do
|
thread_id
|
...
@@ -77,13 +78,14 @@ put '/api/v1/threads/:thread_id' do |thread_id|
...
@@ -77,13 +78,14 @@ put '/api/v1/threads/:thread_id' do |thread_id|
end
end
post
'/api/v1/threads/:thread_id/comments'
do
|
thread_id
|
post
'/api/v1/threads/:thread_id/comments'
do
|
thread_id
|
comment
=
thread
.
comments
.
new
(
params
.
slice
(
*
%w[body course_id anonymous]
))
comment
=
thread
.
comments
.
new
(
params
.
slice
(
*
%w[body course_id]
))
comment
.
anonymous
=
value_to_boolean
(
params
[
"anonymous"
])
||
false
comment
.
author
=
user
comment
.
author
=
user
comment
.
save
comment
.
save
if
comment
.
errors
.
any?
if
comment
.
errors
.
any?
error
400
,
comment
.
errors
.
full_messages
.
to_json
error
400
,
comment
.
errors
.
full_messages
.
to_json
else
else
user
.
subscribe
(
thread
)
if
params
[
"auto_subscribe"
]
user
.
subscribe
(
thread
)
if
value_to_boolean
params
[
"auto_subscribe"
]
comment
.
to_hash
.
to_json
comment
.
to_hash
.
to_json
end
end
end
end
...
@@ -94,7 +96,7 @@ delete '/api/v1/threads/:thread_id' do |thread_id|
...
@@ -94,7 +96,7 @@ delete '/api/v1/threads/:thread_id' do |thread_id|
end
end
get
'/api/v1/comments/:comment_id'
do
|
comment_id
|
get
'/api/v1/comments/:comment_id'
do
|
comment_id
|
comment
.
to_hash
(
recursive:
params
[
"recursive"
]
).
to_json
comment
.
to_hash
(
recursive:
value_to_boolean
(
params
[
"recursive"
])
).
to_json
end
end
put
'/api/v1/comments/:comment_id'
do
|
comment_id
|
put
'/api/v1/comments/:comment_id'
do
|
comment_id
|
...
@@ -107,13 +109,16 @@ put '/api/v1/comments/:comment_id' do |comment_id|
...
@@ -107,13 +109,16 @@ put '/api/v1/comments/:comment_id' do |comment_id|
end
end
post
'/api/v1/comments/:comment_id'
do
|
comment_id
|
post
'/api/v1/comments/:comment_id'
do
|
comment_id
|
puts
params
sub_comment
=
comment
.
children
.
new
(
params
.
slice
(
*
%w[body course_id]
))
sub_comment
=
comment
.
children
.
new
(
params
.
slice
(
*
%w[body course_id]
))
sub_comment
.
anonymous
=
value_to_boolean
(
params
[
"anonymous"
])
||
false
sub_comment
.
author
=
user
sub_comment
.
author
=
user
sub_comment
.
comment_thread
=
comment
.
comment_thread
sub_comment
.
comment_thread
=
comment
.
comment_thread
sub_comment
.
save
sub_comment
.
save
if
sub_comment
.
errors
.
any?
if
sub_comment
.
errors
.
any?
error
400
,
sub_comment
.
errors
.
full_messages
.
to_json
error
400
,
sub_comment
.
errors
.
full_messages
.
to_json
else
else
user
.
subscribe
(
comment
.
comment_thread
)
if
value_to_boolean
params
[
"auto_subscribe"
]
sub_comment
.
to_hash
.
to_json
sub_comment
.
to_hash
.
to_json
end
end
end
end
...
@@ -140,7 +145,7 @@ delete '/api/v1/threads/:thread_id/votes' do |thread_id|
...
@@ -140,7 +145,7 @@ delete '/api/v1/threads/:thread_id/votes' do |thread_id|
end
end
get
'/api/v1/users/:user_id'
do
|
user_id
|
get
'/api/v1/users/:user_id'
do
|
user_id
|
user
.
to_hash
(
complete:
params
[
"complete"
]
).
to_json
user
.
to_hash
(
complete:
value_to_boolean
(
params
[
"complete"
])
).
to_json
end
end
get
'/api/v1/users/:user_id/notifications'
do
|
user_id
|
get
'/api/v1/users/:user_id/notifications'
do
|
user_id
|
...
...
lib/helpers.rb
View file @
104308fd
...
@@ -4,7 +4,7 @@ helpers do
...
@@ -4,7 +4,7 @@ helpers do
end
end
def
user
# TODO handle 404 if integrated user service
def
user
# TODO handle 404 if integrated user service
@user
||=
(
User
.
find_or_create_by
(
external_id:
params
[
:user_id
])
if
params
[
:user_id
])
@user
||=
User
.
find_or_create_by
(
external_id:
params
[
:user_id
])
end
end
def
thread
def
thread
...
@@ -41,4 +41,8 @@ helpers do
...
@@ -41,4 +41,8 @@ helpers do
user
.
unvote
(
obj
)
user
.
unvote
(
obj
)
obj
.
reload
.
to_hash
.
to_json
obj
.
reload
.
to_hash
.
to_json
end
end
def
value_to_boolean
(
value
)
!!
(
value
.
to_s
=~
/^true$/i
)
end
end
end
models/comment_thread.rb
View file @
104308fd
...
@@ -79,6 +79,8 @@ class CommentThread < Content
...
@@ -79,6 +79,8 @@ class CommentThread < Content
if
params
[
:recursive
]
if
params
[
:recursive
]
doc
=
doc
.
merge
(
"children"
=>
root_comments
.
map
{
|
c
|
c
.
to_hash
(
recursive:
true
)})
doc
=
doc
.
merge
(
"children"
=>
root_comments
.
map
{
|
c
|
c
.
to_hash
(
recursive:
true
)})
else
doc
=
doc
.
merge
(
"comments_count"
=>
comments
.
count
)
end
end
doc
doc
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment