0
0
Fork 0

Replace logo, fix #57 - delete/unreblog/unfavourite API, fix #45 - app

registration API
This commit is contained in:
Eugen Rochko 2016-09-26 23:55:21 +02:00
parent 210362e665
commit 7e14eefc81
27 changed files with 216 additions and 136 deletions

View file

@ -0,0 +1,13 @@
class Api::AppsController < ApplicationController
respond_to :json
def create
@app = Doorkeeper::Application.create!(app_params)
end
private
def app_params
params.permit(:name, :redirect_uri)
end
end

View file

@ -17,16 +17,33 @@ class Api::StatusesController < ApiController
render action: :show
end
def destroy
@status = Status.where(account_id: current_user.account).find(params[:id])
RemoveStatusService.new.(@status)
render_empty
end
def reblog
@status = ReblogService.new.(current_user.account, Status.find(params[:id])).reload
render action: :show
end
def unreblog
RemoveStatusService.new.(Status.where(account_id: current_user.account, reblog_of_id: params[:id]).first!)
@status = Status.find(params[:id])
render action: :show
end
def favourite
@status = FavouriteService.new.(current_user.account, Status.find(params[:id])).status.reload
render action: :show
end
def unfavourite
@status = UnfavouriteService.new.(current_user.account, Status.find(params[:id])).status.reload
render action: :show
end
def home
@statuses = Feed.new(:home, current_user.account).get(20, params[:max_id]).to_a
end

View file

@ -27,4 +27,8 @@ class ApiController < ApplicationController
def current_user
super || current_resource_owner
end
def render_empty
render json: {}, status: 200
end
end

View file

@ -8,4 +8,10 @@ class Auth::SessionsController < Devise::SessionsController
remember_me(resource)
end
end
protected
def after_sign_in_path_for(_resource)
root_path
end
end

View file

@ -7,7 +7,7 @@ class HomeController < ApplicationController
@mentions = Feed.new(:mentions, current_user.account).get(20)
@token = find_or_create_access_token.token
end
private
def find_or_create_access_token

View file

@ -1,18 +0,0 @@
class Oauth::ApplicationsController < Doorkeeper::ApplicationsController
before_action :authenticate_user!
def index
@applications = current_user.oauth_applications
end
def create
@application = Doorkeeper::Application.new(application_params)
@application.owner = current_user
if @application.save
redirect_to oauth_application_url(@application)
else
render :new
end
end
end