Skip to content
Snippets Groups Projects
Commit 06039718 authored by Eugen Rochko's avatar Eugen Rochko
Browse files

Adding sensitive marker to statuses in API

parent 4bdb6a0e
No related branches found
No related tags found
No related merge requests found
......@@ -50,7 +50,7 @@ class Api::V1::StatusesController < ApiController
end
def create
@status = PostStatusService.new.call(current_user.account, params[:status], params[:in_reply_to_id].blank? ? nil : Status.find(params[:in_reply_to_id]), params[:media_ids])
@status = PostStatusService.new.call(current_user.account, params[:status], params[:in_reply_to_id].blank? ? nil : Status.find(params[:in_reply_to_id]), media_ids: params[:media_ids], sensitive: params[:sensitive])
render action: :show
end
......
......@@ -5,11 +5,13 @@ class PostStatusService < BaseService
# @param [Account] account Account from which to post
# @param [String] text Message
# @param [Status] in_reply_to Optional status to reply to
# @param [Enumerable] media_ids Optional array of media IDs to attach
# @param [Hash] options
# @option [Boolean] :sensitive
# @option [Enumerable] :media_ids Optional array of media IDs to attach
# @return [Status]
def call(account, text, in_reply_to = nil, media_ids = nil)
status = account.statuses.create!(text: text, thread: in_reply_to)
attach_media(status, media_ids)
def call(account, text, in_reply_to = nil, options = {})
status = account.statuses.create!(text: text, thread: in_reply_to, sensitive: options[:sensitive])
attach_media(status, options[:media_ids])
process_mentions_service.call(status)
process_hashtags_service.call(status)
DistributionWorker.perform_async(status.id)
......
attributes :id, :created_at, :in_reply_to_id
attributes :id, :created_at, :in_reply_to_id, :sensitive
node(:uri) { |status| TagManager.instance.uri_for(status) }
node(:content) { |status| Formatter.instance.format(status) }
......
class AddSensitiveToStatuses < ActiveRecord::Migration[5.0]
def change
add_column :statuses, :sensitive, :boolean, default: false
end
end
......@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20161122163057) do
ActiveRecord::Schema.define(version: 20161123093447) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
......@@ -155,13 +155,14 @@ ActiveRecord::Schema.define(version: 20161122163057) do
create_table "statuses", force: :cascade do |t|
t.string "uri"
t.integer "account_id", null: false
t.text "text", default: "", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "account_id", null: false
t.text "text", default: "", null: false
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.integer "in_reply_to_id"
t.integer "reblog_of_id"
t.string "url"
t.boolean "sensitive", default: false
t.index ["account_id"], name: "index_statuses_on_account_id", using: :btree
t.index ["in_reply_to_id"], name: "index_statuses_on_in_reply_to_id", using: :btree
t.index ["reblog_of_id"], name: "index_statuses_on_reblog_of_id", using: :btree
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment