class Projects::UpdateForm < BaseForm
  attr_accessor :name, :description, :project_category_id, :project_language_id, :private, :identifier, :user_id, :project_identifier, :project_name
  validates :name, presence: true
  validates :name, length: { maximum: 100 }
  validates :description, length: { maximum: 200 }
  validates :identifier, format: { with: CustomRegexp::REPOSITORY_NAME_REGEX, multiline: true, message: '长度为2~100， 只能包含数字，字母，下划线(_)，中划线(-)，英文句号(.)，必须以数字和字母开头，不能以下划线/中划线/英文句号开头和结尾' }

  validate do
    check_project_category(project_category_id)
    check_project_language(project_language_id)

    check_repository_name(user_id, identifier) unless identifier.blank? || identifier == project_identifier
    # check_gitea_repository_name(user_id, identifier) unless identifier.blank? || identifier == project_identifier
    check_project_name(user_id, name) unless name.blank? || name == project_name
  end

end
