mirror of https://github.com/tootsuite/mastodon
Move `Account` limits to constants (#30087)
parent
f0c9cbaf3b
commit
2123281f7c
|
@ -71,6 +71,9 @@ class Account < ApplicationRecord
|
||||||
MENTION_RE = %r{(?<![=/[:word:]])@((#{USERNAME_RE})(?:@[[:word:].-]+[[:word:]]+)?)}i
|
MENTION_RE = %r{(?<![=/[:word:]])@((#{USERNAME_RE})(?:@[[:word:].-]+[[:word:]]+)?)}i
|
||||||
URL_PREFIX_RE = %r{\Ahttp(s?)://[^/]+}
|
URL_PREFIX_RE = %r{\Ahttp(s?)://[^/]+}
|
||||||
USERNAME_ONLY_RE = /\A#{USERNAME_RE}\z/i
|
USERNAME_ONLY_RE = /\A#{USERNAME_RE}\z/i
|
||||||
|
USERNAME_LENGTH_LIMIT = 30
|
||||||
|
DISPLAY_NAME_LENGTH_LIMIT = 30
|
||||||
|
NOTE_LENGTH_LIMIT = 500
|
||||||
|
|
||||||
include Attachmentable # Load prior to Avatar & Header concerns
|
include Attachmentable # Load prior to Avatar & Header concerns
|
||||||
|
|
||||||
|
@ -100,10 +103,10 @@ class Account < ApplicationRecord
|
||||||
validates :uri, presence: true, unless: :local?, on: :create
|
validates :uri, presence: true, unless: :local?, on: :create
|
||||||
|
|
||||||
# Local user validations
|
# Local user validations
|
||||||
validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: 30 }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
|
validates :username, format: { with: /\A[a-z0-9_]+\z/i }, length: { maximum: USERNAME_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
|
||||||
validates_with UnreservedUsernameValidator, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
|
validates_with UnreservedUsernameValidator, if: -> { local? && will_save_change_to_username? && actor_type != 'Application' }
|
||||||
validates :display_name, length: { maximum: 30 }, if: -> { local? && will_save_change_to_display_name? }
|
validates :display_name, length: { maximum: DISPLAY_NAME_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_display_name? }
|
||||||
validates :note, note_length: { maximum: 500 }, if: -> { local? && will_save_change_to_note? }
|
validates :note, note_length: { maximum: NOTE_LENGTH_LIMIT }, if: -> { local? && will_save_change_to_note? }
|
||||||
validates :fields, length: { maximum: DEFAULT_FIELDS_SIZE }, if: -> { local? && will_save_change_to_fields? }
|
validates :fields, length: { maximum: DEFAULT_FIELDS_SIZE }, if: -> { local? && will_save_change_to_fields? }
|
||||||
validates :uri, absence: true, if: :local?, on: :create
|
validates :uri, absence: true, if: :local?, on: :create
|
||||||
validates :inbox_url, absence: true, if: :local?, on: :create
|
validates :inbox_url, absence: true, if: :local?, on: :create
|
||||||
|
|
Loading…
Reference in New Issue