# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. # typed: true # frozen_string_literal: true require 'sorbet-runtime' require 'faraday' module StackOne module Shared class MessageContent < StackOne::Utils::FieldAugmented extend T::Sig field :body, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('body') } } field :from, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('from') } } field :subject, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('subject') } } field :preheader, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('preheader') } } field :reply_to, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('reply-to') } } sig { params(body: String, from: String, subject: String, preheader: T.nilable(String), reply_to: T.nilable(String)).void } def initialize(body: nil, from: nil, subject: nil, preheader: nil, reply_to: nil) @body = body @from = from @subject = subject @preheader = preheader @reply_to = reply_to end end class EmailMessagesValue < T::Enum enums do EMAIL = new('email') SMS = new('sms') WEB_PUSH = new('web_push') IOS_PUSH = new('ios_push') ANDROID_PUSH = new('android_push') APP_PUSH = new('app_push') OMNI_CHANNEL = new('omni_channel') UNKNOWN = new('unknown') UNMAPPED_VALUE = new('unmapped_value') end end class MessageType < StackOne::Utils::FieldAugmented extend T::Sig field :source_value, String, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('source_value') } } field :value, Shared::EmailMessagesValue, { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('value'), 'decoder': Utils.enum_from_string(Shared::EmailMessagesValue, false) } } sig { params(source_value: String, value: Shared::EmailMessagesValue).void } def initialize(source_value: nil, value: nil) @source_value = source_value @value = value end end class EmailMessages < StackOne::Utils::FieldAugmented extend T::Sig field :id, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('id') } } field :message_content, T.nilable(Shared::MessageContent), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('message_content') } } field :message_type, T.nilable(Shared::MessageType), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('message_type') } } field :name, T.nilable(String), { 'format_json': { 'letter_case': OpenApiSDK::Utils.field_name('name') } } sig { params(id: T.nilable(String), message_content: T.nilable(Shared::MessageContent), message_type: T.nilable(Shared::MessageType), name: T.nilable(String)).void } def initialize(id: nil, message_content: nil, message_type: nil, name: nil) @id = id @message_content = message_content @message_type = message_type @name = name end end end end