lib/open_api_sdk/models/operations/updatecommission_responsebody.rb



# Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.

# typed: true
# frozen_string_literal: true


module OpenApiSDK
  module Operations
  
    # The updated commission.
    class UpdateCommissionResponseBody < ::Crystalline::FieldAugmented
      extend T::Sig


      field :amount, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('amount') } }

      field :created_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('createdAt') } }

      field :currency, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('currency') } }

      field :earnings, ::Float, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('earnings') } }
      # The commission's unique ID on Dub.
      field :id, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('id') } }

      field :status, ::OpenApiSDK::Operations::UpdateCommissionStatus, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('status'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::UpdateCommissionStatus, false) } }

      field :updated_at, ::String, { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('updatedAt') } }

      field :invoice_id, T.nilable(::String), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('invoiceId') } }

      field :type, T.nilable(::OpenApiSDK::Operations::UpdateCommissionType), { 'format_json': { 'letter_case': ::OpenApiSDK::Utils.field_name('type'), 'decoder': Utils.enum_from_string(::OpenApiSDK::Operations::UpdateCommissionType, true) } }


      sig { params(amount: ::Float, created_at: ::String, currency: ::String, earnings: ::Float, id: ::String, status: ::OpenApiSDK::Operations::UpdateCommissionStatus, updated_at: ::String, invoice_id: T.nilable(::String), type: T.nilable(::OpenApiSDK::Operations::UpdateCommissionType)).void }
      def initialize(amount: nil, created_at: nil, currency: nil, earnings: nil, id: nil, status: nil, updated_at: nil, invoice_id: nil, type: nil)
        @amount = amount
        @created_at = created_at
        @currency = currency
        @earnings = earnings
        @id = id
        @status = status
        @updated_at = updated_at
        @invoice_id = invoice_id
        @type = type
      end
    end
  end
end