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)