Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Pleroma
pleroma
Commits
4799dc69
Commit
4799dc69
authored
Apr 15, 2017
by
lain
Browse files
Add retweeting to TwAPI controller.
parent
60c60de3
Changes
3
Hide whitespace changes
Inline
Side-by-side
lib/pleroma/web/router.ex
View file @
4799dc69
...
...
@@ -43,5 +43,6 @@ def user_fetcher(username) do
post
"/favorites/create/:id"
,
TwitterAPI
.
Controller
,
:favorite
post
"/favorites/create"
,
TwitterAPI
.
Controller
,
:favorite
post
"/favorites/destroy/:id"
,
TwitterAPI
.
Controller
,
:unfavorite
post
"/statuses/retweet/:id"
,
TwitterAPI
.
Controller
,
:retweet
end
end
lib/pleroma/web/twitter_api/twitter_api_controller.ex
View file @
4799dc69
...
...
@@ -122,6 +122,15 @@ def unfavorite(%{assigns: %{user: user}} = conn, %{"id" => id}) do
|>
json_reply
(
200
,
response
)
end
def
retweet
(%{
assigns:
%{
user:
user
}}
=
conn
,
%{
"id"
=>
id
})
do
activity
=
Repo
.
get
(
Activity
,
id
)
{
:ok
,
status
}
=
TwitterAPI
.
retweet
(
user
,
activity
)
response
=
Poison
.
encode!
(
status
)
conn
|>
json_reply
(
200
,
response
)
end
defp
json_reply
(
conn
,
status
,
json
)
do
conn
|>
put_resp_content_type
(
"application/json"
)
...
...
test/web/twitter_api/twitter_api_controller_test.exs
View file @
4799dc69
...
...
@@ -197,6 +197,25 @@ test "with credentials", %{conn: conn, user: current_user} do
end
end
describe
"POST /api/statuses/retweet/:id"
do
setup
[
:valid_user
]
test
"without valid credentials"
,
%{
conn:
conn
}
do
note_activity
=
insert
(
:note_activity
)
conn
=
post
conn
,
"/api/statuses/retweet/
#{
note_activity
.
id
}
.json"
assert
json_response
(
conn
,
403
)
==
%{
"error"
=>
"Invalid credentials."
}
end
test
"with credentials"
,
%{
conn:
conn
,
user:
current_user
}
do
note_activity
=
insert
(
:note_activity
)
conn
=
conn
|>
with_credentials
(
current_user
.
nickname
,
"test"
)
|>
post
(
"/api/statuses/retweet/
#{
note_activity
.
id
}
.json"
)
assert
json_response
(
conn
,
200
)
end
end
defp
valid_user
(
_context
)
do
{
:ok
,
user
}
=
UserBuilder
.
insert
(%{
nickname:
"lambda"
,
ap_id:
"lambda"
})
[
user:
user
]
...
...
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