# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT. # typed: true # frozen_string_literal: true module OpenApiSDK module Shared class Connection < ::OpenApiSDK::Utils::FieldAugmented extend T::Sig # Access token for the connection field :access_token, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('access_token') } } # URL of the account field :account_url, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('account_url') } } # UUID Token for the connection field :connection_token, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('connection_token') } } # Timestamp when the connection was created field :created_at, ::DateTime, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(false) } } # Expiration timestamp of the access token field :expiration_timestamp, ::DateTime, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('expiration_timestamp'), 'decoder': Utils.datetime_from_iso_format(false) } } # Unique identifier for the connection field :id_connection, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id_connection') } } # Linked user ID associated with the connection field :id_linked_user, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id_linked_user') } } # Project ID associated with the connection field :id_project, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id_project') } } # Slug for the provider field :provider_slug, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('provider_slug') } } # Refresh token for the connection field :refresh_token, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('refresh_token') } } # Status of the connection field :status, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status') } } # Strategy type field :token_type, ::OpenApiSDK::Shared::TokenType, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('token_type'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Shared::TokenType, false) } } # Vertical category of the connection field :vertical, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('vertical') } } sig { params(access_token: ::String, account_url: ::String, connection_token: ::String, created_at: ::DateTime, expiration_timestamp: ::DateTime, id_connection: ::String, id_linked_user: ::String, id_project: ::String, provider_slug: ::String, refresh_token: ::String, status: ::String, token_type: ::OpenApiSDK::Shared::TokenType, vertical: ::String).void } def initialize(access_token: nil, account_url: nil, connection_token: nil, created_at: nil, expiration_timestamp: nil, id_connection: nil, id_linked_user: nil, id_project: nil, provider_slug: nil, refresh_token: nil, status: nil, token_type: nil, vertical: nil) @access_token = access_token @account_url = account_url @connection_token = connection_token @created_at = created_at @expiration_timestamp = expiration_timestamp @id_connection = id_connection @id_linked_user = id_linked_user @id_project = id_project @provider_slug = provider_slug @refresh_token = refresh_token @status = status @token_type = token_type @vertical = vertical end end end end