2016-02-20 21:53:20 +00:00
|
|
|
module Mastodon
|
|
|
|
class Rest < Grape::API
|
|
|
|
version 'v1', using: :path
|
|
|
|
format :json
|
|
|
|
|
2016-02-26 19:48:20 +00:00
|
|
|
helpers do
|
|
|
|
def current_user
|
|
|
|
User.first
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2016-02-24 17:44:03 +00:00
|
|
|
resource :timelines do
|
2016-02-20 21:53:20 +00:00
|
|
|
desc 'Return a public timeline'
|
2016-02-22 15:00:20 +00:00
|
|
|
|
2016-02-24 17:44:03 +00:00
|
|
|
get :public do
|
|
|
|
# todo
|
2016-02-20 21:53:20 +00:00
|
|
|
end
|
2016-02-22 15:00:20 +00:00
|
|
|
|
|
|
|
desc 'Return the home timeline of a logged in user'
|
|
|
|
|
|
|
|
get :home do
|
2016-02-26 19:48:20 +00:00
|
|
|
present current_user.timeline, with: Mastodon::Entities::StreamEntry
|
2016-02-22 15:00:20 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
desc 'Return the notifications timeline of a logged in user'
|
|
|
|
|
|
|
|
get :notifications do
|
|
|
|
# todo
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
resource :accounts do
|
|
|
|
desc 'Return a user profile'
|
|
|
|
|
|
|
|
params do
|
|
|
|
requires :id, type: String, desc: 'Account ID'
|
|
|
|
end
|
|
|
|
|
|
|
|
get ':id' do
|
|
|
|
present Account.find(params[:id]), with: Mastodon::Entities::Account
|
|
|
|
end
|
2016-02-20 21:53:20 +00:00
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|