diff options
author | ThibG <thib@sitedethib.com> | 2019-11-07 13:41:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-11-07 13:41:56 +0100 |
commit | dd2ec970dbe39f09d3da32d6a8f524aaad68a9d6 (patch) | |
tree | 0d3596a944cd4ddc27c8c3989f039f640730f70c /app/models | |
parent | 00793a86bc52e4cb37318e42ea4ceb37a896c727 (diff) | |
parent | f63dad52943c757489975e0c39e771b6bc96e5ba (diff) |
Merge pull request #1242 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/account.rb | 4 | ||||
-rw-r--r-- | app/models/list_account.rb | 6 | ||||
-rw-r--r-- | app/models/media_attachment.rb | 6 |
3 files changed, 10 insertions, 6 deletions
diff --git a/app/models/account.rb b/app/models/account.rb index db2eb8993..648378f7b 100644 --- a/app/models/account.rb +++ b/app/models/account.rb @@ -431,6 +431,8 @@ class Account < ApplicationRecord SELECT target_account_id FROM follows WHERE account_id = ? + UNION ALL + SELECT ? ) SELECT accounts.*, @@ -446,7 +448,7 @@ class Account < ApplicationRecord LIMIT ? OFFSET ? SQL - records = find_by_sql([sql, account.id, account.id, account.id, limit, offset]) + records = find_by_sql([sql, account.id, account.id, account.id, account.id, limit, offset]) else sql = <<-SQL.squish SELECT diff --git a/app/models/list_account.rb b/app/models/list_account.rb index 87b498224..785923c4c 100644 --- a/app/models/list_account.rb +++ b/app/models/list_account.rb @@ -6,13 +6,13 @@ # id :bigint(8) not null, primary key # list_id :bigint(8) not null # account_id :bigint(8) not null -# follow_id :bigint(8) not null +# follow_id :bigint(8) # class ListAccount < ApplicationRecord belongs_to :list belongs_to :account - belongs_to :follow + belongs_to :follow, optional: true validates :account_id, uniqueness: { scope: :list_id } @@ -21,6 +21,6 @@ class ListAccount < ApplicationRecord private def set_follow - self.follow = Follow.find_by(account_id: list.account_id, target_account_id: account.id) + self.follow = Follow.find_by!(account_id: list.account_id, target_account_id: account.id) unless list.account_id == account.id end end diff --git a/app/models/media_attachment.rb b/app/models/media_attachment.rb index b5e65212e..9bba89e57 100644 --- a/app/models/media_attachment.rb +++ b/app/models/media_attachment.rb @@ -26,6 +26,8 @@ class MediaAttachment < ApplicationRecord enum type: [:image, :gifv, :video, :unknown, :audio] + MAX_DESCRIPTION_LENGTH = 1_500 + IMAGE_FILE_EXTENSIONS = %w(.jpg .jpeg .png .gif).freeze VIDEO_FILE_EXTENSIONS = %w(.webm .mp4 .m4v .mov).freeze AUDIO_FILE_EXTENSIONS = %w(.ogg .oga .mp3 .wav .flac .opus .aac .m4a .3gp .wma).freeze @@ -139,7 +141,7 @@ class MediaAttachment < ApplicationRecord include Attachmentable validates :account, presence: true - validates :description, length: { maximum: 1_500 }, if: :local? + validates :description, length: { maximum: MAX_DESCRIPTION_LENGTH }, if: :local? scope :attached, -> { where.not(status_id: nil).or(where.not(scheduled_status_id: nil)) } scope :unattached, -> { where(status_id: nil, scheduled_status_id: nil) } @@ -243,7 +245,7 @@ class MediaAttachment < ApplicationRecord end def prepare_description - self.description = description.strip[0...420] unless description.nil? + self.description = description.strip[0...MAX_DESCRIPTION_LENGTH] unless description.nil? end def set_type_and_extension |