Sha256: b1579f43602217e6a28980958e3dac9c02eb9675bc56f9e9492efb6021e74c1d

Contents?: true

Size: 1.47 KB

Versions: 2

Compression:

Stored size: 1.47 KB

Contents

# frozen_string_literal: true

module DjiMqttConnect
  module Thing::Product
    # https://developer.dji.com/doc/cloud-api-tutorial/en/server-api-reference/mqtt/thing-model/gateway/dock/log.html#inform-of-file-uploading-progress
    class FileuploadProgressEventsMessage < EventsMessage
      attribute :_method, Types::String.enum("fileupload_progress")

      # NOTE: Not documented, but appears in examples
      attribute? :need_reply, Types::Integer.enum(0, 1)

      attribute :data do
        attribute :output do
          attribute :ext do
            attribute :files, Types::Array do
              # {"0":"Aircraft","3":"DJI Dock"}
              attribute :module, Types::Coercible::Integer.enum(0, 3)

              attribute :size, Types::Integer
              attribute :device_sn, Types::String
              attribute :key, Types::String
              attribute :fingerprint, Types::String

              attribute :progress do
                attribute :current_step, Types::Integer
                attribute? :total_step, Types::Integer
                attribute :prgress, Types::Integer
                attribute :finish_time, Types::Timestamp
                attribute :upload_rate, Types::Integer
                attribute :result, Types::Integer
                attribute :status, Types::String
              end
            end
          end
          attribute :status, Types::String
        end
      end

      def need_reply?
        need_reply == 1
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dji_mqtt_connect-0.1.12 lib/dji_mqtt_connect/messages/thing/product/fileupload_progress_events_message.rb
dji_mqtt_connect-0.1.11 lib/dji_mqtt_connect/messages/thing/product/fileupload_progress_events_message.rb