added 260907 version of worker toolkit

This commit is contained in:
2026-09-08 20:30:51 -04:00
parent cbd3f0f8ca
commit 97aca37663
1283 changed files with 142951 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
module Topicable
extend ActiveSupport::Concern
include Mongoid::Document
include Mongoid::Timestamps
TOPIC_TYPES = %w[tag symptom condition treatment].freeze
included do
field :tag_ids, type: Array, default: []
field :symptom_ids, type: Array, default: []
field :condition_ids, type: Array, default: []
field :treatment_ids, type: Array, default: []
field :encrypted_user_id, type: String, encrypted: {type: :integer}
validates :encrypted_user_id, presence: true
TOPIC_TYPES.each do |relative|
pluralized_relative = relative.pluralize
define_method(:"#{pluralized_relative}") do
ivar_name = :"@_#{pluralized_relative}"
value = instance_variable_get(ivar_name)
return value if value.present?
value = instance_variable_set(ivar_name, relative.classify.constantize.where(id: send("#{relative}_ids")))
value
end
end
end
end