Class: Notiflows::Models::Users::UsersChannelSettings

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/notiflows/models/users/channel_settings.rb

Overview

Defined Under Namespace

Modules: Provider, Settings

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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(channel_id:, created_at:, provider:, settings:, updated_at:, user_id:) ⇒ Object

User's settings for a specific channel (e.g., device tokens, Slack credentials)

Parameters:

  • Channel ID

  • When the settings were created

  • The provider type for this channel

  • Provider-specific settings. See MobilePushSettings or SlackSettings schemas.

  • When the settings were last updated

  • Internal user ID



# File 'lib/notiflows/models/users/channel_settings.rb', line 44

Instance Attribute Details

#channel_id ⇒ String

Channel ID

Returns:



12
# File 'lib/notiflows/models/users/channel_settings.rb', line 12

required :channel_id, String

#created_at ⇒ Time

When the settings were created

Returns:



18
# File 'lib/notiflows/models/users/channel_settings.rb', line 18

required :created_at, Time

#provider ⇒ Symbol, Notiflows::Models::Users::UsersChannelSettings::Provider

The provider type for this channel

Returns:



24
# File 'lib/notiflows/models/users/channel_settings.rb', line 24

required :provider, enum: -> { Notiflows::Users::UsersChannelSettings::Provider }

#settings ⇒ Notiflows::Models::Users::MobilePushSettings, Notiflows::Models::Users::SlackSettings

Provider-specific settings. See MobilePushSettings or SlackSettings schemas.

Returns:



30
# File 'lib/notiflows/models/users/channel_settings.rb', line 30

required :settings, union: -> { Notiflows::Users::UsersChannelSettings::Settings }

#updated_at ⇒ Time

When the settings were last updated

Returns:



36
# File 'lib/notiflows/models/users/channel_settings.rb', line 36

required :updated_at, Time

#user_id ⇒ String

Internal user ID

Returns:



42
# File 'lib/notiflows/models/users/channel_settings.rb', line 42

required :user_id, String

Class Method Details

.values ⇒ Array<Symbol>

Returns:



# File 'lib/notiflows/models/users/channel_settings.rb', line 69