diff options
Diffstat (limited to 'app/controllers/api/activitypub/activities_controller.rb')
-rw-r--r-- | app/controllers/api/activitypub/activities_controller.rb | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/app/controllers/api/activitypub/activities_controller.rb b/app/controllers/api/activitypub/activities_controller.rb new file mode 100644 index 000000000..03f27c7f6 --- /dev/null +++ b/app/controllers/api/activitypub/activities_controller.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +class Api::Activitypub::ActivitiesController < ApiController + # before_action :set_follow, only: [:show_follow] + before_action :set_status, only: [:show_status] + + respond_to :activitystreams2 + + # Show a status in AS2 format, as either an Announce (reblog) or a Create (post) activity. + def show_status + headers['Access-Control-Allow-Origin'] = '*' + + return forbidden unless @status.permitted? + + if @status.reblog? + render :show_status_announce + else + render :show_status_create + end + end + + private + + def set_status + @status = Status.find(params[:id]) + end +end |