Class: Courier::Models::Users::TopicPreference
- Inherits:
-
Internal::Type::BaseModel
- Object
- Internal::Type::BaseModel
- Courier::Models::Users::TopicPreference
- Defined in:
- lib/courier/models/users/topic_preference.rb,
sig/courier/models/users/topic_preference.rbs
Instance Attribute Summary collapse
-
#custom_routing ⇒ Array<Symbol, Courier::Models::ChannelClassification>?
The channels the user has chosen to receive this topic on, present only when has_custom_routing is true.
-
#default_status ⇒ Symbol, Courier::Models::PreferenceStatus
The topic's default status, returned on reads.
-
#has_custom_routing ⇒ Boolean?
Whether the user has chosen specific delivery channels for this topic (listed in custom_routing) rather than the topic's default routing.
-
#status ⇒ Symbol, Courier::Models::PreferenceStatus
The user's subscription status for this topic.
-
#topic_id ⇒ String
The unique identifier of the subscription topic this preference applies to.
-
#topic_name ⇒ String
The display name of the subscription topic, returned on reads.
Instance Method Summary collapse
-
#initialize(default_status:, status:, topic_id:, topic_name:, custom_routing: nil, has_custom_routing: nil) ⇒ Object
constructor
Some parameter documentations has been truncated, see TopicPreference for more details.
- #to_hash ⇒ {
Methods inherited from Internal::Type::BaseModel
==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml
Methods included from Internal::Type::Converter
#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info
Methods included from Internal::Util::SorbetRuntimeSupport
#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type
Constructor Details
#initialize(default_status:, status:, topic_id:, topic_name:, custom_routing: nil, has_custom_routing: nil) ⇒ Object
Some parameter documentations has been truncated, see Courier::Models::Users::TopicPreference for more details.
|
|
# File 'lib/courier/models/users/topic_preference.rb', line 51
|
Instance Attribute Details
#custom_routing ⇒ Array<Symbol, Courier::Models::ChannelClassification>?
The channels the user has chosen to receive this topic on, present only when has_custom_routing is true. One or more of: direct_message, email, push, sms, webhook, inbox.
40 41 42 |
# File 'lib/courier/models/users/topic_preference.rb', line 40 optional :custom_routing, -> { Courier::Internal::Type::ArrayOf[enum: Courier::ChannelClassification] }, nil?: true |
#default_status ⇒ Symbol, Courier::Models::PreferenceStatus
The topic's default status, returned on reads. It applies whenever the user has no override of their own (status equals this value).
12 |
# File 'lib/courier/models/users/topic_preference.rb', line 12 required :default_status, enum: -> { Courier::PreferenceStatus } |
#has_custom_routing ⇒ Boolean?
Whether the user has chosen specific delivery channels for this topic (listed in custom_routing) rather than the topic's default routing.
49 |
# File 'lib/courier/models/users/topic_preference.rb', line 49 optional :has_custom_routing, Courier::Internal::Type::Boolean, nil?: true |
#status ⇒ Symbol, Courier::Models::PreferenceStatus
The user's subscription status for this topic. OPTED_IN or OPTED_OUT reflect the user's own choice; REQUIRED is a topic-level default set in the preferences editor, not a user choice.
20 |
# File 'lib/courier/models/users/topic_preference.rb', line 20 required :status, enum: -> { Courier::PreferenceStatus } |
#topic_id ⇒ String
The unique identifier of the subscription topic this preference applies to.
26 |
# File 'lib/courier/models/users/topic_preference.rb', line 26 required :topic_id, String |
#topic_name ⇒ String
The display name of the subscription topic, returned on reads.
32 |
# File 'lib/courier/models/users/topic_preference.rb', line 32 required :topic_name, String |
Instance Method Details
#to_hash ⇒ {
36 |
# File 'sig/courier/models/users/topic_preference.rbs', line 36
def to_hash: -> {
|