このコミットが含まれているのは:
@@ -115,7 +115,7 @@ class PostsController < ApplicationController
|
||||
render json: PostRepr.base(post, current_user)
|
||||
end
|
||||
|
||||
def preview
|
||||
def metadata
|
||||
return head :unauthorized unless current_user
|
||||
return head :forbidden unless current_user.gte_member?
|
||||
return render_bad_request('URL は必須です.') if params[:url].blank?
|
||||
@@ -128,6 +128,7 @@ class PostsController < ApplicationController
|
||||
provenance: { },
|
||||
tag_sources: { } }],
|
||||
fetch_metadata: true).first
|
||||
return render_validation_error fields: preview[:validation_errors] if preview[:validation_errors].present?
|
||||
|
||||
render json: {
|
||||
url: preview[:url],
|
||||
@@ -140,7 +141,6 @@ class PostsController < ApplicationController
|
||||
video_ms: preview[:attributes]['video_ms'],
|
||||
field_warnings: preview[:field_warnings],
|
||||
base_warnings: preview[:base_warnings],
|
||||
validation_errors: preview[:validation_errors],
|
||||
existing_post: compact_post(preview[:existing_post_id]) }
|
||||
rescue ArgumentError => e
|
||||
render_bad_request e.message
|
||||
@@ -178,6 +178,11 @@ class PostsController < ApplicationController
|
||||
attributes: post_create_attributes,
|
||||
thumbnail: params[:thumbnail]).run
|
||||
return render json: dry_run_json(preflight) if bool?(:dry)
|
||||
if preflight[:existing_post].present?
|
||||
post = Post.new(url: preflight[:url])
|
||||
post.errors.add :url, :taken
|
||||
return render_post_form_record_invalid post
|
||||
end
|
||||
|
||||
post = PostCreator.new(actor: current_user,
|
||||
attributes: post_create_attributes.merge(
|
||||
@@ -191,7 +196,10 @@ class PostsController < ApplicationController
|
||||
:original_created_before,
|
||||
:duration,
|
||||
:video_ms,
|
||||
:normalised_tags,
|
||||
:direct_tag_specs,
|
||||
:default_tag_specs,
|
||||
:snapshot_tag_specs,
|
||||
:post_tag_specs,
|
||||
:tag_sections,
|
||||
:normalised_parent_post_ids).symbolize_keys).merge(
|
||||
thumbnail: params[:thumbnail])).create!
|
||||
|
||||
新しい課題から参照
ユーザをブロックする