lib/ecoportal/api/internal/account.rb in ecoportal-api-0.8.4 vs lib/ecoportal/api/internal/account.rb in ecoportal-api-0.8.5

- old
+ new

@@ -4,19 +4,36 @@ class Account < Common::BaseModel PROPERTIES = [ "user_id", "policy_group_ids", "default_tag", "prefilter", "permissions_custom", "permissions_merged", "preferences", "login_provider_ids", "starred_ids", "landing_page_id", - "accept_eula", "send_invites" + "accept_eula", "send_invites", "force_send_invites" ] passthrough *PROPERTIES.map(&:to_sym) class_resolver :preferences_class, "Ecoportal::API::Internal::Preferences" class_resolver :permissions_class, "Ecoportal::API::Internal::Permissions" embeds_one :permissions, key: "permissions_custom", klass: :permissions_class embeds_one :perms_merged, key: "permissions_merged", klass: :permissions_class embeds_one :preferences, klass: :preferences_class + + # Sets the `default_tag` of the user + # @note it upcases the value + # @param value [String, nil] the tag + # @return [String, nil] the value set in `default_tag` + def default_tag=(value) + unless !value || value.is_a?(String) + raise ArgumentError.new("default_tag= needs to be passed a String or nil, got #{value.class}") + end + if value + unless value.match(Ecoportal::API::V1::Person::VALID_TAG_REGEX) + raise ArgumentError.new("Invalid default tag #{value.inspect}") + end + value = value.upcase + end + doc["default_tag"] = value + end # Sets the `policy_group_ids` # @note it preserves the original order # @param value [Array<String>] the policy group ids to be set. def policy_group_ids=(value)