diff options
Diffstat (limited to 'app/controllers/api')
-rw-r--r-- | app/controllers/api/accounts_controller.rb | 36 | ||||
-rw-r--r-- | app/controllers/api/follows_controller.rb | 9 | ||||
-rw-r--r-- | app/controllers/api/statuses_controller.rb | 18 |
3 files changed, 63 insertions, 0 deletions
diff --git a/app/controllers/api/accounts_controller.rb b/app/controllers/api/accounts_controller.rb new file mode 100644 index 000000000..927fd86b7 --- /dev/null +++ b/app/controllers/api/accounts_controller.rb @@ -0,0 +1,36 @@ +class Api::AccountsController < ApiController + before_action :set_account + before_action :authenticate_user! + respond_to :json + + def show + end + + def following + @following = @account.following + end + + def followers + @followers = @account.followers + end + + def statuses + @statuses = @account.statuses + end + + def follow + @follow = current_user.account.follow!(@account) + render action: :show + end + + def unfollow + @unfollow = current_user.account.unfollow!(@account) + render action: :show + end + + private + + def set_account + @account = Account.find(params[:id]) + end +end diff --git a/app/controllers/api/follows_controller.rb b/app/controllers/api/follows_controller.rb new file mode 100644 index 000000000..acf627a07 --- /dev/null +++ b/app/controllers/api/follows_controller.rb @@ -0,0 +1,9 @@ +class Api::FollowsController < ApiController + before_action :authenticate_user! + respond_to :json + + def create + @follow = FollowService.new.(current_user.account, params[:uri]) + render action: :show + end +end diff --git a/app/controllers/api/statuses_controller.rb b/app/controllers/api/statuses_controller.rb new file mode 100644 index 000000000..872558f8e --- /dev/null +++ b/app/controllers/api/statuses_controller.rb @@ -0,0 +1,18 @@ +class Api::StatusesController < ApiController + before_action :authenticate_user! + respond_to :json + + def show + @status = Status.find(params[:id]) + end + + def create + @status = PostStatusService.new.(current_user.account, params[:status], params[:in_reply_to_id].blank? ? nil : Status.find(params[:in_reply_to_id])) + render action: :show + end + + def reblog + @status = ReblogService.new.(current_user.account, Status.find(params[:id])) + render action: :show + end +end |