samsara-api 0.0.1__py3-none-any.whl → 0.0.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- samsara/__init__.py +298 -38
- samsara/alerts/configurations/client.py +25 -11
- samsara/alerts/configurations/raw_client.py +47 -8
- samsara/alerts/incidents/client.py +21 -11
- samsara/alerts/incidents/raw_client.py +43 -9
- samsara/assets/client.py +21 -11
- samsara/assets/location_and_speed/client.py +21 -13
- samsara/assets/location_and_speed/raw_client.py +53 -9
- samsara/assets/raw_client.py +53 -8
- samsara/attributes/client.py +21 -13
- samsara/attributes/raw_client.py +41 -8
- samsara/cameras/media/client.py +2 -2
- samsara/cameras/media/raw_client.py +2 -2
- samsara/cameras/media/retrieval/client.py +2 -12
- samsara/cameras/media/types/media_list_request_trigger_reasons_item.py +8 -1
- samsara/carrier_proposed_assignments/client.py +21 -11
- samsara/carrier_proposed_assignments/raw_client.py +43 -8
- samsara/client.py +15 -6
- samsara/coaching/driver_coach_assignments/client.py +22 -12
- samsara/coaching/driver_coach_assignments/raw_client.py +45 -8
- samsara/coaching/sessions/client.py +21 -13
- samsara/coaching/sessions/raw_client.py +51 -9
- samsara/contacts/client.py +21 -11
- samsara/contacts/raw_client.py +39 -8
- samsara/core/client_wrapper.py +2 -2
- samsara/defect_types/client.py +21 -11
- samsara/defect_types/raw_client.py +41 -9
- samsara/defects/client.py +124 -9
- samsara/defects/raw_client.py +356 -6
- samsara/devices/client.py +21 -11
- samsara/devices/raw_client.py +45 -9
- samsara/document_types/client.py +21 -11
- samsara/document_types/raw_client.py +37 -9
- samsara/documents/client.py +21 -11
- samsara/documents/raw_client.py +45 -8
- samsara/driver_trailer_assignments/client.py +23 -13
- samsara/driver_trailer_assignments/raw_client.py +43 -8
- samsara/drivers/__init__.py +1 -3
- samsara/drivers/client.py +21 -21
- samsara/drivers/raw_client.py +51 -8
- samsara/dvirs/client.py +124 -9
- samsara/dvirs/raw_client.py +356 -6
- samsara/equipment/__init__.py +2 -2
- samsara/equipment/client.py +23 -21
- samsara/equipment/locations/client.py +62 -34
- samsara/equipment/locations/raw_client.py +132 -27
- samsara/equipment/raw_client.py +45 -18
- samsara/equipment/stats/__init__.py +2 -2
- samsara/equipment/stats/client.py +81 -53
- samsara/equipment/stats/raw_client.py +157 -46
- samsara/equipment/stats/types/__init__.py +2 -2
- samsara/equipment/stats/types/{stats_get_request_types_item.py → stats_list_request_types_item.py} +1 -1
- samsara/form_submissions/client.py +46 -54
- samsara/form_submissions/pdf_exports/client.py +14 -22
- samsara/form_submissions/pdf_exports/raw_client.py +10 -18
- samsara/form_submissions/raw_client.py +74 -47
- samsara/forms/client.py +138 -0
- samsara/{beta → forms}/raw_client.py +37 -62
- samsara/function.py +99 -0
- samsara/gateways/client.py +21 -11
- samsara/gateways/raw_client.py +39 -8
- samsara/hos/__init__.py +3 -0
- samsara/hos/client.py +218 -11
- samsara/hos/raw_client.py +485 -8
- samsara/hos/types/__init__.py +7 -0
- samsara/hos/types/hos_daily_logs_request_driver_activation_status.py +5 -0
- samsara/idling/__init__.py +7 -0
- samsara/idling/client.py +287 -0
- samsara/idling/raw_client.py +521 -0
- samsara/idling/types/__init__.py +7 -0
- samsara/idling/types/idling_list_request_pto_state.py +5 -0
- samsara/inputs/client.py +21 -11
- samsara/inputs/raw_client.py +51 -9
- samsara/issues/client.py +27 -29
- samsara/issues/raw_client.py +53 -26
- samsara/live_shares/client.py +21 -13
- samsara/live_shares/raw_client.py +43 -8
- samsara/maintenance/service_tasks/client.py +21 -11
- samsara/maintenance/service_tasks/raw_client.py +41 -8
- samsara/maintenance/work_orders/client.py +40 -22
- samsara/maintenance/work_orders/raw_client.py +84 -16
- samsara/readings/client.py +524 -0
- samsara/readings/raw_client.py +1214 -0
- samsara/reports/drivers/fuel_energy/client.py +6 -6
- samsara/reports/drivers/fuel_energy/raw_client.py +2 -2
- samsara/reports/ifta/__init__.py +4 -4
- samsara/reports/ifta/vehicle/__init__.py +2 -2
- samsara/reports/ifta/vehicle/client.py +21 -21
- samsara/reports/ifta/vehicle/raw_client.py +17 -17
- samsara/reports/ifta/vehicle/types/__init__.py +4 -4
- samsara/reports/ifta/vehicle/types/{vehicle_get_request_fuel_type.py → vehicle_list_request_fuel_type.py} +1 -1
- samsara/reports/ifta/vehicle/types/{vehicle_get_request_month.py → vehicle_list_request_month.py} +1 -1
- samsara/reports/ifta/vehicle/types/vehicle_list_request_quarter.py +5 -0
- samsara/reports/vehicles/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/client.py +11 -11
- samsara/reports/vehicles/fuel_energy/raw_client.py +7 -7
- samsara/reports/vehicles/fuel_energy/types/__init__.py +2 -2
- samsara/reports/vehicles/fuel_energy/types/fuel_energy_list_request_energy_type.py +5 -0
- samsara/reports/vehicles/idling/client.py +27 -15
- samsara/reports/vehicles/idling/raw_client.py +59 -11
- samsara/routes/client.py +21 -11
- samsara/routes/raw_client.py +43 -8
- samsara/safety_events/audit_logs/client.py +21 -13
- samsara/safety_events/audit_logs/raw_client.py +39 -9
- samsara/safety_events/client.py +21 -11
- samsara/safety_events/raw_client.py +47 -9
- samsara/speeding_intervals/client.py +25 -17
- samsara/speeding_intervals/raw_client.py +55 -13
- samsara/tachograph/__init__.py +7 -0
- samsara/tachograph/client.py +44 -0
- samsara/{drivers/tachograph_files → tachograph/driver}/client.py +162 -15
- samsara/{drivers/tachograph_files → tachograph/driver}/raw_client.py +153 -4
- samsara/tachograph/raw_client.py +13 -0
- samsara/{vehicles/tachograph_files → tachograph/vehicles}/client.py +15 -15
- samsara/{vehicles/tachograph_files → tachograph/vehicles}/raw_client.py +4 -4
- samsara/tags/client.py +21 -11
- samsara/tags/raw_client.py +39 -8
- samsara/trailers/client.py +21 -11
- samsara/trailers/raw_client.py +43 -8
- samsara/training_courses/client.py +21 -11
- samsara/training_courses/raw_client.py +43 -9
- samsara/trips/client.py +21 -11
- samsara/trips/raw_client.py +49 -9
- samsara/types/__init__.py +406 -50
- samsara/types/advanced_idling_get_idling_events_bad_gateway_error_response_body.py +33 -0
- samsara/types/advanced_idling_get_idling_events_gateway_timeout_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_internal_server_error_response_body.py → advanced_idling_get_idling_events_internal_server_error_response_body.py} +1 -1
- samsara/types/advanced_idling_get_idling_events_method_not_allowed_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_not_found_error_response_body.py → advanced_idling_get_idling_events_not_found_error_response_body.py} +1 -1
- samsara/types/{hos_daily_logs_update_shipping_docs_not_implemented_error_response_body.py → advanced_idling_get_idling_events_not_implemented_error_response_body.py} +1 -1
- samsara/types/advanced_idling_get_idling_events_response_body.py +26 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_service_unavailable_error_response_body.py → advanced_idling_get_idling_events_service_unavailable_error_response_body.py} +1 -1
- samsara/types/{hos_daily_logs_update_shipping_docs_gateway_timeout_error_response_body.py → advanced_idling_get_idling_events_too_many_requests_error_response_body.py} +2 -2
- samsara/types/advanced_idling_get_idling_events_unauthorized_error_response_body.py +33 -0
- samsara/types/alert_object_asset_response_body.py +63 -0
- samsara/types/{assets_create_asset_response_body_type.py → alert_object_asset_response_body_type.py} +1 -1
- samsara/types/assets_create_asset_response_body.py +2 -87
- samsara/types/assets_update_asset_response_body.py +2 -87
- samsara/types/continuous_reading_alert_threshold_response_body.py +49 -0
- samsara/types/continuous_reading_alert_threshold_response_body_operation.py +7 -0
- samsara/types/continuous_reading_alert_threshold_response_body_unit.py +62 -0
- samsara/types/device_response_response_body.py +1 -1
- samsara/types/device_response_response_body_model.py +1 -0
- samsara/types/dvir_defect_get_defect_bad_gateway_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_gateway_timeout_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_internal_server_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_method_not_allowed_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_not_found_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_not_implemented_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_response_body.py +91 -0
- samsara/types/dvir_defect_get_defect_service_unavailable_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_too_many_requests_error_response_body.py +33 -0
- samsara/types/dvir_defect_get_defect_unauthorized_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_bad_gateway_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_gateway_timeout_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_internal_server_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_method_not_allowed_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_not_found_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_not_implemented_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_response_body.py +99 -0
- samsara/types/dvir_get_dvir_response_body_safety_status.py +5 -0
- samsara/types/dvir_get_dvir_response_body_type.py +5 -0
- samsara/types/dvir_get_dvir_service_unavailable_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_too_many_requests_error_response_body.py +33 -0
- samsara/types/dvir_get_dvir_unauthorized_error_response_body.py +33 -0
- samsara/types/enum_reading_alert_threshold_response_body.py +31 -0
- samsara/types/enum_value_response_body.py +31 -0
- samsara/types/equipment_gateway_engine_seconds.py +1 -1
- samsara/types/equipment_gateway_j_1939_engine_seconds.py +1 -1
- samsara/types/equipment_obd_engine_seconds.py +1 -1
- samsara/types/event_location_response_body.py +31 -0
- samsara/types/form_submission_request_field_input_object_request_body.py +7 -1
- samsara/types/form_submission_request_field_input_object_request_body_type.py +3 -1
- samsara/types/{hos_daily_logs_update_shipping_docs_response_body.py → form_submission_request_geofence_object_request_body.py} +9 -3
- samsara/types/form_submission_request_geofence_value_object_request_body.py +24 -0
- samsara/types/form_submission_response_object_response_body.py +8 -0
- samsara/types/{form_template_reference_object_request_body.py → form_template_request_object_request_body.py} +6 -4
- samsara/types/form_template_response_object_response_body.py +74 -0
- samsara/types/form_template_section_object_response_body.py +47 -0
- samsara/types/form_templates_get_form_templates_bad_gateway_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_gateway_timeout_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_internal_server_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_method_not_allowed_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_not_found_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_not_implemented_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_response_body.py +26 -0
- samsara/types/form_templates_get_form_templates_service_unavailable_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_too_many_requests_error_response_body.py +33 -0
- samsara/types/form_templates_get_form_templates_unauthorized_error_response_body.py +33 -0
- samsara/types/forms_action_object_response_body.py +43 -0
- samsara/types/forms_action_object_response_body_type.py +7 -0
- samsara/types/forms_approval_config_object_response_body.py +32 -0
- samsara/types/forms_asset_object_response_body.py +8 -1
- samsara/types/forms_check_boxes_value_object_response_body.py +7 -0
- samsara/types/forms_condition_object_response_body.py +36 -0
- samsara/types/forms_condition_object_response_body_type.py +7 -0
- samsara/types/forms_conditional_action_object_response_body.py +30 -0
- samsara/types/forms_field_definition_object_response_body.py +143 -0
- samsara/types/forms_field_definition_object_response_body_allowed_asset_types_item.py +7 -0
- samsara/types/forms_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
- samsara/types/forms_field_definition_object_response_body_type.py +22 -0
- samsara/types/forms_field_input_object_response_body.py +7 -4
- samsara/types/forms_field_input_object_response_body_type.py +20 -0
- samsara/types/forms_geofence_object_response_body.py +53 -0
- samsara/types/forms_geofence_object_response_body_entry_type.py +5 -0
- samsara/types/forms_geofence_value_object_response_body.py +24 -0
- samsara/types/forms_multiple_choice_value_object_response_body.py +8 -1
- samsara/types/forms_product_submission_approval_details_object_response_body.py +26 -0
- samsara/types/forms_select_option_object_response_body.py +47 -0
- samsara/types/forms_single_approval_config_object_response_body.py +33 -0
- samsara/types/forms_table_cell_object_response_body.py +3 -4
- samsara/types/forms_table_cell_object_response_body_type.py +8 -0
- samsara/types/forms_table_column_object_response_body.py +3 -4
- samsara/types/forms_table_column_object_response_body_type.py +8 -0
- samsara/types/forms_table_field_definition_object_response_body.py +91 -0
- samsara/types/forms_table_field_definition_object_response_body_allowed_date_time_value_type.py +7 -0
- samsara/types/forms_table_field_definition_object_response_body_type.py +8 -0
- samsara/types/fuel_cost_object_response_body.py +32 -0
- samsara/types/fuel_cost_object_response_body_currency.py +5 -0
- samsara/types/fuel_volume_response_body.py +28 -0
- samsara/types/fuel_volume_response_body_unit.py +5 -0
- samsara/types/gaseous_fuel_cost_object_response_body.py +32 -0
- samsara/types/gaseous_fuel_cost_object_response_body_currency.py +7 -0
- samsara/types/gateway_details_response_response_body.py +14 -0
- samsara/types/harsh_event_trigger_details_object_request_body_types_item.py +1 -0
- samsara/types/harsh_event_trigger_details_object_response_body_types_item.py +1 -0
- samsara/types/idling_event_object_response_body.py +101 -0
- samsara/types/idling_event_object_response_body_address_type.py +17 -0
- samsara/types/inline_response_2005.py +24 -0
- samsara/types/inline_response_2006.py +24 -0
- samsara/types/reading_definition_response_body.py +59 -0
- samsara/types/reading_history_response_body.py +47 -0
- samsara/types/reading_snapshot_response_body.py +52 -0
- samsara/types/reading_trigger_continuous_value_object_request_body.py +51 -0
- samsara/types/reading_trigger_continuous_value_object_request_body_operation.py +7 -0
- samsara/types/reading_trigger_continuous_value_object_request_body_unit.py +62 -0
- samsara/types/reading_trigger_continuous_value_object_response_body.py +51 -0
- samsara/types/reading_trigger_continuous_value_object_response_body_operation.py +7 -0
- samsara/types/reading_trigger_continuous_value_object_response_body_unit.py +62 -0
- samsara/types/reading_trigger_details_object_request_body.py +48 -0
- samsara/types/reading_trigger_details_object_response_body.py +48 -0
- samsara/types/reading_trigger_details_response_body.py +38 -0
- samsara/types/reading_trigger_enum_value_object_request_body.py +31 -0
- samsara/types/reading_trigger_enum_value_object_response_body.py +31 -0
- samsara/types/reading_type_response_body.py +34 -0
- samsara/types/reading_type_response_body_data_type.py +5 -0
- samsara/types/readings_get_readings_history_bad_gateway_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_bad_gateway_error_response_body.py → readings_get_readings_history_gateway_timeout_error_response_body.py} +2 -2
- samsara/types/readings_get_readings_history_internal_server_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_not_found_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_response_body.py +26 -0
- samsara/types/readings_get_readings_history_service_unavailable_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_too_many_requests_error_response_body.py +33 -0
- samsara/types/readings_get_readings_history_unauthorized_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_bad_gateway_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_gateway_timeout_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_internal_server_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_not_found_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_get_readings_snapshot_response_body.py +26 -0
- samsara/types/readings_get_readings_snapshot_service_unavailable_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_unauthorized_error_response_body.py → readings_get_readings_snapshot_too_many_requests_error_response_body.py} +2 -2
- samsara/types/readings_get_readings_snapshot_unauthorized_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_bad_gateway_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_too_many_requests_error_response_body.py → readings_list_readings_definitions_gateway_timeout_error_response_body.py} +2 -2
- samsara/types/readings_list_readings_definitions_internal_server_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_method_not_allowed_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_not_found_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_not_implemented_error_response_body.py +33 -0
- samsara/types/readings_list_readings_definitions_response_body.py +26 -0
- samsara/types/readings_list_readings_definitions_service_unavailable_error_response_body.py +33 -0
- samsara/types/{hos_daily_logs_update_shipping_docs_method_not_allowed_error_response_body.py → readings_list_readings_definitions_too_many_requests_error_response_body.py} +2 -2
- samsara/types/readings_list_readings_definitions_unauthorized_error_response_body.py +33 -0
- samsara/types/safety_score_configuration_settings_object_response_body.py +7 -0
- samsara/types/single_approval_requirements_object_response_body.py +28 -0
- samsara/types/sudden_fuel_level_drop_response_body.py +33 -0
- samsara/types/sudden_fuel_level_rise_response_body.py +33 -0
- samsara/types/trigger_params_object_request_body.py +2 -0
- samsara/types/trigger_params_object_response_body.py +2 -0
- samsara/types/unit_response_body.py +39 -0
- samsara/types/unit_response_body_base_unit.py +62 -0
- samsara/types/unit_response_body_measurement_type.py +28 -0
- samsara/types/uploaded_media_object_response_body.py +1 -1
- samsara/types/uploaded_media_object_response_body_trigger_reason.py +8 -1
- samsara/types/v_1_message.py +29 -0
- samsara/types/v_1_message_response.py +41 -0
- samsara/types/v_1_message_sender.py +27 -0
- samsara/types/v_1_messages.py +7 -0
- samsara/types/v_1_messages_response.py +7 -0
- samsara/types/webhook_response_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_get_webhook_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_patch_webhook_response_body_event_types_item.py +1 -0
- samsara/types/webhooks_post_webhooks_response_body_event_types_item.py +1 -0
- samsara/types/work_order_item_object_request_body.py +1 -1
- samsara/types/work_order_item_object_request_body_type.py +10 -1
- samsara/types/work_order_item_object_response_body.py +1 -1
- samsara/types/work_order_item_object_response_body_type.py +10 -1
- samsara/types/workflow_geofence_event_response_object_response_body.py +6 -0
- samsara/types/workflow_incident_details_object_response_body.py +2 -0
- samsara/types/workflow_trigger_object_request_body.py +1 -0
- samsara/types/workflow_trigger_object_response_body.py +1 -0
- samsara/user_roles/client.py +21 -11
- samsara/user_roles/raw_client.py +39 -9
- samsara/users/client.py +21 -11
- samsara/users/raw_client.py +39 -8
- samsara/v_1_messages/__init__.py +4 -0
- samsara/v_1_messages/client.py +258 -0
- samsara/v_1_messages/raw_client.py +273 -0
- samsara/vehicles/__init__.py +1 -2
- samsara/vehicles/client.py +31 -16
- samsara/vehicles/immobilizer/client.py +21 -13
- samsara/vehicles/immobilizer/raw_client.py +43 -9
- samsara/vehicles/locations/client.py +60 -32
- samsara/vehicles/locations/raw_client.py +132 -25
- samsara/vehicles/raw_client.py +61 -8
- samsara/vehicles/stats/client.py +66 -38
- samsara/vehicles/stats/raw_client.py +148 -31
- samsara/webhooks/client.py +21 -11
- samsara/webhooks/raw_client.py +41 -8
- samsara/webhooks/types/webhooks_post_webhooks_request_body_event_types_item.py +1 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/METADATA +25 -18
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/RECORD +332 -197
- samsara/beta/client.py +0 -161
- samsara/drivers/tachograph_activity/client.py +0 -186
- samsara/drivers/tachograph_activity/raw_client.py +0 -169
- samsara/hours_of_service/__init__.py +0 -7
- samsara/hours_of_service/client.py +0 -229
- samsara/hours_of_service/raw_client.py +0 -425
- samsara/hours_of_service/types/__init__.py +0 -9
- samsara/hours_of_service/types/hours_of_service_get_daily_logs_request_driver_activation_status.py +0 -7
- samsara/reports/ifta/vehicle/types/vehicle_get_request_quarter.py +0 -5
- samsara/reports/vehicles/fuel_energy/types/fuel_energy_get_request_energy_type.py +0 -5
- samsara/types/assets_create_asset_response_body_regulation_mode.py +0 -7
- samsara/types/assets_update_asset_response_body_regulation_mode.py +0 -7
- samsara/types/assets_update_asset_response_body_type.py +0 -7
- samsara/types/patch_shipping_docs_response_body_response_body.py +0 -93
- /samsara/{beta → forms}/__init__.py +0 -0
- /samsara/{drivers/tachograph_activity → readings}/__init__.py +0 -0
- /samsara/{drivers/tachograph_files → tachograph/driver}/__init__.py +0 -0
- /samsara/{vehicles/tachograph_files → tachograph/vehicles}/__init__.py +0 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/LICENSE +0 -0
- {samsara_api-0.0.1.dist-info → samsara_api-0.0.3.dist-info}/WHEEL +0 -0
samsara/hos/raw_client.py
CHANGED
|
@@ -6,6 +6,7 @@ from json.decoder import JSONDecodeError
|
|
|
6
6
|
from ..core.api_error import ApiError
|
|
7
7
|
from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
|
|
8
8
|
from ..core.http_response import AsyncHttpResponse, HttpResponse
|
|
9
|
+
from ..core.pagination import AsyncPager, BaseHttpResponse, SyncPager
|
|
9
10
|
from ..core.pydantic_utilities import parse_obj_as
|
|
10
11
|
from ..core.request_options import RequestOptions
|
|
11
12
|
from ..errors.bad_gateway_error import BadGatewayError
|
|
@@ -18,8 +19,12 @@ from ..errors.service_unavailable_error import ServiceUnavailableError
|
|
|
18
19
|
from ..errors.too_many_requests_error import TooManyRequestsError
|
|
19
20
|
from ..errors.unauthorized_error import UnauthorizedError
|
|
20
21
|
from ..types.hos_clocks_response import HosClocksResponse
|
|
22
|
+
from ..types.hos_daily_logs_get_hos_daily_logs_response_body import HosDailyLogsGetHosDailyLogsResponseBody
|
|
23
|
+
from ..types.hos_daily_logs_object_response_body import HosDailyLogsObjectResponseBody
|
|
21
24
|
from ..types.hos_logs_response import HosLogsResponse
|
|
22
25
|
from ..types.hos_violations_get_hos_violations_response_body import HosViolationsGetHosViolationsResponseBody
|
|
26
|
+
from ..types.hos_violations_object_response_body import HosViolationsObjectResponseBody
|
|
27
|
+
from .types.hos_daily_logs_request_driver_activation_status import HosDailyLogsRequestDriverActivationStatus
|
|
23
28
|
|
|
24
29
|
|
|
25
30
|
class RawHosClient:
|
|
@@ -95,6 +100,221 @@ class RawHosClient:
|
|
|
95
100
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
96
101
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
97
102
|
|
|
103
|
+
def daily_logs(
|
|
104
|
+
self,
|
|
105
|
+
*,
|
|
106
|
+
driver_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
107
|
+
start_date: typing.Optional[str] = None,
|
|
108
|
+
end_date: typing.Optional[str] = None,
|
|
109
|
+
tag_ids: typing.Optional[str] = None,
|
|
110
|
+
parent_tag_ids: typing.Optional[str] = None,
|
|
111
|
+
driver_activation_status: typing.Optional[HosDailyLogsRequestDriverActivationStatus] = None,
|
|
112
|
+
after: typing.Optional[str] = None,
|
|
113
|
+
expand: typing.Optional[typing.Literal["vehicle"]] = None,
|
|
114
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
115
|
+
) -> SyncPager[HosDailyLogsObjectResponseBody]:
|
|
116
|
+
"""
|
|
117
|
+
Get summarized daily Hours of Service charts for the specified drivers.
|
|
118
|
+
|
|
119
|
+
The time range for a log is defined by the `driver`'s `eldDayStartHour`. This value is configurable per driver.
|
|
120
|
+
|
|
121
|
+
The `startDate` and `endDate` parameters indicate the date range you'd like to retrieve daily logs for. A daily log will be returned if its `startTime` is on any of the days within in this date range (inclusive of `startDate` and `endDate`).
|
|
122
|
+
|
|
123
|
+
**Note:** If data is still being uploaded from the Samsara Driver App, it may not be completely reflected in the response from this endpoint. The best practice is to wait a couple of days before querying this endpoint to make sure that all data from the Samsara Driver App has been uploaded.
|
|
124
|
+
|
|
125
|
+
If you are using the legacy version of this endpoint and looking for its documentation, you can find it [here](https://www.samsara.com/api-legacy#operation/getFleetDriversHosDailyLogs).
|
|
126
|
+
|
|
127
|
+
<b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
|
|
128
|
+
|
|
129
|
+
To use this endpoint, select **Read ELD Compliance Settings (US)** under the Compliance category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
**Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
|
|
133
|
+
|
|
134
|
+
Parameters
|
|
135
|
+
----------
|
|
136
|
+
driver_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
137
|
+
A filter on the data based on this comma-separated list of driver IDs and externalIds. Example: `driverIds=1234,5678,payroll:4841`
|
|
138
|
+
|
|
139
|
+
start_date : typing.Optional[str]
|
|
140
|
+
A start date in YYYY-MM-DD. This is a date only without an associated time. Example: `2019-06-13`. This is a required field
|
|
141
|
+
|
|
142
|
+
end_date : typing.Optional[str]
|
|
143
|
+
An end date in YYYY-MM-DD. This is a date only without an associated time. Must be greater than or equal to the start date. Example: `2019-07-21`. This is a required field
|
|
144
|
+
|
|
145
|
+
tag_ids : typing.Optional[str]
|
|
146
|
+
A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
|
|
147
|
+
|
|
148
|
+
parent_tag_ids : typing.Optional[str]
|
|
149
|
+
A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`
|
|
150
|
+
|
|
151
|
+
driver_activation_status : typing.Optional[HosDailyLogsRequestDriverActivationStatus]
|
|
152
|
+
If value is `deactivated`, only drivers that are deactivated will appear in the response. This parameter will default to `active` if not provided (fetching only active drivers). Valid values: `active`, `deactivated`
|
|
153
|
+
|
|
154
|
+
after : typing.Optional[str]
|
|
155
|
+
If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.
|
|
156
|
+
|
|
157
|
+
expand : typing.Optional[typing.Literal["vehicle"]]
|
|
158
|
+
Expands the specified value(s) in the response object. Expansion populates additional fields in an object, if supported. Unsupported fields are ignored. To expand multiple fields, input a comma-separated list.
|
|
159
|
+
|
|
160
|
+
Valid value: `vehicle` Valid values: `vehicle`
|
|
161
|
+
|
|
162
|
+
request_options : typing.Optional[RequestOptions]
|
|
163
|
+
Request-specific configuration.
|
|
164
|
+
|
|
165
|
+
Returns
|
|
166
|
+
-------
|
|
167
|
+
SyncPager[HosDailyLogsObjectResponseBody]
|
|
168
|
+
OK response.
|
|
169
|
+
"""
|
|
170
|
+
_response = self._client_wrapper.httpx_client.request(
|
|
171
|
+
"fleet/hos/daily-logs",
|
|
172
|
+
method="GET",
|
|
173
|
+
params={
|
|
174
|
+
"driverIds": driver_ids,
|
|
175
|
+
"startDate": start_date,
|
|
176
|
+
"endDate": end_date,
|
|
177
|
+
"tagIds": tag_ids,
|
|
178
|
+
"parentTagIds": parent_tag_ids,
|
|
179
|
+
"driverActivationStatus": driver_activation_status,
|
|
180
|
+
"after": after,
|
|
181
|
+
"expand": expand,
|
|
182
|
+
},
|
|
183
|
+
request_options=request_options,
|
|
184
|
+
)
|
|
185
|
+
try:
|
|
186
|
+
if 200 <= _response.status_code < 300:
|
|
187
|
+
_parsed_response = typing.cast(
|
|
188
|
+
HosDailyLogsGetHosDailyLogsResponseBody,
|
|
189
|
+
parse_obj_as(
|
|
190
|
+
type_=HosDailyLogsGetHosDailyLogsResponseBody, # type: ignore
|
|
191
|
+
object_=_response.json(),
|
|
192
|
+
),
|
|
193
|
+
)
|
|
194
|
+
_items = _parsed_response.data
|
|
195
|
+
_has_next = False
|
|
196
|
+
_get_next = None
|
|
197
|
+
if _parsed_response.pagination is not None:
|
|
198
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
199
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
200
|
+
_get_next = lambda: self.daily_logs(
|
|
201
|
+
driver_ids=driver_ids,
|
|
202
|
+
start_date=start_date,
|
|
203
|
+
end_date=end_date,
|
|
204
|
+
tag_ids=tag_ids,
|
|
205
|
+
parent_tag_ids=parent_tag_ids,
|
|
206
|
+
driver_activation_status=driver_activation_status,
|
|
207
|
+
after=_parsed_next,
|
|
208
|
+
expand=expand,
|
|
209
|
+
request_options=request_options,
|
|
210
|
+
)
|
|
211
|
+
return SyncPager(
|
|
212
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
213
|
+
)
|
|
214
|
+
if _response.status_code == 401:
|
|
215
|
+
raise UnauthorizedError(
|
|
216
|
+
headers=dict(_response.headers),
|
|
217
|
+
body=typing.cast(
|
|
218
|
+
typing.Optional[typing.Any],
|
|
219
|
+
parse_obj_as(
|
|
220
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
221
|
+
object_=_response.json(),
|
|
222
|
+
),
|
|
223
|
+
),
|
|
224
|
+
)
|
|
225
|
+
if _response.status_code == 404:
|
|
226
|
+
raise NotFoundError(
|
|
227
|
+
headers=dict(_response.headers),
|
|
228
|
+
body=typing.cast(
|
|
229
|
+
typing.Optional[typing.Any],
|
|
230
|
+
parse_obj_as(
|
|
231
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
232
|
+
object_=_response.json(),
|
|
233
|
+
),
|
|
234
|
+
),
|
|
235
|
+
)
|
|
236
|
+
if _response.status_code == 405:
|
|
237
|
+
raise MethodNotAllowedError(
|
|
238
|
+
headers=dict(_response.headers),
|
|
239
|
+
body=typing.cast(
|
|
240
|
+
typing.Optional[typing.Any],
|
|
241
|
+
parse_obj_as(
|
|
242
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
243
|
+
object_=_response.json(),
|
|
244
|
+
),
|
|
245
|
+
),
|
|
246
|
+
)
|
|
247
|
+
if _response.status_code == 429:
|
|
248
|
+
raise TooManyRequestsError(
|
|
249
|
+
headers=dict(_response.headers),
|
|
250
|
+
body=typing.cast(
|
|
251
|
+
typing.Optional[typing.Any],
|
|
252
|
+
parse_obj_as(
|
|
253
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
254
|
+
object_=_response.json(),
|
|
255
|
+
),
|
|
256
|
+
),
|
|
257
|
+
)
|
|
258
|
+
if _response.status_code == 500:
|
|
259
|
+
raise InternalServerError(
|
|
260
|
+
headers=dict(_response.headers),
|
|
261
|
+
body=typing.cast(
|
|
262
|
+
typing.Optional[typing.Any],
|
|
263
|
+
parse_obj_as(
|
|
264
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
265
|
+
object_=_response.json(),
|
|
266
|
+
),
|
|
267
|
+
),
|
|
268
|
+
)
|
|
269
|
+
if _response.status_code == 501:
|
|
270
|
+
raise NotImplementedError(
|
|
271
|
+
headers=dict(_response.headers),
|
|
272
|
+
body=typing.cast(
|
|
273
|
+
typing.Optional[typing.Any],
|
|
274
|
+
parse_obj_as(
|
|
275
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
276
|
+
object_=_response.json(),
|
|
277
|
+
),
|
|
278
|
+
),
|
|
279
|
+
)
|
|
280
|
+
if _response.status_code == 502:
|
|
281
|
+
raise BadGatewayError(
|
|
282
|
+
headers=dict(_response.headers),
|
|
283
|
+
body=typing.cast(
|
|
284
|
+
typing.Optional[typing.Any],
|
|
285
|
+
parse_obj_as(
|
|
286
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
287
|
+
object_=_response.json(),
|
|
288
|
+
),
|
|
289
|
+
),
|
|
290
|
+
)
|
|
291
|
+
if _response.status_code == 503:
|
|
292
|
+
raise ServiceUnavailableError(
|
|
293
|
+
headers=dict(_response.headers),
|
|
294
|
+
body=typing.cast(
|
|
295
|
+
typing.Optional[typing.Any],
|
|
296
|
+
parse_obj_as(
|
|
297
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
298
|
+
object_=_response.json(),
|
|
299
|
+
),
|
|
300
|
+
),
|
|
301
|
+
)
|
|
302
|
+
if _response.status_code == 504:
|
|
303
|
+
raise GatewayTimeoutError(
|
|
304
|
+
headers=dict(_response.headers),
|
|
305
|
+
body=typing.cast(
|
|
306
|
+
typing.Optional[typing.Any],
|
|
307
|
+
parse_obj_as(
|
|
308
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
309
|
+
object_=_response.json(),
|
|
310
|
+
),
|
|
311
|
+
),
|
|
312
|
+
)
|
|
313
|
+
_response_json = _response.json()
|
|
314
|
+
except JSONDecodeError:
|
|
315
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
316
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
317
|
+
|
|
98
318
|
def logs(
|
|
99
319
|
self,
|
|
100
320
|
*,
|
|
@@ -184,7 +404,7 @@ class RawHosClient:
|
|
|
184
404
|
types: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
185
405
|
after: typing.Optional[str] = None,
|
|
186
406
|
request_options: typing.Optional[RequestOptions] = None,
|
|
187
|
-
) ->
|
|
407
|
+
) -> SyncPager[HosViolationsObjectResponseBody]:
|
|
188
408
|
"""
|
|
189
409
|
Get active Hours of Service violations for the specified drivers.
|
|
190
410
|
|
|
@@ -229,7 +449,7 @@ class RawHosClient:
|
|
|
229
449
|
|
|
230
450
|
Returns
|
|
231
451
|
-------
|
|
232
|
-
|
|
452
|
+
SyncPager[HosViolationsObjectResponseBody]
|
|
233
453
|
OK response.
|
|
234
454
|
"""
|
|
235
455
|
_response = self._client_wrapper.httpx_client.request(
|
|
@@ -248,14 +468,32 @@ class RawHosClient:
|
|
|
248
468
|
)
|
|
249
469
|
try:
|
|
250
470
|
if 200 <= _response.status_code < 300:
|
|
251
|
-
|
|
471
|
+
_parsed_response = typing.cast(
|
|
252
472
|
HosViolationsGetHosViolationsResponseBody,
|
|
253
473
|
parse_obj_as(
|
|
254
474
|
type_=HosViolationsGetHosViolationsResponseBody, # type: ignore
|
|
255
475
|
object_=_response.json(),
|
|
256
476
|
),
|
|
257
477
|
)
|
|
258
|
-
|
|
478
|
+
_items = _parsed_response.data
|
|
479
|
+
_has_next = False
|
|
480
|
+
_get_next = None
|
|
481
|
+
if _parsed_response.pagination is not None:
|
|
482
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
483
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
484
|
+
_get_next = lambda: self.violations(
|
|
485
|
+
driver_ids=driver_ids,
|
|
486
|
+
start_time=start_time,
|
|
487
|
+
end_time=end_time,
|
|
488
|
+
tag_ids=tag_ids,
|
|
489
|
+
parent_tag_ids=parent_tag_ids,
|
|
490
|
+
types=types,
|
|
491
|
+
after=_parsed_next,
|
|
492
|
+
request_options=request_options,
|
|
493
|
+
)
|
|
494
|
+
return SyncPager(
|
|
495
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
496
|
+
)
|
|
259
497
|
if _response.status_code == 401:
|
|
260
498
|
raise UnauthorizedError(
|
|
261
499
|
headers=dict(_response.headers),
|
|
@@ -434,6 +672,224 @@ class AsyncRawHosClient:
|
|
|
434
672
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
435
673
|
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
436
674
|
|
|
675
|
+
async def daily_logs(
|
|
676
|
+
self,
|
|
677
|
+
*,
|
|
678
|
+
driver_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
679
|
+
start_date: typing.Optional[str] = None,
|
|
680
|
+
end_date: typing.Optional[str] = None,
|
|
681
|
+
tag_ids: typing.Optional[str] = None,
|
|
682
|
+
parent_tag_ids: typing.Optional[str] = None,
|
|
683
|
+
driver_activation_status: typing.Optional[HosDailyLogsRequestDriverActivationStatus] = None,
|
|
684
|
+
after: typing.Optional[str] = None,
|
|
685
|
+
expand: typing.Optional[typing.Literal["vehicle"]] = None,
|
|
686
|
+
request_options: typing.Optional[RequestOptions] = None,
|
|
687
|
+
) -> AsyncPager[HosDailyLogsObjectResponseBody]:
|
|
688
|
+
"""
|
|
689
|
+
Get summarized daily Hours of Service charts for the specified drivers.
|
|
690
|
+
|
|
691
|
+
The time range for a log is defined by the `driver`'s `eldDayStartHour`. This value is configurable per driver.
|
|
692
|
+
|
|
693
|
+
The `startDate` and `endDate` parameters indicate the date range you'd like to retrieve daily logs for. A daily log will be returned if its `startTime` is on any of the days within in this date range (inclusive of `startDate` and `endDate`).
|
|
694
|
+
|
|
695
|
+
**Note:** If data is still being uploaded from the Samsara Driver App, it may not be completely reflected in the response from this endpoint. The best practice is to wait a couple of days before querying this endpoint to make sure that all data from the Samsara Driver App has been uploaded.
|
|
696
|
+
|
|
697
|
+
If you are using the legacy version of this endpoint and looking for its documentation, you can find it [here](https://www.samsara.com/api-legacy#operation/getFleetDriversHosDailyLogs).
|
|
698
|
+
|
|
699
|
+
<b>Rate limit:</b> 5 requests/sec (learn more about rate limits <a href="https://developers.samsara.com/docs/rate-limits" target="_blank">here</a>).
|
|
700
|
+
|
|
701
|
+
To use this endpoint, select **Read ELD Compliance Settings (US)** under the Compliance category when creating or editing an API token. <a href="https://developers.samsara.com/docs/authentication#scopes-for-api-tokens" target="_blank">Learn More.</a>
|
|
702
|
+
|
|
703
|
+
|
|
704
|
+
**Submit Feedback**: Likes, dislikes, and API feature requests should be filed as feedback in our <a href="https://forms.gle/zkD4NCH7HjKb7mm69" target="_blank">API feedback form</a>. If you encountered an issue or noticed inaccuracies in the API documentation, please <a href="https://www.samsara.com/help" target="_blank">submit a case</a> to our support team.
|
|
705
|
+
|
|
706
|
+
Parameters
|
|
707
|
+
----------
|
|
708
|
+
driver_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
|
|
709
|
+
A filter on the data based on this comma-separated list of driver IDs and externalIds. Example: `driverIds=1234,5678,payroll:4841`
|
|
710
|
+
|
|
711
|
+
start_date : typing.Optional[str]
|
|
712
|
+
A start date in YYYY-MM-DD. This is a date only without an associated time. Example: `2019-06-13`. This is a required field
|
|
713
|
+
|
|
714
|
+
end_date : typing.Optional[str]
|
|
715
|
+
An end date in YYYY-MM-DD. This is a date only without an associated time. Must be greater than or equal to the start date. Example: `2019-07-21`. This is a required field
|
|
716
|
+
|
|
717
|
+
tag_ids : typing.Optional[str]
|
|
718
|
+
A filter on the data based on this comma-separated list of tag IDs. Example: `tagIds=1234,5678`
|
|
719
|
+
|
|
720
|
+
parent_tag_ids : typing.Optional[str]
|
|
721
|
+
A filter on the data based on this comma-separated list of parent tag IDs, for use by orgs with tag hierarchies. Specifying a parent tag will implicitly include all descendent tags of the parent tag. Example: `parentTagIds=345,678`
|
|
722
|
+
|
|
723
|
+
driver_activation_status : typing.Optional[HosDailyLogsRequestDriverActivationStatus]
|
|
724
|
+
If value is `deactivated`, only drivers that are deactivated will appear in the response. This parameter will default to `active` if not provided (fetching only active drivers). Valid values: `active`, `deactivated`
|
|
725
|
+
|
|
726
|
+
after : typing.Optional[str]
|
|
727
|
+
If specified, this should be the endCursor value from the previous page of results. When present, this request will return the next page of results that occur immediately after the previous page of results.
|
|
728
|
+
|
|
729
|
+
expand : typing.Optional[typing.Literal["vehicle"]]
|
|
730
|
+
Expands the specified value(s) in the response object. Expansion populates additional fields in an object, if supported. Unsupported fields are ignored. To expand multiple fields, input a comma-separated list.
|
|
731
|
+
|
|
732
|
+
Valid value: `vehicle` Valid values: `vehicle`
|
|
733
|
+
|
|
734
|
+
request_options : typing.Optional[RequestOptions]
|
|
735
|
+
Request-specific configuration.
|
|
736
|
+
|
|
737
|
+
Returns
|
|
738
|
+
-------
|
|
739
|
+
AsyncPager[HosDailyLogsObjectResponseBody]
|
|
740
|
+
OK response.
|
|
741
|
+
"""
|
|
742
|
+
_response = await self._client_wrapper.httpx_client.request(
|
|
743
|
+
"fleet/hos/daily-logs",
|
|
744
|
+
method="GET",
|
|
745
|
+
params={
|
|
746
|
+
"driverIds": driver_ids,
|
|
747
|
+
"startDate": start_date,
|
|
748
|
+
"endDate": end_date,
|
|
749
|
+
"tagIds": tag_ids,
|
|
750
|
+
"parentTagIds": parent_tag_ids,
|
|
751
|
+
"driverActivationStatus": driver_activation_status,
|
|
752
|
+
"after": after,
|
|
753
|
+
"expand": expand,
|
|
754
|
+
},
|
|
755
|
+
request_options=request_options,
|
|
756
|
+
)
|
|
757
|
+
try:
|
|
758
|
+
if 200 <= _response.status_code < 300:
|
|
759
|
+
_parsed_response = typing.cast(
|
|
760
|
+
HosDailyLogsGetHosDailyLogsResponseBody,
|
|
761
|
+
parse_obj_as(
|
|
762
|
+
type_=HosDailyLogsGetHosDailyLogsResponseBody, # type: ignore
|
|
763
|
+
object_=_response.json(),
|
|
764
|
+
),
|
|
765
|
+
)
|
|
766
|
+
_items = _parsed_response.data
|
|
767
|
+
_has_next = False
|
|
768
|
+
_get_next = None
|
|
769
|
+
if _parsed_response.pagination is not None:
|
|
770
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
771
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
772
|
+
|
|
773
|
+
async def _get_next():
|
|
774
|
+
return await self.daily_logs(
|
|
775
|
+
driver_ids=driver_ids,
|
|
776
|
+
start_date=start_date,
|
|
777
|
+
end_date=end_date,
|
|
778
|
+
tag_ids=tag_ids,
|
|
779
|
+
parent_tag_ids=parent_tag_ids,
|
|
780
|
+
driver_activation_status=driver_activation_status,
|
|
781
|
+
after=_parsed_next,
|
|
782
|
+
expand=expand,
|
|
783
|
+
request_options=request_options,
|
|
784
|
+
)
|
|
785
|
+
|
|
786
|
+
return AsyncPager(
|
|
787
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
788
|
+
)
|
|
789
|
+
if _response.status_code == 401:
|
|
790
|
+
raise UnauthorizedError(
|
|
791
|
+
headers=dict(_response.headers),
|
|
792
|
+
body=typing.cast(
|
|
793
|
+
typing.Optional[typing.Any],
|
|
794
|
+
parse_obj_as(
|
|
795
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
796
|
+
object_=_response.json(),
|
|
797
|
+
),
|
|
798
|
+
),
|
|
799
|
+
)
|
|
800
|
+
if _response.status_code == 404:
|
|
801
|
+
raise NotFoundError(
|
|
802
|
+
headers=dict(_response.headers),
|
|
803
|
+
body=typing.cast(
|
|
804
|
+
typing.Optional[typing.Any],
|
|
805
|
+
parse_obj_as(
|
|
806
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
807
|
+
object_=_response.json(),
|
|
808
|
+
),
|
|
809
|
+
),
|
|
810
|
+
)
|
|
811
|
+
if _response.status_code == 405:
|
|
812
|
+
raise MethodNotAllowedError(
|
|
813
|
+
headers=dict(_response.headers),
|
|
814
|
+
body=typing.cast(
|
|
815
|
+
typing.Optional[typing.Any],
|
|
816
|
+
parse_obj_as(
|
|
817
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
818
|
+
object_=_response.json(),
|
|
819
|
+
),
|
|
820
|
+
),
|
|
821
|
+
)
|
|
822
|
+
if _response.status_code == 429:
|
|
823
|
+
raise TooManyRequestsError(
|
|
824
|
+
headers=dict(_response.headers),
|
|
825
|
+
body=typing.cast(
|
|
826
|
+
typing.Optional[typing.Any],
|
|
827
|
+
parse_obj_as(
|
|
828
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
829
|
+
object_=_response.json(),
|
|
830
|
+
),
|
|
831
|
+
),
|
|
832
|
+
)
|
|
833
|
+
if _response.status_code == 500:
|
|
834
|
+
raise InternalServerError(
|
|
835
|
+
headers=dict(_response.headers),
|
|
836
|
+
body=typing.cast(
|
|
837
|
+
typing.Optional[typing.Any],
|
|
838
|
+
parse_obj_as(
|
|
839
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
840
|
+
object_=_response.json(),
|
|
841
|
+
),
|
|
842
|
+
),
|
|
843
|
+
)
|
|
844
|
+
if _response.status_code == 501:
|
|
845
|
+
raise NotImplementedError(
|
|
846
|
+
headers=dict(_response.headers),
|
|
847
|
+
body=typing.cast(
|
|
848
|
+
typing.Optional[typing.Any],
|
|
849
|
+
parse_obj_as(
|
|
850
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
851
|
+
object_=_response.json(),
|
|
852
|
+
),
|
|
853
|
+
),
|
|
854
|
+
)
|
|
855
|
+
if _response.status_code == 502:
|
|
856
|
+
raise BadGatewayError(
|
|
857
|
+
headers=dict(_response.headers),
|
|
858
|
+
body=typing.cast(
|
|
859
|
+
typing.Optional[typing.Any],
|
|
860
|
+
parse_obj_as(
|
|
861
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
862
|
+
object_=_response.json(),
|
|
863
|
+
),
|
|
864
|
+
),
|
|
865
|
+
)
|
|
866
|
+
if _response.status_code == 503:
|
|
867
|
+
raise ServiceUnavailableError(
|
|
868
|
+
headers=dict(_response.headers),
|
|
869
|
+
body=typing.cast(
|
|
870
|
+
typing.Optional[typing.Any],
|
|
871
|
+
parse_obj_as(
|
|
872
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
873
|
+
object_=_response.json(),
|
|
874
|
+
),
|
|
875
|
+
),
|
|
876
|
+
)
|
|
877
|
+
if _response.status_code == 504:
|
|
878
|
+
raise GatewayTimeoutError(
|
|
879
|
+
headers=dict(_response.headers),
|
|
880
|
+
body=typing.cast(
|
|
881
|
+
typing.Optional[typing.Any],
|
|
882
|
+
parse_obj_as(
|
|
883
|
+
type_=typing.Optional[typing.Any], # type: ignore
|
|
884
|
+
object_=_response.json(),
|
|
885
|
+
),
|
|
886
|
+
),
|
|
887
|
+
)
|
|
888
|
+
_response_json = _response.json()
|
|
889
|
+
except JSONDecodeError:
|
|
890
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
|
|
891
|
+
raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
|
|
892
|
+
|
|
437
893
|
async def logs(
|
|
438
894
|
self,
|
|
439
895
|
*,
|
|
@@ -523,7 +979,7 @@ class AsyncRawHosClient:
|
|
|
523
979
|
types: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
|
|
524
980
|
after: typing.Optional[str] = None,
|
|
525
981
|
request_options: typing.Optional[RequestOptions] = None,
|
|
526
|
-
) ->
|
|
982
|
+
) -> AsyncPager[HosViolationsObjectResponseBody]:
|
|
527
983
|
"""
|
|
528
984
|
Get active Hours of Service violations for the specified drivers.
|
|
529
985
|
|
|
@@ -568,7 +1024,7 @@ class AsyncRawHosClient:
|
|
|
568
1024
|
|
|
569
1025
|
Returns
|
|
570
1026
|
-------
|
|
571
|
-
|
|
1027
|
+
AsyncPager[HosViolationsObjectResponseBody]
|
|
572
1028
|
OK response.
|
|
573
1029
|
"""
|
|
574
1030
|
_response = await self._client_wrapper.httpx_client.request(
|
|
@@ -587,14 +1043,35 @@ class AsyncRawHosClient:
|
|
|
587
1043
|
)
|
|
588
1044
|
try:
|
|
589
1045
|
if 200 <= _response.status_code < 300:
|
|
590
|
-
|
|
1046
|
+
_parsed_response = typing.cast(
|
|
591
1047
|
HosViolationsGetHosViolationsResponseBody,
|
|
592
1048
|
parse_obj_as(
|
|
593
1049
|
type_=HosViolationsGetHosViolationsResponseBody, # type: ignore
|
|
594
1050
|
object_=_response.json(),
|
|
595
1051
|
),
|
|
596
1052
|
)
|
|
597
|
-
|
|
1053
|
+
_items = _parsed_response.data
|
|
1054
|
+
_has_next = False
|
|
1055
|
+
_get_next = None
|
|
1056
|
+
if _parsed_response.pagination is not None:
|
|
1057
|
+
_parsed_next = _parsed_response.pagination.end_cursor
|
|
1058
|
+
_has_next = _parsed_next is not None and _parsed_next != ""
|
|
1059
|
+
|
|
1060
|
+
async def _get_next():
|
|
1061
|
+
return await self.violations(
|
|
1062
|
+
driver_ids=driver_ids,
|
|
1063
|
+
start_time=start_time,
|
|
1064
|
+
end_time=end_time,
|
|
1065
|
+
tag_ids=tag_ids,
|
|
1066
|
+
parent_tag_ids=parent_tag_ids,
|
|
1067
|
+
types=types,
|
|
1068
|
+
after=_parsed_next,
|
|
1069
|
+
request_options=request_options,
|
|
1070
|
+
)
|
|
1071
|
+
|
|
1072
|
+
return AsyncPager(
|
|
1073
|
+
has_next=_has_next, items=_items, get_next=_get_next, response=BaseHttpResponse(response=_response)
|
|
1074
|
+
)
|
|
598
1075
|
if _response.status_code == 401:
|
|
599
1076
|
raise UnauthorizedError(
|
|
600
1077
|
headers=dict(_response.headers),
|