# Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. # typed: true # frozen_string_literal: true module StackOne module Shared class Offer < ::StackOne::Utils::FieldAugmented extend T::Sig field :application_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('application_id') } } # Date of creation field :created_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('created_at'), 'decoder': Utils.datetime_from_iso_format(true) } } field :currency, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('currency') } } # Unique identifier field :id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('id') } } field :offer_history, T.nilable(T::Array[::StackOne::Shared::OfferHistory]), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('offer_history') } } field :offer_status, T.nilable(::StackOne::Shared::OfferOfferStatus), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('offer_status') } } # Provider's unique identifier field :remote_id, T.nilable(::String), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('remote_id') } } field :salary, T.nilable(::Float), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('salary') } } # Date of creation field :start_date, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('start_date'), 'decoder': Utils.datetime_from_iso_format(true) } } # Date of last update field :updated_at, T.nilable(::DateTime), { 'format_json': { 'letter_case': ::StackOne::Utils.field_name('updated_at'), 'decoder': Utils.datetime_from_iso_format(true) } } sig { params(application_id: T.nilable(::String), created_at: T.nilable(::DateTime), currency: T.nilable(::String), id: T.nilable(::String), offer_history: T.nilable(T::Array[::StackOne::Shared::OfferHistory]), offer_status: T.nilable(::StackOne::Shared::OfferOfferStatus), remote_id: T.nilable(::String), salary: T.nilable(::Float), start_date: T.nilable(::DateTime), updated_at: T.nilable(::DateTime)).void } def initialize(application_id: nil, created_at: nil, currency: nil, id: nil, offer_history: nil, offer_status: nil, remote_id: nil, salary: nil, start_date: nil, updated_at: nil) @application_id = application_id @created_at = created_at @currency = currency @id = id @offer_history = offer_history @offer_status = offer_status @remote_id = remote_id @salary = salary @start_date = start_date @updated_at = updated_at end end end end