about summary refs log tree commit diff
path: root/app/views/api/statuses
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2016-03-07 12:42:33 +0100
committerEugen Rochko <eugen@zeonfederated.com>2016-03-07 12:42:33 +0100
commitab6696e855b58cdb2b6264c9acb0397dd7384e25 (patch)
tree516e8c8f3a574e669d9f5b192655c54a7bcda38b /app/views/api/statuses
parent3824c588533f481011d2be19ff9476c001ffbee9 (diff)
Adding doorkeeper, adding a REST API
POST /api/statuses                  Params: status (text contents), in_reply_to_id (optional)
GET  /api/statuses/:id
POST /api/statuses/:id/reblog

GET  /api/accounts/:id
GET  /api/accounts/:id/following
GET  /api/accounts/:id/followers
POST /api/accounts/:id/follow
POST /api/accounts/:id/unfollow

POST /api/follows                  Params: uri (e.g. user@domain)

OAuth authentication is currently disabled, but the API can be used with HTTP Auth.
Diffstat (limited to 'app/views/api/statuses')
-rw-r--r--app/views/api/statuses/show.rabl18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/views/api/statuses/show.rabl b/app/views/api/statuses/show.rabl
new file mode 100644
index 000000000..344517236
--- /dev/null
+++ b/app/views/api/statuses/show.rabl
@@ -0,0 +1,18 @@
+object @status
+attributes :id, :created_at, :in_reply_to_id
+
+node(:uri)        { |status| uri_for_target(status) }
+node(:content)    { |status| status.local? ? linkify(status) : status.content }
+node(:url)        { |status| url_for_target(status) }
+node(:reblogs)    { |status| status.reblogs.count }
+node(:favourites) { |status| status.favourites.count }
+node(:favourited) { |status| current_user.account.favourited?(status) }
+node(:reblogged)  { |status| current_user.account.reblogged?(status) }
+
+child :reblog => :reblog do
+  extends('api/statuses/show')
+end
+
+child :account do
+  extends('api/accounts/show')
+end