# frozen_string_literal: true module DjiMqttConnect module Factories::ServicesMessages def build_thing_product_alarm_state_switch_services_message Thing::Product::AlarmStateSwitchServicesMessage.build(action: Thing::Product::AlarmStateSwitchServicesMessage::ACTION_OPEN) end def build_thing_product_cover_close_services_message Thing::Product::CoverCloseServicesMessage.build end def build_thing_product_cover_open_services_message Thing::Product::CoverOpenServicesMessage.build end def build_thing_product_debug_mode_close_services_message Thing::Product::DebugModeCloseServicesMessage.build end def build_thing_product_debug_mode_open_services_message Thing::Product::DebugModeOpenServicesMessage.build end def build_thing_product_fileupload_list_services_message Thing::Product::FileuploadListServicesMessage.build( module_list: [0, 3] ) end def build_thing_product_fileupload_start_services_message timestamp = Message.current_timestamp Thing::Product::FileuploadStartServicesMessage.build( data: { bucket: "stg-dji-service-hz-ksd7", region: "hz", credentials: { access_key_id: "STS.access_key_id", access_key_secret: "access_key_secret", expire: 3600, security_token: "security_token" }, endpoint: "https://oss-cn-hangzhou.aliyuncs.com", params: { files: [ { list: [ { boot_index: 1111, end_time: timestamp - 3000, size: 33789, start_time: timestamp - 4000 }, { boot_index: 22222, end_time: timestamp - 1000, size: 33789, start_time: timestamp - 2000 } ], module: "3", object_key: "object_key" } ] }, provider: "ali" } ) end def build_thing_product_flighttask_execute_services_message Thing::Product::FlighttaskExecuteServicesMessage.build(flight_id: SecureRandom.uuid) end def build_thing_product_flighttask_pause_services_message Thing::Product::FlighttaskPauseServicesMessage.build end def build_thing_product_flighttask_prepare_services_message Thing::Product::FlighttaskPrepareServicesMessage.build( data: { execute_time: 1234567890123, flight_id: "xxxxxxx", task_type: 2, file: { url: "https://xxx.com/xxxx", fingerprint: "xxxx" }, ready_conditions: { battery_capacity: 90, begin_time: 1234567890123, end_time: 1234567890123 }, executable_conditions: { storage_capacity: 1000 }, break_point: { index: 1, state: 0, progress: 0.34, wayline_id: 0 }, rth_altitude: 100, rth_mode: 1, out_of_control_action: 0, exit_wayline_when_rc_lost: 0, wayline_precision_type: 0 } ) end def build_thing_product_flighttask_recovery_services_message Thing::Product::FlighttaskRecoveryServicesMessage.build end def build_thing_product_flighttask_progress_get_services_message Thing::Product::FlighttaskProgressGetServicesMessage.build( data: { sn: "SN1234567890" } ) end def build_thing_product_flighttask_stop_services_message Thing::Product::FlighttaskStopServicesMessage.build( data: { flight_id: SecureRandom.uuid, reason: 0 } ) end def build_thing_product_flighttask_undo_services_message Thing::Product::FlighttaskUndoServicesMessage.build( flight_ids: [SecureRandom.uuid, SecureRandom.uuid] ) end ### Live Stream (Services Messages) ### def build_thing_product_live_lens_change_services_message Thing::Product::LiveLensChangeServicesMessage.build( data: { video_id: "1ZNDH1D0010098/39-0-7/normal-0", video_type: "wide" } ) end def build_thing_product_live_set_quality_services_message Thing::Product::LiveSetQualityServicesMessage.build( data: { video_id: "1ZNDH1D0010098/39-0-7/normal-0", video_quality: 0 } ) end def build_thing_product_live_start_push_services_message Thing::Product::LiveStartPushServicesMessage.build( data: { url: "channel=1ZNDH1D0010098_39-0-7&sn=1ZNDH1D0010098&token=006dca67721582a48768ec4d817b7b25a86IADk%2Fcm%2Fdv%2BHY6qT%2FAKM6y7TcUe4lXNvZpycH7vUMAlM6pFALUKF2zyCIgA82pQE8cCoYAQAAQDxwKhgAgDxwKhgAwDxwKhgBADxwKhg&uid=50000", url_type: 0, video_id: "1ZNDH1D0010098/39-0-7/normal-0", video_quality: 0 } ) end def build_thing_product_live_stop_push_services_message Thing::Product::LiveStopPushServicesMessage.build( data: { video_id: "1ZNDH1D0010098/39-0-7/normal-0" } ) end def build_thing_product_return_home_services_message Thing::Product::ReturnHomeServicesMessage.build end def build_thing_product_return_home_cancel_services_message Thing::Product::ReturnHomeCancelServicesMessage.build end def build_thing_product_return_specific_home_services_message(home_dock_sn: "SN1234567890") Thing::Product::ReturnSpecificHomeServicesMessage.build(home_dock_sn: home_dock_sn) end end end