Add ability to specify alternative text for media attachments (#5123)
* Fix #117 - Add ability to specify alternative text for media attachments - POST /api/v1/media accepts `description` straight away - PUT /api/v1/media/:id to update `description` (only for unattached ones) - Serialized as `name` of Document object in ActivityPub - Uploads form adjusted for better performance and description input * Add tests * Change undo button blend mode to difference
This commit is contained in:
parent
3d9b8847d2
commit
4ec1771165
24 changed files with 311 additions and 278 deletions
|
@ -16,6 +16,7 @@
|
|||
# shortcode :string
|
||||
# type :integer default("image"), not null
|
||||
# file_meta :json
|
||||
# description :text
|
||||
#
|
||||
|
||||
require 'mime/types'
|
||||
|
@ -58,6 +59,7 @@ class MediaAttachment < ApplicationRecord
|
|||
validates_attachment_size :file, less_than: 8.megabytes
|
||||
|
||||
validates :account, presence: true
|
||||
validates :description, length: { maximum: 140 }, if: :local?
|
||||
|
||||
scope :attached, -> { where.not(status_id: nil) }
|
||||
scope :unattached, -> { where(status_id: nil) }
|
||||
|
@ -78,6 +80,7 @@ class MediaAttachment < ApplicationRecord
|
|||
shortcode
|
||||
end
|
||||
|
||||
before_create :prepare_description, unless: :local?
|
||||
before_create :set_shortcode
|
||||
before_post_process :set_type_and_extension
|
||||
before_save :set_meta
|
||||
|
@ -136,6 +139,10 @@ class MediaAttachment < ApplicationRecord
|
|||
end
|
||||
end
|
||||
|
||||
def prepare_description
|
||||
self.description = description.strip[0...140] unless description.nil?
|
||||
end
|
||||
|
||||
def set_type_and_extension
|
||||
self.type = VIDEO_MIME_TYPES.include?(file_content_type) ? :video : :image
|
||||
extension = appropriate_extension
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue