# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module OpenApiSDK module Shared class ClickEvent < ::OpenApiSDK::Utils::FieldAugmented extend T::Sig # Deprecated. Use `click.browser` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :browser, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('browser') } } # Deprecated. Use `click.city` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :city, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('city') } } field :click, ::OpenApiSDK::Shared::Click, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('click') } } # Deprecated. Use `click.id` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :click_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('click_id') } } # Deprecated. Use `click.continent` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :continent, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('continent') } } # Deprecated. Use `click.country` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :country, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('country') } } # Deprecated. Use `click.device` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :device, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('device') } } # Deprecated. Use `link.domain` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :domain, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('domain') } } field :event, ::OpenApiSDK::Shared::Event, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('event'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Shared::Event, false) } } # Deprecated. Use `click.ip` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :ip, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('ip') } } # Deprecated. Use `link.key` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :key, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('key') } } field :link, ::OpenApiSDK::Shared::Link, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('link') } } # Deprecated. Use `link.id` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :link_id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('link_id') } } # Deprecated. Use `click.os` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :os, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('os') } } # Deprecated. Use `click.qr` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :qr, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('qr') } } # Deprecated. Use `click.url` instead. # # @deprecated true: This will be removed in a future release, please migrate away from it as soon as possible. field :url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('url') } } field :timestamp, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('timestamp') } } sig { params(browser: ::String, city: ::String, click: ::OpenApiSDK::Shared::Click, click_id: ::String, continent: ::String, country: ::String, device: ::String, domain: ::String, event: ::OpenApiSDK::Shared::Event, ip: ::String, key: ::String, link: ::OpenApiSDK::Shared::Link, link_id: ::String, os: ::String, qr: ::Float, url: ::String, timestamp: T.nilable(::String)).void } def initialize(browser: nil, city: nil, click: nil, click_id: nil, continent: nil, country: nil, device: nil, domain: nil, event: nil, ip: nil, key: nil, link: nil, link_id: nil, os: nil, qr: nil, url: nil, timestamp: nil) @browser = browser @city = city @click = click @click_id = click_id @continent = continent @country = country @device = device @domain = domain @event = event @ip = ip @key = key @link = link @link_id = link_id @os = os @qr = qr @url = url @timestamp = timestamp end end end end