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.
This commit is contained in:
Eugen Rochko
2016-03-07 12:42:33 +01:00
parent 3824c58853
commit ab6696e855
54 changed files with 847 additions and 61 deletions

View File

@ -0,0 +1,2 @@
collection @followers
extends('api/accounts/show')

View File

@ -0,0 +1,2 @@
collection @following
extends('api/accounts/show')

View File

@ -0,0 +1,9 @@
object @account
attributes :id, :username, :acct, :display_name, :note
node(:url) { |account| url_for_target(account) }
node(:avatar) { |account| asset_url(account.avatar.url(:large, false)) }
node(:followers) { |account| account.followers.count }
node(:following) { |account| account.following.count }
node(:statuses) { |account| account.statuses.count }

View File

@ -0,0 +1,2 @@
collection @statuses
extends('api/statuses/show')

View File

@ -0,0 +1,5 @@
object @follow
child :target_account => :target_account do
extends('api/accounts/show')
end

View File

@ -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