Sha256: df0e5e219394003e02ec6facd1bd597e5b5dc6404d4fed900f5caf8559aa5328

Contents?: true

Size: 809 Bytes

Versions: 2

Compression:

Stored size: 809 Bytes

Contents

module Workarea
  module GlobalE
    class OrderApiEvents
      include ApplicationDocument

      field :receive_order, type: Hash
      field :receive_order_response, type: Hash
      field :receive_payment, type: Hash
      field :receive_payment_response, type: Hash
      field :update_order_status, type: Hash
      field :update_order_status_response, type: Hash
      field :receive_shipping_info, type: Hash
      field :receive_shipping_info_response, type: Hash

      def self.upsert_one(id, set: {})
        timestamp = Time.current

        collection.update_one(
          { _id: id.to_s },
          {
            '$setOnInsert' => { created_at: timestamp },
            '$set' => { updated_at: timestamp }.merge(set),
          },
          upsert: true
        )
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
workarea-global_e-1.3.0 app/models/workarea/global_e/order_api_events.rb
workarea-global_e-1.2.1 app/models/workarea/global_e/order_api_events.rb