Merge branch 'develop' of https://code.gab.com/gab/social/gab-social into feature/removing_ruby_junk

This commit is contained in:
mgabdev
2020-12-09 00:00:35 -05:00
28 changed files with 827 additions and 7 deletions

View File

@@ -25,6 +25,7 @@ class EditStatusService < BaseService
return idempotency_duplicate if idempotency_given? && idempotency_duplicate?
validate_links!
validate_media!
preprocess_attributes!
revision_text = prepare_revision_text
@@ -89,6 +90,10 @@ class EditStatusService < BaseService
raise GabSocial::ValidationError, I18n.t('media_attachments.validations.images_and_video') if @media.size > 1 && hasVideoOrGif
end
def validate_links!
raise GabSocial::NotPermittedError if LinkBlock.block?(@text)
end
def language_from_option(str)
ISO_639.find(str)&.alpha2
end

View File

@@ -34,6 +34,7 @@ class PostStatusService < BaseService
return idempotency_duplicate if idempotency_given? && idempotency_duplicate?
validate_links!
validate_media!
validate_group!
preprocess_attributes!
@@ -98,7 +99,7 @@ class PostStatusService < BaseService
end
def postprocess_status!
LinkCrawlWorker.perform_async(@status.id) unless @status.spoiler_text?
LinkCrawlWorker.perform_async(@status.id)
DistributionWorker.perform_async(@status.id)
ExpiringStatusWorker.perform_at(@status.expires_at, @status.id) if @status.expires_at && @account.is_pro
PollExpirationNotifyWorker.perform_at(@status.poll.expires_at, @status.poll.id) if @status.poll
@@ -118,12 +119,17 @@ class PostStatusService < BaseService
raise GabSocial::ValidationError, I18n.t('media_attachments.validations.too_many') if @options[:media_ids].size > 4 || @options[:poll].present?
@account.media_attachments.connection.stick_to_master!
@media = @account.media_attachments.where(status_id: nil).where(id: @options[:media_ids].take(4).map(&:to_i))
hasVideoOrGif = @media.find(&:video?) || @media.find(&:gifv?)
raise GabSocial::ValidationError, I18n.t('media_attachments.validations.images_and_video') if @media.size > 1 && hasVideoOrGif
end
def validate_links!
raise GabSocial::NotPermittedError if LinkBlock.block?(@text)
end
def language_from_option(str)
ISO_639.find(str)&.alpha2
end