Fix #52 - Add API versioning (v1)
This commit is contained in:
parent
3f75f52285
commit
4f9b7432dd
53 changed files with 77 additions and 134 deletions
2
app/views/api/v1/accounts/followers.rabl
Normal file
2
app/views/api/v1/accounts/followers.rabl
Normal file
|
@ -0,0 +1,2 @@
|
|||
collection @followers
|
||||
extends('api/v1/accounts/show')
|
2
app/views/api/v1/accounts/following.rabl
Normal file
2
app/views/api/v1/accounts/following.rabl
Normal file
|
@ -0,0 +1,2 @@
|
|||
collection @following
|
||||
extends('api/v1/accounts/show')
|
5
app/views/api/v1/accounts/relationship.rabl
Normal file
5
app/views/api/v1/accounts/relationship.rabl
Normal file
|
@ -0,0 +1,5 @@
|
|||
object @account
|
||||
attribute :id
|
||||
node(:following) { |account| @following[account.id] || false }
|
||||
node(:followed_by) { |account| @followed_by[account.id] || false }
|
||||
node(:blocking) { |account| @blocking[account.id] || false }
|
2
app/views/api/v1/accounts/relationships.rabl
Normal file
2
app/views/api/v1/accounts/relationships.rabl
Normal file
|
@ -0,0 +1,2 @@
|
|||
collection @accounts
|
||||
extends 'api/v1/accounts/relationship'
|
10
app/views/api/v1/accounts/show.rabl
Normal file
10
app/views/api/v1/accounts/show.rabl
Normal file
|
@ -0,0 +1,10 @@
|
|||
object @account
|
||||
|
||||
attributes :id, :username, :acct, :display_name, :note
|
||||
|
||||
node(:url) { |account| TagManager.instance.url_for(account) }
|
||||
node(:avatar) { |account| full_asset_url(account.avatar.url(:large, false)) }
|
||||
node(:header) { |account| full_asset_url(account.header.url(:medium, false)) }
|
||||
node(:followers_count) { |account| account.followers.count }
|
||||
node(:following_count) { |account| account.following.count }
|
||||
node(:statuses_count) { |account| account.statuses.count }
|
2
app/views/api/v1/accounts/statuses.rabl
Normal file
2
app/views/api/v1/accounts/statuses.rabl
Normal file
|
@ -0,0 +1,2 @@
|
|||
collection @statuses
|
||||
extends('api/v1/statuses/show')
|
4
app/views/api/v1/apps/create.rabl
Normal file
4
app/views/api/v1/apps/create.rabl
Normal file
|
@ -0,0 +1,4 @@
|
|||
object @app
|
||||
attributes :id, :redirect_uri
|
||||
node(:client_id) { |app| app.uid }
|
||||
node(:client_secret) { |app| app.secret }
|
2
app/views/api/v1/follows/show.rabl
Normal file
2
app/views/api/v1/follows/show.rabl
Normal file
|
@ -0,0 +1,2 @@
|
|||
object @account
|
||||
extends('api/v1/accounts/show')
|
5
app/views/api/v1/media/create.rabl
Normal file
5
app/views/api/v1/media/create.rabl
Normal file
|
@ -0,0 +1,5 @@
|
|||
object @media
|
||||
attribute :id, :type
|
||||
node(:url) { |media| full_asset_url(media.file.url) }
|
||||
node(:preview_url) { |media| full_asset_url(media.file.url(:small)) }
|
||||
node(:text_url) { |media| medium_url(media) }
|
13
app/views/api/v1/statuses/context.rabl
Normal file
13
app/views/api/v1/statuses/context.rabl
Normal file
|
@ -0,0 +1,13 @@
|
|||
object false
|
||||
|
||||
node :ancestors do
|
||||
@ancestors.map do |status|
|
||||
partial('api/v1/statuses/show', object: status)
|
||||
end
|
||||
end
|
||||
|
||||
node :descendants do
|
||||
@descendants.map do |status|
|
||||
partial('api/v1/statuses/show', object: status)
|
||||
end
|
||||
end
|
2
app/views/api/v1/statuses/home.rabl
Normal file
2
app/views/api/v1/statuses/home.rabl
Normal file
|
@ -0,0 +1,2 @@
|
|||
collection @statuses
|
||||
extends('api/v1/statuses/show')
|
2
app/views/api/v1/statuses/mentions.rabl
Normal file
2
app/views/api/v1/statuses/mentions.rabl
Normal file
|
@ -0,0 +1,2 @@
|
|||
collection @statuses
|
||||
extends('api/v1/statuses/show')
|
31
app/views/api/v1/statuses/show.rabl
Normal file
31
app/views/api/v1/statuses/show.rabl
Normal file
|
@ -0,0 +1,31 @@
|
|||
object @status
|
||||
attributes :id, :created_at, :in_reply_to_id
|
||||
|
||||
node(:uri) { |status| TagManager.instance.uri_for(status) }
|
||||
node(:content) { |status| Formatter.instance.format(status) }
|
||||
node(:url) { |status| TagManager.instance.url_for(status) }
|
||||
node(:reblogs_count) { |status| status.reblogs_count }
|
||||
node(:favourites_count) { |status| status.favourites_count }
|
||||
node(:favourited) { |status| current_account.favourited?(status) }
|
||||
node(:reblogged) { |status| current_account.reblogged?(status) }
|
||||
|
||||
child :reblog => :reblog do
|
||||
extends('api/v1/statuses/show')
|
||||
end
|
||||
|
||||
child :account do
|
||||
extends('api/v1/accounts/show')
|
||||
end
|
||||
|
||||
child :media_attachments, object_root: false do
|
||||
attributes :id, :remote_url, :type
|
||||
|
||||
node(:url) { |media| full_asset_url(media.file.url) }
|
||||
node(:preview_url) { |media| full_asset_url(media.file.url(:small)) }
|
||||
end
|
||||
|
||||
child :mentions, object_root: false do
|
||||
node(:url) { |mention| TagManager.instance.url_for(mention.account) }
|
||||
node(:acct) { |mention| mention.account.acct }
|
||||
node(:id) { |mention| mention.account_id }
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue