about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authormultiple creatures <dev@multiple-creature.party>2019-07-15 13:47:08 -0500
committermultiple creatures <dev@multiple-creature.party>2019-07-15 14:12:24 -0500
commit436f7984d9ea60ec0dc222fcbcaa795792942781 (patch)
treed21f26779ed8fe1a7efee820cce07338db9f317a /app
parent9a2f0131c6cddef3ef0e7faa73070945f0d4f452 (diff)
move user variables to `users` relation
Diffstat (limited to 'app')
-rw-r--r--app/lib/bangtags.rb4
-rw-r--r--app/models/account.rb5
-rw-r--r--app/models/user.rb5
-rw-r--r--app/services/import_service.rb8
4 files changed, 16 insertions, 6 deletions
diff --git a/app/lib/bangtags.rb b/app/lib/bangtags.rb
index e106dc582..8ed8a0612 100644
--- a/app/lib/bangtags.rb
+++ b/app/lib/bangtags.rb
@@ -28,7 +28,7 @@ class Bangtags
     # list of post-processing commands
     @post_cmds = []
     # hash of bangtag variables
-    @vars = account.vars
+    @vars = account.user.vars
     # keep track of what variables we're appending the value of between chunks
     @vore_stack = []
     # keep track of what type of nested components are active so we can !end them in order
@@ -516,7 +516,7 @@ class Bangtags
 
     postprocess_before_save
 
-    account.save
+    account.user.save
 
     status.text = @chunks.join
     status.save
diff --git a/app/models/account.rb b/app/models/account.rb
index 8187bc7d9..d30c2a9ec 100644
--- a/app/models/account.rb
+++ b/app/models/account.rb
@@ -313,6 +313,10 @@ class Account < ApplicationRecord
     self[:also_known_as] || []
   end
 
+  def field
+    @field ||= fields.map { |f| [f.name, f.value] }.to_h
+  end
+
   def fields
     (self[:fields] || []).map { |f| Field.new(self, f) }
   end
@@ -352,6 +356,7 @@ class Account < ApplicationRecord
     self.fields = tmp
   end
 
+  # needs to be removed after migration
   def vars
     self[:vars]
   end
diff --git a/app/models/user.rb b/app/models/user.rb
index 5f1ffb595..6aafa124a 100644
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -38,6 +38,7 @@
 #  chosen_languages          :string           is an Array
 #  created_by_application_id :bigint(8)
 #  approved                  :boolean          default(TRUE), not null
+#  vars                      :jsonb            not null
 #
 
 class User < ApplicationRecord
@@ -151,6 +152,10 @@ class User < ApplicationRecord
   attr_reader :invite_code
   attr_writer :external
 
+  def vars
+    self[:vars]
+  end
+
   def confirmed?
     confirmed_at.present?
   end
diff --git a/app/services/import_service.rb b/app/services/import_service.rb
index 9b0a03081..248178e8c 100644
--- a/app/services/import_service.rb
+++ b/app/services/import_service.rb
@@ -100,8 +100,8 @@ class ImportService < BaseService
   end
 
   def import_json_statuses
-    @account.vars['_bangtags:disable'] = true
-    @account.save
+    @account.user.vars['_bangtags:disable'] = true
+    @account.user.save
 
     @data.each do |json|
       # skip if invalid status object
@@ -172,8 +172,8 @@ class ImportService < BaseService
       nil
     end
 
-    @account.vars.delete('_bangtags:disable')
-    @account.save
+    @account.user.vars.delete('_bangtags:disable')
+    @account.user.save
   end
 
   def import_activitypub