# frozen_string_literal: true # kind of odd, but we need it, we also need to nuke usage of User from inside migrations # very poor form user = User.find_by("id <> -1 and username_lower = 'system'") if user user.username = UserNameSuggester.suggest("system") user.save end UserEmail.seed do |ue| ue.id = -1 ue.email = "no_email" ue.primary = true ue.user_id = -1 end User.seed do |u| u.id = -1 u.name = "system" u.username = "system" u.username_lower = "system" u.password = SecureRandom.hex u.active = true u.admin = true u.moderator = true u.approved = true u.trust_level = TrustLevel[4] end UserOption.where(user_id: -1).update_all( email_messages_level: UserOption.email_level_types[:never], email_level: UserOption.email_level_types[:never], ) Group.user_trust_level_change!(-1, TrustLevel[4]) # User for the smoke tests if ENV["SMOKE"] == "1" UserEmail.seed do |ue| ue.id = 0 ue.email = "smoke_user@discourse.org" ue.primary = true ue.user_id = 0 end smoke_user = User .seed do |u| u.id = 0 u.name = "smoke_user" u.username = "smoke_user" u.username_lower = "smoke_user" u.password = "P4ssw0rd" u.active = true u.approved = true u.approved_at = Time.now u.trust_level = TrustLevel[3] end .first UserOption.where(user_id: smoke_user.id).update_all( email_digests: false, email_messages_level: UserOption.email_level_types[:never], email_level: UserOption.email_level_types[:never], ) EmailToken.where(user_id: smoke_user.id).update_all(confirmed: true) end